From 1366258fdab551659e031858ddb403d41185e9d9 Mon Sep 17 00:00:00 2001 From: WojciechGrancow <116577704+WojciechGrancow@users.noreply.github.com> Date: Wed, 8 Nov 2023 11:28:44 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20hpi-schu?= =?UTF-8?q?l-cloud/schulcloud-server@e82f2d768ef2fa541205cb5cd25ee27804a0c?= =?UTF-8?q?68f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/RocketChatUser.html | 504 ++ classes/RocketChatUserFactory.html | 1328 ++++ classes/RocketChatUserMapper.html | 366 + coverage.html | 122 +- entities/RocketChatUserEntity.html | 406 ++ graph/dependencies.svg | 6166 ++++++++-------- injectables/DeletionRequestUc.html | 181 +- injectables/RocketChatUserRepo.html | 454 ++ injectables/RocketChatUserService.html | 401 ++ interfaces/RocketChatUserEntityProps.html | 530 ++ interfaces/RocketChatUserProps.html | 472 ++ js/menu-wc.js | 41 + js/menu-wc_es5.js | 2 +- js/search/search_index.js | 4 +- miscellaneous/enumerations.html | 10 + miscellaneous/variables.html | 78 + modules.html | 17 + modules/AccountModule.html | 120 +- modules/AccountModule/dependencies.svg | 120 +- modules/AuthenticationModule.html | 8 +- modules/AuthenticationModule/dependencies.svg | 8 +- modules/AuthorizationModule.html | 200 +- modules/AuthorizationModule/dependencies.svg | 200 +- modules/AuthorizationReferenceModule.html | 138 +- .../dependencies.svg | 138 +- modules/BoardApiModule.html | 70 +- modules/BoardApiModule/dependencies.svg | 70 +- modules/BoardModule.html | 232 +- modules/BoardModule/dependencies.svg | 232 +- modules/ClassModule.html | 8 +- modules/ClassModule/dependencies.svg | 8 +- .../CollaborativeStorageAdapterModule.html | 96 +- .../dependencies.svg | 96 +- modules/CollaborativeStorageModule.html | 8 +- .../dependencies.svg | 8 +- modules/CommonToolModule.html | 8 +- modules/CommonToolModule/dependencies.svg | 8 +- modules/ContextExternalToolModule.html | 114 +- .../dependencies.svg | 114 +- modules/CopyHelperModule.html | 8 +- modules/CopyHelperModule/dependencies.svg | 8 +- modules/CoreModule.html | 8 +- modules/CoreModule/dependencies.svg | 8 +- modules/FeathersModule.html | 8 +- modules/FeathersModule/dependencies.svg | 8 +- modules/FilesStorageAMQPModule.html | 46 +- .../FilesStorageAMQPModule/dependencies.svg | 46 +- modules/FilesStorageClientModule.html | 72 +- .../FilesStorageClientModule/dependencies.svg | 72 +- modules/FilesStorageModule.html | 8 +- modules/FilesStorageModule/dependencies.svg | 8 +- modules/FwuLearningContentsTestModule.html | 78 +- .../dependencies.svg | 78 +- modules/GroupApiModule.html | 78 +- modules/GroupApiModule/dependencies.svg | 78 +- modules/H5PEditorModule.html | 126 +- modules/H5PEditorModule/dependencies.svg | 126 +- modules/KeycloakConfigurationModule.html | 114 +- .../dependencies.svg | 114 +- modules/LearnroomApiModule.html | 166 +- modules/LearnroomApiModule/dependencies.svg | 166 +- modules/LearnroomModule.html | 8 +- modules/LearnroomModule/dependencies.svg | 8 +- modules/LegacySchoolApiModule.html | 62 +- .../LegacySchoolApiModule/dependencies.svg | 62 +- modules/LegacySchoolModule.html | 8 +- modules/LegacySchoolModule/dependencies.svg | 8 +- modules/LessonApiModule.html | 38 +- modules/LessonApiModule/dependencies.svg | 38 +- modules/LessonModule.html | 114 +- modules/LessonModule/dependencies.svg | 114 +- modules/LoggerModule.html | 8 +- modules/LoggerModule/dependencies.svg | 8 +- modules/LtiToolModule.html | 8 +- modules/LtiToolModule/dependencies.svg | 8 +- modules/MetaTagExtractorApiModule.html | 38 +- .../dependencies.svg | 38 +- modules/MetaTagExtractorModule.html | 64 +- .../MetaTagExtractorModule/dependencies.svg | 64 +- modules/OauthModule.html | 136 +- modules/OauthModule/dependencies.svg | 136 +- modules/OauthProviderApiModule.html | 110 +- .../OauthProviderApiModule/dependencies.svg | 110 +- modules/OauthProviderModule.html | 8 +- modules/OauthProviderModule/dependencies.svg | 8 +- modules/PreviewGeneratorProducerModule.html | 50 +- .../dependencies.svg | 50 +- modules/ProvisioningModule.html | 8 +- modules/ProvisioningModule/dependencies.svg | 8 +- modules/RocketChatUserModule.html | 282 + modules/RocketChatUserModule/dependencies.svg | 78 + modules/SchoolExternalToolModule.html | 8 +- .../SchoolExternalToolModule/dependencies.svg | 8 +- modules/SharingModule.html | 96 +- modules/SharingModule/dependencies.svg | 96 +- modules/SystemApiModule.html | 26 +- modules/SystemApiModule/dependencies.svg | 26 +- modules/SystemModule.html | 8 +- modules/SystemModule/dependencies.svg | 8 +- modules/TaskApiModule.html | 86 +- modules/TaskApiModule/dependencies.svg | 86 +- modules/TaskModule.html | 112 +- modules/TaskModule/dependencies.svg | 112 +- modules/ToolApiModule.html | 190 +- modules/ToolApiModule/dependencies.svg | 190 +- modules/ToolLaunchModule.html | 8 +- modules/ToolLaunchModule/dependencies.svg | 8 +- modules/ToolModule.html | 104 +- modules/ToolModule/dependencies.svg | 104 +- modules/UserLoginMigrationApiModule.html | 118 +- .../dependencies.svg | 118 +- modules/UserLoginMigrationModule.html | 144 +- .../UserLoginMigrationModule/dependencies.svg | 144 +- modules/UserModule.html | 90 +- modules/UserModule/dependencies.svg | 90 +- modules/VideoConferenceApiModule.html | 70 +- .../VideoConferenceApiModule/dependencies.svg | 70 +- modules/VideoConferenceModule.html | 140 +- .../VideoConferenceModule/dependencies.svg | 140 +- overview.html | 6176 +++++++++-------- 120 files changed, 15038 insertions(+), 9728 deletions(-) create mode 100644 classes/RocketChatUser.html create mode 100644 classes/RocketChatUserFactory.html create mode 100644 classes/RocketChatUserMapper.html create mode 100644 entities/RocketChatUserEntity.html create mode 100644 injectables/RocketChatUserRepo.html create mode 100644 injectables/RocketChatUserService.html create mode 100644 interfaces/RocketChatUserEntityProps.html create mode 100644 interfaces/RocketChatUserProps.html create mode 100644 modules/RocketChatUserModule.html create mode 100644 modules/RocketChatUserModule/dependencies.svg diff --git a/classes/RocketChatUser.html b/classes/RocketChatUser.html new file mode 100644 index 00000000000..d33726a6166 --- /dev/null +++ b/classes/RocketChatUser.html @@ -0,0 +1,504 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+
+

+

File

+

+

+ apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts +

+ + + +

+

Extends

+

+

+ DomainObject +

+ + + +
+

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Properties
+
+
    +
  • + Protected + props +
  • +
+
+
Methods
+
+ +
+
Accessors
+
+ +
+
+ + +
+ +

+ Properties +

+ + + + + + + + + + + + + + + + + +
+ + + Protected + props + + +
+ Type : T + +
+
Inherited from DomainObject +
+
+
Defined in DomainObject:8 +
+
+
+ +
+ +

+ Methods +

+ + + + + + + + + + + + + + + + + + + + + + +
+ + + Public + getProps + + +
+ + getProps() +
+
Inherited from DomainObject +
+
+
Defined in DomainObject:18 +
+
+ +
+ Returns : T + +
+
+
+ + + + + +
+

+ Accessors +

+ + + + + + + + + + + + + + +
+ + userId +
+ getuserId() +
+ +
+ + + + + + + + + + + + + + +
+ + username +
+ getusername() +
+ +
+ + + + + + + + + + + + + + +
+ + rcId +
+ getrcId() +
+ +
+ + + + + + + + + + + + + + +
+ + authToken +
+ getauthToken() +
+ +
+ + + + + + + + + + + + + + +
+ + createdAt +
+ getcreatedAt() +
+ +
+ + + + + + + + + + + + + + +
+ + updatedAt +
+ getupdatedAt() +
+ +
+
+
+ + +
+
import { EntityId } from '@shared/domain/types';
+import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';
+
+export interface RocketChatUserProps extends AuthorizableObject {
+	userId: EntityId;
+	username: string;
+	rcId: string;
+	authToken?: string;
+	createdAt?: Date;
+	updatedAt?: Date;
+}
+
+export class RocketChatUser extends DomainObject<RocketChatUserProps> {
+	get userId(): EntityId {
+		return this.props.userId;
+	}
+
+	get username(): string {
+		return this.props.username;
+	}
+
+	get rcId(): string {
+		return this.props.rcId;
+	}
+
+	get authToken(): string | undefined {
+		return this.props.authToken;
+	}
+
+	get createdAt(): Date | undefined {
+		return this.props.createdAt;
+	}
+
+	get updatedAt(): Date | undefined {
+		return this.props.updatedAt;
+	}
+}
+
+
+
+ + + + + + + + + +
+
+

results matching ""

+
    +
    +
    +

    No results matching ""

    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classes/RocketChatUserFactory.html b/classes/RocketChatUserFactory.html new file mode 100644 index 00000000000..fbcb869d7f1 --- /dev/null +++ b/classes/RocketChatUserFactory.html @@ -0,0 +1,1328 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + +
    +
    +

    +

    File

    +

    +

    + apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts +

    + + + +

    +

    Extends

    +

    +

    + BaseFactory +

    + + + +
    +

    Index

    + + + + + + + + + + + + + + + + + + + + + +
    +
    Properties
    +
    + +
    +
    Methods
    +
    + +
    +
    + + +
    + +

    + Properties +

    + + + + + + + + + + + + + + + + + +
    + + + Protected + Readonly + propsFactory + + +
    + Type : Factory<U | I | C> + +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:15 +
    +
    +
    + +
    + +

    + Methods +

    + + + + + + + + + + + + + + + + + + + + + + +
    + + + afterBuild + + +
    +afterBuild(afterBuildFn: HookFn) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:98 +
    +
    +

    Extend the factory by adding a function to be called after an object is built.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDescription
    afterBuildFn + HookFn<U> + + No + +
      +
    • the function to call. It accepts your object of type T. The value this function returns gets returned from "build"
    • +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + associations + + +
    +associations(associations: Partial) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:110 +
    +
    +

    Extend the factory by adding default associations to be passed to the factory when "build" is called

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + +
    NameTypeOptional
    associations + Partial<U> + + No +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + build + + +
    +build(params?: DeepPartial, options: BuildOptions<U | I>) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:47 +
    +
    +

    Build an entity using your factory

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDefault value
    params + DeepPartial<U> + + Yes + +
    options + BuildOptions<U | I> + + No + + {} +
    +
    +
    + Returns : T + +
    +
    +

    an entity

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + buildList + + +
    +buildList(number: number, params?: DeepPartial, options: BuildOptions<U | I>) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:75 +
    +
    +

    Build a list of entities using your factory

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDefault value
    number + number + + No + +
    params + DeepPartial<U> + + Yes + +
    options + BuildOptions<U | I> + + No + + {} +
    +
    +
    + Returns : T[] + +
    +
    +

    a list of entities

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + buildListWithId + + +
    +buildListWithId(number: number, params?: DeepPartial, options: BuildOptions<U | I>) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:84 +
    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDefault value
    number + number + + No + +
    params + DeepPartial<U> + + Yes + +
    options + BuildOptions<U | I> + + No + + {} +
    +
    +
    + Returns : T[] + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + buildWithId + + +
    +buildWithId(params?: DeepPartial, id?: string, options: BuildOptions<U | I>) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:60 +
    +
    +

    Build an entity using your factory and generate a id for it.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDefault value
    params + DeepPartial<U> + + Yes + +
    id + string + + Yes + +
    options + BuildOptions<U | I> + + No + + {} +
    +
    +
    + Returns : T + +
    +
    +

    an entity

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + Protected + clone + + +
    + + clone(this: F, propsFactory: Factory) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:148 +
    +
    + Type parameters : +
      +
    • F
    • +
    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptional
    this + F + + No +
    propsFactory + Factory<U | I | C> + + No +
    +
    +
    + Returns : F + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + Static + define + + +
    + + define(this, EntityClass: literal type, generator: GeneratorFn) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:32 +
    +
    + Type parameters : +
      +
    • T
    • +
    • U
    • +
    • I
    • +
    • C
    • +
    • F
    • +
    +
    +

    Define a factory

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDescription
    this + + No + +
    EntityClass + literal type + + No + +

    The constructor of the entity to be built.

    + +
    generator + GeneratorFn<U | I | C> + + No + +

    Your factory function - see Factory.define() in thoughtbot/fishery

    + +
    +
    +
    + Returns : F + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + params + + +
    +params(params: DeepPartial) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:122 +
    +
    +

    Extend the factory by adding default parameters to be passed to the factory when "build" is called

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + +
    NameTypeOptional
    params + DeepPartial<U> + + No +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + rewindSequence + + +
    +rewindSequence() +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:144 +
    +
    +

    Set sequence back to its default value

    +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + Protected + sequence + + +
    + + sequence() +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:160 +
    +
    +

    Get the next sequence value

    +
    + +
    + Returns : number + +
    +
    +

    the next sequence value

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + transient + + +
    +transient(transient: Partial) +
    +
    Inherited from BaseFactory +
    +
    +
    Defined in BaseFactory:134 +
    +
    +

    Extend the factory by adding default transient parameters to be passed to the factory when "build" is called

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
    NameTypeOptionalDescription
    transient + Partial<I> + + No + +
      +
    • transient params
    • +
    + +
    +
    +
    +
    + + + + + +
    + + +
    +
    import { ObjectId } from '@mikro-orm/mongodb';
    +import { BaseFactory } from '@shared/testing';
    +import { RocketChatUserEntity, RocketChatUserEntityProps } from '../rocket-chat-user.entity';
    +
    +class RocketChatUserFactory extends BaseFactory<RocketChatUserEntity, RocketChatUserEntityProps> {}
    +
    +export const rocketChatUserEntityFactory = RocketChatUserFactory.define<
    +	RocketChatUserEntity,
    +	RocketChatUserEntityProps
    +>(RocketChatUserEntity, ({ sequence }) => {
    +	return {
    +		id: new ObjectId().toHexString(),
    +		userId: new ObjectId(),
    +		username: `username-${sequence}`,
    +		rcId: `rcId-${sequence}`,
    +		authToken: `aythToken-${sequence}`,
    +		createdAt: new Date(),
    +		updatedAt: new Date(),
    +	};
    +});
    +
    +
    +
    + + + + + + + + + +
    +
    +

    results matching ""

    +
      +
      +
      +

      No results matching ""

      +
      +
      +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classes/RocketChatUserMapper.html b/classes/RocketChatUserMapper.html new file mode 100644 index 00000000000..217739aad2e --- /dev/null +++ b/classes/RocketChatUserMapper.html @@ -0,0 +1,366 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
      +
      + + +
      +
      + + + + + + + + + + + + + + + + +
      +
      +

      +

      File

      +

      +

      + apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts +

      + + + + + + +
      +

      Index

      + + + + + + + + + + + + + + + +
      +
      Methods
      +
      + +
      +
      + + + +
      + +

      + Methods +

      + + + + + + + + + + + + + + + + + + + +
      + + + Static + mapToDO + + +
      + + mapToDO(entity: RocketChatUserEntity) +
      + +
      + +
      + Parameters : + + + + + + + + + + + + + + + + + + + +
      NameTypeOptional
      entity + RocketChatUserEntity + + No +
      +
      +
      + Returns : RocketChatUser + +
      +
      + +
      +
      + + + + + + + + + + + + + + + + + + + +
      + + + Static + mapToEntity + + +
      + + mapToEntity(domainObject: RocketChatUser) +
      + +
      + +
      + Parameters : + + + + + + + + + + + + + + + + + + + +
      NameTypeOptional
      domainObject + RocketChatUser + + No +
      +
      +
      + Returns : RocketChatUserEntity + +
      +
      + +
      +
      +
      + + + + + +
      + + +
      +
      import { ObjectId } from '@mikro-orm/mongodb';
      +import { RocketChatUserEntity } from '../../entity';
      +import { RocketChatUser } from '../../domain/rocket-chat-user.do';
      +
      +export class RocketChatUserMapper {
      +	static mapToDO(entity: RocketChatUserEntity): RocketChatUser {
      +		return new RocketChatUser({
      +			id: entity.id,
      +			userId: entity.userId.toHexString(),
      +			username: entity.username,
      +			rcId: entity.rcId,
      +			authToken: entity.authToken,
      +			createdAt: entity.createdAt,
      +			updatedAt: entity.updatedAt,
      +		});
      +	}
      +
      +	static mapToEntity(domainObject: RocketChatUser): RocketChatUserEntity {
      +		return new RocketChatUserEntity({
      +			id: domainObject.id,
      +			userId: new ObjectId(domainObject.userId),
      +			username: domainObject.username,
      +			rcId: domainObject.rcId,
      +			authToken: domainObject.authToken,
      +			createdAt: domainObject.createdAt,
      +			updatedAt: domainObject.updatedAt,
      +		});
      +	}
      +}
      +
      +
      +
      + + + + + + + + + +
      +
      +

      results matching ""

      +
        +
        +
        +

        No results matching ""

        +
        +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage.html b/coverage.html index 28f9e76e484..10ba80c1626 100644 --- a/coverage.html +++ b/coverage.html @@ -4948,7 +4948,7 @@ DeletionRequestUc 0 % - (0/17) + (0/18) @@ -10483,6 +10483,126 @@ (0/3) + + + + apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts + + class + RocketChatUser + + 0 % + (0/3) + + + + + + apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts + + interface + RocketChatUserProps + + 0 % + (0/7) + + + + + + apps/server/src/modules/rocketchat-user/domain/testing/rocket-chat-user.factory.ts + + variable + rocketChatUserFactory + + 0 % + (0/1) + + + + + + apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts + + entity + RocketChatUserEntity + + 0 % + (0/1) + + + + + + apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts + + interface + RocketChatUserEntityProps + + 0 % + (0/8) + + + + + + apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts + + class + RocketChatUserFactory + + 71 % + (10/14) + + + + + + apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts + + variable + rocketChatUserEntityFactory + + 0 % + (0/1) + + + + + + apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts + + class + RocketChatUserMapper + + 0 % + (0/3) + + + + + + apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts + + injectable + RocketChatUserRepo + + 0 % + (0/4) + + + + + + apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts + + injectable + RocketChatUserService + + 0 % + (0/4) + + diff --git a/entities/RocketChatUserEntity.html b/entities/RocketChatUserEntity.html new file mode 100644 index 00000000000..128fd42326b --- /dev/null +++ b/entities/RocketChatUserEntity.html @@ -0,0 +1,406 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
        +
        + + +
        +
        + + + + + + + + + + +
        +
        +

        +

        File

        +

        +

        + apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts +

        + + + + +
        +

        Index

        + + + + + + + + + + + + + + + +
        +
        Properties
        +
        + +
        +
        + +
        + +

        + Properties +

        + + + + + + + + + + + + + + + + + +
        + + + + Optional + authToken + + +
        + Type : string + +
        + Decorators : +
        + + @Property({nullable: true})
        +
        +
        + +
        + + + + + + + + + + + + + + + + + +
        + + + + + rcId + + +
        + Type : string + +
        + Decorators : +
        + + @Property()
        @Index()
        +
        +
        + +
        + + + + + + + + + + + + + + + + + +
        + + + + + userId + + +
        + Type : ObjectId + +
        + Decorators : +
        + + @Property()
        @Unique()
        +
        +
        + +
        + + + + + + + + + + + + + + + + + +
        + + + + + username + + +
        + Type : string + +
        + Decorators : +
        + + @Property()
        @Unique()
        +
        +
        + +
        +
        +
        + + +
        +
        import { Entity, Index, Property, Unique } from '@mikro-orm/core';
        +import { ObjectId } from '@mikro-orm/mongodb';
        +import { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';
        +import { EntityId } from '@shared/domain';
        +
        +export interface RocketChatUserEntityProps {
        +	id?: EntityId;
        +	userId: ObjectId;
        +	username: string;
        +	rcId: string;
        +	authToken?: string;
        +	createdAt?: Date;
        +	updatedAt?: Date;
        +}
        +
        +@Entity({ tableName: 'rocketchatuser' })
        +export class RocketChatUserEntity extends BaseEntityWithTimestamps {
        +	@Property()
        +	@Unique()
        +	username: string;
        +
        +	@Property()
        +	@Unique()
        +	userId: ObjectId;
        +
        +	@Property()
        +	@Index()
        +	rcId: string;
        +
        +	@Property({ nullable: true })
        +	authToken?: string;
        +
        +	constructor(props: RocketChatUserEntityProps) {
        +		super();
        +
        +		if (props.id !== undefined) {
        +			this.id = props.id;
        +		}
        +
        +		this.userId = props.userId;
        +		this.username = props.username;
        +		this.rcId = props.rcId;
        +
        +		if (props.authToken !== undefined) {
        +			this.authToken = props.authToken;
        +		}
        +
        +		if (props.createdAt !== undefined) {
        +			this.createdAt = props.createdAt;
        +		}
        +
        +		if (props.updatedAt !== undefined) {
        +			this.updatedAt = props.updatedAt;
        +		}
        +	}
        +}
        +
        +
        +
        + + + + + + + + + + + + + + + +
        +
        +

        results matching ""

        +
          +
          +
          +

          No results matching ""

          +
          +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/graph/dependencies.svg b/graph/dependencies.svg index b94e0ae1d1b..f55edabae4f 100644 --- a/graph/dependencies.svg +++ b/graph/dependencies.svg @@ -4,8205 +4,8259 @@ - - + + dependencies - -Legend - -  Declarations - -  Module - -  Bootstrap - -  Providers - -  Exports + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports cluster_AccountApiModule - + cluster_AccountApiModule_imports - + cluster_AccountApiModule_providers - + cluster_AccountModule - + cluster_AccountModule_imports - + cluster_AccountModule_exports - + cluster_AccountModule_providers - + cluster_AuthenticationApiModule - + cluster_AuthenticationApiModule_imports - + cluster_AuthenticationApiModule_providers - + cluster_AuthenticationModule - + cluster_AuthenticationModule_imports - + cluster_AuthenticationModule_exports - + cluster_AuthenticationModule_providers - + cluster_AuthorizationModule - + cluster_AuthorizationModule_imports - + cluster_AuthorizationModule_exports - + cluster_AuthorizationModule_providers - + cluster_AuthorizationReferenceModule - + cluster_AuthorizationReferenceModule_exports - + cluster_AuthorizationReferenceModule_providers - + cluster_BoardApiModule - + cluster_BoardApiModule_imports - + cluster_BoardApiModule_providers - + cluster_BoardModule - + cluster_BoardModule_imports - + cluster_BoardModule_exports - + cluster_BoardModule_providers - + cluster_CacheWrapperModule - + cluster_CacheWrapperModule_exports - + cluster_CacheWrapperModule_providers - + cluster_CalendarModule - + cluster_CalendarModule_exports - + cluster_CalendarModule_providers - + cluster_ClassModule - + cluster_ClassModule_exports - + cluster_ClassModule_providers - + cluster_CollaborativeStorageAdapterModule - + cluster_CollaborativeStorageAdapterModule_imports - + cluster_CollaborativeStorageAdapterModule_exports - + cluster_CollaborativeStorageAdapterModule_providers - + cluster_CollaborativeStorageModule - + cluster_CollaborativeStorageModule_exports - + cluster_CollaborativeStorageModule_providers - + cluster_CommonToolModule - + cluster_CommonToolModule_imports - + cluster_CommonToolModule_exports - + cluster_CommonToolModule_providers - + cluster_ConsoleWriterModule - + cluster_ConsoleWriterModule_exports - + cluster_ConsoleWriterModule_providers - + cluster_ContextExternalToolModule - + cluster_ContextExternalToolModule_imports - + cluster_ContextExternalToolModule_exports - + cluster_ContextExternalToolModule_providers - + cluster_CopyHelperModule - + cluster_CopyHelperModule_exports - + cluster_CopyHelperModule_providers - + cluster_CoreModule - + cluster_CoreModule_imports - + cluster_CoreModule_exports - + cluster_DatabaseManagementModule - + cluster_DatabaseManagementModule_exports - + cluster_DatabaseManagementModule_providers - + cluster_DeletionModule - + cluster_DeletionModule_exports - + cluster_DeletionModule_providers - + cluster_EncryptionModule - + cluster_ExternalToolModule - + cluster_ExternalToolModule_imports - + cluster_ExternalToolModule_exports - + cluster_ExternalToolModule_providers - + cluster_FeathersModule - + cluster_FeathersModule_exports - + cluster_FeathersModule_providers - + cluster_FilesModule - + cluster_FilesModule_providers - + cluster_FilesStorageAMQPModule - + cluster_FilesStorageAMQPModule_imports - + cluster_FilesStorageAMQPModule_providers - + cluster_FilesStorageApiModule - + cluster_FilesStorageApiModule_providers - + cluster_FilesStorageClientModule - + cluster_FilesStorageClientModule_exports - + cluster_FilesStorageClientModule_providers - + cluster_FilesStorageModule - + cluster_FilesStorageModule_imports - + cluster_FilesStorageModule_exports - + cluster_FilesStorageModule_providers - + cluster_FilesStorageTestModule - + cluster_FilesStorageTestModule_imports - + cluster_FileSystemModule - + cluster_FileSystemModule_exports - + cluster_FileSystemModule_providers - + cluster_FwuLearningContentsModule - + cluster_FwuLearningContentsModule_imports - + cluster_FwuLearningContentsModule_providers - + cluster_FwuLearningContentsTestModule - + cluster_GroupApiModule - + cluster_GroupApiModule_imports - + cluster_GroupApiModule_providers - + cluster_GroupModule - + cluster_GroupModule_exports - + cluster_GroupModule_providers - + cluster_H5PEditorModule - + cluster_H5PEditorModule_providers - + cluster_H5PEditorTestModule - + cluster_IdentityManagementModule - + cluster_IdentityManagementModule_imports - + cluster_IdentityManagementModule_exports - + cluster_ImportUserModule - + cluster_ImportUserModule_providers - + cluster_KeycloakAdministrationModule - + cluster_KeycloakAdministrationModule_exports - + cluster_KeycloakAdministrationModule_providers - + cluster_KeycloakConfigurationModule - + cluster_KeycloakConfigurationModule_exports - + cluster_KeycloakConfigurationModule_providers - + cluster_KeycloakModule - + cluster_KeycloakModule_exports - + cluster_KeycloakModule_providers - + cluster_LearnroomApiModule - + cluster_LearnroomApiModule_imports - + cluster_LearnroomApiModule_providers - + cluster_LearnroomModule - + cluster_LearnroomModule_imports - + cluster_LearnroomModule_exports - + cluster_LearnroomModule_providers - + cluster_LegacySchoolApiModule - + cluster_LegacySchoolApiModule_imports - + cluster_LegacySchoolApiModule_providers - + cluster_LegacySchoolModule - + cluster_LegacySchoolModule_exports - + cluster_LegacySchoolModule_providers - + cluster_LessonApiModule - + cluster_LessonApiModule_providers - + cluster_LessonModule - + cluster_LessonModule_exports - + cluster_LessonModule_providers - + cluster_LoggerModule - + cluster_LoggerModule_exports - + cluster_LoggerModule_providers - + cluster_LtiToolModule - + cluster_LtiToolModule_exports - + cluster_LtiToolModule_providers - + cluster_ManagementModule - + cluster_ManagementModule_providers - + cluster_ManagementServerModule - + cluster_ManagementServerTestModule - + cluster_MetaTagExtractorApiModule - + cluster_MetaTagExtractorApiModule_imports - + cluster_MetaTagExtractorApiModule_providers - + cluster_MetaTagExtractorModule - + cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_providers - + cluster_NewsModule - + cluster_NewsModule_exports - + cluster_NewsModule_providers - + cluster_OauthApiModule - + cluster_OauthApiModule_imports - + cluster_OauthApiModule_providers - + cluster_OauthModule - + cluster_OauthModule_exports - + cluster_OauthModule_providers - + cluster_OauthProviderApiModule - + cluster_OauthProviderApiModule_imports - + cluster_OauthProviderApiModule_providers - + cluster_OauthProviderModule - + cluster_OauthProviderModule_exports - + cluster_OauthProviderModule_providers - + cluster_OauthProviderServiceModule - + cluster_OauthProviderServiceModule_exports - + cluster_PreviewGeneratorAMQPModule - + cluster_PreviewGeneratorAMQPModule_imports - + cluster_PreviewGeneratorProducerModule - + cluster_PreviewGeneratorProducerModule_exports - + cluster_PreviewGeneratorProducerModule_providers - + cluster_ProvisioningModule - + cluster_ProvisioningModule_exports - + cluster_ProvisioningModule_providers - + cluster_PseudonymApiModule - + cluster_PseudonymApiModule_providers - + cluster_PseudonymModule - + cluster_PseudonymModule_exports - + cluster_PseudonymModule_providers - + cluster_RedisModule - + -cluster_RoleModule - +cluster_RocketChatUserModule + -cluster_RoleModule_exports - +cluster_RocketChatUserModule_exports + +cluster_RocketChatUserModule_providers + + + +cluster_RoleModule + + + +cluster_RoleModule_exports + + + cluster_RoleModule_providers - + - + cluster_SchoolExternalToolModule - + - + cluster_SchoolExternalToolModule_exports - + - + cluster_SchoolExternalToolModule_providers - + - + cluster_ServerConsoleModule - + - + cluster_ServerModule - + - + cluster_ServerModule_imports - + - + cluster_ServerTestModule - + - + cluster_SharingApiModule - + - + cluster_SharingApiModule_imports - + - + cluster_SharingApiModule_providers - + - + cluster_SharingModule - + - + cluster_SharingModule_exports - + - + cluster_SharingModule_providers - + - + cluster_SystemApiModule - + - + cluster_SystemApiModule_providers - + - + cluster_SystemModule - + - + cluster_SystemModule_exports - + - + cluster_SystemModule_providers - + - + cluster_TaskApiModule - + - + cluster_TaskApiModule_providers - + - + cluster_TaskModule - + - + cluster_TaskModule_exports - + - + cluster_TaskModule_providers - + - + cluster_TeamsApiModule - + - + cluster_TeamsApiModule_imports - + - + cluster_TeamsModule - + - + cluster_TeamsModule_exports - + - + cluster_TeamsModule_providers - + - + cluster_ToolApiModule - + - + cluster_ToolApiModule_providers - + - + cluster_ToolLaunchModule - + - + cluster_ToolLaunchModule_exports - + - + cluster_ToolLaunchModule_providers - + - + cluster_ToolModule - + - + cluster_ToolModule_exports - + - + cluster_UserApiModule - + - + cluster_UserApiModule_providers - + - + cluster_UserLoginMigrationApiModule - + - + cluster_UserLoginMigrationApiModule_providers - + - + cluster_UserLoginMigrationModule - + - + cluster_UserLoginMigrationModule_exports - + - + cluster_UserLoginMigrationModule_providers - + - + cluster_UserModule - + - + cluster_UserModule_exports - + - + cluster_UserModule_providers - + - + cluster_VideoConferenceApiModule - + - + cluster_VideoConferenceApiModule_imports - + - + cluster_VideoConferenceApiModule_providers - + - + cluster_VideoConferenceModule - + - + cluster_VideoConferenceModule_exports - + - + cluster_VideoConferenceModule_providers - + AccountModule - -AccountModule + +AccountModule AccountApiModule - -AccountApiModule + +AccountApiModule AccountModule->AccountApiModule - - + + AccountService - -AccountService + +AccountService AccountModule->AccountService - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountModule->AccountValidationService - - + + AuthenticationModule - -AuthenticationModule + +AuthenticationModule AccountModule->AuthenticationModule - - + + UserModule - -UserModule + +UserModule - + AccountModule->UserModule - - + + ImportUserModule - -ImportUserModule + +ImportUserModule AccountModule->ImportUserModule - - + + KeycloakConfigurationModule - -KeycloakConfigurationModule + +KeycloakConfigurationModule AccountModule->KeycloakConfigurationModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule - + AccountModule->UserLoginMigrationModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule AccountModule->ProvisioningModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AccountModule - - + + LoggerModule->AccountApiModule - - + + LoggerModule->AuthenticationModule - - + + OauthModule - -OauthModule + +OauthModule LoggerModule->OauthModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LoggerModule->AuthorizationModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule LoggerModule->AuthorizationReferenceModule - - + + BoardModule - -BoardModule + +BoardModule LoggerModule->BoardModule - - + + BoardApiModule - -BoardApiModule + +BoardApiModule LoggerModule->BoardApiModule - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule LoggerModule->ContextExternalToolModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule LoggerModule->FilesStorageClientModule - - + + - + LoggerModule->UserModule - - + + CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule LoggerModule->CollaborativeStorageAdapterModule - - + + CollaborativeStorageModule - -CollaborativeStorageModule + +CollaborativeStorageModule LoggerModule->CollaborativeStorageModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + CommonToolModule - -CommonToolModule + +CommonToolModule LoggerModule->CommonToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule LoggerModule->ExternalToolModule - - + + ErrorModule - -ErrorModule + +ErrorModule LoggerModule->ErrorModule - - + + CoreModule - -CoreModule + +CoreModule LoggerModule->CoreModule - - + + DeletionModule - -DeletionModule + +DeletionModule LoggerModule->DeletionModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule LoggerModule->EncryptionModule - - + + FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesStorageAMQPModule - -FilesStorageAMQPModule + +FilesStorageAMQPModule LoggerModule->FilesStorageAMQPModule - - + + FilesStorageTestModule - -FilesStorageTestModule + +FilesStorageTestModule LoggerModule->FilesStorageTestModule - - + + FwuLearningContentsModule - -FwuLearningContentsModule + +FwuLearningContentsModule LoggerModule->FwuLearningContentsModule - - + + FwuLearningContentsTestModule - -FwuLearningContentsTestModule + +FwuLearningContentsTestModule LoggerModule->FwuLearningContentsTestModule - - + + H5PEditorTestModule - -H5PEditorTestModule + +H5PEditorTestModule LoggerModule->H5PEditorTestModule - - + + KeycloakModule - -KeycloakModule + +KeycloakModule LoggerModule->KeycloakModule - - + + LoggerModule->ImportUserModule - - + + LoggerModule->KeycloakConfigurationModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LoggerModule->LearnroomModule - - + + LessonModule - -LessonModule + +LessonModule LoggerModule->LessonModule - - + + - + LoggerModule->UserLoginMigrationModule - - + + LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule LoggerModule->LegacySchoolApiModule - - + + ErrorLogger - -ErrorLogger + +ErrorLogger LoggerModule->ErrorLogger - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LoggerModule->LegacyLogger - - + + Logger - -Logger + +Logger LoggerModule->Logger - - + + MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule LoggerModule->MetaTagExtractorModule - - + + MetaTagExtractorApiModule - -MetaTagExtractorApiModule + +MetaTagExtractorApiModule LoggerModule->MetaTagExtractorApiModule - - + + NewsModule - -NewsModule + +NewsModule LoggerModule->NewsModule - - + + LoggerModule->ProvisioningModule - - + + OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthProviderModule - -OauthProviderModule + +OauthProviderModule LoggerModule->OauthProviderModule - - + + OauthProviderApiModule - -OauthProviderApiModule + +OauthProviderApiModule LoggerModule->OauthProviderApiModule - - + + PreviewGeneratorProducerModule - -PreviewGeneratorProducerModule + +PreviewGeneratorProducerModule LoggerModule->PreviewGeneratorProducerModule - - + + RedisModule - -RedisModule + +RedisModule LoggerModule->RedisModule - - + + - + SharingApiModule - -SharingApiModule + +SharingApiModule - + LoggerModule->SharingApiModule - - + + - + ToolApiModule - -ToolApiModule + +ToolApiModule - + LoggerModule->ToolApiModule - - + + - + UserLoginMigrationApiModule - -UserLoginMigrationApiModule + +UserLoginMigrationApiModule - + LoggerModule->UserLoginMigrationApiModule - - + + - + ServerModule - -ServerModule + +ServerModule - + LoggerModule->ServerModule - - + + - + ServerTestModule - -ServerTestModule + +ServerTestModule - + LoggerModule->ServerTestModule - - + + - + SharingModule - -SharingModule + +SharingModule - + LoggerModule->SharingModule - - + + - + VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule - + LoggerModule->VideoConferenceModule - - + + - + AccountApiModule->ServerModule - - + + - + AccountApiModule->ServerTestModule - - + + AccountUc - -AccountUc + +AccountUc AccountUc->AccountApiModule - - + + PermissionService - -PermissionService + +PermissionService PermissionService->AccountModule - - + + PermissionService->AccountApiModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AccountModule - - + + UserRepo->AccountApiModule - - + + UserRepo->AuthenticationModule - - + + UserRepo->AuthorizationModule - - + + UserRepo->AuthorizationReferenceModule - - + + - + UserRepo->UserModule - - + + UserRepo->ImportUserModule - - + + UserRepo->LearnroomModule - - + + LearnroomApiModule - -LearnroomApiModule + +LearnroomApiModule UserRepo->LearnroomApiModule - - + + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule IdentityManagementModule->AccountModule - - + + IdentityManagementModule->AuthenticationModule - - + + SystemModule - -SystemModule + +SystemModule - + IdentityManagementModule->SystemModule - - + + IdentityManagementOauthService - -IdentityManagementOauthService + +IdentityManagementOauthService IdentityManagementModule->IdentityManagementOauthService - - + + IdentityManagementService - -IdentityManagementService + +IdentityManagementService IdentityManagementModule->IdentityManagementService - - + + AccountLookupService - -AccountLookupService + +AccountLookupService AccountLookupService->AccountModule - - + + AccountRepo - -AccountRepo + +AccountRepo AccountRepo->AccountModule - - + + AccountService - -AccountService + +AccountService AccountService->AccountModule - - + + AccountServiceDb - -AccountServiceDb + +AccountServiceDb AccountServiceDb->AccountModule - - + + AccountServiceIdm - -AccountServiceIdm + +AccountServiceIdm AccountServiceIdm->AccountModule - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountValidationService->AccountModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->AccountModule - - + + SystemRepo->AuthenticationModule - - + + - + SystemRepo->SystemModule - - + + SystemRepo->ImportUserModule - - + + AuthenticationApiModule - -AuthenticationApiModule + +AuthenticationApiModule AuthenticationModule->AuthenticationApiModule - - + + AuthenticationService - -AuthenticationService + +AuthenticationService AuthenticationModule->AuthenticationService - - + + FilesStorageApiModule - -FilesStorageApiModule + +FilesStorageApiModule AuthenticationModule->FilesStorageApiModule - - + + AuthenticationModule->FilesStorageTestModule - - + + AuthenticationModule->FwuLearningContentsModule - - + + AuthenticationModule->FwuLearningContentsTestModule - - + + H5PEditorModule - -H5PEditorModule + +H5PEditorModule AuthenticationModule->H5PEditorModule - - + + AuthenticationModule->H5PEditorTestModule - - + + AuthenticationModule->MetaTagExtractorModule - - + + AuthenticationModule->OauthApiModule - - + + - + AuthenticationModule->UserLoginMigrationApiModule - - + + AuthenticationApiModule->H5PEditorTestModule - - + + - + AuthenticationApiModule->ServerModule - - + + - + AuthenticationApiModule->ServerTestModule - - + + LoginUc - -LoginUc + +LoginUc LoginUc->AuthenticationApiModule - - + + CacheWrapperModule - -CacheWrapperModule + +CacheWrapperModule CacheWrapperModule->AuthenticationModule - - + + CacheWrapperModule->OauthModule - - + + CacheService - -CacheService + +CacheService CacheWrapperModule->CacheService - - + + OauthModule->AuthenticationModule - - + + OauthModule->OauthApiModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService OauthModule->HydraSsoService - - + + OAuthService - -OAuthService + +OAuthService OauthModule->OAuthService - - + + - + OauthModule->UserLoginMigrationApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->AuthenticationModule - - + + - + RoleModule->UserModule - - + + RoleModule->CollaborativeStorageModule - - + + GroupApiModule - -GroupApiModule + +GroupApiModule RoleModule->GroupApiModule - - + + RoleModule->ProvisioningModule - - + + - + RoleRepo - -RoleRepo + +RoleRepo - + RoleModule->RoleRepo - - + + - + RoleService - -RoleService + +RoleService - + RoleModule->RoleService - - + + - + RoleUc - -RoleUc + +RoleUc - + RoleModule->RoleUc - - + + SystemModule->AuthenticationModule - - + + SystemModule->OauthModule - - + + SystemModule->GroupApiModule - - + + SystemModule->KeycloakConfigurationModule - - + + - + SystemModule->UserLoginMigrationModule - - + + SystemModule->ProvisioningModule - - + + SystemModule->OauthApiModule - - + + - + SystemApiModule - -SystemApiModule + +SystemApiModule - + SystemModule->SystemApiModule - - + + - + SystemOidcService - -SystemOidcService + +SystemOidcService - + SystemModule->SystemOidcService - - + + - + SystemService - -SystemService + +SystemService - + SystemModule->SystemService - - + + AuthenticationService - -AuthenticationService + +AuthenticationService AuthenticationService->AuthenticationModule - - + + JwtStrategy - -JwtStrategy + +JwtStrategy JwtStrategy->AuthenticationModule - - + + JwtValidationAdapter - -JwtValidationAdapter + +JwtValidationAdapter JwtValidationAdapter->AuthenticationModule - - + + LdapService - -LdapService + +LdapService LdapService->AuthenticationModule - - + + LdapStrategy - -LdapStrategy + +LdapStrategy LdapStrategy->AuthenticationModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->AuthenticationModule - - + + LegacySchoolRepo->AuthorizationReferenceModule - - + + LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolRepo->ImportUserModule - - + + LocalStrategy - -LocalStrategy + +LocalStrategy LocalStrategy->AuthenticationModule - - + + Oauth2Strategy - -Oauth2Strategy + +Oauth2Strategy Oauth2Strategy->AuthenticationModule - - + + FeathersModule - -FeathersModule + +FeathersModule FeathersModule->AuthorizationModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersModule->FeathersServiceProvider - - + + AuthorizationModule->OauthModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationModule->AuthorizationService - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService AuthorizationModule->FeathersAuthorizationService - - + + AuthorizationModule->AuthorizationReferenceModule - - + + AuthorizationModule->CollaborativeStorageModule - - + + AuthorizationModule->FilesStorageTestModule - - + + AuthorizationModule->FwuLearningContentsModule - - + + AuthorizationModule->FwuLearningContentsTestModule - - + + AuthorizationModule->GroupApiModule - - + + AuthorizationModule->ImportUserModule - - + + AuthorizationModule->LearnroomApiModule - - + + AuthorizationModule->LegacySchoolApiModule - - + + LessonApiModule - -LessonApiModule + +LessonApiModule AuthorizationModule->LessonApiModule - - + + AuthorizationModule->NewsModule - - + + AuthorizationModule->OauthApiModule - - + + AuthorizationModule->OauthProviderApiModule - - + + PseudonymApiModule - -PseudonymApiModule + +PseudonymApiModule AuthorizationModule->PseudonymApiModule - - + + - + AuthorizationModule->SharingApiModule - - + + - + TaskApiModule - -TaskApiModule + +TaskApiModule - + AuthorizationModule->TaskApiModule - - + + - + AuthorizationModule->ToolApiModule - - + + - + AuthorizationModule->UserLoginMigrationApiModule - - + + - + VideoConferenceApiModule - -VideoConferenceApiModule + +VideoConferenceApiModule - + AuthorizationModule->VideoConferenceApiModule - - + + - + AuthorizationModule->SharingModule - - + + - + AuthorizationModule->VideoConferenceModule - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationModule - - + + AuthorizationHelper->AuthorizationReferenceModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationService->AuthorizationModule - - + + BoardDoRule - -BoardDoRule + +BoardDoRule BoardDoRule->AuthorizationModule - - + + ContextExternalToolRule - -ContextExternalToolRule + +ContextExternalToolRule ContextExternalToolRule->AuthorizationModule - - + + CourseGroupRule - -CourseGroupRule + +CourseGroupRule CourseGroupRule->AuthorizationModule - - + + CourseRule - -CourseRule + +CourseRule CourseRule->AuthorizationModule - - + + FeathersAuthProvider - -FeathersAuthProvider + +FeathersAuthProvider FeathersAuthProvider->AuthorizationModule - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService FeathersAuthorizationService->AuthorizationModule - - + + GroupRule - -GroupRule + +GroupRule GroupRule->AuthorizationModule - - + + LegacySchoolRule - -LegacySchoolRule + +LegacySchoolRule LegacySchoolRule->AuthorizationModule - - + + LessonRule - -LessonRule + +LessonRule LessonRule->AuthorizationModule - - + + RuleManager - -RuleManager + +RuleManager RuleManager->AuthorizationModule - - + + SchoolExternalToolRule - -SchoolExternalToolRule + +SchoolExternalToolRule SchoolExternalToolRule->AuthorizationModule - - + + SubmissionRule - -SubmissionRule + +SubmissionRule SubmissionRule->AuthorizationModule - - + + TaskRule - -TaskRule + +TaskRule TaskRule->AuthorizationModule - - + + TeamRule - -TeamRule + +TeamRule TeamRule->AuthorizationModule - - + + UserLoginMigrationRule - -UserLoginMigrationRule + +UserLoginMigrationRule UserLoginMigrationRule->AuthorizationModule - - + + UserRule - -UserRule + +UserRule UserRule->AuthorizationModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceModule->AuthorizationReferenceService - - + + AuthorizationReferenceModule->FilesStorageApiModule - - + + AuthorizationReferenceModule->H5PEditorModule - - + + AuthorizationReferenceModule->H5PEditorTestModule - - + + AuthorizationReferenceModule->LearnroomApiModule - - + + - + AuthorizationReferenceModule->SharingApiModule - - + + - + AuthorizationReferenceModule->SharingModule - - + + - + AuthorizationReferenceModule->VideoConferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceService->AuthorizationReferenceModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->AuthorizationReferenceModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->AuthorizationReferenceModule - - + + CourseRepo->BoardModule - - + + CourseRepo->LearnroomModule - - + + CourseRepo->LearnroomApiModule - - + + TaskModule - -TaskModule + +TaskModule - + CourseRepo->TaskModule - - + + - + CourseRepo->TaskApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->AuthorizationReferenceModule - - + + LessonRepo->LearnroomModule - - + + LessonRepo->LessonModule - - + + LessonRepo->LearnroomApiModule - - + + - + LessonRepo->TaskModule - - + + - + LessonRepo->TaskApiModule - - + + ReferenceLoader - -ReferenceLoader + +ReferenceLoader ReferenceLoader->AuthorizationReferenceModule - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo SchoolExternalToolRepo->AuthorizationReferenceModule - - + + SchoolExternalToolRepo->CommonToolModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->AuthorizationReferenceModule - - + + - + SubmissionRepo->TaskModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->AuthorizationReferenceModule - - + + - + TaskRepo->TaskModule - - + + - + TaskRepo->TaskApiModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->AuthorizationReferenceModule - - + + TeamsRepo->CollaborativeStorageModule - - + + TeamsRepo->OauthProviderModule - - + + - + TeamsModule - -TeamsModule + +TeamsModule - + TeamsRepo->TeamsModule - - + + - + TeamsRepo->VideoConferenceModule - - + + BoardModule->BoardApiModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardModule->BoardDoAuthorizableService - - + + CardService - -CardService + +CardService BoardModule->CardService - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService BoardModule->ColumnBoardCopyService - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService BoardModule->ColumnBoardService - - + + ColumnService - -ColumnService + +ColumnService BoardModule->ColumnService - - + + ContentElementService - -ContentElementService + +ContentElementService BoardModule->ContentElementService - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService BoardModule->SubmissionItemService - - + + BoardModule->LearnroomModule - - + + - + BoardModule->ToolApiModule - - + + - + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule - + BoardModule->ToolLaunchModule - - + + - + BoardApiModule->ServerModule - - + + - + BoardApiModule->ServerTestModule - - + + BoardUc - -BoardUc + +BoardUc BoardUc->BoardApiModule - - + + CardUc - -CardUc + +CardUc CardUc->BoardApiModule - - + + ColumnUc - -ColumnUc + +ColumnUc ColumnUc->BoardApiModule - - + + ElementUc - -ElementUc + +ElementUc ElementUc->BoardApiModule - - + + SubmissionItemUc - -SubmissionItemUc + +SubmissionItemUc SubmissionItemUc->BoardApiModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->BoardModule - - + + ConsoleWriterService - -ConsoleWriterService + +ConsoleWriterService ConsoleWriterModule->ConsoleWriterService - - + + ConsoleWriterModule->KeycloakConfigurationModule - - + + ConsoleWriterModule->MetaTagExtractorModule - - + + - + ServerConsoleModule - -ServerConsoleModule + +ServerConsoleModule - + ConsoleWriterModule->ServerConsoleModule - - + + ContextExternalToolModule->BoardModule - - + + ToolModule - -ToolModule + +ToolModule - + ContextExternalToolModule->ToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + - + ContextExternalToolModule->ToolLaunchModule - - + + FilesStorageClientModule->BoardModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService FilesStorageClientModule->CopyFilesService - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientModule->FilesStorageClientAdapterService - - + + FilesStorageClientModule->LessonModule - - + + - + FilesStorageClientModule->TaskModule - - + + - + FilesStorageClientModule->ServerModule - - + + - + FilesStorageClientModule->ServerTestModule - - + + UserModule->OauthModule - - + + UserModule->BoardModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule UserModule->PseudonymModule - - + + UserModule->CollaborativeStorageAdapterModule - - + + UserModule->GroupApiModule - - + + UserModule->H5PEditorModule - - + + UserModule->H5PEditorTestModule - - + + - + UserModule->UserLoginMigrationModule - - + + UserModule->MetaTagExtractorModule - - + + UserModule->ProvisioningModule - - + + UserModule->OauthApiModule - - + + UserModule->OauthProviderModule - - + + UserModule->OauthProviderApiModule - - + + - + UserModule->ToolApiModule - - + + - + UserApiModule - -UserApiModule + +UserApiModule - + UserModule->UserApiModule - - + + - + UserModule->VideoConferenceApiModule - - + + - + UserModule->ToolLaunchModule - - + + - + UserRepo - -UserRepo + +UserRepo - + UserModule->UserRepo - - + + - + UserService - -UserService + +UserService - + UserModule->UserService - - + + - + UserModule->VideoConferenceModule - - + + - + UserModule->VideoConferenceModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardDoAuthorizableService->BoardModule - - + + BoardDoCopyService - -BoardDoCopyService + +BoardDoCopyService BoardDoCopyService->BoardModule - - + + BoardDoRepo - -BoardDoRepo + +BoardDoRepo BoardDoRepo->BoardModule - - + + BoardDoService - -BoardDoService + +BoardDoService BoardDoService->BoardModule - - + + BoardNodeRepo - -BoardNodeRepo + +BoardNodeRepo BoardNodeRepo->BoardModule - - + + CardService - -CardService + +CardService CardService->BoardModule - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService ColumnBoardCopyService->BoardModule - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService ColumnBoardService->BoardModule - - + + ColumnService - -ColumnService + +ColumnService ColumnService->BoardModule - - + + ContentElementFactory - -ContentElementFactory + +ContentElementFactory ContentElementFactory->BoardModule - - + + ContentElementService - -ContentElementService + +ContentElementService ContentElementService->BoardModule - - + + RecursiveDeleteVisitor - -RecursiveDeleteVisitor + +RecursiveDeleteVisitor RecursiveDeleteVisitor->BoardModule - - + + SchoolSpecificFileCopyServiceFactory - -SchoolSpecificFileCopyServiceFactory + +SchoolSpecificFileCopyServiceFactory SchoolSpecificFileCopyServiceFactory->BoardModule - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService SubmissionItemService->BoardModule - - + + CacheService - -CacheService + +CacheService CacheService->CacheWrapperModule - - + + CalendarService - -CalendarService + +CalendarService CalendarModule - -CalendarModule + +CalendarModule CalendarModule->CalendarService - - + + - + CalendarModule->VideoConferenceModule - - + + CalendarMapper - -CalendarMapper + +CalendarMapper CalendarMapper->CalendarModule - - + + CalendarService - -CalendarService + +CalendarService CalendarService->CalendarModule - - + + ClassService - -ClassService + +ClassService ClassModule - -ClassModule + +ClassModule ClassModule->ClassService - - + + ClassModule->GroupApiModule - - + + ClassService - -ClassService + +ClassService ClassService->ClassModule - - + + ClassesRepo - -ClassesRepo + +ClassesRepo ClassesRepo->ClassModule - - + + PseudonymModule->CollaborativeStorageAdapterModule - - + + PseudonymModule->OauthProviderModule - - + + PseudonymModule->OauthProviderApiModule - - + + PseudonymModule->PseudonymApiModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ToolModule->CollaborativeStorageAdapterModule - - + + CommonToolService - -CommonToolService + +CommonToolService - + ToolModule->CommonToolService - - + + ToolModule->OauthProviderModule - - + + - + ToolModule->ToolApiModule - - + + - + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule - + ToolModule->ContextExternalToolModule - - + + - + ExternalToolModule - -ExternalToolModule + +ExternalToolModule - + ToolModule->ExternalToolModule - - + + - + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule - + ToolModule->SchoolExternalToolModule - - + + - + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule - + ToolModule->ToolLaunchModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapterModule->CollaborativeStorageAdapter - - + + CollaborativeStorageAdapterModule->CollaborativeStorageModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapter->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapterMapper - -CollaborativeStorageAdapterMapper + +CollaborativeStorageAdapterMapper CollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->OauthModule - - + + LtiToolRepo->CollaborativeStorageAdapterModule - - + + LtiToolModule - -LtiToolModule + +LtiToolModule LtiToolRepo->LtiToolModule - - + + - + LtiToolRepo->ToolApiModule - - + + NextcloudClient - -NextcloudClient + +NextcloudClient NextcloudClient->CollaborativeStorageAdapterModule - - + + NextcloudStrategy - -NextcloudStrategy + +NextcloudStrategy NextcloudStrategy->CollaborativeStorageAdapterModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageModule->CollaborativeStorageUc - - + + - + CollaborativeStorageModule->ServerModule - - + + - + CollaborativeStorageModule->ServerTestModule - - + + CollaborativeStorageService - -CollaborativeStorageService + +CollaborativeStorageService CollaborativeStorageService->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageUc->CollaborativeStorageModule - - + + TeamMapper - -TeamMapper + +TeamMapper TeamMapper->CollaborativeStorageModule - - + + TeamPermissionsMapper - -TeamPermissionsMapper + +TeamPermissionsMapper TeamPermissionsMapper->CollaborativeStorageModule - - + + LegacySchoolModule->OauthModule - - + + - + LegacySchoolModule->UserModule - - + + LegacySchoolModule->CommonToolModule - - + + LegacySchoolModule->GroupApiModule - - + + LegacySchoolModule->ImportUserModule - - + + - + LegacySchoolModule->UserLoginMigrationModule - - + + LegacySchoolModule->LegacySchoolApiModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + LegacySchoolModule->ProvisioningModule - - + + LegacySchoolModule->OauthApiModule - - + + LegacySchoolModule->PseudonymApiModule - - + + - + LegacySchoolModule->ToolApiModule - - + + - + LegacySchoolModule->UserLoginMigrationApiModule - - + + - + LegacySchoolModule->ToolLaunchModule - - + + - + LegacySchoolModule->VideoConferenceModule - - + + CommonToolModule->ContextExternalToolModule - - + + CommonToolModule->CommonToolService - - + + CommonToolValidationService - -CommonToolValidationService + +CommonToolValidationService CommonToolModule->CommonToolValidationService - - + + ContextExternalToolRepo - -ContextExternalToolRepo + +ContextExternalToolRepo CommonToolModule->ContextExternalToolRepo - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo CommonToolModule->SchoolExternalToolRepo - - + + CommonToolModule->ExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule - + CommonToolModule->SchoolExternalToolModule - - + + - + CommonToolModule->ToolApiModule - - + + - + CommonToolModule->ToolLaunchModule - - + + CommonToolService - -CommonToolService + +CommonToolService - + CommonToolService->ToolModule - - + + CommonToolService->CommonToolModule - - + + CommonToolValidationService - -CommonToolValidationService + +CommonToolValidationService CommonToolValidationService->CommonToolModule - - + + ContextExternalToolRepo - -ContextExternalToolRepo + +ContextExternalToolRepo ContextExternalToolRepo->CommonToolModule - - + + ConsoleWriterService - -ConsoleWriterService + +ConsoleWriterService ConsoleWriterService->ConsoleWriterModule - - + + ManagementModule - -ManagementModule + +ManagementModule ConsoleWriterService->ManagementModule - - + + ExternalToolModule->ContextExternalToolModule - - + + - + ExternalToolModule->ToolModule - - + + - + ExternalToolModule->SchoolExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionService - -ExternalToolVersionService + +ExternalToolVersionService ExternalToolModule->ExternalToolVersionService - - + + - + ExternalToolModule->ToolLaunchModule - - + + SchoolExternalToolModule->ContextExternalToolModule - - + + - + SchoolExternalToolModule->ToolModule - - + + - + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService - + SchoolExternalToolModule->SchoolExternalToolService - - + + - + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService - + SchoolExternalToolModule->SchoolExternalToolValidationService - - + + - + SchoolExternalToolModule->ToolLaunchModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + CopyHelperService - -CopyHelperService + +CopyHelperService CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->FilesStorageClientModule - - + + CopyHelperModule->CopyHelperService - - + + CopyHelperModule->LearnroomModule - - + + CopyHelperModule->LessonModule - - + + CopyHelperModule->LearnroomApiModule - - + + - + CopyHelperModule->TaskModule - - + + - + CopyHelperModule->TaskApiModule - - + + CopyHelperService - -CopyHelperService + +CopyHelperService CopyHelperService->CopyHelperModule - - + + ErrorModule->CoreModule - - + + InterceptorModule - -InterceptorModule + +InterceptorModule InterceptorModule->CoreModule - - + + ValidationModule - -ValidationModule + +ValidationModule ValidationModule->CoreModule - - + + LoggerModule - -LoggerModule + +LoggerModule CoreModule->LoggerModule - - + + CoreModule->FilesStorageAMQPModule - - + + CoreModule->FilesStorageApiModule - - + + CoreModule->FilesStorageTestModule - - + + CoreModule->FwuLearningContentsModule - - + + CoreModule->FwuLearningContentsTestModule - - + + CoreModule->H5PEditorModule - - + + CoreModule->H5PEditorTestModule - - + + - + CoreModule->ServerModule - - + + - + CoreModule->ServerTestModule - - + + DatabaseManagementService - -DatabaseManagementService + +DatabaseManagementService DatabaseManagementModule - -DatabaseManagementModule + +DatabaseManagementModule DatabaseManagementModule->DatabaseManagementService - - + + DatabaseManagementService - -DatabaseManagementService + +DatabaseManagementService DatabaseManagementService->DatabaseManagementModule - - + + DatabaseManagementService->ManagementModule - - + + DeletionRequestService - -DeletionRequestService + +DeletionRequestService DeletionModule->DeletionRequestService - - + + DeletionRequestRepo - -DeletionRequestRepo + +DeletionRequestRepo DeletionRequestRepo->DeletionModule - - + + DeletionRequestService - -DeletionRequestService + +DeletionRequestService DeletionRequestService->DeletionModule - - + + EncryptionModule->IdentityManagementModule - - + + EncryptionModule->OauthModule - - + + EncryptionModule->ExternalToolModule - - + + EncryptionModule->KeycloakModule - - + + EncryptionModule->KeycloakConfigurationModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + OauthProviderServiceModule->OauthProviderModule - - + + OauthProviderServiceModule->OauthProviderApiModule - - + + OauthProviderService - -OauthProviderService + +OauthProviderService OauthProviderServiceModule->OauthProviderService - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule - + ToolConfigModule->ToolModule - - + + ToolConfigModule->ExternalToolModule - - + + ToolConfigModule->OauthProviderModule - - + + - + ToolConfigModule->ToolApiModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + - + ExternalToolConfigurationService->ToolApiModule - - + + 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 - - + + ExternalToolVersionService - -ExternalToolVersionService + +ExternalToolVersionService ExternalToolVersionService->ExternalToolModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersServiceProvider->FeathersModule - - + + FeathersServiceProvider->LessonModule - - + + - + FilesModule->ServerConsoleModule - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageAMQPModule - - + + FilesStorageModule->FilesStorageApiModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageModule->FilesStorageService - - + + PreviewService - -PreviewService + +PreviewService FilesStorageModule->PreviewService - - + + FilesStorageConsumer - -FilesStorageConsumer + +FilesStorageConsumer FilesStorageConsumer->FilesStorageAMQPModule - - + + FilesStorageApiModule->FilesStorageTestModule - - + + FilesStorageUC - -FilesStorageUC + +FilesStorageUC FilesStorageUC->FilesStorageApiModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService CopyFilesService->FilesStorageClientModule - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientAdapterService->FilesStorageClientModule - - + + FilesStorageProducer - -FilesStorageProducer + +FilesStorageProducer FilesStorageProducer->FilesStorageClientModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->FilesStorageModule - - + + RabbitMQWrapperModule->FwuLearningContentsModule - - + + RabbitMQWrapperModule->H5PEditorModule - - + + RabbitMQWrapperModule->PreviewGeneratorProducerModule - - + + - + RabbitMQWrapperModule->ServerModule - - + + FileRecordRepo - -FileRecordRepo + +FileRecordRepo FileRecordRepo->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageService->FilesStorageModule - - + + PreviewService - -PreviewService + +PreviewService PreviewService->FilesStorageModule - - + + MongoMemoryDatabaseModule - -MongoMemoryDatabaseModule + +MongoMemoryDatabaseModule MongoMemoryDatabaseModule->FilesStorageTestModule - - + + MongoMemoryDatabaseModule->FwuLearningContentsTestModule - - + + MongoMemoryDatabaseModule->H5PEditorTestModule - - + + ManagementServerTestModule - -ManagementServerTestModule + +ManagementServerTestModule MongoMemoryDatabaseModule->ManagementServerTestModule - - + + - + MongoMemoryDatabaseModule->ServerTestModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->FilesStorageTestModule - - + + RabbitMQWrapperTestModule->FwuLearningContentsTestModule - - + + RabbitMQWrapperTestModule->H5PEditorTestModule - - + + - + RabbitMQWrapperTestModule->ServerTestModule - - + + FileSystemAdapter - -FileSystemAdapter + +FileSystemAdapter FileSystemModule - -FileSystemModule + +FileSystemModule FileSystemModule->FileSystemAdapter - - + + FileSystemAdapter - -FileSystemAdapter + +FileSystemAdapter FileSystemAdapter->FileSystemModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->FwuLearningContentsModule - - + + S3ClientModule->FwuLearningContentsTestModule - - + + S3ClientModule->H5PEditorModule - - + + S3ClientModule->H5PEditorTestModule - - + + FwuLearningContentsUc - -FwuLearningContentsUc + +FwuLearningContentsUc FwuLearningContentsUc->FwuLearningContentsModule - - + + FwuLearningContentsUc->FwuLearningContentsTestModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + GroupService - -GroupService + +GroupService GroupModule->GroupService - - + + GroupModule->ProvisioningModule - - + + - + GroupApiModule->ServerModule - - + + - + GroupApiModule->ServerTestModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + GroupRepo - -GroupRepo + +GroupRepo GroupRepo->GroupModule - - + + GroupService - -GroupService + +GroupService GroupService->GroupModule - - + + H5PEditorModule->H5PEditorTestModule - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + ContentStorage->H5PEditorTestModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PContentRepo->H5PEditorTestModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + H5PEditorUc->H5PEditorTestModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryRepo->H5PEditorTestModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + LibraryStorage->H5PEditorTestModule - - + + Logger - -Logger + +Logger Logger->LoggerModule - - + + Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileRepo->H5PEditorTestModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + TemporaryFileStorage->H5PEditorTestModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->IdentityManagementModule - - + + KeycloakAdministrationModule->KeycloakModule - - + + KeycloakAdministrationService - -KeycloakAdministrationService + +KeycloakAdministrationService KeycloakAdministrationModule->KeycloakAdministrationService - - + + KeycloakAdministrationModule->KeycloakConfigurationModule - - + + KeycloakModule->IdentityManagementModule - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakModule->KeycloakIdentityManagementOauthService - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakModule->KeycloakIdentityManagementService - - + + - + ImportUserModule->ServerModule - - + + - + ImportUserModule->ServerTestModule - - + + ImportUserRepo - -ImportUserRepo + +ImportUserRepo ImportUserRepo->ImportUserModule - - + + UserImportUc - -UserImportUc + +UserImportUc UserImportUc->ImportUserModule - - + + KeycloakAdministrationService - -KeycloakAdministrationService + +KeycloakAdministrationService KeycloakAdministrationService->KeycloakAdministrationModule - - + + 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 - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakIdentityManagementOauthService->KeycloakModule - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakIdentityManagementService->KeycloakModule - - + + LearnroomModule->PseudonymModule - - + + LearnroomModule->LearnroomApiModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService LearnroomModule->CommonCartridgeExportService - - + + CourseCopyService - -CourseCopyService + +CourseCopyService LearnroomModule->CourseCopyService - - + + CourseService - -CourseService + +CourseService LearnroomModule->CourseService - - + + RoomsService - -RoomsService + +RoomsService LearnroomModule->RoomsService - - + + - + LearnroomModule->SharingApiModule - - + + - + LearnroomModule->ToolApiModule - - + + - + LearnroomModule->SharingModule - - + + - + LearnroomModule->ToolLaunchModule - - + + - + LearnroomModule->VideoConferenceModule - - + + LessonModule->LearnroomModule - - + + LessonModule->LearnroomApiModule - - + + LessonModule->LessonApiModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonModule->LessonCopyService - - + + LessonService - -LessonService + +LessonService LessonModule->LessonService - - + + - + LessonModule->SharingApiModule - - + + - + LessonModule->SharingModule - - + + - + LearnroomApiModule->ServerModule - - + + - + LearnroomApiModule->ServerTestModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomModule - - + + BoardRepo->LearnroomApiModule - - + + CourseCopyUC - -CourseCopyUC + +CourseCopyUC CourseCopyUC->LearnroomApiModule - - + + CourseExportUc - -CourseExportUc + +CourseExportUc CourseExportUc->LearnroomApiModule - - + + CourseUc - -CourseUc + +CourseUc CourseUc->LearnroomApiModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomModule - - + + DashboardModelMapper->LearnroomApiModule - - + + DashboardUc - -DashboardUc + +DashboardUc DashboardUc->LearnroomApiModule - - + + LessonCopyUC - -LessonCopyUC + +LessonCopyUC LessonCopyUC->LearnroomApiModule - - + + RoomBoardDTOFactory - -RoomBoardDTOFactory + +RoomBoardDTOFactory RoomBoardDTOFactory->LearnroomApiModule - - + + RoomBoardResponseMapper - -RoomBoardResponseMapper + +RoomBoardResponseMapper RoomBoardResponseMapper->LearnroomApiModule - - + + RoomsAuthorisationService - -RoomsAuthorisationService + +RoomsAuthorisationService RoomsAuthorisationService->LearnroomApiModule - - + + RoomsUc - -RoomsUc + +RoomsUc RoomsUc->LearnroomApiModule - - + + TaskModule->LearnroomModule - - + + TaskModule->LessonModule - - + + - + TaskModule->SharingApiModule - - + + - + TaskModule->TaskApiModule - - + + - + TaskModule->SharingModule - - + + - + SubmissionService - -SubmissionService + +SubmissionService - + TaskModule->SubmissionService - - + + - + TaskCopyService - -TaskCopyService + +TaskCopyService - + TaskModule->TaskCopyService - - + + - + TaskService - -TaskService + +TaskService - + TaskModule->TaskService - - + + BoardCopyService - -BoardCopyService + +BoardCopyService BoardCopyService->LearnroomModule - - + + ColumnBoardTargetService - -ColumnBoardTargetService + +ColumnBoardTargetService ColumnBoardTargetService->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService CommonCartridgeExportService->LearnroomModule - - + + CourseCopyService - -CourseCopyService + +CourseCopyService CourseCopyService->LearnroomModule - - + + CourseService - -CourseService + +CourseService CourseService->LearnroomModule - - + + RoomsService - -RoomsService + +RoomsService RoomsService->LearnroomModule - - + + UserLoginMigrationModule->OauthModule - - + + UserLoginMigrationModule->LegacySchoolApiModule - - + + UserLoginMigrationModule->OauthApiModule - + - + UserLoginMigrationModule->UserLoginMigrationApiModule - - + + - + MigrationCheckService - -MigrationCheckService + +MigrationCheckService - + UserLoginMigrationModule->MigrationCheckService - - + + - + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService - + UserLoginMigrationModule->SchoolMigrationService - - + + - + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService - + UserLoginMigrationModule->UserLoginMigrationRevertService - - + + - + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService - + UserLoginMigrationModule->UserLoginMigrationService - - + + - + UserMigrationService - -UserMigrationService + +UserMigrationService - + UserLoginMigrationModule->UserMigrationService - - + + - + LegacySchoolApiModule->ServerModule - - + + - + LegacySchoolApiModule->ServerTestModule - - + + LegacySchoolUc - -LegacySchoolUc + +LegacySchoolUc LegacySchoolUc->LegacySchoolApiModule - - + + MigrationMapper - -MigrationMapper + +MigrationMapper MigrationMapper->LegacySchoolApiModule - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + - + LessonApiModule->ServerModule - - + + - + LessonApiModule->ServerTestModule - - + + LessonUC - -LessonUC + +LessonUC LessonUC->LessonApiModule - - + + EtherpadService - -EtherpadService + +EtherpadService EtherpadService->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonCopyService->LessonModule - - + + LessonService - -LessonService + +LessonService LessonService->LessonModule - - + + NexboardService - -NexboardService + +NexboardService NexboardService->LessonModule - - + + ErrorLogger - -ErrorLogger + +ErrorLogger ErrorLogger->LoggerModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->LoggerModule - - + + LegacyLogger->PseudonymModule - - + + LegacyLogger->LtiToolModule - - + + LtiToolService - -LtiToolService + +LtiToolService LtiToolModule->LtiToolService - - + + LtiToolModule->OauthProviderModule - - + + LtiToolService - -LtiToolService + +LtiToolService LtiToolService->LtiToolModule - - + + BoardManagementUc - -BoardManagementUc + +BoardManagementUc BoardManagementUc->ManagementModule - - + + BsonConverter - -BsonConverter + +BsonConverter BsonConverter->ManagementModule - - + + DatabaseManagementUc - -DatabaseManagementUc + +DatabaseManagementUc DatabaseManagementUc->ManagementModule - - + + ManagementServerModule - -ManagementServerModule + +ManagementServerModule ManagementModule->ManagementServerModule - - + + ManagementModule->ManagementServerTestModule - - + + - + ManagementModule->ServerConsoleModule - - + + MetaTagExtractorModule->MetaTagExtractorApiModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + - + MetaTagExtractorModule->ServerModule - - + + - + MetaTagExtractorModule->ServerTestModule - - + + - + MetaTagExtractorApiModule->ServerModule - - + + - + MetaTagExtractorApiModule->ServerTestModule - - + + MetaTagExtractorUc - -MetaTagExtractorUc + +MetaTagExtractorUc MetaTagExtractorUc->MetaTagExtractorApiModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + NewsUc - -NewsUc + +NewsUc NewsModule->NewsUc - - + + - + NewsModule->ServerModule - - + + - + NewsModule->ServerTestModule - - + + NewsRepo - -NewsRepo + +NewsRepo NewsRepo->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsUc->NewsModule - - + + ProvisioningModule->OauthModule - - + + ProvisioningModule->OauthApiModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningModule->ProvisioningService - - + + - + ProvisioningModule->UserLoginMigrationApiModule - - + + - + OauthApiModule->ServerModule - - + + - + OauthApiModule->ServerTestModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + OauthUc - -OauthUc + +OauthUc OauthUc->OauthApiModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService HydraSsoService->OauthModule - - + + OAuthService - -OAuthService + +OAuthService OAuthService->OauthModule - - + + OauthAdapterService - -OauthAdapterService + +OauthAdapterService OauthAdapterService->OauthModule - - + + OauthProviderModule->OauthProviderApiModule - - + + IdTokenService - -IdTokenService + +IdTokenService OauthProviderModule->IdTokenService - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderModule->OauthProviderLoginFlowService - - + + - + OauthProviderApiModule->ServerModule - - + + - + OauthProviderApiModule->ServerTestModule - - + + 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 - - + + IdTokenService - -IdTokenService + +IdTokenService IdTokenService->OauthProviderModule - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderLoginFlowService->OauthProviderModule - - + + PreviewGeneratorConsumerModule - -PreviewGeneratorConsumerModule + +PreviewGeneratorConsumerModule PreviewGeneratorAMQPModule - -PreviewGeneratorAMQPModule + +PreviewGeneratorAMQPModule PreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewGeneratorProducerModule->PreviewProducer - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewProducer->PreviewGeneratorProducerModule - - + + IservProvisioningStrategy - -IservProvisioningStrategy + +IservProvisioningStrategy IservProvisioningStrategy->ProvisioningModule - - + + OidcMockProvisioningStrategy - -OidcMockProvisioningStrategy + +OidcMockProvisioningStrategy OidcMockProvisioningStrategy->ProvisioningModule - - + + OidcProvisioningService - -OidcProvisioningService + +OidcProvisioningService OidcProvisioningService->ProvisioningModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningService->ProvisioningModule - - + + SanisProvisioningStrategy - -SanisProvisioningStrategy + +SanisProvisioningStrategy SanisProvisioningStrategy->ProvisioningModule - - + + SanisResponseMapper - -SanisResponseMapper + +SanisResponseMapper SanisResponseMapper->ProvisioningModule - - + + - + PseudonymApiModule->ServerModule - - + + - + PseudonymApiModule->ServerTestModule - - + + PseudonymUc - -PseudonymUc + +PseudonymUc PseudonymUc->PseudonymApiModule - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + - + RedisModule->ServerModule - - + + - + RedisModule->ServerTestModule - - + + - + + +RocketChatService + +RocketChatService + + + +RocketChatUserModule + +RocketChatUserModule + + + +RocketChatUserModule->RocketChatService + + + + + +RocketChatUserRepo + +RocketChatUserRepo + + + +RocketChatUserRepo->RocketChatUserModule + + + + +RocketChatUserService + +RocketChatUserService + + + +RocketChatUserService->RocketChatUserModule + + + + + RoleRepo - -RoleRepo + +RoleRepo - + RoleRepo->RoleModule - - + + - + RoleService - -RoleService + +RoleService - + RoleService->RoleModule - - + + - + RoleUc - -RoleUc + +RoleUc - + RoleUc->RoleModule - - + + - + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService - + SchoolExternalToolService->SchoolExternalToolModule - - + + - + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService - + SchoolExternalToolValidationService->SchoolExternalToolModule - - + + - + SharingApiModule->ServerModule - - + + - + SharingApiModule->ServerTestModule - - + + - + SystemApiModule->ServerModule - - + + - + SystemApiModule->ServerTestModule - - + + - + TaskApiModule->ServerModule - - + + - + TaskApiModule->ServerTestModule - - + + - + TeamsApiModule - -TeamsApiModule + +TeamsApiModule - + TeamsApiModule->ServerModule - - + + - + TeamsApiModule->ServerTestModule - - + + - + ToolApiModule->ServerModule - - + + - + ToolApiModule->ServerTestModule - - + + - + UserApiModule->ServerModule - - + + - + UserApiModule->ServerTestModule - - + + - + UserLoginMigrationApiModule->ServerModule - - + + - + UserLoginMigrationApiModule->ServerTestModule - - + + - + VideoConferenceApiModule->ServerModule - - + + - + VideoConferenceApiModule->ServerTestModule - - + + - + SharingModule->SharingApiModule - - + + - + ShareTokenService - -ShareTokenService + +ShareTokenService - + SharingModule->ShareTokenService - - + + - + ShareTokenUC - -ShareTokenUC + +ShareTokenUC - + ShareTokenUC->SharingApiModule - - + + - + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo - + ShareTokenRepo->SharingModule - - + + - + ShareTokenService - -ShareTokenService + +ShareTokenService - + ShareTokenService->SharingModule - - + + - + TokenGenerator - -TokenGenerator + +TokenGenerator - + TokenGenerator->SharingModule - - + + - + SystemUc - -SystemUc + +SystemUc - + SystemUc->SystemApiModule - - + + - + SystemOidcService - -SystemOidcService + +SystemOidcService - + SystemOidcService->SystemModule - - + + - + SystemService - -SystemService + +SystemService - + SystemService->SystemModule - - + + - + SubmissionUc - -SubmissionUc + +SubmissionUc - + SubmissionUc->TaskApiModule - - + + - + TaskCopyUC - -TaskCopyUC + +TaskCopyUC - + TaskCopyUC->TaskApiModule - - + + - + TaskUC - -TaskUC + +TaskUC - + TaskUC->TaskApiModule - - + + - + SubmissionService - -SubmissionService + +SubmissionService - + SubmissionService->TaskModule - - + + - + TaskCopyService - -TaskCopyService + +TaskCopyService - + TaskCopyService->TaskModule - - + + - + TaskService - -TaskService + +TaskService - + TaskService->TaskModule - - + + - + TeamsModule->TeamsApiModule - - + + - + TeamService - -TeamService + +TeamService - + TeamsModule->TeamService - - + + - + TeamService - -TeamService + +TeamService - + TeamService->TeamsModule - - + + - + ContextExternalToolUc - -ContextExternalToolUc + +ContextExternalToolUc - + ContextExternalToolUc->ToolApiModule - - + + - + ExternalToolConfigurationUc - -ExternalToolConfigurationUc + +ExternalToolConfigurationUc - + ExternalToolConfigurationUc->ToolApiModule - - + + - + ExternalToolRequestMapper - -ExternalToolRequestMapper + +ExternalToolRequestMapper - + ExternalToolRequestMapper->ToolApiModule - - + + - + ExternalToolResponseMapper - -ExternalToolResponseMapper + +ExternalToolResponseMapper - + ExternalToolResponseMapper->ToolApiModule - - + + - + ExternalToolUc - -ExternalToolUc + +ExternalToolUc - + ExternalToolUc->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 - - + + - + ToolLaunchModule->ToolModule - - + + - + ToolLaunchService - -ToolLaunchService + +ToolLaunchService - + ToolLaunchModule->ToolLaunchService - - + + - + AutoContextIdStrategy - -AutoContextIdStrategy + +AutoContextIdStrategy - + AutoContextIdStrategy->ToolLaunchModule - - + + - + AutoContextNameStrategy - -AutoContextNameStrategy + +AutoContextNameStrategy - + AutoContextNameStrategy->ToolLaunchModule - - + + - + AutoSchoolIdStrategy - -AutoSchoolIdStrategy + +AutoSchoolIdStrategy - + AutoSchoolIdStrategy->ToolLaunchModule - - + + - + AutoSchoolNumberStrategy - -AutoSchoolNumberStrategy + +AutoSchoolNumberStrategy - + AutoSchoolNumberStrategy->ToolLaunchModule - - + + - + BasicToolLaunchStrategy - -BasicToolLaunchStrategy + +BasicToolLaunchStrategy - + BasicToolLaunchStrategy->ToolLaunchModule - - + + - + Lti11EncryptionService - -Lti11EncryptionService + +Lti11EncryptionService - + Lti11EncryptionService->ToolLaunchModule - - + + - + Lti11ToolLaunchStrategy - -Lti11ToolLaunchStrategy + +Lti11ToolLaunchStrategy - + Lti11ToolLaunchStrategy->ToolLaunchModule - - + + - + OAuth2ToolLaunchStrategy - -OAuth2ToolLaunchStrategy + +OAuth2ToolLaunchStrategy - + OAuth2ToolLaunchStrategy->ToolLaunchModule - - + + - + ToolLaunchService - -ToolLaunchService + +ToolLaunchService - + ToolLaunchService->ToolLaunchModule - - + + - + UserUc - -UserUc + +UserUc - + UserUc->UserApiModule - - + + - + CloseUserLoginMigrationUc - -CloseUserLoginMigrationUc + +CloseUserLoginMigrationUc - + CloseUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + PageContentMapper - -PageContentMapper + +PageContentMapper - + PageContentMapper->UserLoginMigrationApiModule - - + + - + RestartUserLoginMigrationUc - -RestartUserLoginMigrationUc + +RestartUserLoginMigrationUc - + RestartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + StartUserLoginMigrationUc - -StartUserLoginMigrationUc + +StartUserLoginMigrationUc - + StartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + ToggleUserLoginMigrationUc - -ToggleUserLoginMigrationUc + +ToggleUserLoginMigrationUc - + ToggleUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + UserLoginMigrationUc - -UserLoginMigrationUc + +UserLoginMigrationUc - + UserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + MigrationCheckService - -MigrationCheckService + +MigrationCheckService - + MigrationCheckService->UserLoginMigrationModule - - + + - + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService - + SchoolMigrationService->UserLoginMigrationModule - - + + - + UserLoginMigrationRepo - -UserLoginMigrationRepo + +UserLoginMigrationRepo - + UserLoginMigrationRepo->UserLoginMigrationModule - - + + - + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService - + UserLoginMigrationRevertService->UserLoginMigrationModule - - + + - + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService - + UserLoginMigrationService->UserLoginMigrationModule - - + + - + UserMigrationService - -UserMigrationService + +UserMigrationService - + UserMigrationService->UserLoginMigrationModule - - + + - + UserDORepo - -UserDORepo + +UserDORepo - + UserDORepo->UserModule - - + + - + UserService - -UserService + +UserService - + UserService->UserModule - - + + - + VideoConferenceModule->VideoConferenceApiModule - - + + - + BBBService - -BBBService + +BBBService - + VideoConferenceModule->BBBService - - + + - + VideoConferenceService - -VideoConferenceService + +VideoConferenceService - + VideoConferenceModule->VideoConferenceService - - + + - + VideoConferenceCreateUc - -VideoConferenceCreateUc + +VideoConferenceCreateUc - + VideoConferenceCreateUc->VideoConferenceApiModule - - + + - + VideoConferenceEndUc - -VideoConferenceEndUc + +VideoConferenceEndUc - + VideoConferenceEndUc->VideoConferenceApiModule - - + + - + VideoConferenceInfoUc - -VideoConferenceInfoUc + +VideoConferenceInfoUc - + VideoConferenceInfoUc->VideoConferenceApiModule - - + + - + VideoConferenceJoinUc - -VideoConferenceJoinUc + +VideoConferenceJoinUc - + VideoConferenceJoinUc->VideoConferenceApiModule - - + + - + BBBService - -BBBService + +BBBService - + BBBService->VideoConferenceModule - - + + - + ConverterUtil - -ConverterUtil + +ConverterUtil - + ConverterUtil->VideoConferenceModule - - + + - + VideoConferenceDeprecatedUc - -VideoConferenceDeprecatedUc + +VideoConferenceDeprecatedUc - + VideoConferenceDeprecatedUc->VideoConferenceModule - - + + - + VideoConferenceRepo - -VideoConferenceRepo + +VideoConferenceRepo - + VideoConferenceRepo->VideoConferenceModule - - + + - + VideoConferenceService - -VideoConferenceService + +VideoConferenceService - + VideoConferenceService->VideoConferenceModule - - + + diff --git a/injectables/DeletionRequestUc.html b/injectables/DeletionRequestUc.html index af389589f44..50ea250f2ac 100644 --- a/injectables/DeletionRequestUc.html +++ b/injectables/DeletionRequestUc.html @@ -140,6 +140,11 @@
          Methods
          Async removeUserFromLessons +
        • + Private + Async + removeUserFromRocketChat +
        • Private Async @@ -173,12 +178,12 @@

          Constructor

          -constructor(deletionRequestService: DeletionRequestService, deletionLogService: DeletionLogService, accountService: AccountService, classService: ClassService, courseGroupService: CourseGroupService, courseService: CourseService, filesService: FilesService, lessonService: LessonService, pseudonymService: PseudonymService, teamService: TeamService, userService: UserService) +constructor(deletionRequestService: DeletionRequestService, deletionLogService: DeletionLogService, accountService: AccountService, classService: ClassService, courseGroupService: CourseGroupService, courseService: CourseService, filesService: FilesService, lessonService: LessonService, pseudonymService: PseudonymService, teamService: TeamService, userService: UserService, rocketChatUserService: RocketChatUserService, rocketChatService: RocketChatService) -
          Defined in apps/server/src/modules/deletion/uc/deletion-request.uc.ts:29
          +
          Defined in apps/server/src/modules/deletion/uc/deletion-request.uc.ts:31
          @@ -327,6 +332,30 @@

          Constructor

          + + rocketChatUserService + + + RocketChatUserService + + + + No + + + + + rocketChatService + + + RocketChatService + + + + No + + + @@ -363,8 +392,8 @@

          - + @@ -432,8 +461,8 @@

          - + @@ -502,8 +531,8 @@

          - + @@ -571,8 +600,8 @@

          - + @@ -640,8 +669,8 @@

          - + @@ -710,8 +739,8 @@

          - + @@ -828,8 +857,8 @@

          - + @@ -898,8 +927,8 @@

          - + @@ -968,8 +997,8 @@

          - + @@ -1038,8 +1067,8 @@

          - + @@ -1108,8 +1137,8 @@

          - + @@ -1178,8 +1207,8 @@

          - + @@ -1225,6 +1254,76 @@

          + + + + + + + + + + + + + + + + + + + +
          + + + Private + Async + removeUserFromRocketChat + + +
          + + removeUserFromRocketChat(deletionRequest: DeletionRequest) +
          + +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          deletionRequest + DeletionRequest + + No +
          +
          +
          + Returns : Promise<number> + +
          +
          + +
          +
          @@ -1248,8 +1347,8 @@

          @@ -1318,8 +1417,8 @@

          @@ -1388,8 +1487,8 @@

          @@ -1451,6 +1550,8 @@

          import { CourseGroupService, CourseService } from '@modules/learnroom/service'; import { FilesService } from '@modules/files/service'; import { AccountService } from '@modules/account/services'; +import { RocketChatUserService } from '@modules/rocketchat-user'; +import { RocketChatService } from '@modules/rocketchat'; import { DeletionRequestService } from '../services/deletion-request.service'; import { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum'; import { DeletionLogService } from '../services/deletion-log.service'; @@ -1481,7 +1582,9 @@

          private readonly lessonService: LessonService, private readonly pseudonymService: PseudonymService, private readonly teamService: TeamService, - private readonly userService: UserService + private readonly userService: UserService, + private readonly rocketChatUserService: RocketChatUserService, + private readonly rocketChatService: RocketChatService ) {} async createDeletionRequest(deletionRequest: DeletionRequestProps): Promise<DeletionRequestCreateAnswer> { @@ -1539,6 +1642,7 @@

          this.removeUsersPseudonyms(deletionRequest), this.removeUserFromTeams(deletionRequest), this.removeUser(deletionRequest), + this.removeUserFromRocketChat(deletionRequest), ]); await this.deletionRequestService.markDeletionRequestAsExecuted(deletionRequest.id); } catch (error) { @@ -1649,6 +1753,17 @@

          const userDeleted: number = await this.userService.deleteUser(deletionRequest.targetRefId); await this.logDeletion(deletionRequest, DeletionDomainModel.USER, DeletionOperationModel.DELETE, 0, userDeleted); } + + private async removeUserFromRocketChat(deletionRequest: DeletionRequest): Promise<number> { + const rocketChatUser = await this.rocketChatUserService.findByUserId(deletionRequest.targetRefId); + + const [, rocketChatUserDeleted] = await Promise.all([ + this.rocketChatService.deleteUser(rocketChatUser.username), + this.rocketChatUserService.deleteByUserId(rocketChatUser.userId), + ]); + + return rocketChatUserDeleted; + } } diff --git a/injectables/RocketChatUserRepo.html b/injectables/RocketChatUserRepo.html new file mode 100644 index 00000000000..36685d92494 --- /dev/null +++ b/injectables/RocketChatUserRepo.html @@ -0,0 +1,454 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
          +
          + + +
          +
          + + + + + + + + + + + + +
          +
          +

          +

          File

          +

          +

          + apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts +

          + + + + + +
          +

          Index

          +

          - +
          - +
          - +
          + + + + + + + + + + + + + + + + + + + + +
          +
          Methods
          +
          + +
          +
          Accessors
          +
          + +
          + + +
          +

          Constructor

          + + + + + + + + + + + + + +
          +constructor(em: EntityManager) +
          + +
          +
          + Parameters : + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          em + EntityManager + + No +
          +
          +
          +
          + +
          + +

          + Methods +

          + + + + + + + + + + + + + + + + + + + +
          + + + Async + deleteByUserId + + +
          + + deleteByUserId(userId: EntityId) +
          + +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          userId + EntityId + + No +
          +
          +
          + Returns : Promise<number> + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Async + findByUserId + + +
          + + findByUserId(userId: EntityId) +
          + +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          userId + EntityId + + No +
          +
          +
          + Returns : Promise<RocketChatUser> + +
          +
          + +
          +
          +
          + +
          +

          + Accessors +

          + + + + + + + + + + + + + + +
          + + entityName +
          + getentityName() +
          + +
          +
          + + + +
          +
          import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
          +import { Injectable } from '@nestjs/common';
          +import { EntityId } from '@shared/domain';
          +import { RocketChatUserEntity } from '../entity';
          +import { RocketChatUser } from '../domain/rocket-chat-user.do';
          +import { RocketChatUserMapper } from './mapper';
          +
          +@Injectable()
          +export class RocketChatUserRepo {
          +	constructor(private readonly em: EntityManager) {}
          +
          +	get entityName() {
          +		return RocketChatUserEntity;
          +	}
          +
          +	async findByUserId(userId: EntityId): Promise<RocketChatUser> {
          +		const entity: RocketChatUserEntity = await this.em.findOneOrFail(RocketChatUserEntity, {
          +			userId: new ObjectId(userId),
          +		});
          +
          +		const mapped: RocketChatUser = RocketChatUserMapper.mapToDO(entity);
          +
          +		return mapped;
          +	}
          +
          +	async deleteByUserId(userId: EntityId): Promise<number> {
          +		const promise: Promise<number> = this.em.nativeDelete(RocketChatUserEntity, {
          +			userId: new ObjectId(userId),
          +		});
          +
          +		return promise;
          +	}
          +}
          +
          +
          + + + + + + + + + + + + + + + +
          +
          +

          results matching ""

          +
            +
            +
            +

            No results matching ""

            +
            +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/injectables/RocketChatUserService.html b/injectables/RocketChatUserService.html new file mode 100644 index 00000000000..0ea15dc42ef --- /dev/null +++ b/injectables/RocketChatUserService.html @@ -0,0 +1,401 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
            +
            + + +
            +
            + + + + + + + + + + + + +
            +
            +

            +

            File

            +

            +

            + apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts +

            + + + + + +
            +

            Index

            + + + + + + + + + + + + + + + +
            +
            Methods
            +
            + +
            +
            + +
            +

            Constructor

            + + + + + + + + + + + + + +
            +constructor(rocketChatUserRepo: RocketChatUserRepo) +
            + +
            +
            + Parameters : + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            rocketChatUserRepo + RocketChatUserRepo + + No +
            +
            +
            +
            + +
            + +

            + Methods +

            + + + + + + + + + + + + + + + + + + + +
            + + + Public + deleteByUserId + + +
            + + deleteByUserId(userId: EntityId) +
            + +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            userId + EntityId + + No +
            +
            +
            + Returns : Promise<number> + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Public + Async + findByUserId + + +
            + + findByUserId(userId: EntityId) +
            + +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            userId + EntityId + + No +
            +
            +
            + Returns : Promise<RocketChatUser> + +
            +
            + +
            +
            +
            + +
            + + +
            +
            import { Injectable } from '@nestjs/common';
            +import { EntityId } from '@shared/domain';
            +import { RocketChatUserRepo } from '../repo';
            +import { RocketChatUser } from '../domain';
            +
            +@Injectable()
            +export class RocketChatUserService {
            +	constructor(private readonly rocketChatUserRepo: RocketChatUserRepo) {}
            +
            +	public async findByUserId(userId: EntityId): Promise<RocketChatUser> {
            +		const user: RocketChatUser = await this.rocketChatUserRepo.findByUserId(userId);
            +
            +		return user;
            +	}
            +
            +	public deleteByUserId(userId: EntityId): Promise<number> {
            +		return this.rocketChatUserRepo.deleteByUserId(userId);
            +	}
            +}
            +
            +
            + +
            + + + + + + + + + + + + + +
            +
            +

            results matching ""

            +
              +
              +
              +

              No results matching ""

              +
              +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/interfaces/RocketChatUserEntityProps.html b/interfaces/RocketChatUserEntityProps.html new file mode 100644 index 00000000000..6425b59a484 --- /dev/null +++ b/interfaces/RocketChatUserEntityProps.html @@ -0,0 +1,530 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
              +
              + + +
              +
              + + + + + + + + + + + + + + + + + +
              +
              +

              +

              File

              +

              +

              + apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts +

              + + + + +
              +

              Index

              + + + + + + + + + +
              +
              Properties
              +
              + +
              +
              + + + +
              +

              Properties

              + + + + + + + + + + + + + + + + + + + + + + +
              + + authToken + + + + +
              + authToken: string + +
              + Type : string + +
              + Optional +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + createdAt + + + + +
              + createdAt: Date + +
              + Type : Date + +
              + Optional +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + id + + + + +
              + id: EntityId + +
              + Type : EntityId + +
              + Optional +
              + + + + + + + + + + + + + + + + + + + +
              + + rcId + + + + +
              + rcId: string + +
              + Type : string + +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + updatedAt + + + + +
              + updatedAt: Date + +
              + Type : Date + +
              + Optional +
              + + + + + + + + + + + + + + + + + + + +
              + + userId + + + + +
              + userId: ObjectId + +
              + Type : ObjectId + +
              + + + + + + + + + + + + + + + + + + + +
              + + username + + + + +
              + username: string + +
              + Type : string + +
              +
              +
              + + +
              +
              import { Entity, Index, Property, Unique } from '@mikro-orm/core';
              +import { ObjectId } from '@mikro-orm/mongodb';
              +import { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';
              +import { EntityId } from '@shared/domain';
              +
              +export interface RocketChatUserEntityProps {
              +	id?: EntityId;
              +	userId: ObjectId;
              +	username: string;
              +	rcId: string;
              +	authToken?: string;
              +	createdAt?: Date;
              +	updatedAt?: Date;
              +}
              +
              +@Entity({ tableName: 'rocketchatuser' })
              +export class RocketChatUserEntity extends BaseEntityWithTimestamps {
              +	@Property()
              +	@Unique()
              +	username: string;
              +
              +	@Property()
              +	@Unique()
              +	userId: ObjectId;
              +
              +	@Property()
              +	@Index()
              +	rcId: string;
              +
              +	@Property({ nullable: true })
              +	authToken?: string;
              +
              +	constructor(props: RocketChatUserEntityProps) {
              +		super();
              +
              +		if (props.id !== undefined) {
              +			this.id = props.id;
              +		}
              +
              +		this.userId = props.userId;
              +		this.username = props.username;
              +		this.rcId = props.rcId;
              +
              +		if (props.authToken !== undefined) {
              +			this.authToken = props.authToken;
              +		}
              +
              +		if (props.createdAt !== undefined) {
              +			this.createdAt = props.createdAt;
              +		}
              +
              +		if (props.updatedAt !== undefined) {
              +			this.updatedAt = props.updatedAt;
              +		}
              +	}
              +}
              +
              +
              +
              + + + + + + + + +
              +
              +

              results matching ""

              +
                +
                +
                +

                No results matching ""

                +
                +
                +
                + +
                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/interfaces/RocketChatUserProps.html b/interfaces/RocketChatUserProps.html new file mode 100644 index 00000000000..0ae6b187b2c --- /dev/null +++ b/interfaces/RocketChatUserProps.html @@ -0,0 +1,472 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
                +
                + + +
                +
                + + + + + + + + + + + + + + + + + +
                +
                +

                +

                File

                +

                +

                + apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts +

                + + + +

                +

                Extends

                +

                +

                + AuthorizableObject +

                + +
                +

                Index

                + + + + + + + + + +
                +
                Properties
                +
                + +
                +
                + + + +
                +

                Properties

                + + + + + + + + + + + + + + + + + + + + + + +
                + + authToken + + + + +
                + authToken: string + +
                + Type : string + +
                + Optional +
                + + + + + + + + + + + + + + + + + + + + + + +
                + + createdAt + + + + +
                + createdAt: Date + +
                + Type : Date + +
                + Optional +
                + + + + + + + + + + + + + + + + + + + +
                + + rcId + + + + +
                + rcId: string + +
                + Type : string + +
                + + + + + + + + + + + + + + + + + + + + + + +
                + + updatedAt + + + + +
                + updatedAt: Date + +
                + Type : Date + +
                + Optional +
                + + + + + + + + + + + + + + + + + + + +
                + + userId + + + + +
                + userId: EntityId + +
                + Type : EntityId + +
                + + + + + + + + + + + + + + + + + + + +
                + + username + + + + +
                + username: string + +
                + Type : string + +
                +
                +
                + + +
                +
                import { EntityId } from '@shared/domain/types';
                +import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';
                +
                +export interface RocketChatUserProps extends AuthorizableObject {
                +	userId: EntityId;
                +	username: string;
                +	rcId: string;
                +	authToken?: string;
                +	createdAt?: Date;
                +	updatedAt?: Date;
                +}
                +
                +export class RocketChatUser extends DomainObject<RocketChatUserProps> {
                +	get userId(): EntityId {
                +		return this.props.userId;
                +	}
                +
                +	get username(): string {
                +		return this.props.username;
                +	}
                +
                +	get rcId(): string {
                +		return this.props.rcId;
                +	}
                +
                +	get authToken(): string | undefined {
                +		return this.props.authToken;
                +	}
                +
                +	get createdAt(): Date | undefined {
                +		return this.props.createdAt;
                +	}
                +
                +	get updatedAt(): Date | undefined {
                +		return this.props.updatedAt;
                +	}
                +}
                +
                +
                +
                + + + + + + + + +
                +
                +

                results matching ""

                +
                  +
                  +
                  +

                  No results matching ""

                  +
                  +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/menu-wc.js b/js/menu-wc.js index ba7758e1896..b3547268d42 100644 --- a/js/menu-wc.js +++ b/js/menu-wc.js @@ -2012,6 +2012,26 @@ customElements.define('compodoc-menu', class extends HTMLElement { +
                • + + +
                • +

                • @@ -2874,6 +2894,9 @@ customElements.define('compodoc-menu', class extends HTMLElement {
                • + @@ -4303,6 +4326,15 @@ customElements.define('compodoc-menu', class extends HTMLElement { + + + @@ -5345,6 +5377,9 @@ customElements.define('compodoc-menu', class extends HTMLElement { + @@ -6252,6 +6287,12 @@ customElements.define('compodoc-menu', class extends HTMLElement { + + diff --git a/js/menu-wc_es5.js b/js/menu-wc_es5.js index dc823c1154a..45c14013c78 100644 --- a/js/menu-wc_es5.js +++ b/js/menu-wc_es5.js @@ -1 +1 @@ -'use strict';function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i\n \n \n "));this.innerHTML=tp.strings;}}]);return _class;}(/*#__PURE__*/_wrapNativeSuper(HTMLElement))); \ No newline at end of file +'use strict';function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i\n \n \n "));this.innerHTML=tp.strings;}}]);return _class;}(/*#__PURE__*/_wrapNativeSuper(HTMLElement))); \ No newline at end of file diff --git a/js/search/search_index.js b/js/search/search_index.js index c6d01f84e37..358a1831565 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.232,1,6.012]],["body/classes/AbstractAccountService.html",[0,0.171,1,6.608,2,0.557,3,0.011,4,0.011,5,0.006,6,5.039,7,0.072,8,0.915,9,6.852,10,3.061,11,6.33,12,3.386,13,5.504,14,6.608,15,6.608,16,6.608,17,6.608,18,3.772,19,6.608,20,6.608,21,6.608,22,6.98,23,6.98,24,6.98,25,6.608,26,2.873,27,0.546,28,5.039,29,1.048,30,0.001,31,0.755,32,0.172,33,0.636,34,1.261,35,1.611,36,3.017,37,6.33,38,5.039,39,2.472,40,3.635,41,5.039,42,5.504,43,5.039,44,6.608,45,5.039,46,6.608,47,0.95,48,4.331,49,3.81,50,5.039,51,5.537,52,3.635,53,5.504,54,6.608,55,2.629,56,5.437,57,5.039,58,3.268,59,2.324,60,6.608,61,5.039,62,2.976,63,6.98,64,7.884,65,5.039,66,6.975,67,6.608,68,5.039,69,6.608,70,4.551,71,5.039,72,3.403,73,6.98,74,6.108,75,7.545,76,6.98,77,4.828,78,5.115,79,6.608,80,6.608,81,6.98,82,7.1,83,2.63,84,5.039,85,5.866,86,6.98,87,4.581,88,5.039,89,6.98,90,5.039,91,6.98,92,8.367,93,5.039,94,2.503,95,0.108,96,1.347,97,2.097,98,3.007,99,0.818,100,1.713,101,0.008,102,3.821,103,0,104,0]],["title/interfaces/AcceptConsentRequestBody.html",[105,0.702,106,5.759]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.02,4,0.02,5,0.01,7,0.128,30,0.001,32,0.179,33,0.681,47,0.987,55,2.497,95,0.106,101,0.014,103,0.001,104,0.001,105,0.914,106,9.398,107,2.098,108,6.267,109,8.265,110,6.663,111,7.233,112,0.857,113,11.869,114,11.236,115,11.869,116,10.072,117,10.072,118,8.21,119,2.528,120,4.746,121,7.367,122,6.057,123,7.496,124,4.525,125,7.825,126,7.233]],["title/interfaces/AcceptLoginRequestBody.html",[105,0.702,127,5.557]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.177,33,0.687,47,0.998,55,2.504,77,8.229,101,0.014,103,0.001,104,0.001,105,0.92,107,2.112,108,6.309,109,8.32,111,7.281,112,0.861,116,10.096,117,10.096,119,2.536,127,9.106,128,3.664,129,11.263,130,11.263,131,4.879,132,11.897,133,4.254]],["title/classes/AcceptQuery.html",[0,0.232,134,5.557]],["body/classes/AcceptQuery.html",[0,0.398,2,1.067,3,0.021,4,0.021,5,0.011,7,0.139,27,0.398,30,0.001,32,0.125,95,0.151,101,0.015,103,0.001,104,0.001,112,0.899,119,2.428,128,4.788,134,9.514,135,6.563,136,9.655,137,7.906,138,1.728,139,9.655,140,6.454,141,5.501,142,4.58,143,2.606,144,3.826,145,3.294,146,9.655,147,6.351,148,2.991,149,4.527,150,2.169,151,7.844,152,9.655,153,2.213]],["title/entities/Account.html",[94,3.409,154,1.389]],["body/entities/Account.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.164,27,0.543,30,0.001,32,0.173,33,0.668,39,3.127,47,0.912,48,5.479,49,4.558,51,5.199,82,8.322,83,3.327,87,5.368,94,4.59,95,0.126,96,2.47,97,2.779,101,0.014,103,0,104,0,112,0.811,119,1.91,124,5.368,138,2.359,143,3.088,144,4.227,145,2.591,154,1.87,155,2.18,156,6.676,157,6.615,158,8.581,159,6.783,160,7.252,161,6.676,162,6.676,163,6.676,164,6.676,165,6.676,166,6.676,167,6.676,168,5.302,169,6.676,170,5.101,171,6.676,172,4.169,173,1.941,174,3.533,175,2.981,176,8.55,177,1.244,178,2.654,179,4.391,180,1.164,181,1.806,182,2.122,183,5.405,184,6.176,185,6.176,186,6.176,187,5.101,188,5.601,189,6.176,190,6.176,191,3.637,192,4.272,193,4.87,194,5.241,195,6.176,196,6.176,197,4.979,198,5.601,199,5.847,200,6.176]],["title/modules/AccountApiModule.html",[201,1.848,202,5.557]],["body/modules/AccountApiModule.html",[0,0.291,3,0.019,4,0.019,5,0.01,30,0.001,95,0.162,99,1.397,101,0.013,103,0.001,104,0.001,201,3.239,202,11.54,203,3.129,204,3.356,205,3.451,206,3.437,207,3.423,208,4.45,209,4.153,210,8.613,211,8.613,212,8.613,213,9.547,214,6.219,215,12.357,216,11.206,217,8.055,218,4.386,219,3.383,220,3.305,221,7.968,222,5.375,223,4.556,224,10.537,225,4.351,226,1.258,227,3.57,228,8.613,229,8.613,230,7.968,231,8.613]],["title/classes/AccountByIdBodyParams.html",[0,0.232,232,6.012]],["body/classes/AccountByIdBodyParams.html",[0,0.353,2,0.884,3,0.018,4,0.018,5,0.009,7,0.115,27,0.478,30,0.001,31,0.594,32,0.15,33,0.628,47,0.865,51,5.699,87,6.634,95,0.147,101,0.012,103,0.001,104,0.001,112,0.799,119,2.157,138,2.079,142,5.104,143,2.905,144,4.264,145,3.672,147,5.642,148,2.479,150,1.798,153,2.663,157,7.251,232,9.143,233,10.332,234,8.003,235,8.003,236,2.134,237,10.44,238,5.831,239,3.171,240,8.003,241,8.003,242,8.003,243,8.003,244,8.003,245,3.158,246,8.452,247,3.438,248,4.637,249,4.818,250,5.121,251,9.658,252,6.714,253,3.95,254,6.714]],["title/classes/AccountByIdParams.html",[0,0.232,255,6.012]],["body/classes/AccountByIdParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,34,2.271,47,0.835,94,5.905,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,233,9.975,245,3.049,248,4.745,255,10.413,256,7.035,257,7.34,258,9.105]],["title/controllers/AccountController.html",[224,6.012,259,2.624]],["body/controllers/AccountController.html",[0,0.117,3,0.008,4,0.008,5,0.004,7,0.049,8,0.679,10,1.397,27,0.396,29,0.761,30,0.001,31,0.548,32,0.182,33,0.461,34,1.609,35,1.537,36,2.512,87,4.874,94,6.603,95,0.121,100,1.171,101,0.005,103,0,104,0,138,1.722,141,5.49,142,3.179,150,0.774,153,3.206,177,0.642,179,4.658,215,6.551,223,1.433,224,4.906,226,0.503,230,3.186,232,7.146,239,2.748,255,9.841,259,1.316,260,3.443,261,1.649,262,2.793,263,6.202,264,6.202,265,7.081,266,7.081,267,8.159,268,7.081,269,3.443,270,6.257,271,4.734,272,3.443,273,4.28,274,6.376,275,11.035,276,4.584,277,8.159,278,7.951,279,8.211,280,3.861,281,7.081,282,7.319,283,7.357,284,3.542,285,8.16,286,8.902,287,7.713,288,10.008,289,7.081,290,8.196,291,8.388,292,5.691,293,3.443,294,6.365,295,3.443,296,3.443,297,3.443,298,3.443,299,7.146,300,3.443,301,6.423,302,6.405,303,6.405,304,5.182,305,5.2,306,3.443,307,5.602,308,3.443,309,3.443,310,4.173,311,7.146,312,3.443,313,5.602,314,4.906,315,5.182,316,3.027,317,6.202,318,5.602,319,2.374,320,3.443,321,4.086,322,3.443,323,3.443,324,5.354,325,3.443,326,3.443,327,3.443,328,7.146,329,3.443,330,4.881,331,3.443,332,3.443,333,3.473,334,2.233,335,6.117,336,8.217,337,1.793,338,1.833,339,3.186,340,1.669,341,3.186,342,3.443,343,1.847,344,3.443,345,1.098,346,5.742,347,4.726,348,4.842,349,0.995,350,3.443,351,3.443,352,3.443,353,2.373,354,3.443,355,2.176,356,3.443,357,2.631,358,1.537,359,2.077,360,2.837,361,1.957,362,3.186,363,1.94,364,3.443,365,3.443,366,3.443,367,3.443,368,3.443,369,3.443,370,3.443,371,3.443,372,3.443,373,3.443,374,3.443]],["title/classes/AccountDto.html",[0,0.232,66,4.452]],["body/classes/AccountDto.html",[0,0.232,2,0.757,3,0.015,4,0.015,5,0.008,7,0.098,26,2.469,27,0.57,29,0.542,30,0.001,31,0.39,32,0.179,33,0.677,34,1.797,39,2.573,47,0.851,48,4.508,51,4.617,64,10.969,66,7.864,82,7.39,83,3.643,87,4.767,94,3.405,95,0.112,99,1.112,101,0.011,103,0.001,104,0.001,112,0.72,119,1.417,124,4.767,138,2.4,157,5.874,158,7.62,159,6.024,177,2.47,180,1.641,181,2.547,249,2.682,375,6.856,376,4.474,377,4.661,378,7.897,379,0.865,380,6.856,381,2.323,382,4.108,383,6.856,384,6.856,385,6.856,386,6.343,387,6.856,388,7.897,389,6.856,390,8.708,391,6.856,392,6.856,393,6.856,394,6.343,395,6.856,396,8.708,397,6.856,398,6.856,399,6.856,400,5.551,401,6.856,402,6.856,403,3.829,404,2.759,405,3.677,406,4.228,407,4.809,408,4.228,409,4.809]],["title/classes/AccountEntityToDtoMapper.html",[0,0.232,410,5.759]],["body/classes/AccountEntityToDtoMapper.html",[0,0.27,2,0.881,3,0.018,4,0.018,5,0.009,7,0.114,8,1.263,27,0.477,29,0.917,30,0.001,31,0.66,32,0.15,33,0.556,34,1.332,35,1.409,39,2.179,48,3.818,51,3.91,55,2.366,66,8.645,82,6.258,87,4.037,94,6.902,95,0.124,98,6.92,99,1.293,101,0.012,103,0.001,104,0.001,124,4.037,154,2.488,157,4.975,158,6.453,159,5.101,179,5.243,236,1.298,349,1.199,376,3.318,377,3.457,410,8.736,411,9.954,412,7.971,413,4.129,414,10.413,415,10.413,416,8.43,417,10.413,418,7.971,419,10.413,420,7.971,421,7.375,422,8.736,423,7.971,424,6.688,425,5.815,426,7.971,427,7.375,428,6.981,429,5.698,430,6.981,431,7.375,432,7.375,433,6.981,434,6.688,435,7.971,436,7.375,437,1.373,438,7.375,439,7.971,440,10.413,441,7.971,442,7.971,443,7.971,444,7.375]],["title/classes/AccountFactory.html",[0,0.232,445,5.557]],["body/classes/AccountFactory.html",[0,0.158,2,0.516,3,0.01,4,0.01,5,0.005,7,0.067,8,0.864,26,1.968,27,0.539,29,1.043,30,0.001,31,0.721,32,0.173,33,0.608,34,1.833,35,1.464,39,1.948,47,0.5,48,2.238,49,3.949,51,3.497,55,2.327,59,3.205,87,2.367,94,2.322,95,0.115,99,0.758,101,0.013,103,0,104,0,112,0.546,120,3.02,133,2.471,140,2.567,153,1.98,154,2.106,155,2.328,176,4.324,177,1.328,180,1.243,236,1.161,239,2.439,271,4.704,319,3.02,349,0.894,353,3.221,379,0.59,382,3.832,413,2.153,437,1.372,445,6.995,446,4.674,447,7.127,448,4.45,449,5.353,450,7.128,451,7.128,452,3.948,453,5.353,454,5.58,455,3.948,456,3.948,457,3.948,458,3.883,459,4.376,460,4.785,461,6.165,462,5.669,463,6.962,464,2.61,465,7.128,466,4.674,467,7.128,468,4.674,469,2.588,470,3.948,471,2.61,472,5.032,473,5.184,474,4.115,475,4.896,476,3.915,477,2.588,478,2.451,479,4.042,480,3.271,481,2.526,482,2.487,483,2.588,484,4.962,485,2.61,486,3.542,487,4.707,488,2.588,489,7.104,490,4.186,491,6.512,492,2.61,493,4.239,494,2.588,495,2.61,496,2.588,497,2.61,498,2.588,499,2.917,500,2.733,501,2.588,502,5.975,503,2.61,504,2.588,505,3.948,506,3.711,507,3.948,508,2.61,509,2.506,510,2.487,511,2.076,512,2.588,513,2.588,514,2.588,515,2.61,516,2.61,517,1.767,518,2.588,519,1.44,520,2.61,521,2.822,522,2.588,523,2.61,524,2.657,525,2.681,526,2.733,527,4.21,528,3.659,529,1.334,530,4.674,531,4.094,532,4.674,533,7.128,534,4.674,535,3.409,536,4.324,537,4.674,538,4.674]],["title/injectables/AccountIdmToDtoMapper.html",[539,0.921,540,5.557]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.331,3,0.022,4,0.022,5,0.011,7,0.141,8,1.437,9,6.307,27,0.403,29,0.774,30,0.001,31,0.558,32,0.127,33,0.47,35,1.19,66,8.268,78,8.037,94,4.865,95,0.152,99,1.589,101,0.015,103,0.001,104,0.001,226,1.431,411,9.597,416,9.597,422,9.946,424,8.218,539,1.591,540,9.597,541,2.353,542,9.795,543,10.724,544,9.795]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.232,545,6.012]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,8,1.37,27,0.373,29,0.716,30,0.001,31,0.515,32,0.117,33,0.434,34,1.513,35,1.1,39,2.474,48,4.336,51,4.441,66,8.36,78,7.657,83,2.633,94,5.61,95,0.147,99,1.469,101,0.014,103,0.001,104,0.001,180,1.969,236,1.84,349,0.936,376,3.769,377,3.926,378,7.596,382,2.705,411,7.33,416,9.144,422,9.476,424,7.596,425,6.604,429,6.472,437,1.194,540,10.436,543,10.436,545,9.892,546,9.054,547,8.376,548,8.376,549,10.782,550,10.449,551,8.376,552,7.929,553,7.929]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.232,554,6.012]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.308,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,8,1.373,27,0.374,29,0.719,30,0.001,31,0.518,32,0.118,33,0.436,34,1.52,35,1.105,39,2.485,48,4.355,51,4.461,66,8.373,78,7.679,83,2.644,94,5.626,95,0.147,99,1.475,101,0.014,103,0.001,104,0.001,180,1.974,236,1.845,349,0.94,376,3.786,377,3.944,378,7.63,382,2.717,411,7.362,416,9.169,422,9.502,424,7.63,425,6.634,429,6.5,437,1.199,540,10.452,543,10.452,547,8.413,548,8.413,549,10.804,550,10.478,552,7.965,553,7.965,554,9.92,555,9.094,556,2.236]],["title/injectables/AccountLookupService.html",[539,0.921,557,5.759]],["body/injectables/AccountLookupService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.97,26,2.444,27,0.39,29,0.749,30,0.001,31,0.539,32,0.123,33,0.454,34,2.406,35,1.268,36,2.235,47,0.561,49,4.766,78,5.422,94,3.972,95,0.138,99,0.884,101,0.008,103,0,104,0,133,2.772,143,1.773,153,2.171,177,1.49,226,0.796,236,1.303,262,2.565,333,3.404,349,1.201,353,8.006,379,1.009,425,3.976,437,1.054,482,5.553,524,5.385,539,1.073,541,1.31,557,6.709,558,9.654,559,5.451,560,4.288,561,11.39,562,5.512,563,7.815,564,4.091,565,7.346,566,9.654,567,9.139,568,5.118,569,7.459,570,4.932,571,7.997,572,6.278,573,5.422,574,5.964,575,7.997,576,7.004,577,10.173,578,7.082,579,6.229,580,7.997,581,7.398,582,5.451,583,8.448,584,7.895,585,5.451,586,7.997,587,7.997,588,5.451,589,10.435,590,6.436,591,5.879,592,12.311,593,4.327,594,10.435,595,6.436,596,7.398,597,5.451,598,3.156,599,3.976,600,3.402,601,4.279,602,4.413,603,1.645,604,3.286,605,7.398,606,4.774,607,7.997,608,1.853,609,5.451,610,5.451,611,5.451]],["title/modules/AccountModule.html",[201,1.848,213,4.906]],["body/modules/AccountModule.html",[0,0.229,3,0.015,4,0.015,5,0.008,30,0.001,95,0.164,99,1.098,101,0.01,103,0,104,0,143,1.5,201,2.874,203,2.458,204,2.636,205,2.711,206,2.7,207,2.689,208,3.948,209,4.05,213,10.282,214,5.809,216,10.467,217,7.524,218,3.737,219,2.657,220,2.596,225,3.707,226,0.988,227,2.804,236,1.519,349,0.964,474,2.88,540,8.641,545,8.168,554,8.168,557,10.467,584,7.02,598,3.918,599,4.935,600,4.222,601,5.311,612,6.765,613,6.765,614,6.765,615,6.765,616,9.795,617,10.412,618,11.934,619,10.1,620,10.927,621,12.476,622,9.101,623,6.765,624,6.765,625,5.925,626,6.765,627,6.765,628,10.674,629,6.765,630,6.765,631,3.449,632,6.765,633,6.258,634,6.765,635,6.765,636,3.956,637,4.836,638,6.765,639,3.185]],["title/interfaces/AccountParams.html",[105,0.702,640,5.759]],["body/interfaces/AccountParams.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,26,2.331,30,0.001,32,0.12,33,0.549,47,0.895,48,5.756,49,4.344,51,5.895,94,6.804,95,0.143,99,1.085,101,0.014,103,0,104,0,105,1.086,107,1.571,112,0.708,180,1.166,239,3.16,271,4.73,349,1.243,413,3.63,437,1.739,445,5.414,524,3.801,603,1.904,640,9.605,641,5.857,642,5.857,643,5.137,644,4.308,645,4.878,646,4.78,647,5.857,648,8.183,649,5.11,650,9.73,651,4.457,652,4.457,653,4.75,654,2.779,655,4.686,656,10.43,657,5.61,658,5.857,659,8.103,660,5.857,661,5.857,662,3.295,663,5.857,664,8.901,665,8.103,666,8.103,667,5.61,668,9.291,669,9.291,670,5.857,671,8.103,672,8.103,673,5.61,674,5.857,675,8.103,676,6.614,677,5.61]],["title/injectables/AccountRepo.html",[539,0.921,619,5.557]],["body/injectables/AccountRepo.html",[0,0.124,3,0.008,4,0.008,5,0.004,7,0.052,8,0.713,10,2.384,11,4.931,12,2.637,13,4.287,14,5.147,15,5.147,16,5.147,17,5.147,18,2.938,19,5.147,20,5.147,26,2.678,27,0.527,29,1.003,30,0.001,31,0.715,32,0.164,33,0.603,34,1.865,35,1.542,36,2.86,37,4.931,39,2.841,40,1.76,42,4.287,44,5.147,46,5.147,47,0.837,48,4.045,49,4.895,51,5.303,52,2.831,53,4.287,54,5.147,55,2.632,56,6.055,58,6.413,60,5.147,62,2.158,67,5.147,69,5.147,70,5.439,85,2.37,94,5.813,95,0.118,96,1.571,97,1.521,99,0.593,101,0.006,102,1.851,103,0,104,0,119,1.523,143,0.81,145,1.024,153,0.837,154,1.709,155,1.919,173,1.062,180,1.024,226,0.534,236,1.508,239,1.98,262,3.07,333,1.555,349,1.21,382,2.523,437,1.304,479,4.313,480,2.051,486,2.544,493,1.792,519,1.81,539,0.789,541,0.878,566,9.617,603,1.517,606,3.2,608,2.145,619,4.758,678,3.654,679,5.963,680,3.984,681,7.814,682,7.372,683,5.437,684,7.372,685,2.457,686,2.692,687,5.507,688,5.877,689,3.654,690,3.654,691,3.654,692,5.147,693,3.654,694,3.654,695,3.654,696,3.838,697,4.287,698,3.654,699,3.654,700,3.654,701,3.654,702,5.877,703,3.654,704,3.654,705,8.447,706,3.654,707,3.654,708,2.954,709,3.654,710,4.051,711,2.18,712,2.204,713,2.18,714,2.204,715,2.518,716,2.18,717,2.204,718,1.959,719,3.654,720,3.654,721,2.28,722,3.654,723,2.612,724,5.877,725,4.383,726,4.931,727,3.654,728,3.654,729,3.654,730,3.654,731,3.654,732,3.654,733,3.2,734,5.877,735,3.654,736,3.654,737,3.654,738,3.654,739,2.537,740,2.792,741,3.984,742,2.007,743,2.477,744,3.654,745,3.654,746,3.654,747,2.665,748,3.654,749,3.38,750,7.372,751,3.654,752,3.654,753,3.38,754,3.2,755,2.403,756,3.38,757,2.792,758,3.654,759,2.792,760,2.792,761,3.654,762,2.403,763,2.725,764,3.654,765,2.37,766,2.041,767,3.065,768,3.2,769,2.518,770,3.654,771,3.654,772,3.654]],["title/classes/AccountResponse.html",[0,0.232,279,5.557]],["body/classes/AccountResponse.html",[0,0.284,2,0.928,3,0.018,4,0.018,5,0.009,7,0.121,27,0.546,29,0.664,30,0.001,31,0.478,32,0.172,33,0.647,34,2.168,39,3.544,47,0.932,51,6.362,83,3.132,95,0.1,101,0.013,103,0.001,104,0.001,112,0.824,119,2.226,138,2.32,150,1.887,157,8.093,183,6.8,191,4.576,199,7.356,245,3.593,279,10.499,377,5.624,379,1.359,404,3.38,408,5.18,773,8.399,774,4.283,775,8.399,776,8.399,777,8.399,778,8.399,779,8.399,780,8.399]],["title/classes/AccountResponseMapper.html",[0,0.232,781,6.35]],["body/classes/AccountResponseMapper.html",[0,0.295,2,0.964,3,0.019,4,0.019,5,0.01,7,0.125,8,1.338,27,0.454,29,0.872,30,0.001,31,0.628,32,0.143,33,0.529,34,1.844,35,1.341,39,3.016,51,5.413,66,8.249,94,6.656,95,0.144,99,1.415,101,0.014,103,0.001,104,0.001,157,6.886,236,1.797,279,11.018,349,1.141,377,4.785,411,9.798,413,4.047,425,8.049,427,10.208,428,7.64,429,7.887,430,9.664,781,10.208,782,5.206,783,6.163,784,11.034,785,11.034,786,6.849,787,11.034,788,6.506,789,8.724,790,4.389,791,7.319]],["title/classes/AccountSaveDto.html",[0,0.232,64,5.389]],["body/classes/AccountSaveDto.html",[0,0.288,2,0.656,3,0.013,4,0.013,5,0.007,7,0.085,26,2.508,27,0.557,29,0.469,30,0.001,31,0.338,32,0.175,33,0.678,34,1.662,39,2.718,47,0.914,48,4.762,51,4.877,64,9.025,82,7.806,83,3.664,87,5.036,95,0.129,99,0.963,101,0.009,103,0,104,0,112,0.651,119,1.758,124,5.036,138,2.403,147,4.598,148,1.839,157,6.205,158,8.05,159,6.363,177,2.391,181,2.302,183,4.805,184,5.491,185,5.491,186,5.491,187,4.536,188,4.98,189,5.491,190,5.491,191,3.234,192,3.798,193,4.33,194,4.66,195,5.491,196,5.491,197,4.427,198,4.98,199,5.199,200,5.491,246,6.887,247,2.55,248,4.334,249,5.294,250,3.798,252,4.98,253,2.93,254,4.98,376,4.139,377,4.312,378,8.342,379,0.749,381,2.011,386,5.491,388,7.137,390,10.047,394,5.491,396,9.199,400,4.805,404,2.388,405,3.183,406,3.661,407,4.164,408,3.661,409,4.164,792,13.622,793,5.936,794,8.507,795,5.936,796,5.936,797,5.936,798,5.936,799,5.936,800,5.936,801,5.936,802,5.936,803,5.936,804,5.936,805,5.936,806,5.936,807,7.356,808,4.299,809,4.672,810,5.936,811,5.936,812,5.936]],["title/classes/AccountSearchListResponse.html",[0,0.232,317,6.012]],["body/classes/AccountSearchListResponse.html",[0,0.269,2,0.877,3,0.017,4,0.017,5,0.009,7,0.114,27,0.525,29,0.628,30,0.001,31,0.452,32,0.177,33,0.611,55,2.891,56,6.297,59,3.199,70,6.576,95,0.138,101,0.012,103,0.001,104,0.001,112,0.795,138,2.197,150,1.784,180,1.81,233,8.714,245,2.664,247,3.411,279,10.781,284,3.848,317,9.096,379,1.002,382,3.668,556,1.952,813,7.286,814,5.57,815,8.213,816,7.12,817,5.958,818,7.346,819,3.995,820,7.346,821,5.36,822,3.848,823,4.226,824,2.817,825,5.57,826,6.736,827,6.015,828,5.222,829,4.105,830,5.57,831,5.57,832,7.94,833,5.017,834,4.326]],["title/classes/AccountSearchQueryParams.html",[0,0.232,311,6.012]],["body/classes/AccountSearchQueryParams.html",[0,0.352,2,0.879,3,0.017,4,0.017,5,0.009,7,0.114,27,0.506,30,0.001,32,0.175,33,0.589,47,0.73,55,2.364,56,5.581,70,5.232,94,3.952,95,0.146,101,0.012,103,0.001,104,0.001,112,0.796,138,2.198,142,4.788,143,2.725,144,4,145,3.444,148,2.464,150,1.787,153,2.383,180,1.813,233,9.72,245,2.971,247,3.418,248,4.15,257,5.933,311,9.108,314,9.108,382,3.107,480,3.706,486,3.132,696,3.088,708,3.188,710,7.168,813,8.943,822,3.855,828,5.233,835,7.956,836,8.943,837,12.749,838,7.956,839,3.23,840,7.956,841,7.956,842,7.36,843,5.581,844,6.675,845,6.079,846,7.36,847,7.956,848,7.36,849,4.406,850,6.675,851,7.956,852,3.704,853,7.956]],["title/injectables/AccountServiceDb.html",[539,0.921,620,6.012]],["body/injectables/AccountServiceDb.html",[0,0.113,1,11.003,3,0.007,4,0.007,5,0.004,7,0.048,8,0.661,10,2.212,11,4.574,12,2.446,13,3.977,14,4.775,15,4.775,16,4.775,17,4.775,18,2.725,19,4.775,20,4.775,21,4.775,22,5.043,23,5.043,24,5.043,25,4.775,26,2.77,27,0.517,29,0.993,30,0.001,31,0.715,32,0.163,33,0.602,34,1.337,35,1.512,36,2.915,37,4.574,39,2.186,40,2.626,42,3.977,44,4.775,46,4.775,47,0.903,48,4.225,49,3.794,51,5.119,54,4.775,55,2.267,56,5.027,58,2.16,60,4.775,62,1.967,63,5.043,64,6.279,66,5.722,67,4.775,69,4.775,70,4.024,81,5.043,82,6.927,83,2.012,85,4.488,86,5.043,87,4.468,89,5.043,91,5.043,92,6.403,94,5.653,95,0.132,96,0.89,97,1.386,98,1.987,99,0.54,100,1.132,101,0.005,103,0,104,0,124,1.687,157,2.079,158,2.696,159,2.131,177,1.016,180,0.95,182,1.059,226,0.487,236,1.629,262,3.075,291,2.43,292,1.687,340,1.614,345,1.062,349,1.299,379,0.42,382,3.634,410,2.794,421,6.403,429,3.897,430,2.917,431,3.081,432,3.081,433,4.775,434,6.71,436,3.081,437,1.641,444,7.4,480,0.927,486,1.003,529,1.556,539,0.732,541,0.8,556,1.701,557,8.39,558,7.4,581,5.043,593,2.031,596,5.043,603,2.058,608,3.065,619,7.669,620,4.775,625,2.917,631,1.698,633,3.081,696,2.116,697,3.977,710,2.296,791,2.794,854,3.331,855,5.452,856,3.081,857,3.331,858,3.331,859,3.331,860,5.452,861,3.331,862,3.331,863,3.331,864,3.331,865,3.331,866,3.331,867,3.331,868,3.331,869,3.331,870,3.331,871,3.331,872,3.331,873,3.331,874,3.331,875,3.331,876,2.794,877,2.917,878,3.331,879,10.802,880,5.452,881,10.001,882,8.823,883,3.331,884,3.331,885,5.043,886,3.331,887,3.331,888,3.331,889,3.331,890,5.452,891,2.696,892,5.452,893,5.452,894,5.452,895,5.452,896,5.452,897,5.452,898,5.452,899,5.452,900,5.452,901,5.452,902,8.823,903,7.998,904,6.921,905,3.331,906,3.331,907,3.331,908,3.331,909,5.452,910,3.331,911,3.331,912,3.331,913,3.331,914,3.331,915,2.336,916,3.331,917,3.331,918,3.331]],["title/injectables/AccountValidationService.html",[539,0.921,618,6.012]],["body/injectables/AccountValidationService.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,8,1.121,26,2.835,27,0.471,29,0.904,30,0.001,31,0.651,32,0.148,33,0.549,35,1.288,36,2.662,39,3.549,47,0.926,48,5.479,49,2.533,59,3.265,85,8.262,94,4.59,95,0.143,99,1.083,101,0.01,103,0,104,0,154,1.351,179,4.391,217,7.683,226,0.975,227,2.767,262,2.91,345,2.129,349,1.096,379,0.843,410,5.601,425,4.87,428,5.847,437,1.508,478,3.501,539,1.24,541,1.604,593,2.487,603,1.374,608,2.456,618,8.094,619,10.059,625,5.847,653,5.442,708,4.584,856,6.176,885,6.176,919,6.676,920,9.242,921,9.242,922,9.242,923,6.676,924,9.242,925,6.676,926,9.242,927,6.676,928,9.242,929,6.676,930,6.676,931,6.676,932,6.176,933,3.697,934,4.026,935,5.241,936,4.272,937,5.601,938,3.866,939,6.176,940,6.176,941,6.676,942,6.676,943,6.676,944,6.676,945,6.176,946,9.242,947,9.242,948,6.676,949,6.676,950,4.117,951,3.125,952,6.676,953,6.676,954,6.676,955,6.676,956,9.242,957,6.676,958,9.242,959,6.676]],["title/interfaces/AdminIdAndToken.html",[105,0.702,960,5.557]],["body/interfaces/AdminIdAndToken.html",[0,0.196,3,0.008,4,0.008,5,0.004,7,0.051,30,0.001,31,0.476,32,0.119,34,1.794,36,2.824,39,3.513,47,0.999,51,4.099,55,1.485,72,2.611,83,1.683,87,3.687,95,0.099,101,0.013,103,0,104,0,105,0.745,107,0.842,112,0.443,119,2.026,124,5.437,133,1.243,143,0.795,177,1.079,180,0.625,226,0.524,236,1.493,239,1.706,262,2.911,316,3.934,324,4.232,347,2.089,349,1.377,379,0.453,437,1.415,479,1.322,490,1.276,509,1.923,517,2.752,519,1.105,521,4.507,529,2.617,539,0.777,603,2.481,608,2.272,639,1.688,653,1.841,662,3.927,676,4.138,742,3.179,762,4.788,824,2.964,843,2.516,960,8.691,961,2.903,962,3.009,963,5.107,964,2.077,965,6.385,966,2.359,967,2.815,968,2.74,969,4.545,970,3.99,971,4.545,972,4.545,973,4.545,974,4.687,975,1.748,976,3.009,977,3.009,978,3.009,979,3.009,980,3.009,981,3.009,982,2.616,983,3.009,984,3.009,985,3.009,986,2.326,987,7.692,988,1.562,989,2.903,990,1.981,991,2.431,992,2.516,993,2.003,994,2.563,995,3.009,996,5.484,997,5.3,998,5.42,999,5.728,1000,6.392,1001,8.022,1002,6.647,1003,6.108,1004,2.74,1005,3.009,1006,3.009,1007,2.516,1008,3.009,1009,3.009,1010,3.009,1011,2.815,1012,3.009,1013,5.715,1014,2.903,1015,3.009,1016,3.009,1017,3.009,1018,2.903,1019,3.009,1020,3.009,1021,3.009,1022,8.655,1023,3.009,1024,3.009,1025,1.42,1026,3.009,1027,3.009,1028,3.009,1029,3.009,1030,3.009,1031,3.009,1032,3.009,1033,3.009,1034,8.226,1035,8.226,1036,3.009,1037,3.009,1038,3.009,1039,3.009,1040,3.009,1041,3.009,1042,2.472,1043,3.009,1044,3.009,1045,3.009,1046,3.009,1047,3.009,1048,3.009,1049,3.009,1050,3.009,1051,3.009,1052,3.009,1053,3.009,1054,3.009,1055,3.009,1056,3.009,1057,4.424,1058,4.424,1059,3.009,1060,3.009,1061,3.009,1062,3.009,1063,3.009,1064,2.431,1065,3.009,1066,3.009,1067,3.009,1068,4.857,1069,3.009,1070,4.857,1071,4.857,1072,3.009,1073,3.009,1074,2.74,1075,6.108,1076,4.859,1077,4.49,1078,3.009,1079,3.419,1080,5.347,1081,4.424,1082,5.429,1083,6.108,1084,6.108,1085,6.108,1086,2.815,1087,3.009,1088,3.009,1089,3.009,1090,7.692,1091,6.108,1092,6.108,1093,6.108,1094,3.009,1095,4.857,1096,4.857,1097,3.009,1098,3.009,1099,3.009,1100,3.009,1101,3.009,1102,4.857,1103,4.545]],["title/classes/AjaxGetQueryParams.html",[0,0.232,1104,6.012]],["body/classes/AjaxGetQueryParams.html",[0,0.374,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,27,0.541,30,0.001,32,0.17,33,0.661,47,0.984,95,0.104,101,0.014,103,0.001,104,0.001,112,0.847,138,2.35,148,2.714,248,5.354,249,5.139,400,7.093,809,6.077,1104,9.69,1105,6.706,1106,8.761,1107,6.606,1108,7.236,1109,9.266,1110,9.266,1111,9.266,1112,8.761,1113,11.785,1114,8.761,1115,8.761,1116,8.761,1117,8.761]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[539,0.921,1118,6.012]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.386,3,0.017,4,0.017,5,0.009,7,0.11,8,1.233,27,0.316,29,0.608,30,0.001,31,0.437,32,0.099,33,0.368,35,0.934,36,2.178,95,0.144,101,0.012,103,0.001,104,0.001,141,4.759,148,2.38,153,1.761,226,1.123,236,1.252,262,2.515,349,1.051,437,1.502,480,3.869,529,2.194,539,1.364,541,1.846,556,2.499,608,1.781,696,2.983,759,7.768,1082,7.581,1105,5.082,1118,8.903,1119,10.166,1120,7.685,1121,7.757,1122,6.505,1123,7.388,1124,8.903,1125,6.199,1126,8.903,1127,10.166,1128,7.862,1129,10.166,1130,5.779,1131,11.663,1132,7.981,1133,7.768,1134,7.266,1135,9.405,1136,8.903,1137,10.166,1138,9.814,1139,7.685,1140,10.166,1141,7.11,1142,4.796,1143,6.222,1144,6.222,1145,6.222,1146,7.685,1147,2.334,1148,5.872,1149,7.685,1150,4.494,1151,7.685,1152,6.448,1153,7.685,1154,7.685,1155,7.685,1156,7.685,1157,7.11,1158,7.685,1159,7.685]],["title/classes/AjaxPostQueryParams.html",[0,0.232,1160,6.012]],["body/classes/AjaxPostQueryParams.html",[0,0.366,2,0.934,3,0.019,4,0.019,5,0.009,7,0.121,27,0.547,30,0.001,32,0.172,33,0.668,34,1.993,47,0.99,95,0.101,101,0.013,103,0.001,104,0.001,112,0.828,138,2.378,148,2.618,248,5.393,249,5.2,400,6.842,809,5.939,1105,6.755,1107,6.497,1108,7.116,1109,9.112,1110,9.112,1111,9.112,1113,12.021,1160,9.471,1161,8.452,1162,8.452,1163,8.452,1164,8.452,1165,8.452,1166,8.452,1167,8.452]],["title/modules/AntivirusModule.html",[201,1.848,1168,5.759]],["body/modules/AntivirusModule.html",[0,0.293,3,0.019,4,0.019,5,0.01,8,1.049,27,0.356,29,0.684,30,0.001,31,0.492,32,0.112,33,0.415,35,1.051,95,0.151,101,0.013,103,0.001,104,0.001,107,2.032,145,2.425,201,3.246,203,3.143,208,3.199,209,3.282,226,1.264,236,1.409,349,1.135,413,3.315,437,1.14,490,3.079,636,6.418,637,6.183,1168,10.114,1169,8.649,1170,6.309,1171,7.564,1172,10.265,1173,8.649,1174,8.047,1175,10.153,1176,7.575,1177,10.558,1178,8.649,1179,8.649,1180,6.183,1181,5.274,1182,8.649,1183,7.002,1184,8.649,1185,5.398,1186,7.575,1187,5.61,1188,7.575,1189,12.055,1190,10.975,1191,7.575,1192,8.649,1193,8.649,1194,8.649,1195,6.79,1196,6.067,1197,8.649,1198,8.649,1199,8.649]],["title/interfaces/AntivirusModuleOptions.html",[105,0.702,1172,5.557]],["body/interfaces/AntivirusModuleOptions.html",[3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,32,0.175,47,1.014,55,2.509,101,0.019,103,0.001,104,0.001,105,1.259,107,2.122,112,0.863,119,2.739,990,3.091,1172,9.131,1181,8.083,1183,10.732,1185,8.273,1187,8.597,1196,9.035,1200,7.912,1201,10.806,1202,7.313,1203,5.781,1204,5.941,1205,5.941]],["title/injectables/AntivirusService.html",[539,0.921,1177,6.012]],["body/injectables/AntivirusService.html",[0,0.21,3,0.014,4,0.014,5,0.007,7,0.089,8,1.064,27,0.456,29,0.876,30,0.001,31,0.63,32,0.143,33,0.531,35,1.237,36,1.879,47,0.933,95,0.149,101,0.01,103,0,104,0,107,1.456,124,5.158,143,2.258,145,1.738,177,1.897,226,0.906,236,1.659,262,2.679,349,0.907,360,3.139,379,1.107,437,1.6,490,3.625,529,2.505,539,1.178,541,1.489,556,3.067,579,4.705,593,3.268,603,2.497,608,2.033,639,2.918,662,3.769,990,2.12,1175,10.245,1176,5.428,1177,7.684,1202,8.965,1203,7.087,1204,4.077,1205,4.077,1206,6.198,1207,8.773,1208,7.361,1209,7.684,1210,5.018,1211,9.05,1212,10.184,1213,6.198,1214,8.773,1215,6.082,1216,6.198,1217,4.943,1218,2.343,1219,8.773,1220,6.198,1221,8.773,1222,6.198,1223,7.916,1224,4.348,1225,4.02,1226,4.226,1227,4.43,1228,4.866,1229,5.018,1230,5.734,1231,3.916,1232,4.736,1233,4.866,1234,6.198,1235,10.184,1236,6.198,1237,6.198,1238,10.184,1239,6.198,1240,6.198,1241,6.198,1242,4.742,1243,5.856,1244,7.684,1245,6.198,1246,6.198,1247,8.773,1248,6.198,1249,8.773,1250,6.198,1251,6.198,1252,6.198,1253,5.428,1254,6.198,1255,6.198,1256,5.428,1257,5.2,1258,6.198,1259,6.198,1260,6.198,1261,6.198,1262,2.162,1263,6.198,1264,6.198,1265,6.198]],["title/interfaces/AntivirusServiceOptions.html",[105,0.702,1202,5.557]],["body/interfaces/AntivirusServiceOptions.html",[3,0.02,4,0.02,5,0.01,7,0.134,30,0.001,32,0.169,47,1.013,55,1.902,101,0.019,103,0.001,104,0.001,105,1.277,107,2.19,112,0.88,119,2.764,990,3.19,1172,7.548,1181,8.158,1183,10.831,1185,8.349,1187,8.677,1196,6.54,1200,8.166,1201,7.822,1202,9.312,1203,5.966,1204,6.132,1205,6.132]],["title/classes/ApiValidationError.html",[0,0.232,1266,4.654]],["body/classes/ApiValidationError.html",[0,0.264,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,27,0.546,29,0.617,30,0.001,31,0.444,32,0.178,33,0.55,35,0.948,47,0.806,55,1.592,95,0.122,101,0.012,103,0.001,104,0.001,112,0.786,138,2.267,177,2.56,180,1.79,182,2.481,226,1.14,283,7.521,347,2.816,379,0.985,382,3.886,511,3.467,595,4.812,821,5.647,824,2.768,951,5.373,988,3.4,990,4.335,1025,4.544,1266,6.962,1267,10.268,1268,7.803,1269,8.396,1270,6.996,1271,3.799,1272,7.344,1273,7.803,1274,7.803,1275,10.052,1276,5.061,1277,4.358,1278,5.061,1279,5.061,1280,5.061,1281,5.061,1282,5.061,1283,4.706,1284,4.436,1285,6.126,1286,6.547,1287,7.219,1288,5.594,1289,6.333,1290,4.93,1291,6.126]],["title/classes/ApiValidationErrorResponse.html",[0,0.232,1292,6.012]],["body/classes/ApiValidationErrorResponse.html",[0,0.222,2,0.726,3,0.014,4,0.014,5,0.007,7,0.094,8,1.108,27,0.532,29,0.722,30,0.001,31,0.52,32,0.177,33,0.545,35,0.798,47,0.908,55,1.34,95,0.135,101,0.01,103,0,104,0,112,0.699,153,2.094,168,3.768,177,2.478,180,1.593,226,0.96,283,7.821,340,3.183,348,4.598,361,3.734,379,0.829,382,3.567,437,1.385,480,2.542,486,2.752,519,2.814,603,2.162,824,3.241,951,5.59,988,2.862,990,4.085,1025,4.497,1130,5.194,1266,8.381,1270,6.028,1271,3.539,1275,9.203,1283,7.8,1288,4.978,1289,7.821,1292,8.003,1293,11.36,1294,6.568,1295,7.666,1296,6.815,1297,7.472,1298,9.138,1299,9.138,1300,9.138,1301,9.203,1302,6.568,1303,6.568,1304,5.397,1305,6.568,1306,4.051,1307,6.568,1308,5.753,1309,3.804,1310,6.568,1311,6.077,1312,4.26,1313,6.077,1314,9.138,1315,11.36,1316,6.568,1317,6.568,1318,6.568,1319,6.568,1320,6.568,1321,6.568,1322,9.138,1323,6.568,1324,6.568,1325,6.568,1326,6.568,1327,6.568,1328,6.568,1329,6.568,1330,6.568,1331,6.568]],["title/interfaces/AppStartInfo.html",[105,0.702,1332,6.012]],["body/interfaces/AppStartInfo.html",[0,0.288,3,0.024,4,0.019,5,0.01,7,0.122,30,0.001,32,0.163,33,0.638,47,0.971,55,2.44,95,0.101,101,0.013,103,0.001,104,0.001,105,0.87,107,1.998,112,0.831,177,1.585,284,3.279,330,5.862,345,2.712,349,0.879,437,1.121,556,2.94,829,4.396,1025,3.367,1147,2.583,1196,8.839,1332,10.475,1333,7.868,1334,7.449,1335,11.402,1336,11.036,1337,11.036,1338,5.028,1339,5.613,1340,9.509,1341,2.728,1342,7.135,1343,4.224,1344,7.868,1345,10.045,1346,7.868,1347,10.045,1348,7.868,1349,10.045,1350,7.868,1351,5.516,1352,7.868]],["title/classes/AppStartLoggable.html",[0,0.232,1342,5.759]],["body/classes/AppStartLoggable.html",[0,0.293,2,0.955,3,0.026,4,0.019,5,0.01,7,0.124,8,1.331,27,0.452,29,0.684,30,0.001,31,0.492,32,0.112,33,0.415,35,1.051,47,0.846,55,1.765,95,0.103,101,0.013,103,0.001,104,0.001,105,0.885,177,1.612,284,3.315,330,5.962,345,2.758,349,0.894,379,1.092,437,1.14,556,2.964,829,6.232,1025,3.424,1147,3.333,1196,6.067,1332,11.105,1333,11.153,1334,7.575,1335,9.612,1336,7.575,1337,7.575,1338,5.582,1339,6.232,1340,9.612,1341,2.774,1342,9.208,1343,6.298,1344,8.002,1345,10.153,1346,8.002,1347,10.153,1348,8.002,1349,10.153,1350,8.002,1351,5.61,1352,8.002,1353,8.649,1354,8.649,1355,8.649]],["title/interfaces/AppendedAttachment.html",[105,0.702,1356,5.119]],["body/interfaces/AppendedAttachment.html",[3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,31,0.517,47,1.007,77,5.807,101,0.014,103,0.001,104,0.001,105,1.405,107,2.131,112,0.866,180,2.314,1150,5.306,1356,9.19,1357,6.933,1358,9.621,1359,10.143,1360,6.933,1361,4.904,1362,8.435,1363,6.619,1364,6.619,1365,9.19,1366,6.933,1367,8.435,1368,8.642,1369,8.642,1370,8.435,1371,6.897,1372,6.767,1373,6.767,1374,6.933,1375,6.933]],["title/modules/AuthenticationApiModule.html",[201,1.848,1376,5.389]],["body/modules/AuthenticationApiModule.html",[0,0.318,3,0.021,4,0.021,5,0.011,30,0.001,95,0.155,101,0.015,103,0.001,104,0.001,201,3.369,203,3.411,204,3.658,205,3.762,206,3.747,207,3.732,208,4.628,209,4.383,218,4.629,219,3.687,220,3.603,222,5.859,223,4.808,225,4.592,226,1.372,1376,10.964,1377,9.388,1378,9.388,1379,9.388,1380,9.253,1381,11.451,1382,9.388,1383,10.959,1384,9.388,1385,9.388,1386,8.685]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.232,1387,5.557]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.289,2,0.943,3,0.019,4,0.019,5,0.01,7,0.123,27,0.549,29,0.675,30,0.001,31,0.486,32,0.173,33,0.41,47,0.963,95,0.102,101,0.013,103,0.001,104,0.001,112,0.833,181,2.946,379,1.078,381,2.894,951,6.532,1387,10.553,1388,13.545,1389,11.101,1390,8.54,1391,8.566,1392,9.702,1393,10.496,1394,10.496,1395,10.887,1396,8.54,1397,8.54,1398,10.072,1399,8.54,1400,8.54,1401,7.901,1402,7.165,1403,6.369,1404,7.901,1405,8.54,1406,8.54,1407,8.54,1408,8.54,1409,8.54,1410,8.54,1411,8.54,1412,7.48,1413,8.54]],["title/modules/AuthenticationModule.html",[201,1.848,1380,4.654]],["body/modules/AuthenticationModule.html",[0,0.19,3,0.012,4,0.012,5,0.006,30,0.001,32,0.073,95,0.165,101,0.009,103,0,104,0,201,2.593,203,2.038,204,2.186,205,2.247,206,2.238,207,2.229,208,3.561,209,3.654,213,8.386,214,5.462,217,7.076,218,3.272,219,2.203,220,2.152,225,3.246,226,0.819,227,2.324,236,0.914,437,1.395,529,1.601,578,3.42,599,4.091,600,3.5,616,9.211,622,8.558,1296,4.183,1341,1.799,1380,9.757,1414,5.608,1415,5.608,1416,5.608,1417,5.608,1418,9.498,1419,9.211,1420,8.75,1421,8.23,1422,9.822,1423,10.275,1424,9.498,1425,9.843,1426,10.275,1427,8.23,1428,10.275,1429,10.275,1430,5.608,1431,5.608,1432,9.629,1433,4.912,1434,8.166,1435,4.183,1436,4.912,1437,4.285,1438,5.608,1439,4.54,1440,3.934,1441,8.825,1442,11.241,1443,4.183,1444,4.705,1445,4.912,1446,4.705,1447,5.188,1448,5.188,1449,4.912,1450,5.608,1451,5.608,1452,5.608,1453,5.608,1454,4.009,1455,4.403,1456,3.689,1457,5.188,1458,5.608,1459,4.912,1460,5.188,1461,3.934,1462,5.188,1463,5.608,1464,5.608,1465,5.608,1466,4.705,1467,5.608,1468,5.608,1469,5.608,1470,5.608,1471,5.608,1472,5.608,1473,5.608,1474,5.608,1475,3.934,1476,5.608,1477,5.608,1478,3.347,1479,5.608,1480,9.629,1481,5.608,1482,4.285,1483,5.608,1484,5.188,1485,5.608,1486,3.5,1487,5.608,1488,4.705,1489,5.608,1490,5.608,1491,3.279,1492,5.188,1493,5.608,1494,5.608]],["title/interfaces/AuthenticationResponse.html",[105,0.702,1495,6.012]],["body/interfaces/AuthenticationResponse.html",[0,0.178,3,0.012,4,0.012,5,0.006,7,0.076,30,0.001,32,0.068,36,1.128,47,0.972,51,3.825,55,1.075,87,3.949,94,3.873,95,0.122,99,0.855,101,0.008,103,0,104,0,105,0.539,107,1.237,112,0.597,119,1.088,133,1.825,137,4.866,177,1.73,226,0.77,236,1.672,261,2.522,262,1.163,271,1.955,284,2.804,324,5.811,349,1.345,360,6.768,429,3.765,437,1.837,529,2.226,531,6.83,593,1.962,603,2.562,608,1.221,662,3.564,696,3.027,708,2.111,755,3.464,824,3.294,990,1.802,1086,6.122,1218,1.991,1288,2.869,1478,6.538,1495,8.989,1496,4.873,1497,4.873,1498,7.658,1499,9.495,1500,6.83,1501,4.873,1502,4.873,1503,3.842,1504,4.613,1505,4.873,1506,4.419,1507,4.873,1508,4.873,1509,4.613,1510,6.83,1511,4.873,1512,3.287,1513,4.873,1514,4.873,1515,3.765,1516,4.613,1517,4.419,1518,4.264,1519,2.994,1520,6.773,1521,8.59,1522,4.873,1523,4.873,1524,7.214,1525,7.214,1526,4.873,1527,10.614,1528,4.873,1529,4.873,1530,10.136,1531,10.136,1532,11.719,1533,4.873,1534,4.873,1535,10.136,1536,4.873,1537,9.495,1538,4.873,1539,4.873,1540,7.79,1541,4.873,1542,4.873,1543,4.873,1544,4.873,1545,4.873,1546,4.873,1547,4.873,1548,4.873,1549,7.214,1550,4.873,1551,4.613,1552,4.873,1553,4.025,1554,7.214,1555,4.873,1556,4.873,1557,4.873,1558,7.214,1559,4.873,1560,7.214,1561,4.873,1562,4.873,1563,7.214,1564,4.873,1565,4.873,1566,4.873,1567,7.214,1568,3.371,1569,4.873,1570,4.873,1571,4.873,1572,4.873,1573,4.873,1574,4.873,1575,4.873,1576,4.873,1577,4.873,1578,4.873]],["title/injectables/AuthenticationService.html",[539,0.921,1422,5.119]],["body/injectables/AuthenticationService.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.937,21,6.771,27,0.5,29,0.961,30,0.001,31,0.692,32,0.161,33,0.583,34,0.87,35,1.437,36,2.603,47,0.974,48,5.471,51,3.792,59,1.604,66,7.072,73,4.817,74,4.215,77,3.332,83,1.514,87,2.637,94,5.675,95,0.158,101,0.008,103,0,104,0,143,1.155,177,1.902,179,3.424,226,0.761,236,1.776,239,1.22,262,2.865,285,5.085,349,1.055,379,0.976,433,4.56,437,1.506,519,2.381,529,2.207,539,1.038,541,1.251,556,1.28,584,7.78,593,3.435,598,3.015,601,4.087,603,2.1,608,2.527,617,9.038,739,3.337,945,4.817,1297,3.424,1422,5.766,1424,9.576,1433,4.56,1437,3.978,1443,3.883,1448,4.817,1449,4.56,1478,3.107,1498,3.475,1503,3.798,1568,3.332,1579,5.206,1580,7.731,1581,7.731,1582,7.152,1583,7.731,1584,7.731,1585,7.731,1586,5.206,1587,11.425,1588,5.206,1589,7.731,1590,5.206,1591,7.731,1592,8.012,1593,5.206,1594,7.152,1595,5.206,1596,7.731,1597,5.206,1598,7.731,1599,5.206,1600,7.731,1601,5.206,1602,5.206,1603,7.731,1604,5.206,1605,3.883,1606,4.215,1607,3.883,1608,4.56,1609,4.56,1610,7.731,1611,3.798,1612,5.64,1613,4.56,1614,4.368,1615,4.368,1616,2.933,1617,7.24,1618,3.652,1619,5.206,1620,5.206,1621,5.206,1622,4.817,1623,6.877,1624,5.206,1625,5.206,1626,5.206,1627,5.206,1628,7.152,1629,5.206,1630,7.731,1631,7.731,1632,5.206,1633,7.731,1634,4.817,1635,5.206,1636,3.722,1637,4.56,1638,7.152,1639,5.206,1640,5.206,1641,5.206,1642,5.206,1643,3.044,1644,5.206,1645,4.087,1646,5.206,1647,5.206,1648,5.206]],["title/classes/AuthenticationValues.html",[0,0.232,1649,6.35]],["body/classes/AuthenticationValues.html",[0,0.328,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,27,0.522,29,0.765,30,0.001,31,0.551,32,0.164,33,0.464,47,0.926,101,0.015,103,0.001,104,0.001,112,0.901,181,3.184,379,1.221,381,3.28,1649,12.508,1650,7.433,1651,13.193,1652,9.678,1653,12.682,1654,12.682,1655,11.769,1656,9.678,1657,9.678,1658,9.678,1659,9.678,1660,9.678]],["title/interfaces/AuthorizableObject.html",[105,0.702,1661,3.867]],["body/interfaces/AuthorizableObject.html",[0,0.331,3,0.022,4,0.022,5,0.011,9,4.664,26,2.596,30,0.001,34,1.981,95,0.117,101,0.018,103,0.001,104,0.001,105,1.002,107,2.301,181,2.65,349,1.226,381,4.017,437,1.291,448,3.974,479,4.698,662,3.682,1147,2.975,1661,7.182,1662,9.062,1663,8.578,1664,3.662,1665,4.077,1666,9.946,1667,9.062,1668,6.188,1669,10.967]],["title/interfaces/AuthorizationContext.html",[105,0.702,1670,3.739]],["body/interfaces/AuthorizationContext.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.157,95,0.144,99,1.645,101,0.016,103,0.001,104,0.001,105,1.037,107,2.381,112,0.926,643,6.013,1107,7.713,1670,6.592,1671,8.878,1672,9.378,1673,8.264,1674,10.137]],["title/classes/AuthorizationContextBuilder.html",[0,0.232,1675,4.185]],["body/classes/AuthorizationContextBuilder.html",[0,0.28,2,0.915,3,0.018,4,0.018,5,0.009,7,0.119,8,1.294,27,0.486,29,0.934,30,0.001,31,0.672,32,0.162,33,0.566,35,1.435,95,0.127,99,1.343,101,0.013,103,0.001,104,0.001,131,5.016,349,1.221,413,4.158,437,1.557,454,4.942,603,2.43,643,6.229,1107,7.423,1670,7.326,1673,7.694,1675,6.508,1676,12.475,1677,8.28,1678,6.508,1679,7.124,1680,10.672,1681,8.28,1682,10.672,1683,8.28,1684,10.672,1685,8.28,1686,10.672,1687,5.707,1688,5.446]],["title/classes/AuthorizationError.html",[0,0.232,1689,6.35]],["body/classes/AuthorizationError.html",[0,0.264,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,27,0.546,29,0.617,30,0.001,31,0.444,32,0.178,33,0.55,35,0.948,47,0.913,55,1.592,59,3.163,95,0.122,101,0.012,103,0.001,104,0.001,112,0.786,138,2.267,177,2.56,180,1.79,182,2.481,226,1.14,347,2.816,379,0.985,382,3.886,821,5.647,824,2.768,951,5.373,988,5.313,990,4.335,1025,5.016,1107,4.251,1269,8.396,1270,7.607,1271,3.799,1272,7.344,1276,5.061,1277,4.358,1278,5.061,1279,5.061,1280,5.061,1281,5.061,1282,5.061,1283,4.706,1284,4.436,1285,6.126,1290,4.93,1689,9.5,1690,7.803,1691,8.062,1692,7.803,1693,7.803,1694,4.812,1695,6.834,1696,7.219]],["title/injectables/AuthorizationHelper.html",[539,0.921,1697,4.284]],["body/injectables/AuthorizationHelper.html",[0,0.208,3,0.013,4,0.013,5,0.007,7,0.088,8,1.056,27,0.479,29,0.983,30,0.001,31,0.663,32,0.161,33,0.558,35,1.414,47,0.921,95,0.121,96,1.639,101,0.01,103,0,104,0,119,2.672,143,1.36,145,2.441,154,2.517,173,1.783,226,0.896,239,3.269,276,5.048,349,1.286,437,1.676,479,4.684,528,3.148,539,1.169,541,1.473,603,2.083,604,3.578,662,4.161,696,2.381,739,5.368,1218,2.318,1673,7.975,1697,5.434,1698,6.133,1699,8.708,1700,10.591,1701,8.708,1702,8.056,1703,8.708,1704,8.708,1705,10.125,1706,12.71,1707,6.133,1708,8.056,1709,6.133,1710,8.708,1711,6.133,1712,8.056,1713,6.133,1714,8.708,1715,11.022,1716,6.133,1717,4.17,1718,3.699,1719,5.673,1720,7.626,1721,8.056,1722,5.673,1723,5.128,1724,5.371,1725,8.708,1726,2.622,1727,6.133,1728,4.034,1729,3.874,1730,4.965,1731,4.573,1732,3.216,1733,5.673,1734,5.673,1735,5.31,1736,6.133,1737,6.133,1738,6.133,1739,5.361,1740,6.133,1741,6.133]],["title/interfaces/AuthorizationLoaderService.html",[105,0.702,1742,5.557]],["body/interfaces/AuthorizationLoaderService.html",[3,0.021,4,0.021,5,0.011,7,0.139,8,1.425,12,5.273,26,2.751,27,0.398,29,0.763,30,0.001,31,0.55,32,0.125,33,0.463,34,1.614,35,1.173,36,2.714,40,6.103,95,0.151,99,1.567,101,0.018,103,0.001,104,0.001,105,1.203,107,2.268,133,3.346,180,1.683,1661,5.44,1671,10.292,1742,10.256,1743,9.226,1744,8.456,1745,9.655,1746,5.646,1747,5.762,1748,6.902,1749,7.378,1750,8.101]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[105,0.702,1750,5.759]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.021,4,0.021,5,0.011,7,0.138,8,1.421,12,5.258,26,2.747,27,0.396,29,0.76,30,0.001,31,0.547,32,0.124,33,0.461,34,1.606,35,1.168,36,2.708,40,6.09,95,0.15,99,1.559,101,0.018,103,0.001,104,0.001,105,1.199,107,2.257,133,3.331,180,2.043,1661,5.414,1671,10.263,1742,10.235,1743,9.199,1744,8.416,1746,5.619,1747,5.734,1748,6.869,1749,7.343,1750,9.831,1751,9.61]],["title/modules/AuthorizationModule.html",[201,1.848,1752,3.902]],["body/modules/AuthorizationModule.html",[0,0.218,3,0.014,4,0.014,5,0.007,30,0.001,95,0.15,101,0.01,103,0,104,0,201,2.8,203,2.341,204,2.511,205,2.582,206,2.572,207,2.561,208,3.847,209,3.946,214,5.721,217,7.411,218,3.613,219,2.531,220,2.473,225,3.584,226,0.941,227,2.671,1341,2.066,1697,7.668,1752,8.303,1753,6.443,1754,6.443,1755,6.443,1756,6.443,1757,9.948,1758,7.192,1759,11.337,1760,10.309,1761,10.309,1762,9.948,1763,9.164,1764,9.948,1765,10.309,1766,10.309,1767,9.948,1768,10.309,1769,10.309,1770,10.309,1771,9.948,1772,10.309,1773,10.309,1774,10.309,1775,6.443,1776,5.406,1777,6.443,1778,2.531,1779,3.929,1780,5.059]],["title/classes/AuthorizationParams.html",[0,0.232,1781,5.389]],["body/classes/AuthorizationParams.html",[0,0.37,2,0.951,3,0.019,4,0.019,5,0.01,7,0.124,27,0.538,30,0.001,32,0.169,33,0.659,47,0.964,95,0.13,101,0.013,102,5.543,103,0.001,104,0.001,112,0.838,138,2.338,148,2.668,238,6.72,248,5.216,249,5.113,388,9.183,400,6.973,809,6.608,852,4.01,951,5.632,990,4.116,1781,8.593,1782,8.613,1783,9.446,1784,11.131,1785,7.968,1786,8.613,1787,11.131,1788,7.968,1789,8.613,1790,8.613,1791,8.613,1792,8.613,1793,7.968,1794,5.512,1795,7.968,1796,7.968]],["title/modules/AuthorizationReferenceModule.html",[201,1.848,1797,4.906]],["body/modules/AuthorizationReferenceModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,72,4.058,95,0.15,101,0.01,103,0,104,0,153,1.472,201,3.393,203,2.334,204,2.503,205,2.574,206,2.563,207,2.553,208,3.84,209,3.94,214,5.715,217,7.403,218,3.605,219,2.523,220,2.465,225,3.576,226,0.939,227,2.662,238,5.025,284,3.398,358,5.023,493,4.413,1134,6.431,1341,2.06,1427,8.611,1694,5.549,1697,7.661,1726,2.747,1752,7.311,1778,2.523,1797,10.312,1798,6.423,1799,6.423,1800,6.423,1801,6.423,1802,10.603,1803,9.637,1804,7.485,1805,8.074,1806,9.938,1807,9.154,1808,9.38,1809,8.611,1810,8.461,1811,6.423,1812,6.423,1813,6.311,1814,8.997,1815,5.917,1816,6.201,1817,8.997,1818,6.005,1819,6.201,1820,5.426,1821,7.627,1822,5.368,1823,6.874,1824,6.431,1825,8.323,1826,7.509,1827,6.709,1828,5.389,1829,6.709,1830,4.685,1831,6.423,1832,3.528,1833,6.423,1834,4.591,1835,6.423]],["title/injectables/AuthorizationReferenceService.html",[539,0.921,1802,5.389]],["body/injectables/AuthorizationReferenceService.html",[0,0.238,3,0.015,4,0.015,5,0.008,7,0.101,8,1.163,26,2.9,27,0.449,29,0.862,30,0.001,31,0.621,32,0.152,33,0.523,35,1.165,36,2.507,39,3.199,95,0.15,99,1.143,101,0.011,103,0.001,104,0.001,131,5.06,133,3.324,153,1.615,177,1.787,201,2.582,226,1.03,236,1.148,239,1.651,262,2.789,345,2.247,349,0.729,358,4.282,379,0.889,437,1.264,511,4.261,529,2.011,539,1.287,541,1.693,563,5.723,603,1.45,608,2.223,662,3.924,687,6.492,933,3.902,990,2.411,1670,7.04,1694,5.915,1735,5.848,1743,7.529,1758,6.878,1802,7.529,1806,9.475,1836,11.703,1837,6.519,1838,7.764,1839,8.399,1840,9.59,1841,10.903,1842,10.903,1843,7.046,1844,7.046,1845,7.046,1846,9.065,1847,7.046,1848,7.046,1849,7.046,1850,6.519,1851,5.532,1852,7.046,1853,7.046,1854,6.171,1855,4.296,1856,7.046,1857,5.532]],["title/injectables/AuthorizationService.html",[539,0.921,1758,3.653]],["body/injectables/AuthorizationService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.967,26,2.121,27,0.506,29,0.972,30,0.001,31,0.7,32,0.162,33,0.59,35,1.456,36,1.708,39,1.484,47,0.919,95,0.146,99,0.881,101,0.008,103,0,104,0,119,2.397,131,4.841,133,4.422,143,1.204,177,1.761,217,7.23,226,0.793,227,2.25,236,1.539,239,3.286,262,2.087,349,1.077,379,1.006,437,1.246,519,3.572,529,2.698,539,1.07,541,1.304,560,2.231,591,3.059,603,1.944,608,1.258,662,4.301,990,1.857,1661,6.754,1670,6.53,1673,8.338,1697,7.481,1700,6.983,1702,7.377,1708,7.377,1712,7.377,1726,3.41,1735,6.351,1746,7.01,1747,3.239,1758,4.243,1768,9.731,1839,4.755,1851,7.419,1858,5.429,1859,7.974,1860,7.974,1861,5.7,1862,9.45,1863,5.429,1864,5.429,1865,7.974,1866,5.429,1867,7.974,1868,5.429,1869,7.974,1870,5.429,1871,7.974,1872,5.429,1873,5.429,1874,5.429,1875,5.171,1876,5.429,1877,6.308,1878,5.429,1879,4.976,1880,4.395,1881,5.429,1882,5.429,1883,5.429,1884,5.429,1885,5.429,1886,5.322,1887,7.974,1888,4.262,1889,5.429,1890,7.974,1891,4.262]],["title/injectables/AutoContextIdStrategy.html",[539,0.921,1892,6.012]],["body/injectables/AutoContextIdStrategy.html",[0,0.311,3,0.02,4,0.02,5,0.01,7,0.132,8,1.381,27,0.378,29,0.725,30,0.001,31,0.522,32,0.119,33,0.44,35,1.115,47,0.8,95,0.154,101,0.014,103,0.001,104,0.001,131,4.699,226,1.341,349,0.949,363,6.417,539,1.529,541,2.205,556,2.8,564,3.558,654,2.756,1147,2.787,1650,6.417,1892,9.975,1893,9.221,1894,9.221,1895,8.489,1896,9.221,1897,9.221,1898,7.141,1899,7.113,1900,8.489,1901,5.657,1902,8.942,1903,6.035,1904,7.699,1905,8.489]],["title/injectables/AutoContextNameStrategy.html",[539,0.921,1906,6.012]],["body/injectables/AutoContextNameStrategy.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.09,8,1.07,26,2.546,27,0.458,29,0.878,30,0.001,31,0.633,32,0.144,33,0.533,35,1.242,36,2.606,47,0.78,95,0.155,99,1.013,101,0.01,103,0,104,0,131,4.616,177,1.905,226,0.913,236,1.017,262,2.867,349,1.212,363,6.603,379,1.113,437,1.604,486,1.881,529,1.783,539,1.184,541,1.501,556,2.169,564,2.756,603,2.672,608,2.819,654,1.876,990,2.137,1147,1.897,1309,5.108,1650,6.603,1830,4.556,1893,9.489,1894,9.489,1896,8.279,1897,5.056,1898,6.524,1899,6.464,1901,4.381,1902,6.925,1903,4.108,1904,5.24,1906,7.726,1907,6.246,1908,8.821,1909,8.821,1910,5.778,1911,8.247,1912,9.121,1913,9.554,1914,6.246,1915,8.821,1916,6.246,1917,4.903,1918,8.821,1919,6.246,1920,3.009,1921,6.246,1922,5.056,1923,7.141,1924,4.381,1925,5.264,1926,3.837,1927,4.464,1928,3.946,1929,3.064,1930,7.726,1931,3.946,1932,5.47,1933,4.464,1934,8.821,1935,6.246,1936,5.47,1937,8.821,1938,6.246,1939,6.246,1940,4.658,1941,4.658,1942,2.611,1943,6.246,1944,2.635,1945,6.246,1946,6.246,1947,4.772,1948,6.08,1949,6.246]],["title/interfaces/AutoParameterStrategy.html",[105,0.702,1902,5.389]],["body/interfaces/AutoParameterStrategy.html",[3,0.021,4,0.021,5,0.011,7,0.136,8,1.409,27,0.39,29,0.749,30,0.001,31,0.539,32,0.123,33,0.454,35,1.151,36,2.489,47,0.816,95,0.138,101,0.015,103,0.001,104,0.001,105,0.97,107,2.226,131,3.595,363,6.545,556,2.856,564,3.629,654,2.846,1650,6.545,1893,9.405,1894,9.405,1896,10.171,1897,7.671,1898,7.335,1899,7.162,1901,5.77,1902,9.121,1950,9.475,1951,9.475]],["title/injectables/AutoSchoolIdStrategy.html",[539,0.921,1952,6.012]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.303,3,0.02,4,0.02,5,0.01,7,0.128,8,1.36,27,0.369,29,0.708,30,0.001,31,0.51,32,0.116,33,0.429,35,1.088,47,0.788,95,0.153,101,0.014,103,0.001,104,0.001,131,3.397,226,1.308,349,0.926,363,6.32,521,3.545,539,1.505,541,2.151,556,2.758,564,3.504,654,3.679,996,4.313,997,4.169,998,4.263,999,4.505,1000,4.918,1147,2.719,1650,6.32,1893,9.081,1894,9.081,1895,8.284,1896,9.916,1897,7.249,1898,7.234,1899,7.076,1900,8.284,1901,5.571,1902,8.806,1903,5.889,1904,7.512,1952,9.824,1953,6.532,1954,6.4,1955,7.842]],["title/injectables/AutoSchoolNumberStrategy.html",[539,0.921,1956,6.012]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.28,3,0.018,4,0.018,5,0.009,7,0.119,8,1.292,27,0.439,29,0.843,30,0.001,31,0.607,32,0.138,33,0.511,35,1.004,36,2.283,95,0.157,99,1.341,101,0.013,103,0.001,104,0.001,131,3.135,177,1.54,226,1.207,262,2.605,345,2.634,349,0.854,363,6.647,379,1.043,437,1.089,521,3.271,539,1.431,541,1.985,564,3.33,608,1.915,654,3.969,996,3.98,997,3.847,998,3.934,999,4.157,1000,4.538,1147,2.51,1650,6.647,1893,9.552,1894,9.552,1896,9.552,1897,6.689,1898,7.085,1899,6.949,1901,5.294,1902,8.368,1903,5.435,1904,6.932,1953,6.027,1954,5.906,1956,9.335,1957,8.263,1958,6.689,1959,7.876,1960,8.263,1961,7.01,1962,8.263,1963,4.655,1964,6.005,1965,7.644,1966,6.689]],["title/classes/AxiosResponseImp.html",[0,0.232,1967,6.35]],["body/classes/AxiosResponseImp.html",[0,0.258,2,0.841,3,0.017,4,0.017,5,0.009,7,0.109,27,0.532,29,0.602,30,0.001,31,0.433,32,0.173,33,0.365,47,0.848,55,2.313,95,0.12,101,0.016,103,0.001,104,0.001,112,0.773,181,2.734,236,1.847,278,5.162,284,3.796,347,4.535,349,0.787,379,0.961,381,2.58,437,1.004,447,4.115,479,4.178,521,3.014,526,4.452,834,4.147,996,3.668,997,3.545,998,3.625,999,3.831,1000,4.181,1079,7.63,1147,3.068,1967,10.489,1968,13.181,1969,7.043,1970,8.105,1971,5.851,1972,12.568,1973,12.568,1974,10.103,1975,12.077,1976,7.613,1977,12.568,1978,7.613,1979,7.613,1980,7.043,1981,10.103,1982,5.34,1983,10.103,1984,4.147,1985,7.613,1986,4.409,1987,5.162,1988,7.613,1989,7.613,1990,7.613,1991,7.613,1992,6.163,1993,6.387,1994,5.34,1995,7.613,1996,7.043]],["title/classes/BBBBaseMeetingConfig.html",[0,0.232,1997,5.119]],["body/classes/BBBBaseMeetingConfig.html",[0,0.336,2,1.098,3,0.022,4,0.022,5,0.011,7,0.143,27,0.492,29,0.786,30,0.001,31,0.566,32,0.155,33,0.477,47,0.84,101,0.015,103,0.001,104,0.001,112,0.915,379,1.254,1971,4.627,1997,10.158,1998,6.678,1999,11.235,2000,7.359,2001,9.938,2002,9.17,2003,10.474,2004,9.938,2005,9.938,2006,9.194,2007,8.704]],["title/interfaces/BBBBaseResponse.html",[105,0.702,2008,4.815]],["body/interfaces/BBBBaseResponse.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.166,47,0.972,95,0.119,101,0.015,103,0.001,104,0.001,105,1.022,107,2.346,112,0.918,1025,5.279,1998,5.199,2008,8.413,2009,8.379,2010,9.987,2011,13.334,2012,13.334,2013,12.336,2014,6.023,2015,8.085]],["title/classes/BBBCreateConfig.html",[0,0.232,2016,5.759]],["body/classes/BBBCreateConfig.html",[0,0.236,2,0.769,3,0.015,4,0.015,5,0.008,7,0.1,27,0.559,29,0.55,30,0.001,31,0.757,32,0.176,33,0.674,47,0.968,95,0.083,101,0.015,103,0.001,104,0.001,112,0.728,119,2.406,180,1.658,379,0.879,382,2.08,839,2.163,1971,3.241,1997,8.684,1998,7.071,1999,11.896,2000,3.994,2002,6.799,2003,8.331,2006,6.441,2007,6.097,2014,4.199,2016,10.228,2017,6.962,2018,10.835,2019,10.835,2020,11.022,2021,7.027,2022,10.835,2023,9.87,2024,5.676,2025,10.835,2026,10.835,2027,10.024,2028,6.962,2029,6.962,2030,6.962,2031,6.962,2032,6.962,2033,6.962,2034,6.962,2035,6.962,2036,6.962,2037,6.962,2038,6.441,2039,6.441,2040,9.512,2041,9.512,2042,9.512,2043,6.441,2044,2.702,2045,6.962,2046,5.192,2047,6.962,2048,6.962,2049,6.962,2050,6.962,2051,6.962,2052,6.962,2053,6.962,2054,6.962,2055,6.962,2056,6.962,2057,6.962,2058,6.962,2059,6.962]],["title/classes/BBBCreateConfigBuilder.html",[0,0.232,2060,6.012]],["body/classes/BBBCreateConfigBuilder.html",[0,0.24,2,0.784,3,0.016,4,0.016,5,0.008,7,0.102,8,1.168,27,0.521,29,0.928,30,0.001,31,0.699,32,0.159,33,0.563,35,1.491,47,0.909,95,0.13,101,0.011,102,3.594,103,0.001,104,0.001,112,0.737,119,2.261,141,3.322,143,1.573,177,1.795,180,1.68,349,1.269,382,2.879,448,3.91,454,5.435,478,3.721,479,2.615,480,3.044,517,2.682,685,5.292,765,4.602,990,2.427,1998,6.389,2014,4.279,2016,9.18,2020,11.085,2021,6.249,2023,5.744,2024,3.303,2027,8.914,2060,11.827,2061,11.354,2062,6.564,2063,8.581,2064,8.084,2065,9.636,2066,9.636,2067,9.636,2068,9.636,2069,6.564,2070,7.095,2071,9.636,2072,7.095,2073,9.636,2074,7.095,2075,9.636,2076,7.095,2077,9.636,2078,7.095,2079,3.137,2080,3.502,2081,3.378,2082,4.541,2083,5.291,2084,7.095,2085,7.095,2086,7.095,2087,7.095,2088,4.602,2089,7.095,2090,6.564,2091,5.291,2092,6.214,2093,3.997,2094,4.376,2095,4.81,2096,5.57,2097,7.095,2098,5.744,2099,7.095,2100,6.564,2101,7.095,2102,7.095]],["title/interfaces/BBBCreateResponse.html",[105,0.702,2103,6.012]],["body/interfaces/BBBCreateResponse.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,32,0.181,47,1.004,55,2.827,95,0.102,101,0.013,103,0.001,104,0.001,105,0.878,107,2.014,112,0.835,119,2.757,180,1.903,1998,4.465,2002,9.035,2008,8.423,2009,7.195,2014,5.172,2103,9.56,2104,8.576,2105,11.693,2106,11.693,2107,11.693,2108,11.07,2109,11.693,2110,11.693,2111,11.693,2112,11.693,2113,11.693,2114,7.195]],["title/classes/BBBJoinConfig.html",[0,0.232,2115,5.759]],["body/classes/BBBJoinConfig.html",[0,0.275,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,27,0.551,29,0.643,30,0.001,31,0.463,32,0.173,33,0.642,39,3.2,47,0.94,95,0.097,101,0.016,103,0.001,104,0.001,112,0.807,119,2.179,180,1.839,191,4.429,276,5.077,379,1.026,382,2.429,839,2.526,1971,3.785,1997,9.24,1998,6.972,1999,11.729,2000,4.664,2002,7.54,2003,9.238,2014,4.904,2038,7.522,2039,7.522,2043,7.522,2083,8.732,2115,10.771,2116,8.131,2117,10.254,2118,11.708,2119,7.593,2120,8.131,2121,8.131,2122,8.131,2123,8.131,2124,8.131,2125,8.131,2126,9.238,2127,10.548,2128,8.131,2129,8.131,2130,5.931,2131,8.131,2132,8.131,2133,8.131,2134,8.131,2135,6.821,2136,8.131]],["title/classes/BBBJoinConfigBuilder.html",[0,0.232,2137,6.012]],["body/classes/BBBJoinConfigBuilder.html",[0,0.275,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,8,1.279,27,0.529,29,0.926,30,0.001,31,0.666,32,0.16,33,0.561,35,1.505,47,0.822,95,0.126,101,0.013,103,0.001,104,0.001,112,0.807,119,2.419,177,1.965,180,1.839,349,1.211,382,3.151,448,4.28,454,5.421,479,3.887,480,3.66,1998,6.45,2061,11.462,2062,7.522,2063,8.919,2064,8.849,2069,7.522,2083,9.24,2115,6.821,2137,11.889,2138,9.467,2139,10.548,2140,9.758,2141,9.758,2142,10.548,2143,8.131,2144,10.548,2145,8.131,2146,10.548,2147,8.131,2148,8.131,2149,8.131,2150,8.131,2151,8.131,2152,8.131,2153,8.131]],["title/interfaces/BBBJoinResponse.html",[105,0.702,2154,6.35]],["body/interfaces/BBBJoinResponse.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,47,1.014,95,0.113,101,0.015,103,0.001,104,0.001,105,0.97,107,2.226,112,0.889,180,2.025,1262,4.569,1998,4.933,2008,8.813,2009,7.95,2014,5.715,2114,7.95,2154,10.748,2155,8.766,2156,13.098,2157,13.098,2158,13.098,2159,10.283]],["title/interfaces/BBBMeetingInfoResponse.html",[105,0.702,2160,5.389]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.014,4,0.014,5,0.007,7,0.09,30,0.001,32,0.186,33,0.535,39,1.72,47,0.989,55,2.943,95,0.075,101,0.01,103,0,104,0,105,0.644,107,1.478,112,0.679,119,2.901,120,5.168,180,1.546,276,2.729,461,3.402,1218,2.379,1998,3.277,2002,7.97,2008,7.204,2009,5.28,2014,3.796,2105,10.315,2106,10.315,2107,10.315,2108,9.765,2109,10.315,2110,10.315,2111,10.315,2112,5.823,2113,10.315,2114,5.28,2117,5.512,2160,6.963,2161,5.823,2162,4.941,2163,11.15,2164,11.755,2165,11.15,2166,10.315,2167,11.15,2168,11.15,2169,11.15,2170,11.15,2171,6.074,2172,11.15,2173,11.15,2174,11.15,2175,8.134,2176,10.315,2177,11.15,2178,11.15,2179,5.823,2180,6.294,2181,6.294,2182,6.294,2183,6.294,2184,6.294,2185,6.294]],["title/interfaces/BBBResponse.html",[105,0.702,2186,5.245]],["body/interfaces/BBBResponse.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.136,95,0.125,101,0.016,103,0.001,104,0.001,105,1.072,107,2.461,112,0.944,479,4.834,824,4.805,1998,5.454,2008,7.349,2014,6.318,2114,8.789,2186,9.429,2187,10.476]],["title/injectables/BBBService.html",[539,0.921,2188,5.245]],["body/injectables/BBBService.html",[0,0.119,3,0.008,4,0.008,5,0.004,7,0.05,8,0.691,27,0.486,29,0.974,30,0.001,31,0.659,32,0.146,33,0.528,35,1.556,36,2.479,47,0.94,95,0.138,101,0.005,103,0,104,0,133,3.546,141,1.645,153,0.806,177,1.338,226,0.514,236,1.842,262,1.586,271,2.114,284,1.72,333,4.686,349,1.274,379,0.719,437,1.66,448,4.786,474,2.425,478,4.33,529,2.773,539,0.764,541,0.844,591,1.98,593,1.309,603,2.105,608,0.815,639,1.655,685,3.453,686,2.609,765,3.694,824,1.247,963,7.176,964,2.035,966,2.312,1079,2.076,1208,4.779,1226,4.68,1227,2.512,1228,2.759,1257,4.779,1262,4.184,1288,3.103,1306,3.513,1611,4.155,1970,5.903,1971,4.961,1982,2.466,1984,1.915,1997,8.944,1998,6.244,2002,2.512,2007,3.078,2008,2.466,2013,3.252,2014,7.233,2016,8.939,2091,4.248,2094,3.513,2095,3.862,2096,4.472,2103,3.078,2115,7.613,2138,7.423,2160,2.759,2161,9.857,2186,7.423,2188,4.352,2189,3.515,2190,3.599,2191,5.696,2192,5.696,2193,5.269,2194,5.696,2195,4.082,2196,5.814,2197,7.948,2198,3.515,2199,6.686,2200,8.583,2201,3.515,2202,6.29,2203,5.696,2204,3.515,2205,5.903,2206,5.696,2207,3.435,2208,5.269,2209,5.696,2210,5.696,2211,3.515,2212,4.989,2213,5.696,2214,9.642,2215,11.401,2216,3.515,2217,5.269,2218,5.269,2219,9.715,2220,3.268,2221,8.258,2222,5.696,2223,3.515,2224,5.696,2225,3.515,2226,5.696,2227,3.515,2228,7.233,2229,5.696,2230,5.696,2231,3.515,2232,3.209,2233,5.696,2234,3.515,2235,4.989,2236,4.155,2237,3.515,2238,3.515,2239,3.515,2240,3.515,2241,3.515,2242,3.515,2243,3.515,2244,7.817,2245,2.949,2246,2.949,2247,3.515,2248,3.515,2249,3.515,2250,3.515,2251,6.686,2252,3.515,2253,8.258,2254,5.696,2255,1.344,2256,3.515,2257,3.515,2258,3.515,2259,7.181,2260,6.644,2261,9.715,2262,5.696,2263,5.696,2264,7.181,2265,7.181,2266,7.181,2267,7.181,2268,6.644,2269,6.644,2270,3.515,2271,3.515,2272,3.515,2273,3.515,2274,5.269,2275,3.515,2276,3.515,2277,3.515,2278,3.515,2279,4.989,2280,5.269,2281,3.515,2282,3.515,2283,3.515,2284,3.515,2285,3.515,2286,3.515,2287,3.515,2288,3.515,2289,3.515,2290,3.515,2291,3.252,2292,3.252,2293,3.515,2294,3.252,2295,3.252]],["title/classes/BaseDO.html",[0,0.232,1746,4.014]],["body/classes/BaseDO.html",[0,0.338,2,1.103,3,0.022,4,0.022,5,0.011,7,0.143,9,4.755,27,0.494,29,0.79,30,0.001,31,0.568,32,0.155,33,0.616,34,2.28,47,0.958,59,3.076,101,0.015,102,5.058,103,0.001,104,0.001,112,0.918,379,1.26,404,4.019,448,4.866,1746,7.014,2296,9.987,2297,8.132,2298,11.994]],["title/injectables/BaseDORepo.html",[539,0.921,2299,4.731]],["body/injectables/BaseDORepo.html",[0,0.141,3,0.009,4,0.009,5,0.005,7,0.06,8,0.789,9,5.775,10,3.683,12,2.92,18,3.253,26,2.575,27,0.526,29,1,30,0.001,31,0.72,32,0.164,33,0.607,34,1.989,35,1.518,36,2.86,40,3.135,47,0.457,49,1.576,55,0.848,95,0.117,96,1.739,97,1.729,99,0.674,101,0.006,102,2.104,103,0,104,0,112,0.498,133,2.255,154,2.529,155,2.125,173,1.208,177,1.212,226,0.607,236,1.06,262,2.894,280,4.485,305,3.768,349,1.203,358,1.855,379,0.524,381,1.408,437,1.728,448,4.828,519,1.279,539,0.873,541,0.998,565,2.479,603,2.536,608,2.696,680,4.411,686,2.981,687,4.865,696,1.612,718,2.227,733,3.638,816,4.37,1341,1.332,1665,3.779,1726,1.776,1746,2.429,1888,3.261,2000,3.733,2232,2.34,2299,4.485,2300,4.154,2301,4.651,2302,4.651,2303,4.651,2304,4.651,2305,4.564,2306,4.564,2307,4.651,2308,4.564,2309,4.651,2310,3.03,2311,5.161,2312,3.325,2313,4.137,2314,4.154,2315,4.747,2316,4.651,2317,4.154,2318,7.77,2319,4.651,2320,4.154,2321,4.651,2322,4.154,2323,5.202,2324,4.564,2325,4.651,2326,4.154,2327,4.651,2328,4.154,2329,4.651,2330,8.209,2331,4.154,2332,4.154,2333,4.651,2334,4.154,2335,4.411,2336,4.564,2337,4.154,2338,4.651,2339,4.154,2340,3.924,2341,4.013,2342,4.651,2343,4.154,2344,4.651,2345,4.154,2346,2.914,2347,4.651,2348,4.154,2349,4.154,2350,5.362,2351,2.816,2352,3.638,2353,2.816,2354,8.022,2355,4.154,2356,4.154,2357,4.747,2358,4.154,2359,6.622,2360,4.154,2361,4.154,2362,5.108,2363,3.843,2364,2.863,2365,4.853,2366,9.673,2367,6.507,2368,4.111,2369,3.843,2370,4.154,2371,4.154,2372,4.154,2373,4.154,2374,5.268,2375,4.154,2376,4.154,2377,4.154,2378,3.485,2379,4.154,2380,4.154,2381,4.154,2382,4.154,2383,4.154,2384,4.154,2385,4.154,2386,4.154,2387,3.485,2388,4.154,2389,4.154,2390,4.154,2391,4.154,2392,4.154,2393,4.154,2394,3.638,2395,2.453,2396,2.383,2397,4.154,2398,4.154,2399,4.154,2400,3.638]],["title/classes/BaseDomainObject.html",[0,0.232,2401,6.35]],["body/classes/BaseDomainObject.html",[0,0.401,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,9,6.459,27,0.403,30,0.001,32,0.127,34,2.131,47,0.832,95,0.117,101,0.015,102,6.004,103,0.001,104,0.001,105,1.002,112,0.907,133,3.395,1107,5.336,1147,3.6,1661,7.182,1663,8.578,1778,5.007,2401,10.967,2402,11.854,2403,9.795,2404,9.062,2405,6.641,2406,5.471,2407,7.93,2408,9.062,2409,9.795]],["title/classes/BaseEntity.html",[0,0.232,2351,4.654]],["body/classes/BaseEntity.html",[0,0.387,2,0.855,3,0.017,4,0.017,5,0.009,7,0.111,9,4.865,27,0.421,30,0.001,32,0.164,34,2.17,47,0.803,49,4.613,72,3.493,83,3.325,95,0.145,96,2.73,97,3.223,101,0.019,103,0.001,104,0.001,105,0.792,112,0.93,133,2.684,138,2.046,154,2.067,155,2.528,172,3.572,173,2.252,174,3.906,236,1.862,358,3.457,376,4.253,377,4.43,437,1.021,459,3.922,511,3.44,742,7.129,747,5.649,755,5.093,769,5.337,938,4.484,951,3.625,1007,5.432,1147,3.473,1661,6.85,1726,3.311,1778,3.041,2091,5.775,2341,4.776,2351,7.752,2352,6.782,2410,7.164,2411,8.977,2412,11.248,2413,7.744,2414,11.248,2415,7.744,2416,6.497,2417,4.776,2418,5.649,2419,6.497,2420,6.269,2421,6.497,2422,6.497,2423,7.164,2424,4.574,2425,4.955,2426,5.337,2427,4.833,2428,7.164,2429,6.782,2430,7.164,2431,5.337,2432,6.497,2433,6.782,2434,7.164,2435,6.782,2436,7.164]],["title/classes/BaseEntityWithTimestamps.html",[0,0.232,174,2.624]],["body/classes/BaseEntityWithTimestamps.html",[0,0.378,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,9,4.711,27,0.491,30,0.001,32,0.161,34,2.14,47,0.784,49,4.525,72,3.328,83,3.617,95,0.142,96,2.644,97,3.071,101,0.018,103,0.001,104,0.001,105,0.755,112,0.913,133,2.557,138,2.225,154,2.002,155,2.409,172,3.726,173,2.146,174,4.267,236,2.026,358,3.294,376,4.965,377,5.172,437,0.973,459,3.737,480,2.752,486,2.98,511,3.278,742,7.032,747,5.382,755,4.853,769,5.086,938,4.273,951,3.454,1007,5.176,1147,3.39,1661,6.719,1726,3.155,1778,2.898,2091,5.503,2341,4.551,2351,6.708,2352,6.462,2410,6.826,2411,7.767,2412,11.033,2414,11.033,2416,6.19,2417,4.551,2418,5.382,2419,6.19,2420,5.973,2421,6.19,2422,6.19,2423,6.826,2424,4.358,2425,4.722,2426,5.086,2427,4.605,2428,6.826,2429,6.462,2430,6.826,2431,5.086,2432,6.19,2433,6.462,2434,6.826,2435,6.462,2436,6.826,2437,7.379,2438,7.379,2439,7.379,2440,7.379,2441,7.379]],["title/classes/BaseFactory.html",[0,0.232,447,3.71]],["body/classes/BaseFactory.html",[0,0.232,2,0.364,3,0.007,4,0.007,5,0.004,7,0.047,8,0.655,27,0.493,29,1,30,0.001,31,0.646,32,0.164,33,0.544,34,1.664,35,1.508,47,0.482,49,1.25,55,2.259,59,2.702,95,0.064,101,0.005,103,0,104,0,105,0.553,112,0.608,120,3.368,133,2.754,140,1.81,153,1.821,154,2.558,155,2.595,177,1.481,236,1.92,271,4.559,319,3.994,333,4.714,345,1.051,349,1.113,379,0.867,381,2.973,413,2.075,437,1.653,447,2.921,448,4.366,449,6.629,452,2.993,453,5.22,454,5.619,455,2.993,456,2.993,457,2.993,458,2.944,459,4.443,460,4.401,461,5.985,462,6.033,463,7.404,469,1.825,470,3.804,472,5.183,473,5.338,474,3.734,475,5.042,476,4.818,477,1.825,478,1.728,479,4.66,480,3.156,481,1.781,482,1.754,483,2.993,484,4.839,486,3.488,487,5.135,488,2.993,489,6.72,490,4.261,491,6.528,493,4.624,494,2.993,496,1.825,498,2.993,500,3.16,501,1.825,502,6.18,504,1.825,505,5.755,506,4.138,507,4.401,509,5.338,510,3.656,511,2.401,512,2.993,513,4.401,514,2.993,517,2.043,518,2.993,519,1.665,521,4.114,522,2.993,525,1.891,606,2.886,696,2.098,742,1.81,757,2.518,996,3.829,997,3.7,998,3.784,999,3.999,1000,3.773,1001,2.271,1013,2.587,1077,6.41,1551,2.886,1994,3.791,2368,3.415,2442,3.296,2443,3.459,2444,5.405,2445,3.296,2446,5.405,2447,3.296,2448,3.296,2449,3.296,2450,3.296,2451,3.296,2452,3.296,2453,3.296,2454,3.296,2455,3.296,2456,3.296,2457,3.296,2458,3.296,2459,5,2460,4.13,2461,3.296,2462,3.296,2463,3.296,2464,3.296,2465,3.296,2466,3.049,2467,5.405,2468,5.405,2469,3.296,2470,3.296,2471,7.948,2472,3.296,2473,10.393,2474,7.948,2475,3.296,2476,3.296,2477,3.296,2478,3.296,2479,3.296,2480,3.192,2481,3.296,2482,3.296,2483,3.296,2484,3.296,2485,3.296]],["title/injectables/BaseRepo.html",[539,0.921,679,3.938]],["body/injectables/BaseRepo.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.136,9,4.461,10,3.801,12,4.204,18,4.684,26,2.349,27,0.515,29,0.956,30,0.001,31,0.689,32,0.157,33,0.58,34,1.566,35,1.402,36,2.836,40,4.514,49,4.378,95,0.149,96,2.504,97,2.835,101,0.011,103,0,104,0,153,1.561,154,1.896,155,3.059,173,1.98,177,1.269,226,0.995,262,2.923,349,0.969,379,0.859,437,0.898,479,5.166,524,3.871,539,1.258,541,1.636,569,6.697,608,2.171,679,5.375,685,3.917,686,4.292,687,5.971,711,5.591,713,5.591,716,5.591,718,3.652,1718,4.107,1729,5.92,1778,3.68,1815,6.162,1816,6.458,2232,3.837,2299,6.458,2310,4.968,2311,6.558,2315,6.835,2350,5.534,2351,4.617,2353,4.617,2363,6.3,2369,6.3,2374,5.513,2486,6.81,2487,6.094,2488,8.668,2489,9.37,2490,9.37,2491,8.668,2492,5.651,2493,6.162,2494,6.254,2495,6.81,2496,6.81,2497,6.81,2498,6.81,2499,6.81,2500,6.81,2501,3.281,2502,6.81]],["title/interfaces/BaseResponseMapper.html",[105,0.702,2503,5.119]],["body/interfaces/BaseResponseMapper.html",[3,0.021,4,0.021,5,0.011,7,0.137,8,1.417,27,0.481,29,0.924,30,0.001,31,0.665,32,0.17,33,0.56,35,1.42,95,0.139,99,1.552,100,3.251,101,0.015,103,0.001,104,0.001,105,0.979,107,2.247,119,2.414,479,5.052,783,6.526,1942,4.885,2503,8.714,2504,12.616,2505,9.565,2506,9.173,2507,9.173,2508,9.565,2509,8.928,2510,9.565,2511,10.214,2512,4.581]],["title/classes/BaseUc.html",[0,0.232,2513,5.245]],["body/classes/BaseUc.html",[0,0.224,2,0.73,3,0.015,4,0.015,5,0.007,7,0.095,8,1.113,9,3.148,26,2.712,27,0.469,29,0.901,30,0.001,31,0.648,32,0.147,33,0.546,35,1.281,36,2.44,39,3.271,59,2.036,95,0.136,99,1.073,101,0.01,103,0,104,0,131,3.483,143,1.466,145,1.853,177,1.71,226,0.966,236,1.495,239,1.549,262,2.904,276,2.867,349,1.09,379,1.158,437,1.578,448,5.46,493,3.243,529,2.62,560,2.716,608,2.64,643,2.967,1107,7.056,1673,4.077,1688,4.348,1726,2.827,1758,6.592,1780,5.19,1813,4.637,1855,4.031,1861,7.537,1944,2.789,2396,3.793,2512,6.378,2513,7.014,2514,6.611,2515,7.206,2516,7.206,2517,4.823,2518,8.757,2519,6.611,2520,4.93,2521,8.731,2522,9.081,2523,6.611,2524,7.206,2525,7.65,2526,6.611,2527,7.206,2528,7.537,2529,6.611,2530,5.477,2531,3.061,2532,7.692,2533,6.611,2534,6.116,2535,4.637,2536,6.611,2537,6.611,2538,5.79,2539,6.611,2540,6.611,2541,6.611,2542,7.701,2543,5.79,2544,4.93]],["title/classes/BasicToolConfig.html",[0,0.232,2545,5.007]],["body/classes/BasicToolConfig.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,27,0.515,29,0.74,30,0.001,31,0.533,32,0.177,33,0.449,47,0.658,95,0.137,101,0.015,103,0.001,104,0.001,112,0.883,180,2.011,181,3.121,182,2.977,379,1.182,381,3.174,382,3.446,564,2.926,1929,4.594,2195,7.105,2545,9.772,2546,5.284,2547,11.535,2548,4.209,2549,7.858,2550,9.99,2551,8.665,2552,8.203,2553,6.442,2554,8.203,2555,8.203,2556,6.57,2557,6.695]],["title/classes/BasicToolConfigEntity.html",[0,0.232,2558,5.557]],["body/classes/BasicToolConfigEntity.html",[0,0.326,2,1.064,3,0.021,4,0.021,5,0.011,27,0.397,29,0.762,30,0.001,31,0.548,32,0.125,33,0.462,95,0.151,96,2.574,101,0.015,103,0.001,104,0.001,173,2.801,180,1.679,181,3.175,379,1.216,381,3.264,403,5.38,564,3.009,1929,4.725,2546,5.376,2548,4.261,2553,5.38,2556,8.231,2557,6.885,2558,10.931,2559,11.735,2560,8.081,2561,9.632,2562,5.983,2563,9.5,2564,8.436,2565,5.476,2566,4.301,2567,6.885]],["title/classes/BasicToolConfigParams.html",[0,0.232,2568,5.557]],["body/classes/BasicToolConfigParams.html",[0,0.39,2,1.032,3,0.021,4,0.021,5,0.01,7,0.134,27,0.474,30,0.001,32,0.173,47,0.809,95,0.155,101,0.014,103,0.001,104,0.001,112,0.881,138,2.061,148,2.895,150,2.1,180,2.008,245,3.202,248,4.597,382,3.441,564,2.919,852,4.351,1929,4.584,2195,7.098,2546,4.281,2548,3.879,2553,6.974,2568,9.325,2569,9.345,2570,8.645,2571,9.765,2572,6.68,2573,7.565,2574,7.565,2575,7.565,2576,7.565,2577,7.565]],["title/classes/BasicToolConfigResponse.html",[0,0.232,2578,5.759]],["body/classes/BasicToolConfigResponse.html",[0,0.304,2,0.994,3,0.02,4,0.02,5,0.01,7,0.129,27,0.505,29,0.711,30,0.001,31,0.512,32,0.175,33,0.431,47,0.79,95,0.146,101,0.014,103,0.001,104,0.001,112,0.861,138,2.013,150,2.021,180,1.961,181,3.044,182,2.859,245,3.395,379,1.135,381,3.048,382,3.36,564,2.81,1929,4.412,2195,6.977,2546,5.153,2548,4.133,2553,6.855,2556,6.309,2557,6.429,2566,4.016,2567,6.429,2578,11.107,2579,11.248,2580,7.281,2581,10.718,2582,8.994,2583,7.877,2584,7.877,2585,7.281]],["title/injectables/BasicToolLaunchStrategy.html",[539,0.921,2586,5.759]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.156,3,0.01,4,0.01,5,0.005,7,0.066,8,0.855,9,2.193,26,2.22,27,0.532,29,1.011,30,0.001,31,0.728,32,0.17,33,0.613,35,1.554,36,2.431,39,2.34,47,0.86,95,0.123,99,0.747,101,0.007,103,0,104,0,112,0.834,119,0.952,120,2.986,172,2.202,177,1.313,180,1.229,226,0.673,262,2.703,271,2.616,284,3.293,349,0.992,382,3.861,437,1.363,480,1.961,519,2.171,521,2.79,539,0.946,541,1.106,556,2.358,593,3.189,603,2.744,662,3.972,696,1.788,988,2.006,996,3.395,997,3.281,998,3.356,999,3.546,1000,3.871,1262,3.346,1616,2.595,1650,2.595,1664,1.722,1898,6.774,1899,6.53,1953,5.141,1954,5.038,2088,5.553,2548,2.373,2586,5.913,2587,3.864,2588,4.605,2589,4.26,2590,12.257,2591,6.52,2592,7.921,2593,6.52,2594,6.52,2595,6.52,2596,6.52,2597,6.52,2598,6.52,2599,6.52,2600,6.52,2601,6.173,2602,6.173,2603,6.52,2604,6.52,2605,4.26,2606,9.476,2607,4.26,2608,6.52,2609,10.918,2610,4.605,2611,6.52,2612,4.605,2613,9.148,2614,4.26,2615,6.52,2616,7.36,2617,5.385,2618,4.26,2619,4.26,2620,6.52,2621,6.729,2622,4.26,2623,4.26,2624,6.52,2625,4.26,2626,4.26,2627,4.253,2628,4.26,2629,8.332,2630,4.26,2631,4.26,2632,4.26,2633,4.26,2634,4.033,2635,4.033,2636,4.26,2637,4.26,2638,4.26,2639,3.359,2640,4.26,2641,6.52,2642,6.309,2643,4.26,2644,4.26,2645,6.52,2646,4.26,2647,2.55,2648,4.26,2649,4.033,2650,4.26,2651,3.074,2652,4.033,2653,3.615,2654,7.048,2655,4.605,2656,7.048,2657,6.52,2658,4.605,2659,4.605,2660,4.605,2661,4.605,2662,7.048,2663,4.605,2664,4.605,2665,4.033]],["title/entities/Board.html",[154,1.389,1944,2.895]],["body/entities/Board.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,26,2.395,27,0.338,30,0.001,32,0.137,34,0.944,95,0.158,96,1.509,101,0.013,103,0,104,0,105,0.578,112,0.628,119,1.167,138,1.468,143,2.353,154,1.661,155,1.844,168,4.708,173,1.642,174,3.137,175,2.521,178,2.245,180,0.984,181,1.528,182,1.795,226,0.825,236,2.025,349,1.216,355,3.568,361,3.21,437,1.739,480,1.571,486,1.701,519,1.739,529,2.76,535,4.12,556,2.018,578,3.443,603,2.319,604,3.972,849,4.545,1664,2.111,1717,2.705,1920,3.954,1926,4.666,1942,4.917,1944,4.961,2395,3.335,2418,7.052,2666,7.59,2667,5.647,2668,7.667,2669,5.647,2670,4.862,2671,6.271,2672,5.647,2673,4.507,2674,8.207,2675,6.644,2676,5.647,2677,3.101,2678,6.443,2679,4.12,2680,3.27,2681,3.028,2682,5.252,2683,3.335,2684,4.368,2685,3.961,2686,4.36,2687,3.524,2688,7.585,2689,11.503,2690,8.111,2691,6.271,2692,4.335,2693,5.866,2694,4.946,2695,6.644,2696,2.629,2697,6.644,2698,8.207,2699,5.647,2700,3.714,2701,5.647,2702,5.647,2703,8.207,2704,4.738,2705,5.647,2706,9.668,2707,5.647,2708,5.647,2709,5.647,2710,5.647,2711,5.647,2712,8.207,2713,5.647,2714,8.207,2715,8.207,2716,5.647,2717,5.647,2718,4.572,2719,5.647,2720,5.647,2721,5.224,2722,5.647,2723,3.892,2724,5.647,2725,4.738,2726,5.647,2727,5.647,2728,5.647,2729,5.647,2730,5.647,2731,5.647,2732,5.647,2733,5.647,2734,5.647,2735,5.647,2736,5.647,2737,5.647,2738,5.647,2739,4.811,2740,5.647,2741,8.207,2742,5.647,2743,5.647,2744,5.647,2745,5.647,2746,11.761,2747,4.946]],["title/modules/BoardApiModule.html",[201,1.848,2748,5.557]],["body/modules/BoardApiModule.html",[0,0.27,3,0.018,4,0.018,5,0.009,30,0.001,95,0.161,101,0.012,103,0.001,104,0.001,201,3.122,203,2.896,204,3.106,205,3.194,206,3.181,207,3.169,208,4.289,209,3.025,214,6.092,218,4.173,219,3.131,220,3.059,222,4.975,223,4.335,225,4.139,226,1.165,259,3.047,1341,2.557,1752,5.919,1826,6.951,1829,9.758,2531,3.691,2748,11.584,2749,7.971,2750,7.971,2751,7.971,2752,10.593,2753,10.273,2754,10.593,2755,10.593,2756,10.978,2757,7.971,2758,10.157,2759,10.157,2760,10.157,2761,10.157,2762,10.157,2763,7.971,2764,3.774,2765,6.981,2766,7.375,2767,7.375]],["title/classes/BoardColumnBoardResponse.html",[0,0.232,2768,5.759]],["body/classes/BoardColumnBoardResponse.html",[0,0.258,2,0.843,3,0.017,4,0.017,5,0.009,7,0.109,27,0.543,29,0.603,30,0.001,31,0.434,32,0.171,33,0.366,34,2.102,47,0.907,83,3.514,95,0.12,101,0.012,103,0.001,104,0.001,112,0.774,119,2.09,138,2.313,150,1.714,245,3.562,247,3.277,376,5.235,377,5.453,379,1.277,404,3.069,406,4.704,408,4.704,774,3.889,1271,3.918,2692,7.477,2768,10.551,2769,10.513,2770,10.513,2771,7.628,2772,9.609,2773,8.271,2774,7.628,2775,7.628,2776,7.628,2777,7.628,2778,7.628,2779,5.452,2780,7.628,2781,7.628,2782,6.391,2783,7.628,2784,3.611,2785,7.056]],["title/classes/BoardComposite.html",[0,0.232,2786,4.185]],["body/classes/BoardComposite.html",[0,0.2,2,0.652,3,0.013,4,0.013,5,0.007,7,0.085,8,1.027,9,6.191,26,1.725,27,0.542,29,0.944,30,0.001,31,0.68,32,0.166,33,0.572,34,1.416,35,1.494,36,1.815,55,2.022,59,1.818,83,3.149,95,0.137,99,0.957,101,0.013,103,0,104,0,105,0.604,112,0.648,119,2.238,133,2.936,137,5.287,180,1.477,226,0.862,236,1.614,349,1.12,376,4.508,377,4.697,381,2.871,382,2.531,437,0.778,448,3.437,479,3.122,519,3.677,529,2.829,662,2.632,686,3.881,696,2.291,938,3.418,1519,4.816,1664,2.206,1665,4.97,1668,6.262,1726,2.523,1747,3.521,1748,4.218,1749,4.509,2396,3.385,2512,6.518,2530,3.521,2680,3.418,2786,5.166,2787,12.03,2788,5.459,2789,6.056,2790,6.056,2791,6.056,2792,5.655,2793,6.056,2794,7.465,2795,3.827,2796,5.225,2797,6.397,2798,5.901,2799,5.943,2800,5.225,2801,6.272,2802,5.901,2803,5.943,2804,6.696,2805,5.901,2806,7.77,2807,5.943,2808,5.901,2809,6.056,2810,5.901,2811,5.943,2812,5.901,2813,3.827,2814,5.459,2815,5.901,2816,4.777,2817,5.901,2818,4.777,2819,5.901,2820,7.838,2821,4.218,2822,4.218,2823,5.459,2824,5.459,2825,5.459,2826,7.838,2827,5.459,2828,5.459,2829,5.459,2830,3.521,2831,5.459,2832,5.459,2833,5.459,2834,5.459,2835,7.42,2836,3.881,2837,5.943,2838,5.459,2839,5.168,2840,3.598]],["title/interfaces/BoardCompositeProps.html",[105,0.702,2840,4.185]],["body/interfaces/BoardCompositeProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.104,9,5.646,26,2.414,30,0.001,32,0.165,33,0.47,34,2.069,36,1.558,55,1.484,83,3.852,95,0.147,99,1.18,101,0.015,103,0.001,104,0.001,105,0.744,107,1.708,112,0.75,119,2.025,133,3.396,180,1.268,226,1.063,236,1.805,349,1.226,376,5.152,377,5.367,437,0.959,519,3.413,529,3.163,696,2.823,938,4.212,1519,5.57,1664,2.719,1665,4.079,1726,3.11,1747,4.34,1748,5.199,1749,5.557,2396,4.172,2512,6.429,2530,4.34,2680,4.212,2786,4.435,2787,6.728,2788,6.728,2794,8.531,2796,4.486,2797,5.787,2800,4.486,2801,5.674,2803,5.102,2804,6.785,2806,7.491,2807,5.102,2809,5.199,2811,5.102,2820,9.065,2821,5.199,2822,5.199,2823,6.728,2824,6.728,2825,6.728,2826,9.065,2827,6.728,2828,6.728,2829,6.728,2830,4.34,2831,6.728,2832,6.728,2833,6.728,2834,6.728,2835,8.582,2836,4.784,2837,6.873,2838,6.728,2839,6.37,2840,5.975]],["title/interfaces/BoardCompositeVisitor.html",[105,0.702,2797,4.054]],["body/interfaces/BoardCompositeVisitor.html",[3,0.014,4,0.014,5,0.01,7,0.089,8,1.06,27,0.533,29,1.024,30,0.001,31,0.737,32,0.18,33,0.621,35,1.573,36,2.774,95,0.154,101,0.014,103,0,104,0,105,0.895,107,1.449,519,4.282,564,1.928,1925,7.23,2232,3.476,2525,7.156,2548,2.078,2692,6.582,2797,5.165,2801,3.573,2841,10.308,2842,12.146,2843,5.708,2844,8.09,2845,8.09,2846,8.09,2847,8.09,2848,8.09,2849,8.09,2850,8.09,2851,8.09,2852,8.09,2853,7.659,2854,6.888,2855,6.17,2856,7.659,2857,6.17,2858,7.659,2859,6.17,2860,7.659,2861,7.969,2862,6.17,2863,7.659,2864,7.473,2865,6.17,2866,7.659,2867,7.969,2868,6.17,2869,7.659,2870,7.388,2871,6.17,2872,7.659,2873,7.655,2874,6.17,2875,7.659,2876,6.17,2877,5.176,2878,5.708,2879,5.176,2880,8.511,2881,4.601,2882,2.938,2883,3.885,2884,3.721,2885,4.995,2886,5.176,2887,5.176,2888,5.176,2889,5.176,2890,5.176,2891,5.176,2892,5.176,2893,5.708,2894,5.176]],["title/interfaces/BoardCompositeVisitorAsync.html",[105,0.702,2801,3.975]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.014,4,0.014,5,0.01,7,0.089,8,1.06,27,0.533,29,1.024,30,0.001,31,0.737,32,0.18,33,0.621,35,1.573,36,2.978,95,0.154,101,0.014,103,0,104,0,105,0.895,107,1.449,519,3.988,564,1.928,1925,7.23,2232,3.476,2525,7.156,2548,2.078,2692,6.582,2797,3.644,2801,5.064,2841,10.308,2842,12.146,2843,5.708,2853,5.404,2854,6.888,2856,5.404,2858,5.404,2860,5.404,2861,7.969,2863,5.404,2864,7.473,2866,5.404,2867,7.969,2869,5.404,2870,7.388,2872,5.404,2873,7.655,2875,5.404,2877,5.176,2878,5.708,2879,5.176,2880,8.511,2881,4.601,2882,2.938,2883,3.885,2884,3.721,2885,4.995,2886,7.337,2887,7.337,2888,7.337,2889,7.337,2890,7.337,2891,7.337,2892,7.337,2893,8.09,2894,7.337,2895,7.337,2896,7.337,2897,7.337,2898,7.337,2899,7.337,2900,7.337,2901,7.337,2902,7.337,2903,7.337,2904,6.17,2905,6.17,2906,6.17,2907,6.17,2908,6.17,2909,6.17,2910,6.17,2911,6.17,2912,6.17]],["title/classes/BoardContextResponse.html",[0,0.232,2913,6.012]],["body/classes/BoardContextResponse.html",[0,0.306,2,0.998,3,0.02,4,0.02,5,0.01,7,0.13,27,0.506,29,0.714,30,0.001,31,0.514,32,0.179,33,0.433,34,2.216,47,0.792,95,0.134,99,1.466,101,0.014,103,0.001,104,0.001,112,0.863,138,2.018,150,2.03,245,3.154,253,4.459,379,1.423,404,3.635,774,4.606,839,2.806,1924,9.62,2566,4.033,2913,11.61,2914,12.88,2915,9.034,2916,9.034,2917,5.941,2918,6.049,2919,6.049,2920,9.034,2921,5.335,2922,5.402,2923,9.034]],["title/controllers/BoardController.html",[259,2.624,2758,6.012]],["body/controllers/BoardController.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.065,8,0.847,10,3.45,27,0.424,29,0.813,30,0.001,31,0.586,32,0.184,33,0.493,35,1.25,36,2.615,95,0.139,100,1.548,101,0.007,103,0,104,0,131,2.651,138,1.84,150,1.023,177,0.848,223,1.895,226,0.665,236,1.385,259,1.741,261,2.181,262,2.874,270,6.439,278,6.465,282,7.618,287,8.029,290,8.905,294,6.808,324,3.539,333,4.378,334,2.953,335,6.547,336,8.444,337,2.371,338,2.423,340,2.207,343,2.442,345,1.452,346,6.138,347,4.858,349,0.879,437,1.431,608,2.384,631,2.322,685,2.921,824,3.851,1266,7.36,1271,2.177,1944,4.579,2530,6.478,2681,5.821,2692,4.491,2752,6.883,2758,6.12,2764,2.156,2913,6.12,2924,4.554,2925,4.213,2926,7.866,2927,6.464,2928,8.502,2929,8.502,2930,7.866,2931,4.554,2932,11.496,2933,7.503,2934,10.286,2935,5.211,2936,4.554,2937,7.86,2938,7.86,2939,4.554,2940,4.554,2941,8.029,2942,4.554,2943,5.657,2944,4.554,2945,4.554,2946,4.554,2947,4.554,2948,4.554,2949,4.554,2950,4.554,2951,6.987,2952,4.554,2953,4.554,2954,4.554,2955,4.554,2956,6.675,2957,7.72,2958,4.127,2959,4.554,2960,4.554,2961,3.255,2962,2.565,2963,2.388,2964,5.862,2965,5.657,2966,4.554,2967,4.554,2968,3.988,2969,3.82,2970,3.686,2971,4.554,2972,4.554,2973,4.554,2974,10.286,2975,4.554,2976,4.554,2977,4.554,2978,4.554,2979,4.554,2980,5.657,2981,5.657,2982,4.554,2983,4.554,2984,3.988,2985,4.554,2986,4.554,2987,4.554,2988,4.554,2989,4.554,2990,4.213]],["title/injectables/BoardCopyService.html",[539,0.921,2991,5.759]],["body/injectables/BoardCopyService.html",[0,0.125,3,0.008,4,0.008,5,0.004,7,0.053,8,0.721,27,0.462,29,0.886,30,0.001,31,0.638,32,0.155,33,0.538,34,0.62,35,1.32,36,2.518,39,1.013,55,0.756,95,0.14,99,0.601,101,0.006,103,0,104,0,154,0.75,177,1.854,226,0.542,227,1.536,236,1.519,239,3.228,262,2.754,271,2.207,347,4.046,349,1.29,379,0.75,437,1.678,521,2.354,528,1.903,539,0.798,541,0.891,556,0.911,579,1.988,603,2.775,604,3.059,608,1.725,646,2.65,849,4.122,1231,2.342,1242,2.003,1243,2.474,1271,1.852,1341,1.189,1553,7.605,1732,1.944,1924,2.6,1925,3.548,1926,4.681,1944,4.411,1947,2.833,2312,2.464,2313,3.882,2340,3.586,2357,2.704,2668,5.381,2684,4.962,2686,4.205,2688,8.222,2691,4.543,2693,7.474,2695,4.813,2697,4.813,2704,3.11,2739,3.861,2772,2.833,2991,4.988,2992,11.503,2993,2.91,2994,5.946,2995,7.444,2996,6.887,2997,4.988,2998,4.813,2999,5.946,3000,5.946,3001,5.946,3002,2.513,3003,7.798,3004,8.209,3005,8.772,3006,8.772,3007,7.627,3008,3.707,3009,5.946,3010,8.518,3011,3.707,3012,3.707,3013,10.077,3014,3.429,3015,7.444,3016,3.707,3017,3.707,3018,5.946,3019,3.707,3020,3.429,3021,5.946,3022,3.707,3023,3.247,3024,5.946,3025,8.09,3026,3.707,3027,9.324,3028,5.946,3029,3.707,3030,4.988,3031,5.946,3032,3.707,3033,5.501,3034,5.688,3035,3.707,3036,3.707,3037,3.429,3038,3.11,3039,3.707,3040,3.11,3041,2.91,3042,2.765,3043,2.26,3044,2.089,3045,3.707,3046,3.707,3047,3.001,3048,3.001,3049,2.833,3050,5.207,3051,3.707,3052,3.707,3053,3.707,3054,7.444,3055,3.707,3056,3.247,3057,2.91,3058,3.11,3059,3.707,3060,3.707,3061,9.673,3062,3.707,3063,3.707,3064,3.707,3065,3.11,3066,3.707,3067,5.501,3068,3.707,3069,3.707,3070,6.52,3071,3.11,3072,3.707,3073,3.707,3074,7.444,3075,3.11,3076,3.707,3077,3.707,3078,3.11,3079,3.707,3080,3.707,3081,4.25,3082,3.707,3083,4.25,3084,4.543,3085,3.707,3086,3.707,3087,3.707,3088,3.707,3089,3.247,3090,3.247,3091,3.429,3092,3.247,3093,3.11,3094,3.429,3095,3.707,3096,3.429,3097,3.247,3098,3.429,3099,3.707,3100,3.707,3101,3.707,3102,3.707,3103,3.707,3104,3.707,3105,3.707,3106,3.707,3107,3.707,3108,3.707,3109,5.946,3110,3.707,3111,5.946,3112,5.946,3113,3.707,3114,3.707,3115,3.707,3116,3.707,3117,3.707,3118,3.707,3119,3.707,3120,3.707]],["title/classes/BoardDoAuthorizable.html",[0,0.232,2532,5.007]],["body/classes/BoardDoAuthorizable.html",[0,0.257,2,0.839,3,0.017,4,0.017,5,0.009,7,0.109,8,1.223,26,2.306,27,0.517,29,0.601,30,0.001,31,0.433,32,0.131,33,0.364,34,1.27,35,1.226,39,2.077,47,0.708,95,0.12,101,0.019,102,3.849,103,0.001,104,0.001,105,1.033,112,0.772,133,2.634,180,1.975,302,5.966,349,1.043,381,3.419,382,3.014,448,4.094,479,3.718,517,2.873,519,2.34,556,2.967,643,3.41,651,3.661,652,3.661,662,3.134,686,4.622,839,3.134,1661,5.685,1665,5.228,1668,7.157,1729,4.801,1747,4.535,1816,5.238,2501,3.661,2521,8.803,2522,9.776,2532,7.36,2795,4.928,2813,4.928,2841,9.474,3121,6.655,3122,5.209,3123,7.03,3124,7.599,3125,7.599,3126,7.599,3127,7.599,3128,7.599,3129,8.169,3130,6.085,3131,8.837,3132,6.152,3133,6.655,3134,3.5,3135,7.249,3136,5.736,3137,6.655,3138,6.655,3139,8.656,3140,3.823,3141,6.375,3142,6.152,3143,8.837,3144,6.655]],["title/interfaces/BoardDoAuthorizableProps.html",[105,0.702,3141,5.759]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.117,26,2.614,30,0.001,32,0.152,33,0.506,34,2.071,39,2.222,47,0.741,95,0.126,101,0.02,102,4.118,103,0.001,104,0.001,105,1.079,107,1.91,112,0.807,133,2.818,180,2.041,302,6.383,349,1.091,517,3.074,556,2.593,643,3.649,651,3.917,652,3.917,839,3.277,1661,6.596,1665,4.391,1729,5.137,1747,4.852,1816,5.604,2501,3.917,2521,9.365,2522,9.807,2532,5.931,2841,6.383,3121,7.121,3122,5.541,3129,8.539,3130,6.361,3131,9.238,3132,6.582,3133,7.121,3134,3.745,3135,7.492,3136,5.996,3137,7.121,3138,7.121,3139,9.81,3140,4.091,3141,8.849,3142,6.582,3143,9.238,3144,7.121]],["title/injectables/BoardDoAuthorizableService.html",[539,0.921,2518,4.731]],["body/injectables/BoardDoAuthorizableService.html",[0,0.208,3,0.014,4,0.014,5,0.007,7,0.088,8,1.059,12,3.92,26,2.249,27,0.455,29,0.873,30,0.001,31,0.629,32,0.143,33,0.53,34,1.846,35,1.233,36,2.366,39,2.774,40,4.208,95,0.139,99,1,101,0.01,103,0,104,0,177,1.628,226,0.9,227,2.553,236,1.799,262,2.674,349,1.288,379,1.102,437,1.73,528,5.211,529,1.759,539,1.172,541,1.48,565,3.676,603,2.399,604,2.531,608,2.702,639,2.9,651,4.89,652,4.89,708,3.501,1147,1.871,1742,7.072,1804,7.594,1826,4.112,1924,4.321,1925,6.057,1926,4.544,1947,4.707,2487,3.254,2512,5.289,2518,6.021,2522,7.894,2528,6.244,2531,2.853,2532,8.834,2542,5.169,3122,5.375,3129,4.987,3139,7.756,3140,5.107,3145,8.91,3146,5.699,3147,8.736,3148,8.736,3149,4.594,3150,8.736,3151,6.16,3152,6.16,3153,8.736,3154,6.16,3155,8.736,3156,6.16,3157,4.594,3158,5.699,3159,6.16,3160,7.329,3161,5.699,3162,9.39,3163,5.699,3164,6.16,3165,8.082,3166,5.699,3167,6.16,3168,6.16,3169,6.16,3170,6.16,3171,3.254,3172,4.707,3173,6.16,3174,6.775,3175,6.583,3176,8.736,3177,6.16,3178,6.16,3179,6.16,3180,6.16,3181,6.16]],["title/interfaces/BoardDoBuilder.html",[105,0.702,3182,4.14]],["body/interfaces/BoardDoBuilder.html",[3,0.014,4,0.014,5,0.01,7,0.091,8,1.082,27,0.537,29,1.031,30,0.001,31,0.742,32,0.181,33,0.625,35,1.584,95,0.157,101,0.01,103,0,104,0,105,0.65,107,1.492,564,1.985,1665,2.644,1925,6.159,1942,4.932,1944,2.68,2232,3.579,2525,6.096,2548,2.139,2692,6.231,2854,6.364,2861,6.789,2864,6.366,2867,6.789,2870,6.294,2873,6.521,2881,4.738,2882,3.025,2883,3.966,2884,3.831,3171,6.886,3182,5.384,3183,13.21,3184,6.353,3185,8.259,3186,8.259,3187,8.259,3188,8.259,3189,8.259,3190,8.259,3191,8.259,3192,8.259,3193,8.259,3194,8.259,3195,8.79,3196,6.353,3197,8.259,3198,9.064,3199,6.353,3200,8.259,3201,8.555,3202,6.353,3203,8.259,3204,8.79,3205,6.353,3206,8.259,3207,8.79,3208,6.353,3209,8.259,3210,8.79,3211,6.353,3212,8.259,3213,8.79,3214,6.353,3215,8.259,3216,8.79,3217,6.353,3218,8.259,3219,8.79,3220,6.353,3221,12.06,3222,4.065]],["title/classes/BoardDoBuilderImpl.html",[0,0.232,3223,6.012]],["body/classes/BoardDoBuilderImpl.html",[0,0.12,2,0.391,3,0.008,4,0.008,5,0.004,7,0.051,8,0.695,27,0.514,29,0.997,30,0.001,31,0.703,32,0.172,33,0.592,34,1.845,35,1.481,39,0.968,95,0.086,99,0.93,101,0.005,103,0,104,0,112,0.439,131,1.344,226,0.518,236,1.889,349,1.222,376,4.595,377,4.787,379,0.447,437,1.715,479,4.179,480,0.985,486,1.067,519,1.765,529,1.636,603,1.485,662,4.164,696,1.375,849,5.399,988,2.497,1147,1.741,1262,1.236,1271,2.584,1925,5.818,1942,4.942,2512,1.696,2525,4.9,2692,5.15,2723,2.442,2794,8.403,2814,5.303,2854,5.542,2861,5.993,2864,5.116,2867,5.456,2870,5.059,2873,5.241,2882,1.687,3171,7.335,3182,4.354,3185,5.303,3186,5.303,3187,5.303,3188,5.303,3189,5.303,3190,5.303,3191,5.303,3192,5.303,3193,5.303,3194,5.303,3195,6.513,3197,5.303,3198,6.716,3200,5.303,3201,6.339,3203,5.303,3204,6.513,3206,5.303,3207,6.513,3209,5.303,3210,6.513,3212,5.303,3213,6.513,3215,5.303,3216,6.513,3218,5.303,3219,6.513,3223,5.02,3224,11.043,3225,11.665,3226,3.542,3227,6.679,3228,5.732,3229,5.732,3230,5.732,3231,5.732,3232,5.732,3233,5.732,3234,5.02,3235,3.542,3236,5.732,3237,3.542,3238,3.542,3239,3.542,3240,5.732,3241,3.542,3242,3.542,3243,3.542,3244,3.542,3245,3.542,3246,3.542,3247,3.542,3248,5.732,3249,6.808,3250,3.542,3251,5.732,3252,3.542,3253,5.732,3254,3.542,3255,2.238,3256,3.542,3257,3.542,3258,3.542,3259,9.111,3260,3.277,3261,4.275,3262,9.111,3263,10.213,3264,8.296,3265,11.039,3266,11.039,3267,3.542,3268,3.102,3269,4.38,3270,5.02,3271,3.102,3272,5.02,3273,3.102,3274,3.102,3275,2.267,3276,3.542,3277,8.296,3278,2.114,3279,3.542,3280,2.114,3281,3.542,3282,3.542,3283,2.092,3284,3.542,3285,3.542,3286,1.844,3287,3.542,3288,3.102,3289,1.831,3290,3.542,3291,2.16,3292,3.542,3293,3.542,3294,1.996,3295,3.542,3296,3.542,3297,3.542,3298,3.542,3299,5.732,3300,3.542,3301,3.542,3302,3.542,3303,3.542,3304,3.542,3305,3.542,3306,3.542,3307,3.886,3308,2.365,3309,2.238,3310,3.542,3311,4.809,3312,3.542,3313,3.542,3314,5.732,3315,3.542,3316,3.542,3317,3.542,3318,3.542,3319,3.542]],["title/injectables/BoardDoCopyService.html",[539,0.921,3320,5.759]],["body/injectables/BoardDoCopyService.html",[0,0.3,3,0.019,4,0.019,5,0.013,7,0.127,8,1.353,27,0.365,29,0.702,30,0.001,31,0.505,32,0.144,33,0.426,35,1.078,36,2.39,95,0.157,99,1.44,101,0.017,103,0.001,104,0.001,226,1.297,236,1.446,262,2.694,271,3.294,349,0.918,437,1.471,539,1.497,541,2.132,608,2.057,654,2.666,662,3.79,739,4.815,993,4.957,2480,7.559,2512,5.342,2799,6.226,2993,6.968,3025,5.756,3043,5.412,3044,5.001,3145,8.524,3320,9.359,3321,9.77,3322,11.155,3323,12.799,3324,8.876,3325,7.774,3326,7.774,3327,8.876,3328,8.758,3329,7.447,3330,6.344,3331,7.774,3332,8.876,3333,8.876]],["title/injectables/BoardDoRepo.html",[539,0.921,3150,4.815]],["body/injectables/BoardDoRepo.html",[0,0.152,3,0.01,4,0.01,5,0.005,7,0.065,8,0.84,10,2.811,12,3.109,18,3.463,26,2.722,27,0.501,29,0.979,30,0.001,31,0.693,32,0.165,33,0.584,34,1.942,35,1.448,36,2.847,40,3.337,49,1.709,55,2.205,59,2.601,95,0.138,96,1.852,97,1.875,99,0.731,101,0.007,103,0,104,0,120,2.936,173,1.309,177,1.573,226,0.658,236,1.76,262,3.051,349,1.233,379,0.874,381,1.526,437,1.752,479,2.553,529,1.286,539,0.93,541,1.082,556,1.107,565,6.449,603,1.737,604,1.85,608,2.949,1645,5.439,1665,5.155,1739,2.074,1944,2.922,2311,5.389,2323,4.493,2394,6.068,2512,6.274,2528,3.219,2647,2.494,2681,2.415,2794,3.104,3150,4.86,3171,5.008,3201,3.441,3223,3.944,3224,10.846,3225,4.166,3227,4.166,3234,3.944,3307,3.053,3326,6.068,3334,4.166,3335,8.443,3336,5.812,3337,6.409,3338,6.409,3339,6.928,3340,6.928,3341,3.053,3342,9.114,3343,8.443,3344,7.954,3345,4.503,3346,4.134,3347,4.503,3348,4.503,3349,10.751,3350,4.503,3351,8.443,3352,4.503,3353,6.068,3354,4.503,3355,6.409,3356,6.777,3357,4.503,3358,6.928,3359,4.503,3360,4.503,3361,6.928,3362,4.503,3363,6.928,3364,4.503,3365,6.068,3366,4.679,3367,4.503,3368,3.646,3369,4.503,3370,4.166,3371,4.503,3372,3.944,3373,4.503,3374,4.503,3375,4.503,3376,4.503,3377,4.503,3378,3.944,3379,4.503,3380,5.82,3381,6.409,3382,4.503,3383,4.503,3384,4.503,3385,4.503,3386,4.503,3387,6.409,3388,4.503,3389,4.503,3390,4.503,3391,4.503,3392,3.646,3393,4.503,3394,3.944,3395,4.503,3396,4.503,3397,4.503,3398,4.503,3399,4.503,3400,4.503,3401,4.503,3402,4.503,3403,4.503,3404,4.503,3405,4.503,3406,4.503,3407,5.294,3408,4.503]],["title/injectables/BoardDoRule.html",[539,0.921,1760,5.759]],["body/injectables/BoardDoRule.html",[0,0.247,3,0.016,4,0.016,5,0.008,7,0.105,8,1.19,27,0.457,29,0.877,30,0.001,31,0.631,32,0.154,33,0.532,35,1.192,39,2.681,95,0.147,101,0.011,103,0.001,104,0.001,119,2.452,131,4.208,143,2.175,145,3.472,177,1.358,226,1.065,239,3.147,345,2.323,349,1.348,379,0.919,437,1.462,528,3.74,539,1.317,541,1.751,604,2.994,662,3.963,1107,3.969,1147,2.213,1670,6.464,1687,5.022,1688,4.792,1697,7.961,1718,4.394,1735,7.235,1760,8.231,1875,6.362,1879,6.122,1886,4.863,2532,10.227,2534,9.076,3129,5.899,3409,11.866,3410,7.286,3411,6.548,3412,4.94,3413,7.286,3414,7.286,3415,6.452,3416,7.286,3417,4.94,3418,4.94,3419,6.651,3420,5.434,3421,9.81,3422,7.286,3423,7.286,3424,9.81,3425,9.81,3426,7.286]],["title/injectables/BoardDoService.html",[539,0.921,3427,5.119]],["body/injectables/BoardDoService.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,8,1.267,27,0.479,29,0.919,30,0.001,31,0.662,32,0.151,33,0.558,35,1.27,36,2.64,55,2.373,59,2.47,95,0.138,99,1.301,101,0.012,103,0.001,104,0.001,177,1.494,226,1.172,262,2.894,345,2.557,379,1.012,437,1.378,539,1.403,541,1.927,608,3.037,1665,3.338,2487,4.236,2512,6.612,2806,5.066,3145,9.417,3149,5.98,3150,9.193,3366,5.74,3427,7.796,3428,8.018,3429,10.453,3430,7.205,3431,8.018,3432,10.453,3433,8.018,3434,10.453,3435,12.324,3436,9.417,3437,8.018,3438,8.018,3439,8.018,3440,6.727,3441,8.018,3442,8.018,3443,8.018,3444,11.63,3445,8.018,3446,8.018,3447,8.018,3448,8.018,3449,8.018]],["title/entities/BoardElement.html",[154,1.389,2688,4.906]],["body/entities/BoardElement.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,9,4.977,26,2.128,27,0.43,30,0.001,31,0.702,32,0.16,34,1.747,95,0.156,96,2.143,101,0.019,103,0.001,104,0.001,112,0.8,138,1.435,143,1.778,154,2.115,155,2.618,173,2.332,174,3.996,175,3.58,180,1.398,181,2.17,182,2.549,839,3.828,1664,2.998,1717,5.902,1739,4.814,1925,6.238,1944,3.382,2666,9.131,2684,5.563,2685,5.625,2686,5.558,2687,5.004,2688,7.472,2689,11.401,2692,4.236,2693,7.472,2694,7.023,2696,4.867,2739,6.051,3034,10.199,3450,8.018,3451,8.018,3452,7.205,3453,8.018,3454,6.689,3455,7.332,3456,10.453,3457,5.732,3458,5.625,3459,5.98]],["title/classes/BoardElementResponse.html",[0,0.232,3460,5.759]],["body/classes/BoardElementResponse.html",[0,0.271,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,27,0.479,29,0.634,30,0.001,31,0.456,32,0.179,33,0.384,95,0.152,101,0.012,103,0.001,104,0.001,112,0.8,138,1.87,150,1.802,153,2.396,245,2.983,379,1.319,774,4.088,821,4.84,839,3.828,993,5.838,1664,3.908,1942,4.37,1944,5.63,2255,5.231,2395,6.174,2493,6.875,2566,3.58,2686,4.715,2692,6.751,2696,4.867,2768,9.757,2769,9.675,2770,9.675,3460,10.723,3461,5.625,3462,8.018,3463,9.757,3464,9.757,3465,8.018,3466,10.723,3467,10.453,3468,7.418,3469,8.018,3470,7.418,3471,8.018,3472,8.018,3473,4.785]],["title/interfaces/BoardExternalReference.html",[105,0.702,3356,4.906]],["body/interfaces/BoardExternalReference.html",[3,0.022,4,0.022,5,0.011,7,0.144,26,2.719,30,0.001,32,0.18,34,2.232,95,0.119,101,0.019,103,0.001,104,0.001,105,1.027,107,2.357,112,0.921,564,3.136,839,3.118,1924,9.369,1926,4.514,2501,4.835,2841,7.88,3356,8.599,3474,8.79]],["title/classes/BoardLessonResponse.html",[0,0.232,3464,5.759]],["body/classes/BoardLessonResponse.html",[0,0.314,2,0.742,3,0.015,4,0.015,5,0.008,7,0.096,27,0.55,29,0.531,30,0.001,31,0.709,32,0.173,33,0.612,34,2.013,47,0.874,55,2.54,83,3.336,95,0.127,101,0.01,103,0,104,0,112,0.71,119,1.918,138,2.362,148,2.082,149,3.576,150,1.51,245,3.516,247,2.887,249,4.161,376,5.012,377,5.221,379,1.172,404,2.704,406,4.145,408,4.145,774,3.427,1948,7.331,2044,2.609,2692,7.129,2769,10.596,2770,10.596,2779,4.804,2782,6.72,3464,10.101,3475,6.72,3476,7.607,3477,11.138,3478,11.138,3479,10.101,3480,6.72,3481,5.886,3482,6.72,3483,6.72,3484,6.72,3485,6.72,3486,6.72,3487,9.284,3488,6.72,3489,6.72,3490,6.217,3491,6.72,3492,6.72,3493,8.2,3494,4.804,3495,4.804,3496,6.72,3497,6.72,3498,6.72,3499,7.759]],["title/classes/BoardManagementConsole.html",[0,0.232,3500,6.012]],["body/classes/BoardManagementConsole.html",[0,0.271,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,8,1.267,27,0.43,29,0.826,30,0.001,31,0.595,32,0.135,33,0.501,35,0.974,36,2.239,47,0.734,49,3.042,95,0.147,101,0.012,103,0.001,104,0.001,138,1.435,153,2.665,236,1.306,262,2.568,345,2.557,349,0.829,379,1.012,437,1.057,480,2.231,486,2.415,524,4.558,578,4.889,603,1.65,608,1.858,636,4.689,685,5.153,1920,5.937,1944,5.71,2395,4.736,2692,5.522,3291,4.889,3500,9.155,3501,11.63,3502,7.023,3503,9.67,3504,6.727,3505,8.226,3506,11.199,3507,8.018,3508,8.462,3509,9.67,3510,6.492,3511,10.453,3512,8.018,3513,5.527,3514,8.494,3515,7.786,3516,4.785,3517,7.418,3518,6.295,3519,5.274,3520,8.018,3521,8.018,3522,6.727,3523,10.34,3524,8.018,3525,8.018,3526,5.98]],["title/injectables/BoardManagementUc.html",[539,0.921,3506,5.759]],["body/injectables/BoardManagementUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.937,26,2.407,27,0.5,29,0.981,30,0.001,31,0.691,32,0.163,33,0.582,34,0.869,35,1.437,36,2.185,55,2.821,95,0.13,96,1.39,97,2.164,99,0.844,101,0.008,103,0,104,0,131,2.931,143,1.153,145,1.458,226,0.76,262,2.521,345,1.658,349,1.283,379,0.656,437,1.559,474,2.213,479,2.846,480,1.447,486,1.566,519,1.602,539,1.037,541,1.249,556,1.278,579,2.788,603,2.81,608,2.646,708,4.087,826,5.976,849,2.88,1242,2.81,1243,3.471,1271,2.406,1456,3.42,1920,5.501,1924,3.647,1926,2.898,1944,3.258,1947,3.973,2311,5.798,2692,4.08,2804,4.904,2854,4.391,2882,3.678,3171,7.093,3261,3.878,3269,3.973,3275,3.327,3286,4.021,3346,5.499,3366,6.402,3494,6.587,3503,7.146,3504,4.362,3505,6.808,3506,6.48,3508,6.253,3509,7.146,3513,3.584,3527,12.409,3528,4.81,3529,7.724,3530,7.724,3531,7.724,3532,7.724,3533,7.724,3534,7.146,3535,5.2,3536,5.2,3537,7.724,3538,5.2,3539,7.724,3540,5.2,3541,7.724,3542,5.2,3543,7.724,3544,5.2,3545,7.724,3546,9.215,3547,5.2,3548,4.21,3549,7.724,3550,8.257,3551,5.2,3552,5.2,3553,5.2,3554,5.2,3555,5.2,3556,4.554,3557,5.2,3558,5.2,3559,5.2,3560,5.2,3561,5.2,3562,5.2,3563,5.2,3564,5.2,3565,4.21,3566,5.2,3567,5.2,3568,5.2,3569,4.81,3570,5.2,3571,5.2,3572,5.2,3573,4.81,3574,9.215,3575,5.2,3576,5.2,3577,5.2,3578,5.2,3579,5.2,3580,4.554,3581,5.2,3582,5.2,3583,5.2,3584,5.2,3585,5.2]],["title/modules/BoardModule.html",[201,1.848,1829,5.119]],["body/modules/BoardModule.html",[0,0.196,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,99,0.938,101,0.009,103,0,104,0,201,2.889,203,2.102,204,2.254,205,2.318,206,2.308,207,2.299,208,3.624,209,3.718,214,5.521,218,3.346,219,2.272,220,2.219,225,3.319,226,0.845,227,2.397,560,4.027,564,1.807,569,4.134,1231,3.654,1341,1.855,1607,4.313,1726,2.473,1804,7.23,1829,10.855,1912,9.665,1913,10.124,1944,2.44,2396,3.318,2480,3.416,2487,3.055,2493,3.804,2518,9.132,2548,1.948,3006,11.116,3040,4.853,3150,8.318,3320,9.948,3321,5.066,3342,9.6,3344,9.948,3427,8.843,3513,3.986,3586,5.784,3587,5.784,3588,5.784,3589,5.784,3590,9.061,3591,9.309,3592,8.843,3593,7.23,3594,10.402,3595,10.726,3596,10.726,3597,9.6,3598,9.948,3599,5.784,3600,2.873,3601,2.327,3602,3.751,3603,2.91,3604,5.784,3605,4.541,3606,3.921,3607,5.784,3608,4.541]],["title/entities/BoardNode.html",[154,1.389,3171,3.626]],["body/entities/BoardNode.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.161,9,4.26,26,2.404,27,0.486,30,0.001,32,0.171,33,0.429,34,1.874,47,0.883,55,2.409,95,0.15,96,1.703,101,0.014,103,0,104,0,105,0.652,112,0.685,138,2.113,143,1.984,144,3.65,145,3.433,154,1.81,155,2.081,160,5.775,172,3.689,173,1.853,174,3.42,175,2.845,178,2.533,180,1.111,181,1.724,182,2.026,226,0.931,236,1.038,349,1.221,360,5.237,404,3.6,405,4.798,413,1.925,437,1.363,529,1.819,556,2.2,593,3.333,685,2.664,696,4.013,708,3.585,839,2.779,1226,3.07,1271,3.493,1664,3.345,1665,2.653,1944,2.688,2512,4.285,2784,3.017,2804,5.967,3160,5.347,3171,5.461,3182,5.396,3249,6.915,3307,6.066,3366,4.416,3380,4.392,3457,4.555,3609,5.896,3610,7.711,3611,6.373,3612,5.896,3613,6.373,3614,6.373,3615,6.373,3616,6.373,3617,6.373,3618,4.87,3619,8.277,3620,5.518,3621,9.565,3622,8.277,3623,5.581,3624,5.003,3625,5.003,3626,5.896,3627,5.896,3628,5.896,3629,4.47,3630,4.47,3631,4.078,3632,4.762,3633,5.896,3634,5.896,3635,7.836,3636,5.896,3637,5.896,3638,5.896,3639,5.896,3640,5.896,3641,3.977,3642,5.896,3643,5.896]],["title/interfaces/BoardNodeProps.html",[105,0.702,3620,4.233]],["body/interfaces/BoardNodeProps.html",[0,0.223,3,0.014,4,0.014,5,0.007,7,0.163,9,4.356,26,2.583,30,0.001,32,0.164,33,0.62,34,2.121,47,0.891,55,2.438,95,0.151,96,1.758,101,0.014,103,0,104,0,105,0.673,107,1.545,112,0.7,143,1.459,144,3.701,145,2.948,154,1.851,172,3.733,173,1.913,174,3.497,175,2.937,178,2.615,180,1.147,181,1.78,182,2.091,226,0.961,236,1.072,349,1.236,360,3.332,404,3.681,405,4.906,413,1.987,437,1.387,529,1.878,556,2.249,593,3.408,685,2.751,696,4.083,708,3.666,839,2.842,1226,3.169,1271,3.722,1664,3.42,1665,2.739,1944,2.775,2512,4.381,2784,3.115,2804,6.359,3160,5.52,3171,6.005,3182,5.517,3249,6.487,3307,6.202,3366,5.897,3380,4.534,3457,4.703,3609,6.086,3610,4.906,3618,5.027,3619,8.463,3620,6.487,3621,9.73,3622,8.463,3623,5.762,3624,5.165,3625,5.165,3626,6.086,3627,6.086,3628,6.086,3629,4.615,3630,4.615,3631,4.21,3632,4.844,3633,6.086,3634,6.086,3635,8.012,3636,6.086,3637,6.086,3638,6.086,3639,6.086,3640,6.086,3641,4.106,3642,6.086,3643,6.086]],["title/injectables/BoardNodeRepo.html",[539,0.921,3342,5.557]],["body/injectables/BoardNodeRepo.html",[0,0.218,3,0.014,4,0.014,5,0.007,7,0.092,8,1.092,12,4.042,26,2.292,27,0.464,29,0.89,30,0.001,31,0.641,32,0.146,33,0.54,34,1.737,35,1.263,36,2.631,40,4.339,55,2.12,59,1.981,95,0.124,96,1.719,97,2.678,99,1.044,101,0.01,103,0,104,0,154,2.398,177,1.199,226,0.94,262,2.887,345,2.051,349,1.304,358,2.872,360,4.562,379,0.812,437,1.724,539,1.209,541,1.546,556,1.582,608,2.408,696,2.497,739,3.887,766,3.593,767,7.556,975,3.136,988,2.803,1726,2.751,1729,4.064,2311,6.4,2647,5.755,3171,6.906,3224,10.379,3234,10.379,3307,4.362,3341,4.362,3342,7.291,3346,5.374,3349,10.963,3381,8.332,3610,4.798,3644,6.433,3645,9.006,3646,9.006,3647,6.433,3648,6.433,3649,9.006,3650,6.433,3651,9.006,3652,6.433,3653,6.433,3654,5.952,3655,6.433,3656,9.006,3657,8.332,3658,10.392,3659,5.208,3660,9.006,3661,9.006,3662,6.433,3663,6.433,3664,5.634,3665,6.433,3666,6.433,3667,9.006,3668,6.433,3669,6.433,3670,6.433,3671,4.231,3672,6.433,3673,6.433,3674,6.433,3675,6.433,3676,5.397,3677,6.433,3678,6.433,3679,6.433,3680,6.433,3681,6.433]],["title/injectables/BoardRepo.html",[539,0.921,3003,5.119]],["body/injectables/BoardRepo.html",[0,0.196,3,0.013,4,0.013,5,0.006,7,0.083,8,1.012,10,3.388,12,3.747,18,4.174,26,2.722,27,0.525,29,0.989,30,0.001,31,0.712,32,0.162,33,0.6,34,1.396,35,1.521,36,2.773,40,4.023,95,0.117,99,0.938,101,0.009,103,0,104,0,154,1.17,155,2.726,180,1.456,226,0.845,236,0.942,262,3.057,349,1.226,382,3.206,437,1.65,479,4.831,539,1.121,541,1.39,603,2.623,604,4.027,608,3.07,679,7.013,685,3.491,686,3.825,687,4.837,711,3.451,712,3.488,713,3.451,714,3.488,716,3.451,717,3.488,718,3.102,849,3.203,1218,2.186,1920,5.482,1926,4.027,1944,5.816,2668,3.654,2691,6.38,2695,6.76,2697,6.76,2739,4.443,3003,6.227,3682,5.784,3683,8.35,3684,8.35,3685,8.35,3686,8.35,3687,8.35,3688,5.784,3689,8.35,3690,5.784,3691,5.784,3692,8.35,3693,5.784,3694,8.35,3695,5.784,3696,5.784,3697,3.986,3698,5.784,3699,8.35,3700,5.784,3701,5.784,3702,5.066,3703,5.784,3704,5.784,3705,5.784,3706,5.784,3707,5.784,3708,9.8,3709,9.066,3710,5.784,3711,5.784,3712,5.784,3713,5.784,3714,5.784]],["title/classes/BoardResponse.html",[0,0.232,2964,5.759]],["body/classes/BoardResponse.html",[0,0.281,2,0.918,3,0.018,4,0.018,5,0.009,7,0.119,27,0.532,29,0.657,30,0.001,31,0.473,32,0.171,33,0.567,34,2.161,47,0.877,95,0.149,101,0.013,103,0.001,104,0.001,112,0.819,138,2.236,150,1.868,245,3.394,247,3.571,253,4.103,379,1.35,404,3.345,556,2.044,774,4.239,819,4.183,1271,4.027,2779,5.942,2782,6.76,2784,3.936,2917,5.468,2918,5.738,2919,5.738,2964,10.846,2965,10.115,3261,9.641,3715,8.313,3716,7.714,3717,8.313,3718,8.313,3719,8.313,3720,6.919,3721,8.313,3722,8.313,3723,8.313,3724,5.549,3725,6.975,3726,5.549]],["title/classes/BoardResponseMapper.html",[0,0.232,2968,6.012]],["body/classes/BoardResponseMapper.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,8,1.334,27,0.358,29,0.687,30,0.001,31,0.494,32,0.142,33,0.417,34,1.452,35,1.055,95,0.151,99,1.409,100,2.953,101,0.013,103,0.001,104,0.001,226,1.269,236,1.968,349,1.138,376,3.616,413,3.648,437,1.145,521,3.439,529,2.48,604,3.569,739,4.75,782,5.183,783,6.146,1271,2.706,1284,4.938,1925,7.578,1944,3.664,2340,5.239,2692,6.708,2806,5.488,2964,10.654,2968,9.638,2969,7.288,2990,8.036,3081,6.209,3261,6.478,3573,8.036,3716,5.183,3720,6.435,3727,11.004,3728,10.181,3729,7.608,3730,8.409,3731,5.798,3732,7.608,3733,8.686,3734,8.686,3735,8.686,3736,7.608,3737,6.209,3738,8.686,3739,8.686]],["title/controllers/BoardSubmissionController.html",[259,2.624,2762,6.012]],["body/controllers/BoardSubmissionController.html",[0,0.174,3,0.011,4,0.011,5,0.006,7,0.074,8,0.93,27,0.377,29,0.725,30,0.001,31,0.522,32,0.179,33,0.44,35,1.114,36,2.175,95,0.15,100,1.752,101,0.008,103,0,104,0,138,1.64,150,1.158,177,1.708,223,2.145,226,0.753,236,1.25,259,1.97,261,2.468,262,2.733,270,6.181,278,5.202,282,7.103,287,7.486,290,7.408,294,6.434,319,3.251,324,4.643,333,4.323,334,3.342,335,6.124,336,8.08,337,2.683,338,2.743,340,2.497,343,2.764,346,5.47,347,4.614,349,0.793,379,0.65,437,1.501,603,1.886,608,2.124,631,3.912,685,3.208,824,3.602,827,4.443,1266,6.885,1942,3.832,1944,2.174,2530,6.06,2681,4.916,2753,7.196,2755,7.421,2756,7.691,2762,6.72,2764,2.44,2765,4.514,2766,4.768,2767,4.768,2883,5.238,2884,3.108,2933,6.687,2935,5.722,2937,7.004,2938,5.863,2941,7.968,2943,4.172,2956,9.256,2958,4.532,2961,3.684,2962,2.904,2963,2.702,2970,4.172,2980,4.172,2981,4.172,3122,3.312,3222,4.91,3309,4.848,3366,3.787,3740,10.155,3741,5.154,3742,4.362,3743,7.691,3744,7.691,3745,8.48,3746,4.768,3747,10.325,3748,8.52,3749,5.154,3750,5.154,3751,5.485,3752,4.514,3753,5.154,3754,5.154,3755,5.154,3756,8.894,3757,5.154,3758,5.154,3759,5.154,3760,5.154,3761,5.154,3762,8.894,3763,5.154,3764,5.154,3765,5.154,3766,3.938,3767,3.216,3768,6.437,3769,5.154,3770,5.154,3771,5.485,3772,3.684,3773,3.938,3774,4.324,3775,5.154,3776,5.154,3777,4.514,3778,5.154,3779,4.532,3780,5.154,3781,4.768,3782,5.154,3783,5.154,3784,5.154,3785,7.673,3786,4.768,3787,5.154,3788,3.216,3789,4.679,3790,4.172,3791,4.172,3792,5.154,3793,5.154,3794,4.768]],["title/classes/BoardTaskResponse.html",[0,0.232,3463,5.759]],["body/classes/BoardTaskResponse.html",[0,0.227,2,0.742,3,0.015,4,0.015,5,0.008,7,0.096,27,0.556,29,0.531,30,0.001,31,0.709,32,0.175,33,0.647,34,2.013,47,0.938,83,3.782,95,0.127,101,0.01,103,0,104,0,112,0.71,138,2.391,149,5.085,150,1.51,153,2.438,245,3.427,247,2.887,347,4.344,376,5.012,377,5.221,379,1.172,404,2.704,406,4.145,408,4.145,774,3.427,1944,2.835,1948,7.331,1986,3.892,2044,2.609,2686,3.031,2692,7.19,2769,10.686,2770,10.686,2779,4.804,2782,7.248,3289,5.499,3463,10.101,3481,8.131,3795,6.72,3796,6.898,3797,6.638,3798,6.72,3799,6.72,3800,6.72,3801,6.72,3802,6.72,3803,6.72,3804,6.72,3805,6.72,3806,6.72,3807,8.924,3808,6.72,3809,6.72,3810,5.276]],["title/classes/BoardTaskStatusMapper.html",[0,0.232,3811,6.012]],["body/classes/BoardTaskStatusMapper.html",[0,0.331,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,8,1.437,27,0.403,29,0.774,30,0.001,31,0.558,32,0.127,33,0.47,35,1.19,95,0.141,99,1.589,100,4.03,101,0.015,103,0.001,104,0.001,236,1.595,347,3.534,349,1.013,413,3.85,437,1.291,783,6.621,790,4.928,3807,10.695,3811,10.382,3812,11.854,3813,9.795,3814,10.382,3815,8.842,3816,9.795,3817,9.795]],["title/classes/BoardTaskStatusResponse.html",[0,0.232,3807,5.759]],["body/classes/BoardTaskStatusResponse.html",[0,0.261,2,0.852,3,0.017,4,0.017,5,0.009,7,0.111,27,0.544,29,0.61,30,0.001,31,0.439,32,0.171,33,0.37,55,2.646,95,0.092,101,0.012,103,0.001,104,0.001,112,0.78,119,2.679,138,2.32,150,1.733,245,3.589,379,1.286,774,3.933,2686,6.054,2692,7.091,2769,10.539,2770,10.539,3807,10.59,3818,7.137,3819,8.558,3820,8.854,3821,8.302,3822,8.302,3823,9.023,3824,8.558,3825,7.137,3826,7.714,3827,7.714,3828,7.714,3829,7.714,3830,7.714,3831,7.714,3832,6.472,3833,7.137,3834,6.472,3835,6.245,3836,7.137,3837,7.137]],["title/injectables/BoardUc.html",[539,0.921,2752,5.557]],["body/injectables/BoardUc.html",[0,0.153,3,0.01,4,0.01,5,0.005,7,0.065,8,0.843,26,2.91,27,0.502,29,0.963,30,0.001,31,0.694,32,0.158,33,0.584,35,1.45,36,2.759,39,3.583,47,0.594,55,1.728,59,1.393,95,0.139,99,0.734,101,0.007,103,0,104,0,177,2.017,180,1.212,226,0.661,262,3.022,349,0.876,379,0.877,382,2.529,437,1.534,448,4.722,539,0.933,541,1.087,560,1.859,603,1.955,608,3.082,639,2.129,1107,6.754,1271,3.195,1341,1.451,1687,7.068,1688,4.572,1758,6.001,1826,3.019,1861,4.969,1913,8.616,1925,2.699,1944,5.23,2312,3.509,2313,4.33,2512,5.185,2513,8.273,2515,5.458,2516,5.458,2517,3.3,2518,8.021,2520,3.373,2521,5.071,2522,4.969,2524,3.551,2525,5.612,2527,3.551,2528,4.969,2531,2.094,2544,8.409,2692,5.417,2752,5.628,2926,7.833,2927,7.833,2930,7.833,3157,3.373,3321,3.962,3356,3.233,3436,7.836,3523,11.285,3594,8.852,3595,9.128,3838,4.523,3839,8.467,3840,8.467,3841,8.791,3842,4.523,3843,6.952,3844,4.523,3845,6.952,3846,4.523,3847,6.952,3848,4.523,3849,6.952,3850,4.523,3851,4.523,3852,7.972,3853,9.502,3854,4.523,3855,6.952,3856,4.523,3857,3.662,3858,3.662,3859,3.662,3860,3.3,3861,4.523,3862,3.662,3863,3.662,3864,4.523,3865,7.898,3866,10.255,3867,4.523,3868,4.523,3869,4.523,3870,4.523,3871,4.185,3872,7.833,3873,4.523,3874,4.523]],["title/classes/BoardUrlParams.html",[0,0.232,2932,6.012]],["body/classes/BoardUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,1944,5.03,2932,10.443,3523,10.74,3875,9.89,3876,5.841,3877,9.89]],["title/classes/BruteForceError.html",[0,0.232,1613,6.012]],["body/classes/BruteForceError.html",[0,0.257,2,0.838,3,0.017,4,0.017,5,0.009,7,0.109,8,1.222,27,0.551,29,0.6,30,0.001,31,0.432,32,0.178,33,0.543,35,0.922,47,0.906,55,2.633,95,0.12,101,0.012,103,0.001,104,0.001,112,0.771,138,2.246,154,1.535,177,2.601,180,1.757,182,2.411,226,1.108,292,3.842,340,3.676,347,2.737,379,0.957,382,3.855,821,5.584,824,2.691,951,5.298,988,3.305,990,4.126,1025,5.213,1269,8.349,1270,6.493,1271,3.757,1272,7.242,1276,4.919,1277,4.236,1278,4.919,1279,4.919,1280,4.919,1281,4.919,1282,4.919,1283,4.574,1284,4.312,1290,4.792,1613,8.826,1638,11.939,3878,11.317,3879,7.585,3880,10.078,3881,10.078,3882,7.017,3883,7.585,3884,7.585]],["title/injectables/BsonConverter.html",[539,0.921,3885,5.759]],["body/injectables/BsonConverter.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,8,1.251,27,0.425,29,0.816,30,0.001,31,0.587,32,0.134,33,0.495,35,1.486,95,0.123,101,0.012,103,0.001,104,0.001,153,2.365,226,1.149,333,4.393,349,1.067,437,1.361,524,4.47,539,1.385,541,1.889,573,9.138,1218,4.928,1503,9.833,2236,9.833,3885,8.659,3886,7.863,3887,9.548,3888,9.548,3889,10.32,3890,7.863,3891,10.32,3892,11.14,3893,9.603,3894,9.617,3895,9.122,3896,11.316,3897,12.231,3898,10.32,3899,7.863,3900,10.32,3901,7.863,3902,7.863,3903,9.039,3904,7.863]],["title/classes/Builder.html",[0,0.232,2063,4.654]],["body/classes/Builder.html",[0,0.323,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,8,1.415,27,0.519,29,0.754,30,0.001,31,0.543,32,0.151,33,0.458,35,1.159,101,0.015,103,0.001,104,0.001,112,0.893,177,2.348,349,0.987,379,1.204,448,5.113,454,6.08,479,5.113,1998,6.835,2063,7.91,2064,10.574,3905,9.542,3906,11.667,3907,11.667,3908,11.667,3909,9.542,3910,11.667]],["title/classes/BusinessError.html",[0,0.232,1269,4.233]],["body/classes/BusinessError.html",[0,0.342,2,0.673,3,0.013,4,0.013,5,0.007,7,0.087,8,1.051,9,4.805,27,0.511,29,0.482,30,0.001,31,0.347,32,0.177,33,0.484,35,0.741,47,0.847,55,1.769,59,2.671,95,0.131,101,0.009,103,0,104,0,112,0.664,133,2.113,138,2.078,149,3.34,150,1.37,153,2.766,177,2.548,180,1.511,182,1.938,226,0.891,236,1.644,245,2.978,347,3.129,349,0.63,379,1.094,437,0.804,448,3.518,556,1.499,590,3.76,604,2.505,774,3.108,821,5.09,824,3.076,951,6.203,988,5.06,990,4.418,1025,4.778,1218,2.304,1269,5.347,1270,7.408,1271,3.953,1272,7.034,1277,3.405,1283,7.488,1284,6.248,1289,3.76,1290,6.375,1297,7.229,1412,7.594,1568,3.901,2000,4.974,2088,3.953,2566,3.871,2784,4.105,3601,3.489,3730,8.399,3911,6.096,3912,7.019,3913,7.019,3914,5.976,3915,6.625,3916,5.549,3917,9.627,3918,9.748,3919,8.671,3920,6.096,3921,6.096,3922,6.096,3923,6.096,3924,6.096,3925,6.096,3926,6.096,3927,5.339,3928,5.639,3929,5.639,3930,6.625,3931,8.021,3932,8.671,3933,6.096,3934,6.096]],["title/injectables/CacheService.html",[539,0.921,3935,5.759]],["body/injectables/CacheService.html",[0,0.336,3,0.022,4,0.022,5,0.011,7,0.142,8,1.448,27,0.408,30,0.001,35,1.205,95,0.153,101,0.015,103,0.001,104,0.001,226,1.449,349,1.025,539,1.603,541,2.382,1403,7.394,2079,4.383,2080,4.893,2081,4.721,3935,10.019,3936,9.914,3937,13.301,3938,9.914,3939,11.223,3940,5.586,3941,9.914,3942,7.576,3943,9.172,3944,8.683,3945,9.914]],["title/modules/CacheWrapperModule.html",[201,1.848,1418,5.557]],["body/modules/CacheWrapperModule.html",[0,0.269,3,0.017,4,0.017,5,0.009,30,0.001,47,0.729,95,0.161,101,0.012,103,0.001,104,0.001,105,0.813,201,3.116,203,2.885,204,3.094,205,3.182,206,3.169,207,3.156,208,4.281,209,4.392,214,4.836,218,4.162,219,3.119,220,3.047,225,4.128,226,1.16,349,1.074,437,1.526,637,5.676,639,3.738,685,4.342,990,2.717,1262,2.77,1341,2.547,1418,10.935,1880,8.408,2079,3.51,2080,3.919,2081,3.781,2312,3.291,2313,5.275,3601,3.195,3935,11.888,3939,6.954,3940,4.473,3942,8.845,3944,6.954,3946,7.94,3947,7.94,3948,7.94,3949,7.94,3950,10.386,3951,10.386,3952,6.954,3953,6.234,3954,8.154,3955,8.714,3956,7.94,3957,7.94,3958,7.94,3959,9.609,3960,7.346,3961,7.94,3962,6.954,3963,7.346,3964,6.954,3965,6.954,3966,7.346]],["title/classes/CalendarEventDto.html",[0,0.232,3967,5.759]],["body/classes/CalendarEventDto.html",[0,0.331,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.524,29,0.773,30,0.001,31,0.556,32,0.165,33,0.469,47,0.929,100,3.322,101,0.015,103,0.001,104,0.001,112,0.906,379,1.233,1271,3.967,2784,4.626,3967,11.374,3968,13.236,3969,9.771,3970,8.777,3971,9.931,3972,11.837,3973,9.771,3974,9.771,3975,9.04,3976,9.04]],["title/injectables/CalendarMapper.html",[539,0.921,3977,5.759]],["body/injectables/CalendarMapper.html",[0,0.322,3,0.021,4,0.021,5,0.011,7,0.137,8,1.413,27,0.392,29,0.753,30,0.001,31,0.542,32,0.123,33,0.456,35,1.157,95,0.15,101,0.015,103,0.001,104,0.001,226,1.391,236,1.551,349,0.984,416,9.432,437,1.255,539,1.564,541,2.287,1271,2.966,3967,11.006,3970,8.03,3977,9.775,3978,9.52,3979,11.651,3980,11.006,3981,9.52,3982,7.707,3983,9.52,3984,8.807,3985,8.807,3986,8.807,3987,7.707,3988,9.52,3989,9.52,3990,7.274,3991,9.52]],["title/modules/CalendarModule.html",[201,1.848,3992,5.759]],["body/modules/CalendarModule.html",[0,0.316,3,0.02,4,0.02,5,0.01,30,0.001,95,0.155,101,0.014,103,0.001,104,0.001,201,3.359,203,3.388,204,3.633,205,3.736,206,3.721,207,3.706,208,4.613,209,4.733,218,4.609,219,3.662,220,3.578,225,3.706,226,1.362,964,5.399,3977,11.431,3992,11.794,3993,9.323,3994,9.323,3995,9.323,3996,12.51,3997,9.323,3998,7.678,3999,9.323,4000,8.625]],["title/injectables/CalendarService.html",[539,0.921,3996,6.012]],["body/injectables/CalendarService.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.094,8,1.106,26,2.58,27,0.491,29,0.829,30,0.001,31,0.597,32,0.154,33,0.503,34,1.094,35,1.108,36,1.953,39,2.492,47,0.867,55,2.14,95,0.16,99,1.062,101,0.01,103,0,104,0,112,0.698,137,4.086,177,2.408,226,0.957,236,1.709,262,2.316,271,3.384,345,2.087,349,0.943,360,5.313,379,0.826,437,1.202,529,1.869,539,1.224,541,1.573,593,2.439,603,2.735,963,8.663,964,3.792,966,4.306,1074,5.003,1079,3.867,1226,4.392,1227,4.68,1228,5.14,1262,3.958,1504,5.734,1694,4.038,1970,6.517,1971,5.282,1982,4.593,2079,2.894,2080,3.232,2081,3.117,2195,5.963,2214,9.188,2215,11.034,2244,8.016,2245,7.649,2260,6.057,2268,6.057,2269,6.057,2280,6.057,2291,6.057,2292,6.057,2294,6.057,2567,4.68,3940,3.689,3967,5.493,3977,10.63,3980,5.493,3984,6.057,3985,6.057,3986,6.057,3996,7.985,4000,6.057,4001,6.547,4002,10.49,4003,9.118,4004,6.057,4005,9.118,4006,9.118,4007,11.344,4008,6.547,4009,9.184,4010,6.547,4011,6.547,4012,6.547,4013,6.547,4014,9.118,4015,6.547,4016,6.547,4017,6.547,4018,4.883,4019,6.547,4020,6.547,4021,6.547]],["title/classes/Card.html",[0,0.232,2854,3.902]],["body/classes/Card.html",[0,0.197,2,0.644,3,0.013,4,0.013,5,0.009,7,0.084,8,1.018,27,0.546,29,0.991,30,0.001,31,0.714,32,0.168,33,0.601,35,1.552,36,1.798,47,0.801,55,2.5,59,1.794,95,0.146,101,0.015,103,0,104,0,105,0.596,112,0.642,119,2.033,137,5.238,180,1.715,262,2.172,349,1.113,381,2.844,382,3.746,437,0.768,448,3.405,474,2.48,479,3.093,517,3.173,519,3.661,564,1.82,604,4.884,608,1.35,662,2.607,686,3.845,1218,2.202,1271,3.703,1664,2.178,1665,5.22,1668,6.216,1739,3.866,1944,2.457,2232,3.282,2512,6.21,2548,1.962,2786,7.788,2789,5.999,2790,5.999,2791,5.999,2792,5.602,2793,5.999,2795,3.778,2796,5.176,2797,6.359,2799,5.888,2800,5.176,2801,6.235,2803,4.086,2804,4.467,2806,6.216,2807,4.086,2809,5.999,2811,4.086,2813,3.778,2840,5.118,2854,6.12,2861,5.52,2864,5.176,2867,5.52,2870,5.118,2873,5.303,2880,8.324,2881,4.344,2882,2.774,2883,2.588,2884,3.513,3275,7.607,4022,5.389,4023,5.825,4024,5.825,4025,5.389,4026,4.249,4027,4.249,4028,4.249,4029,4.887,4030,5.825,4031,5.102,4032,5.825,4033,5.825,4034,5.825,4035,5.825,4036,5.825,4037,3.68,4038,5.785,4039,4.573,4040,7.765,4041,5.389,4042,5.118,4043,5.389,4044,5.389,4045,5.102,4046,5.389]],["title/controllers/CardController.html",[259,2.624,2760,6.012]],["body/controllers/CardController.html",[0,0.129,3,0.008,4,0.008,5,0.004,7,0.055,8,0.737,10,3.077,27,0.415,29,0.797,30,0.001,31,0.574,32,0.182,33,0.483,35,1.224,36,2.583,95,0.131,100,1.296,101,0.006,103,0,104,0,138,1.803,150,0.856,177,1.133,223,1.586,226,0.557,236,1.235,259,1.457,261,1.825,262,2.849,270,6.377,278,4.121,282,7.525,284,1.151,287,7.931,290,8.463,294,6.729,310,2.636,319,2.576,324,4.788,333,4.024,334,2.472,335,6.376,336,8.346,337,1.984,338,2.028,340,1.847,343,2.044,345,1.215,346,6.012,347,4.803,349,0.629,437,1.394,565,2.274,603,0.784,608,2.335,631,1.943,685,2.542,739,2.624,824,2.156,1266,7.168,1271,1.894,1942,3.17,2511,3.085,2530,6.309,2681,5.403,2753,5.953,2754,6.139,2760,5.324,2764,1.804,2854,5.728,2933,7.35,2935,4.534,2937,7.699,2938,7.224,2941,7.63,2943,7.006,2956,9.612,2957,7.006,2958,5.111,2961,2.724,2962,2.147,2963,1.998,2970,3.085,2980,7.006,2981,7.006,2984,3.338,3269,6.612,3275,3.89,3309,6.936,3430,4.19,3569,3.526,3743,6.362,3746,3.526,3748,7.26,3751,4.345,3752,3.338,3766,4.645,3767,2.378,3771,5.42,3772,5.42,3773,2.912,3788,2.378,3789,5.765,3790,3.085,3791,3.085,4047,3.811,4048,5.624,4049,7.583,4050,6.641,4051,7.015,4052,7.015,4053,11.107,4054,3.811,4055,5.794,4056,3.811,4057,3.811,4058,3.811,4059,3.811,4060,8.653,4061,3.811,4062,3.811,4063,3.811,4064,7.583,4065,7.579,4066,3.811,4067,3.811,4068,3.811,4069,3.811,4070,3.811,4071,7.579,4072,3.811,4073,3.811,4074,3.811,4075,7.579,4076,3.811,4077,3.811,4078,3.811,4079,3.811,4080,3.811,4081,2.408,4082,6.641,4083,4.645,4084,4.645,4085,3.811,4086,3.811,4087,3.198,4088,3.811,4089,5.324,4090,3.811,4091,6.079,4092,3.811,4093,6.079,4094,3.526,4095,3.811,4096,3.811,4097,9.454,4098,3.811,4099,3.338,4100,3.811,4101,3.811,4102,3.811,4103,3.811,4104,3.811,4105,3.811,4106,3.811,4107,3.811,4108,3.338,4109,3.338,4110,3.338,4111,3.811,4112,4.645,4113,3.811,4114,3.338]],["title/classes/CardIdsParams.html",[0,0.232,4065,6.012]],["body/classes/CardIdsParams.html",[0,0.399,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,32,0.164,47,0.95,95,0.14,101,0.015,103,0.001,104,0.001,112,0.902,138,1.736,143,2.151,148,3.005,150,2.18,153,2.223,245,3.023,556,2.385,565,8.073,808,4.666,1732,6.18,2406,5.418,4065,10.322,4115,10.903,4116,9.701,4117,9.701,4118,7.854,4119,6.961,4120,9.701]],["title/classes/CardListResponse.html",[0,0.232,4082,6.012]],["body/classes/CardListResponse.html",[0,0.326,2,1.064,3,0.021,4,0.021,5,0.011,7,0.138,27,0.483,29,0.762,30,0.001,31,0.548,32,0.164,33,0.462,95,0.14,101,0.015,103,0.001,104,0.001,112,0.898,138,1.724,150,2.164,245,3.01,284,4.078,379,1.481,556,2.368,774,4.911,814,6.757,819,4.847,834,5.247,4082,11.826,4115,11.708,4121,9.632,4122,10.664,4123,9.632,4124,9.632]],["title/entities/CardNode.html",[154,1.389,3195,5.389]],["body/entities/CardNode.html",[0,0.303,3,0.02,4,0.02,5,0.01,7,0.128,27,0.369,30,0.001,32,0.145,55,2.499,95,0.157,96,2.393,101,0.017,103,0.001,104,0.001,105,0.916,112,0.858,138,1.602,154,2.27,155,2.924,172,3.827,173,2.604,180,1.955,181,2.423,349,0.926,403,5.001,437,1.181,1664,3.348,1665,4.669,2565,5.09,2566,3.998,2854,6.376,3171,5.925,3182,6.765,3195,8.806,3249,5.522,3268,9.824,3275,8.216,3307,6.07,3417,6.07,3618,6.842,3620,6.918,3641,5.588,4125,10.377,4126,5.73,4127,8.284,4128,5.73,4129,9.824,4130,7.512,4131,8.284,4132,8.284]],["title/interfaces/CardNodeProps.html",[105,0.702,4129,6.012]],["body/interfaces/CardNodeProps.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.146,55,2.624,95,0.158,96,2.404,101,0.017,103,0.001,104,0.001,105,0.92,107,2.112,112,0.861,154,2.276,172,3.514,173,2.615,180,2.139,181,2.434,349,0.93,403,5.023,437,1.186,1664,3.362,1665,4.682,2565,5.112,2566,4.016,2854,6.394,3171,5.941,3182,6.784,3195,7.061,3249,5.547,3268,9.851,3275,8.472,3307,6.097,3417,6.097,3618,6.872,3620,7.569,3641,5.613,4125,8.32,4126,5.755,4128,5.755,4129,10.749,4130,7.545,4131,8.32,4132,8.32]],["title/interfaces/CardProps.html",[105,0.702,4045,6.012]],["body/interfaces/CardProps.html",[0,0.259,3,0.017,4,0.017,5,0.011,7,0.11,30,0.001,32,0.147,36,1.637,47,0.884,55,2.568,95,0.157,101,0.018,103,0.001,104,0.001,105,0.782,107,1.795,112,0.775,119,1.579,180,1.98,262,1.687,349,1.251,437,1.008,474,3.253,517,3.828,519,2.354,564,2.387,604,5.314,608,1.771,1218,2.889,1271,4.029,1664,2.857,1665,5.238,1739,4.664,1944,3.224,2232,4.305,2512,4.85,2548,2.573,2786,6.175,2796,4.713,2797,5.982,2800,4.713,2801,5.865,2809,5.462,2840,6.926,2854,6.457,2861,6.661,2864,6.246,2867,6.661,2870,6.175,2873,6.399,2880,9.179,2881,5.699,2882,3.639,2883,3.395,2884,4.609,3275,8.276,4022,7.07,4037,4.828,4038,6.98,4039,6,4040,9.369,4041,7.07,4042,6.175,4043,7.07,4044,7.07,4045,8.87,4046,7.07]],["title/classes/CardResponse.html",[0,0.232,4122,5.557]],["body/classes/CardResponse.html",[0,0.241,2,0.785,3,0.016,4,0.016,5,0.008,7,0.102,27,0.533,29,0.562,30,0.001,31,0.405,32,0.171,33,0.525,34,2.053,47,0.825,55,1.968,95,0.146,101,0.011,103,0.001,104,0.001,112,0.738,138,2.266,149,3.716,150,1.597,245,3.426,247,3.053,253,3.508,379,1.217,404,2.86,556,1.747,774,3.624,819,3.576,827,5.587,849,6.8,1271,3.825,1732,5.059,1942,2.972,2511,8.866,2782,6.095,2784,3.365,2917,4.675,2918,5.173,2919,5.173,3275,7.858,3481,6.225,3716,7.328,3720,6.404,3724,4.744,3726,4.744,3766,7.372,3767,4.436,3771,6.896,3772,6.896,3788,4.436,3789,7.488,3790,5.754,3791,5.754,4055,7.372,4083,7.372,4084,7.372,4108,6.225,4109,6.225,4110,6.225,4122,9.941,4130,5.963,4133,7.108,4134,11.36,4135,7.108,4136,7.108,4137,7.108,4138,7.108,4139,7.108,4140,7.108,4141,9.188,4142,7.108,4143,6.225,4144,7.108,4145,6.225,4146,7.108]],["title/classes/CardResponseMapper.html",[0,0.232,4087,5.759]],["body/classes/CardResponseMapper.html",[0,0.308,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,8,1.375,27,0.375,29,0.721,30,0.001,31,0.519,32,0.118,33,0.437,34,1.524,35,1.107,95,0.147,99,1.479,100,3.098,101,0.014,103,0.001,104,0.001,236,2.011,349,0.943,376,3.794,413,3.729,437,1.202,739,4.895,782,5.439,783,6.335,788,6.797,849,5.047,1271,2.839,1942,3.811,2255,3.484,2854,7.555,3275,5.833,3716,5.439,3720,6.632,3737,6.515,3773,6.964,4087,9.516,4114,7.983,4122,10.46,4134,8.432,4141,9.516,4147,11.342,4148,11.342,4149,8.432,4150,7.983,4151,7.983,4152,7.647,4153,9.114,4154,9.114,4155,9.114]],["title/injectables/CardService.html",[539,0.921,3594,5.389]],["body/injectables/CardService.html",[0,0.178,3,0.012,4,0.012,5,0.006,7,0.076,8,0.946,10,3.167,12,3.503,26,2.418,27,0.513,29,0.985,30,0.001,31,0.709,32,0.161,33,0.597,34,0.882,35,1.482,36,2.883,47,0.652,49,2.001,55,2.342,59,2.404,83,2.27,95,0.137,99,0.856,101,0.008,103,0,104,0,177,1.731,226,0.771,236,1.786,262,3.077,349,0.961,376,2.195,377,2.287,379,0.985,437,1.445,524,2.998,529,1.506,539,1.048,541,1.267,565,3.147,603,2.362,604,2.167,608,2.979,685,3.263,1271,3.415,1912,8.664,1944,2.225,2255,2.016,2487,2.786,2681,2.828,2692,6.274,2794,3.635,2854,8.005,3149,3.933,3150,8.052,3269,5.964,3275,7.015,3336,6.549,3366,5.666,3427,8.858,3430,5.38,3436,7.848,3440,4.425,3594,6.128,4089,4.619,4151,4.619,4152,4.425,4156,5.274,4157,7.805,4158,7.805,4159,6.836,4160,5.274,4161,6.836,4162,10.45,4163,6.321,4164,5.274,4165,7.805,4166,5.274,4167,7.805,4168,5.274,4169,7.805,4170,5.274,4171,6.128,4172,7.805,4173,5.274,4174,7.805,4175,9.501,4176,5.274,4177,7.805,4178,5.274,4179,7.805,4180,5.274,4181,4.27,4182,5.274,4183,5.274,4184,5.274,4185,5.274,4186,5.274,4187,4.879,4188,3.291,4189,4.879,4190,5.274,4191,5.274,4192,5.274,4193,5.274,4194,7.805,4195,7.805,4196,7.805,4197,5.274]],["title/classes/CardSkeletonResponse.html",[0,0.232,4198,5.759]],["body/classes/CardSkeletonResponse.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.497,29,0.685,30,0.001,31,0.493,32,0.156,33,0.416,47,0.772,55,2.242,72,4.957,95,0.103,101,0.013,103,0.001,104,0.001,112,0.841,138,1.966,150,1.947,153,1.987,245,3.095,253,4.278,379,1.387,480,3.057,755,7.228,774,4.42,821,4.014,1128,7.127,2460,8.397,2854,6.247,2917,5.701,2918,5.893,2919,5.893,3275,8.697,3452,7.575,4130,7.272,4171,10.28,4198,10.986,4199,12.689,4200,8.668,4201,8.668,4202,8.668,4203,10.99,4204,9.625,4205,10.99,4206,9.625,4207,10.99,4208,10.167,4209,10.167,4210,8.668,4211,8.668]],["title/injectables/CardUc.html",[539,0.921,2753,5.389]],["body/injectables/CardUc.html",[0,0.134,3,0.009,4,0.009,5,0.004,7,0.057,8,0.761,26,2.892,27,0.493,29,0.963,30,0.001,31,0.682,32,0.167,33,0.574,35,1.427,36,2.739,39,3.553,47,0.547,55,2.396,59,1.933,95,0.122,99,0.644,101,0.006,103,0,104,0,131,2.381,177,1.797,180,1.094,226,0.58,239,0.93,262,3.004,349,0.997,379,0.792,382,2.326,437,1.651,448,4.518,479,3.553,539,0.842,541,0.953,556,0.975,560,1.63,603,2.11,608,3.088,639,1.868,739,1.712,849,2.197,1107,7.082,1271,3.004,1341,1.272,1568,2.539,1673,2.447,1687,7.067,1688,2.609,1758,5.716,1826,2.648,1855,2.419,1857,3.115,1861,4.486,1912,6.457,1917,6.949,1923,3.212,1942,3.701,2312,3.227,2313,4.034,2357,2.894,2362,3.115,2512,5.143,2513,7.835,2515,4.927,2516,4.927,2517,2.894,2518,7.675,2520,2.959,2521,4.578,2522,4.486,2524,3.115,2525,5.228,2527,3.115,2528,6.327,2531,1.837,2532,5.68,2544,7.647,2753,4.927,2854,6.675,3157,2.959,3269,4.796,3275,6.171,3436,7.368,3594,8.432,3743,7.426,3857,3.212,3858,3.212,3859,3.212,3862,3.212,3863,3.212,3865,7.48,4042,3.827,4048,7.203,4050,3.475,4051,7.203,4052,7.203,4089,7.752,4112,7.835,4163,4.71,4171,10.038,4212,3.967,4213,6.276,4214,7.786,4215,6.532,4216,6.819,4217,3.967,4218,3.67,4219,3.967,4220,6.276,4221,3.967,4222,6.276,4223,7.786,4224,3.967,4225,6.276,4226,3.967,4227,3.967,4228,8.851,4229,3.967,4230,6.276,4231,3.967,4232,6.276,4233,3.967,4234,3.967,4235,3.967,4236,6.276,4237,3.967,4238,8.188,4239,3.967,4240,3.967,4241,3.967,4242,3.967,4243,6.276,4244,3.67,4245,7.203,4246,3.967,4247,3.967,4248,3.967,4249,3.967,4250,3.967,4251,3.967]],["title/classes/CardUrlParams.html",[0,0.232,4053,6.012]],["body/classes/CardUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2854,6.778,3876,5.841,4053,10.443,4171,10.05,4252,9.89,4253,9.89]],["title/classes/ChallengeParams.html",[0,0.232,4254,6.012]],["body/classes/ChallengeParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,47,0.835,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,128,4.844,135,6.64,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,245,3.049,248,4.745,257,7.34,4254,10.413,4255,9.842,4256,9.71,4257,9.842]],["title/classes/ChangeLanguageParams.html",[0,0.232,4258,5.759]],["body/classes/ChangeLanguageParams.html",[0,0.407,2,1.106,3,0.022,4,0.022,5,0.011,7,0.144,27,0.412,30,0.001,32,0.13,95,0.153,99,1.624,101,0.016,103,0.001,104,0.001,112,0.919,138,1.791,148,3.101,150,2.249,245,3.081,839,3.11,852,4.661,1108,7.679,2921,5.913,4258,10.078,4259,10.012,4260,9.047,4261,10.012,4262,10.012,4263,7.65]],["title/classes/Class.html",[0,0.319]],["body/classes/Class.html",[0,0.378,2,0.697,3,0.014,4,0.027,5,0.007,7,0.091,8,1.078,26,2.716,27,0.569,29,0.499,30,0.001,31,0.67,32,0.115,33,0.303,35,1.08,39,2.429,47,0.937,55,1.814,62,6.594,83,3.247,95,0.122,101,0.014,103,0,104,0,105,0.646,112,0.68,133,2.188,180,1.793,349,1.404,376,4.648,377,4.842,381,3.012,382,2.655,448,3.606,479,3.276,519,1.945,556,3.148,662,3.656,686,4.072,1661,5.008,1665,4.899,1668,6.499,1747,3.767,2501,3.041,2795,4.095,2813,4.095,2816,5.111,2818,5.111,2821,4.513,2822,4.513,4264,5.841,4265,8.223,4266,3.772,4267,7.832,4268,8.532,4269,8.145,4270,8.532,4271,7.054,4272,8.532,4273,8.532,4274,8.223,4275,6.313,4276,4.824,4277,6.313,4278,3.989,4279,6.313,4280,6.313,4281,6.313,4282,5.297,4283,6.313,4284,6.313,4285,6.313,4286,6.313,4287,6.313,4288,6.313,4289,6.313,4290,6.313,4291,6.313,4292,6.313,4293,6.313,4294,6.313,4295,6.313,4296,6.313,4297,6.313,4298,6.313,4299,6.313,4300,7.86,4301,5.297,4302,5.297,4303,5.297,4304,5.841,4305,8.223,4306,5.841,4307,5.841,4308,5.841,4309,5.841,4310,5.841,4311,5.841,4312,5.841,4313,5.841,4314,5.841,4315,5.841]],["title/entities/ClassEntity.html",[154,1.389,4316,5.007]],["body/entities/ClassEntity.html",[0,0.269,2,0.596,3,0.012,4,0.025,5,0.006,7,0.172,26,1.616,27,0.532,30,0.001,31,0.591,32,0.167,33,0.648,34,0.901,47,0.918,49,5.124,55,1.921,62,6.132,95,0.132,96,2.121,97,2.245,99,0.875,101,0.012,103,0,104,0,105,0.552,112,0.72,133,2.75,138,2.311,143,2.995,144,4.078,154,1.605,155,1.761,160,6.681,170,6.063,172,4.083,173,1.568,174,3.033,178,2.144,180,0.94,181,1.459,182,1.714,236,0.878,404,2.17,405,4.255,480,1.5,529,1.539,556,3.132,603,1.11,708,2.161,2044,2.093,4266,3.507,4267,7.282,4268,7.933,4269,8.071,4270,7.933,4271,6.99,4272,7.933,4273,7.933,4316,5.788,4317,4.989,4318,5.393,4319,5.393,4320,5.393,4321,5.393,4322,5.393,4323,6.657,4324,5.393,4325,8.686,4326,3.783,4327,5.393,4328,5.393,4329,5.393,4330,5.393,4331,5.393,4332,4.255,4333,3.218,4334,4.989,4335,7.898,4336,4.524,4337,9.604,4338,6.657,4339,4.989,4340,4.989,4341,4.524,4342,2.384,4343,3.153,4344,4.022,4345,7.341,4346,4.234,4347,4.989,4348,4.989,4349,7.341,4350,4.989,4351,7.341,4352,4.989,4353,4.989,4354,6.229,4355,4.022,4356,7.341,4357,4.989,4358,6.063,4359,3.717,4360,7.341,4361,4.989]],["title/classes/ClassEntityFactory.html",[0,0.232,4362,6.35]],["body/classes/ClassEntityFactory.html",[0,0.163,2,0.533,3,0.011,4,0.019,5,0.005,7,0.069,8,0.886,27,0.537,29,1.04,30,0.001,31,0.735,32,0.173,33,0.604,34,1.643,35,1.478,47,0.513,49,4.614,55,2.354,59,3.252,62,5.207,95,0.117,101,0.007,103,0,104,0,112,0.559,120,3.096,133,2.533,140,2.652,153,2.02,154,2.136,155,2.386,177,1.362,180,1.274,236,1.879,271,4.675,319,3.096,349,0.756,379,0.609,382,3.858,413,2.207,437,0.963,447,7.168,448,4.507,449,5.443,452,4.047,453,5.443,454,5.631,455,4.047,456,4.047,457,4.047,458,3.981,459,4.465,460,4.882,461,6.98,462,5.752,463,7.004,464,2.697,469,2.674,470,4.047,471,2.697,472,5.117,473,5.271,474,4.184,475,4.978,476,4.013,477,2.674,478,2.532,479,4.093,480,3.305,481,2.61,482,2.57,483,2.674,484,5.046,485,2.697,486,3.578,487,4.802,488,2.674,489,7.07,490,4.228,491,6.579,492,2.697,493,4.324,494,2.674,495,2.697,496,2.674,497,2.697,498,2.674,499,3.014,500,2.824,501,2.674,502,6.051,503,2.697,504,2.674,505,4.047,506,3.804,507,4.047,508,2.697,509,2.59,510,2.57,511,2.145,512,2.674,513,2.674,514,2.674,515,2.697,516,2.697,517,1.826,518,2.674,519,1.487,520,2.697,521,2.893,522,2.674,523,2.697,524,2.745,525,2.771,527,2.852,1732,2.532,2232,2.721,4266,1.631,4267,3.388,4268,3.69,4269,3.523,4270,3.69,4271,3.051,4272,3.69,4273,3.69,4316,3.523,4325,5.737,4335,4.052,4362,8.156,4363,4.829,4364,6.4,4365,6.76,4366,4.829,4367,4.052,4368,4.829,4369,4.829,4370,3.452,4371,3.69]],["title/classes/ClassFactory.html",[0,0.232,4372,6.35]],["body/classes/ClassFactory.html",[0,0.296,2,0.527,3,0.01,4,0.021,5,0.005,7,0.068,8,0.877,27,0.536,29,1.038,30,0.001,31,0.733,32,0.173,33,0.602,34,1.632,35,1.472,47,0.737,49,1.809,55,2.343,59,3.234,62,5.166,83,2.104,95,0.125,96,1.274,97,1.984,101,0.007,103,0,104,0,112,0.554,120,3.066,133,2.508,140,2.618,153,2.004,154,1.77,155,2.363,177,1.348,180,1.261,236,2.045,271,4.661,319,3.066,349,0.748,376,1.984,377,2.067,379,0.602,382,3.848,413,2.186,437,0.954,447,6.962,448,4.484,449,5.408,452,4.007,453,5.408,454,5.479,455,4.007,456,4.007,457,4.007,458,3.942,459,4.43,460,4.843,461,6.962,462,5.719,463,6.925,464,2.662,469,2.64,470,4.007,471,2.662,472,5.084,473,5.236,474,4.157,475,4.946,476,3.974,477,2.64,478,2.5,479,4.073,480,3.292,481,2.576,482,2.537,483,2.64,484,5.013,485,2.662,486,3.564,487,4.764,488,2.64,489,7.05,490,4.211,491,6.552,492,2.662,493,3.549,494,2.64,495,2.662,496,2.64,497,2.662,498,2.64,501,2.64,502,6.021,503,2.662,504,2.64,505,4.007,506,3.767,507,4.007,508,2.662,509,2.556,510,2.537,511,2.118,512,2.64,513,2.64,514,2.64,515,2.662,516,2.662,517,1.802,518,2.64,519,1.468,520,2.662,521,2.865,522,2.64,523,2.662,525,2.735,527,2.815,2232,2.686,3556,4.175,4188,7.384,4266,1.61,4267,3.344,4268,3.643,4269,3.477,4270,3.643,4271,3.012,4272,3.643,4273,3.643,4300,5.529,4301,3.999,4302,3.999,4364,6.337,4365,6.694,4370,3.407,4371,3.643,4372,8.091,4373,4.767,4374,6.135,4375,4.767,4376,3.407,4377,4.767,4378,4.767]],["title/classes/ClassFilterParams.html",[0,0.232,4379,6.012]],["body/classes/ClassFilterParams.html",[0,0.399,2,1.074,3,0.021,4,0.021,5,0.011,7,0.14,27,0.4,30,0.001,32,0.171,33,0.566,95,0.151,101,0.015,103,0.001,104,0.001,105,0.995,112,0.903,138,1.74,148,3.012,149,4.546,150,2.185,249,4.617,839,3.021,852,4.528,2922,5.652,4379,10.337,4380,10.919,4381,7.118,4382,8.159,4383,13.929,4384,9.725,4385,9.725,4386,9.725]],["title/classes/ClassInfoDto.html",[0,0.232,4387,5.557]],["body/classes/ClassInfoDto.html",[0,0.354,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,27,0.563,29,0.634,30,0.001,31,0.702,32,0.182,33,0.64,34,1.944,47,0.969,55,2.133,95,0.095,101,0.012,103,0.001,104,0.001,112,0.8,119,2.16,181,2.828,379,1.012,381,2.717,404,3.226,405,4.3,2044,3.113,2426,5.527,2566,3.58,4342,3.545,4387,10.347,4388,13.807,4389,7.418,4390,9.757,4391,9.757,4392,7.763,4393,9.757,4394,10.759,4395,10.453,4396,8.018,4397,8.018,4398,8.018,4399,8.018,4400,8.018,4401,8.018,4402,10.186,4403,8.018,4404,4.836,4405,7.418,4406,7.418,4407,8.018,4408,8.018,4409,6.127,4410,6.295,4411,7.418,4412,7.418,4413,7.418,4414,7.418]],["title/classes/ClassInfoResponse.html",[0,0.232,4415,5.759]],["body/classes/ClassInfoResponse.html",[0,0.249,2,0.812,3,0.016,4,0.016,5,0.008,7,0.105,27,0.554,29,0.581,30,0.001,31,0.678,32,0.181,33,0.627,34,1.862,47,0.963,55,2.014,95,0.117,101,0.011,103,0.001,104,0.001,112,0.755,119,2.039,138,2.376,149,5.033,150,1.652,181,2.671,245,3.45,379,0.928,381,2.491,404,2.958,405,3.942,556,1.807,819,3.699,839,2.284,2044,2.854,2162,5.772,2426,5.067,2566,3.282,2921,4.342,4342,3.25,4390,9.348,4391,9.348,4392,7.437,4393,9.348,4402,10.88,4404,4.434,4405,6.801,4406,6.801,4409,5.618,4410,5.772,4411,6.801,4412,6.801,4413,6.801,4414,6.801,4415,10.422,4416,12.576,4417,7.13,4418,9.87,4419,7.352,4420,7.352,4421,6.801,4422,7.352,4423,7.352,4424,6.439,4425,7.352,4426,7.352,4427,7.352,4428,7.352]],["title/classes/ClassInfoSearchListResponse.html",[0,0.232,4429,5.759]],["body/classes/ClassInfoSearchListResponse.html",[0,0.35,2,0.872,3,0.025,4,0.017,5,0.009,7,0.113,27,0.524,29,0.624,30,0.001,31,0.449,32,0.177,33,0.61,55,2.889,56,6.286,59,3.187,70,6.566,95,0.137,101,0.012,103,0.001,104,0.001,112,0.792,138,2.192,150,1.774,180,1.804,245,2.654,247,3.391,284,3.841,379,0.996,382,3.659,556,1.941,813,7.258,814,5.537,815,8.201,816,7.109,817,5.936,818,7.303,819,3.972,820,7.303,821,5.345,822,3.825,823,4.201,824,2.8,825,5.537,826,6.71,827,5.992,828,5.192,829,4.081,830,5.537,831,5.537,833,4.987,834,4.3,4415,11.157,4416,9.572,4429,8.681,4430,6.623]],["title/classes/ClassMapper.html",[0,0.232,4431,6.012]],["body/classes/ClassMapper.html",[0,0.466,2,0.76,3,0.015,4,0.025,5,0.008,7,0.099,8,1.144,27,0.477,29,0.916,30,0.001,31,0.714,32,0.15,33,0.556,34,1.577,35,1.408,49,2.61,62,5.572,95,0.138,96,1.839,97,2.864,101,0.011,103,0.001,104,0.001,154,1.909,155,2.246,236,2.13,349,1.198,376,2.864,377,2.983,413,4.127,556,2.849,603,2.216,725,5.13,1665,2.864,1778,2.702,2323,4.462,2359,5.018,2364,4.742,4266,3.187,4267,6.618,4268,7.209,4269,6.882,4270,7.209,4271,5.961,4272,7.209,4273,7.209,4300,7.209,4301,5.772,4316,9.968,4371,5.257,4431,8.263,4432,6.879,4433,8.263,4434,8.728,4435,8.728,4436,8.263,4437,8.263,4438,6.879,4439,8.728,4440,6.879,4441,8.728,4442,6.879,4443,8.263,4444,6.879,4445,6.879,4446,4.293,4447,5.401,4448,6.879,4449,6.879,4450,6.879,4451,6.879,4452,6.879,4453,6.879,4454,6.879,4455,6.879,4456,6.025,4457,6.879,4458,6.879,4459,6.879,4460,5.401,4461,5.401,4462,6.025,4463,6.879,4464,6.879,4465,6.879,4466,6.879,4467,6.879,4468,6.879,4469,6.879,4470,6.879,4471,6.364,4472,6.879,4473,6.879,4474,6.879,4475,6.879,4476,6.364,4477,6.025,4478,6.364]],["title/modules/ClassModule.html",[201,1.848,4479,5.759]],["body/modules/ClassModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.15,101,0.015,103,0.001,104,0.001,201,3.383,203,3.443,204,3.693,205,3.797,206,3.782,207,3.766,208,4.647,209,4.767,218,4.655,219,3.722,220,3.636,226,1.384,560,3.893,2487,5.005,4479,11.826,4480,9.475,4481,9.475,4482,9.475,4483,12.536,4484,11.476,4485,9.475]],["title/interfaces/ClassProps.html",[105,0.702,4302,5.759]],["body/interfaces/ClassProps.html",[0,0.349,3,0.014,4,0.028,5,0.007,7,0.091,26,2.87,30,0.001,31,0.671,32,0.176,33,0.663,39,1.734,47,0.975,55,2.283,62,6.963,83,3.728,95,0.123,101,0.014,103,0,104,0,105,0.649,107,1.49,112,0.682,133,2.198,180,1.798,349,1.405,376,4.907,377,5.112,556,3.152,662,1.97,1661,5.81,1665,3.712,1747,3.785,2501,3.056,2821,4.534,2822,4.534,4264,5.868,4266,3.982,4267,8.269,4268,9.008,4269,8.599,4270,9.008,4271,7.448,4272,9.008,4273,9.008,4274,5.868,4300,9.008,4301,5.322,4302,7.482,4303,5.322,4304,5.868,4305,8.25,4306,5.868,4307,5.868,4308,5.868,4309,5.868,4310,5.868,4311,5.868,4312,5.868,4313,5.868,4314,5.868,4315,5.868]],["title/injectables/ClassService.html",[539,0.921,4483,6.012]],["body/injectables/ClassService.html",[0,0.422,2,1.323,3,0.016,4,0.016,5,0.008,7,0.107,8,1.208,26,2.775,27,0.493,29,0.947,30,0.001,31,0.682,32,0.155,33,0.574,34,1.247,35,1.364,36,2.751,39,3.067,95,0.143,99,1.21,101,0.012,103,0.001,104,0.001,177,1.39,226,1.09,236,1.215,262,2.979,345,2.378,349,1.239,379,0.941,437,1.579,529,2.13,539,1.338,541,1.792,556,1.834,591,4.203,608,2.776,662,4.191,936,4.774,1226,3.594,1665,3.105,1778,2.93,2323,4.838,2487,3.94,4266,2.52,4477,6.533,4483,8.729,4484,10.776,4486,7.46,4487,9.966,4488,7.824,4489,8.729,4490,7.46,4491,7.46,4492,9.966,4493,7.46,4494,8.069,4495,7.46,4496,8.729,4497,7.46,4498,7.46,4499,9.966,4500,5.442,4501,6.259,4502,6.901,4503,7.46,4504,7.46,4505,7.46,4506,7.46,4507,7.46]],["title/classes/ClassSortParams.html",[0,0.232,4508,6.012]],["body/classes/ClassSortParams.html",[0,0.387,2,1.021,3,0.02,4,0.02,5,0.01,7,0.133,27,0.471,30,0.001,32,0.148,33,0.548,95,0.155,101,0.014,103,0.001,104,0.001,105,0.945,112,0.875,138,2.047,148,2.862,149,4.406,150,2.076,180,1.994,247,3.969,249,4.475,382,3.417,480,2.57,486,2.783,721,8.102,743,6.264,839,2.87,852,4.301,3049,9.493,4380,8.547,4382,7.751,4508,10.017,4509,7.479,4510,10.802,4511,13.343,4512,9.239,4513,9.239,4514,7.751,4515,8.091,4516,9.239]],["title/classes/ClassSourceOptions.html",[0,0.232,4300,5.245]],["body/classes/ClassSourceOptions.html",[0,0.318,2,1.037,3,0.021,4,0.029,5,0.011,7,0.135,27,0.515,29,0.742,30,0.001,31,0.534,32,0.15,33,0.45,47,0.811,101,0.018,103,0.001,104,0.001,105,0.961,112,0.884,181,3.126,349,0.971,379,1.185,381,4.542,448,5.077,556,2.308,686,5.292,1666,7.876,4300,8.827,4371,9.976,4517,12.078,4518,8.685,4519,11.953,4520,11.551,4521,9.388,4522,9.388,4523,8.685]],["title/classes/ClassSourceOptionsEntity.html",[0,0.232,4325,5.389]],["body/classes/ClassSourceOptionsEntity.html",[0,0.316,2,1.03,3,0.02,4,0.029,5,0.01,7,0.134,27,0.474,29,0.737,30,0.001,31,0.531,32,0.149,33,0.598,47,0.876,95,0.111,96,2.492,101,0.018,103,0.001,104,0.001,105,0.954,112,0.88,138,1.668,143,2.551,144,3.035,160,5.207,172,3.593,173,2.711,181,3.112,379,1.177,381,3.159,556,2.292,2562,5.865,4325,9.03,4371,9.952,4524,11.54,4525,8.625,4526,11.407,4527,11.502,4528,10.641,4529,8.625]],["title/interfaces/ClassSourceOptionsEntityProps.html",[105,0.702,4526,6.012]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.331,3,0.021,4,0.026,5,0.011,7,0.14,30,0.001,32,0.127,33,0.568,47,0.929,95,0.116,96,2.611,101,0.018,103,0.001,104,0.001,105,1,107,2.295,112,0.906,143,2.167,144,3.181,172,3.698,173,2.841,181,2.644,556,2.402,2562,6.036,4325,7.671,4371,10.359,4524,9.04,4525,9.04,4526,11.153,4528,10.951,4529,9.04]],["title/interfaces/ClassSourceOptionsProps.html",[105,0.702,4519,6.012]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.337,3,0.022,4,0.026,5,0.011,7,0.143,30,0.001,32,0.129,33,0.574,47,0.935,101,0.019,103,0.001,104,0.001,105,1.02,107,2.34,112,0.917,181,2.696,349,1.03,381,4.058,448,4.042,556,2.449,1666,8.359,4300,7.613,4371,10.414,4517,9.217,4518,9.217,4519,11.668,4523,9.217]],["title/injectables/ClassesRepo.html",[539,0.921,4484,5.759]],["body/injectables/ClassesRepo.html",[0,0.457,2,1.177,3,0.015,4,0.015,5,0.008,7,0.097,8,1.128,26,2.601,27,0.473,29,0.908,30,0.001,31,0.654,32,0.149,33,0.551,34,1.555,35,1.295,36,2.67,39,1.843,47,0.473,49,2.558,62,3.982,95,0.152,96,1.802,97,2.807,99,1.094,101,0.01,103,0,104,0,154,1.364,177,1.256,226,0.985,236,1.964,262,2.917,345,2.15,349,0.962,379,0.851,437,1.716,529,1.925,539,1.249,541,1.62,556,1.658,608,2.662,631,3.438,725,6.94,1778,2.648,2311,6.531,2647,5.153,3341,4.571,3346,5.553,4266,3.143,4267,4.73,4316,8.793,4431,5.905,4446,4.208,4484,7.807,4488,7.305,4494,7.533,4530,6.743,4531,9.305,4532,9.305,4533,6.743,4534,9.305,4535,6.743,4536,6.743,4537,9.305,4538,6.743,4539,4.571,4540,4.73,4541,4.023,4542,10.655,4543,5.459,4544,6.653,4545,9.305,4546,6.743,4547,6.743,4548,6.238,4549,6.238,4550,6.743,4551,6.743,4552,6.743,4553,6.743,4554,6.743,4555,6.743,4556,6.743,4557,6.743,4558,6.743,4559,6.743,4560,9.305,4561,6.743,4562,6.743,4563,6.743]],["title/injectables/CloseUserLoginMigrationUc.html",[539,0.921,4564,5.759]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.227,3,0.015,4,0.015,5,0.008,7,0.096,8,1.123,26,2.596,27,0.437,29,0.839,30,0.001,31,0.604,32,0.137,33,0.509,35,1.125,36,1.984,39,1.831,47,0.47,95,0.143,99,1.087,101,0.01,103,0,104,0,119,2.367,128,5.294,177,2.135,236,1.509,239,2.988,262,2.344,349,1.185,379,1.169,437,1.586,529,2.644,539,1.243,541,1.609,556,1.647,560,2.752,593,2.495,603,2.623,608,2.882,643,3.006,990,2.292,1107,5.046,1673,4.131,1687,4.617,1758,6.785,1855,4.084,2531,3.102,2535,4.698,4266,4.062,4564,7.771,4565,5.167,4566,11.456,4567,5.423,4568,8.113,4569,11.456,4570,5.423,4571,8.891,4572,9.509,4573,10.322,4574,6.197,4575,9.263,4576,6.698,4577,9.263,4578,8.067,4579,6.698,4580,7.505,4581,4.995,4582,7.272,4583,5.118,4584,5.259,4585,5.62,4586,6.197,4587,8.336,4588,6.698,4589,5.62,4590,4.995,4591,8.113,4592,6.698,4593,8.113,4594,6.197,4595,6.197,4596,6.197,4597,5.118,4598,5.62]],["title/injectables/CollaborativeStorageAdapter.html",[539,0.921,4599,5.759]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.968,27,0.494,29,0.917,30,0.001,31,0.661,32,0.155,33,0.556,34,1.334,35,1.349,36,2.635,47,0.664,72,3.6,95,0.143,100,4.182,101,0.008,103,0,104,0,112,0.611,153,2.659,226,0.794,273,6.099,274,6.998,276,5.444,284,2.411,301,5.328,333,5.105,349,1.078,379,1.007,517,3.94,519,1.674,539,1.071,541,1.306,564,2.494,603,1.642,631,4.822,639,2.559,1341,1.743,1723,6.358,2205,5.705,2312,3.92,2313,4.749,2958,4.714,3600,6.235,3970,5.501,4599,6.696,4600,8.34,4601,10.774,4602,5.436,4603,5.822,4604,8.437,4605,10.321,4606,6.99,4607,6.462,4608,9.107,4609,6.99,4610,6.462,4611,6.462,4612,7.981,4613,6.462,4614,6.462,4615,5.436,4616,10.163,4617,8.743,4618,7.981,4619,6.462,4620,9.123,4621,5.436,4622,8.673,4623,6.462,4624,5.436,4625,7.981,4626,5.436,4627,6.462,4628,5.436,4629,7.981,4630,7.449,4631,8.182,4632,5.436,4633,6.099,4634,4.761,4635,4.268,4636,4.561,4637,4.154,4638,5.436,4639,5.436,4640,5.436,4641,5.436,4642,5.436,4643,7.981,4644,5.436,4645,5.436,4646,5.436,4647,5.436]],["title/injectables/CollaborativeStorageAdapterMapper.html",[539,0.921,4617,5.759]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,8,1.266,27,0.33,29,0.633,30,0.001,31,0.456,32,0.104,33,0.384,35,0.972,95,0.152,100,4.692,101,0.012,103,0.001,104,0.001,153,1.834,226,1.169,236,1.304,276,5.785,333,4.946,349,1.08,539,1.401,541,1.923,662,3.609,1723,6.757,1778,4.1,3600,5.185,3970,5.516,4544,6.046,4600,7.078,4604,9.97,4607,8.452,4617,8.759,4620,8.802,4622,7.685,4630,8.802,4631,9.668,4633,7.977,4634,7.009,4635,8.196,4636,6.714,4637,6.115,4648,10.44,4649,8.003,4650,10.44,4651,10.44,4652,8.003,4653,8.452,4654,8.452,4655,9.97,4656,6.479,4657,7.009,4658,7.009,4659,7.009,4660,4.395,4661,5.72,4662,8.003,4663,8.003,4664,8.003,4665,8.003,4666,8.003]],["title/modules/CollaborativeStorageAdapterModule.html",[201,1.848,4667,5.759]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.245,3,0.016,4,0.016,5,0.008,30,0.001,47,0.509,95,0.164,101,0.011,103,0.001,104,0.001,201,2.978,203,2.633,204,2.824,205,2.904,206,2.892,207,2.881,208,4.091,209,4.197,214,5.93,218,3.917,219,2.846,220,2.781,225,3.885,226,1.059,437,0.955,631,3.695,636,5.716,964,4.197,1180,5.18,1341,2.324,1827,9.498,1828,6.08,2079,3.204,2080,3.577,2081,3.451,3593,7.766,3600,3.6,3603,3.646,3940,4.083,3998,6.525,4599,11.561,4600,4.913,4601,6.347,4605,6.08,4616,5.867,4617,10.686,4667,12.033,4668,7.247,4669,7.247,4670,7.247,4671,7.247,4672,9.498,4673,9.291,4674,11.783,4675,11.402,4676,7.247,4677,5.018,4678,6.704,4679,5.69,4680,7.247,4681,7.247,4682,7.247,4683,9.775,4684,7.247,4685,7.247,4686,7.247]],["title/controllers/CollaborativeStorageController.html",[259,2.624,4687,6.012]],["body/controllers/CollaborativeStorageController.html",[0,0.361,3,0.015,4,0.015,5,0.008,7,0.097,8,1.13,27,0.278,29,0.534,30,0.001,31,0.384,32,0.087,33,0.324,35,0.821,36,1.996,95,0.152,101,0.01,103,0,104,0,138,1.208,141,3.162,150,1.517,153,3.065,177,1.258,223,2.811,226,0.987,236,1.517,239,2.694,259,2.582,261,3.234,270,5.639,276,5.407,278,6.316,282,5.814,287,6.127,290,6.796,292,4.718,294,6.069,301,7.674,305,5.395,316,5.035,324,4.718,333,5.134,334,4.38,336,7.527,337,3.516,338,3.594,343,3.622,345,2.153,347,4.148,349,0.698,564,3.592,603,1.39,643,3.031,990,3.187,993,5.203,1341,2.166,1723,5.823,2312,2.799,2313,4.245,2407,7.542,2963,3.541,3600,6.194,4605,10.119,4614,8.634,4622,8.126,4656,7.542,4687,8.159,4688,6.535,4689,9.316,4690,6.754,4691,7.816,4692,6.754,4693,11.158,4694,9.645,4695,12.061,4696,9.307,4697,6.754,4698,6.754,4699,7.542,4700,9.316,4701,6.754,4702,7.118,4703,6.754,4704,6.754,4705,9.316,4706,6.421,4707,8.159,4708,7.816,4709,6.754,4710,6.754,4711,5.915,4712,6.248,4713,6.754,4714,6.754,4715,6.754,4716,6.754,4717,6.754,4718,6.754]],["title/modules/CollaborativeStorageModule.html",[201,1.848,4719,5.557]],["body/modules/CollaborativeStorageModule.html",[0,0.259,3,0.017,4,0.017,5,0.009,30,0.001,95,0.163,101,0.012,103,0.001,104,0.001,201,3.061,203,2.782,204,2.984,205,3.068,206,3.056,207,3.043,208,4.205,209,4.314,214,6.024,218,4.064,219,3.007,220,2.938,223,4.221,225,4.031,226,1.119,227,3.173,259,2.927,631,3.904,1341,2.455,1420,9.65,1439,6.198,1752,7.355,1810,8.918,2531,3.545,2764,3.625,3600,3.803,4601,6.705,4667,10.856,4687,9.958,4688,5.371,4708,11.66,4719,11.665,4720,7.656,4721,7.656,4722,7.656,4723,7.656,4724,10.856,4725,10.856,4726,10.856,4727,7.083,4728,7.083,4729,5.11]],["title/injectables/CollaborativeStorageService.html",[539,0.921,4724,5.759]],["body/injectables/CollaborativeStorageService.html",[0,0.185,3,0.012,4,0.012,5,0.006,7,0.078,8,0.972,26,2.127,27,0.479,29,0.919,30,0.001,31,0.662,32,0.151,33,0.557,34,1.339,35,1.352,36,2.737,47,0.92,95,0.152,99,0.887,100,3.552,101,0.008,103,0,104,0,143,1.777,145,2.246,153,1.836,154,1.621,226,0.799,227,2.265,236,1.305,239,1.878,262,2.567,276,3.475,333,4.949,349,1.274,379,1.011,480,1.52,486,1.646,539,1.075,541,1.313,603,2.392,608,2.421,643,2.452,1341,1.753,1675,3.332,1723,5.292,1758,5.56,1810,8.28,1820,4.833,2312,3.932,2313,4.762,2531,2.531,3122,3.458,3600,2.715,3970,8.928,4544,4.64,4599,8.766,4604,6.487,4610,6.487,4611,6.487,4613,6.487,4614,7.681,4619,6.487,4620,8.587,4622,7.256,4623,6.487,4627,6.487,4631,8.203,4635,4.291,4656,4.424,4688,8.427,4706,5.523,4724,6.723,4725,8.766,4728,5.056,4730,11.114,4731,5.056,4732,8.013,4733,5.465,4734,9.179,4735,9.487,4736,8.309,4737,5.465,4738,5.465,4739,5.465,4740,8.013,4741,8.019,4742,5.465,4743,4.233,4744,6.723,4745,5.197,4746,5.465,4747,5.465,4748,8.67,4749,10.292,4750,5.465,4751,6.291,4752,6.723,4753,6.432,4754,7.413,4755,7.413,4756,4.585,4757,5.465,4758,5.465,4759,5.465,4760,5.465,4761,8.013,4762,5.465,4763,5.465,4764,5.465,4765,5.465,4766,5.465,4767,5.465,4768,5.465,4769,5.465,4770,5.465]],["title/injectables/CollaborativeStorageUc.html",[539,0.921,4708,5.759]],["body/injectables/CollaborativeStorageUc.html",[0,0.227,3,0.015,4,0.015,5,0.008,7,0.096,8,1.124,27,0.495,29,0.951,30,0.001,31,0.685,32,0.156,33,0.577,35,1.393,36,2.785,47,0.874,95,0.148,101,0.01,103,0,104,0,153,1.538,177,1.728,226,0.98,236,1.511,239,2.173,262,2.346,276,4.971,333,4.524,349,1.186,379,1.17,539,1.245,541,1.612,560,3.81,603,1.908,1723,5.806,1820,5.593,3970,4.624,4610,7.507,4611,7.507,4613,7.507,4619,7.507,4620,9.118,4622,7.766,4623,7.507,4627,7.507,4633,8.12,4636,5.629,4688,8.729,4693,10.606,4694,9.618,4696,9.281,4706,6.392,4708,7.78,4711,5.876,4712,6.207,4724,9.618,4726,9.618,4730,6.207,4751,7.28,4752,7.78,4753,7.772,4754,8.579,4755,8.579,4771,12.444,4772,6.709,4773,10.627,4774,6.709,4775,10.627,4776,6.709,4777,6.709,4778,6.709,4779,6.709,4780,6.709,4781,11.464,4782,6.709,4783,9.273,4784,6.207,4785,6.207,4786,6.709,4787,8.579,4788,6.709,4789,6.709,4790,6.709,4791,6.709,4792,6.709,4793,6.709,4794,6.709]],["title/classes/Column.html",[0,0.232,2692,3.626]],["body/classes/Column.html",[0,0.222,2,0.726,3,0.014,4,0.014,5,0.007,7,0.094,8,1.108,27,0.548,29,1.003,30,0.001,31,0.722,32,0.17,33,0.608,35,1.571,36,1.958,47,0.838,55,1.864,59,2.023,95,0.125,101,0.016,103,0,104,0,105,0.672,112,0.699,119,2.171,137,5.703,180,1.832,262,2.32,349,1.087,381,3.097,382,3.863,437,0.866,448,3.708,474,2.796,479,3.368,517,2.483,519,3.678,604,3.755,608,1.522,662,2.839,686,4.186,1218,2.483,1271,3.851,1664,2.456,1665,4.729,1668,6.639,1739,4.209,1944,2.771,2512,6.37,2692,6.001,2786,8.009,2789,6.532,2790,6.532,2791,6.532,2792,6.1,2793,6.532,2795,4.26,2796,5.636,2797,6.709,2799,6.41,2800,5.636,2801,6.579,2803,4.607,2804,4.863,2806,6.639,2807,4.607,2809,6.532,2811,4.607,2813,4.26,2840,5.572,2854,5.194,2877,5.511,4026,6.666,4027,4.791,4028,4.791,4029,5.511,4031,5.753,4037,4.15,4038,6.298,4039,5.157,4042,5.572,4795,6.077,4796,6.077,4797,6.077,4798,6.568,4799,6.568,4800,6.077,4801,6.077,4802,5.753,4803,6.077]],["title/classes/ColumnBoard.html",[0,0.232,1925,4.096]],["body/classes/ColumnBoard.html",[0,0.208,2,0.681,3,0.014,4,0.014,5,0.007,7,0.088,8,1.059,27,0.552,29,1.006,30,0.001,31,0.724,32,0.17,33,0.61,35,1.573,36,1.871,47,0.819,55,1.782,59,1.897,95,0.121,101,0.016,103,0,104,0,105,0.63,112,0.669,119,2.097,131,4.595,137,5.452,180,1.769,262,2.241,349,1.142,381,2.96,382,3.801,437,0.812,448,3.544,474,2.622,479,3.219,517,3.302,519,3.73,604,3.589,608,1.428,662,2.714,686,4.002,1218,2.329,1271,3.773,1664,2.303,1665,4.597,1668,6.413,1739,4.023,1925,6.59,1944,2.599,2512,6.286,2692,4.614,2786,7.893,2789,6.244,2790,6.244,2791,6.244,2792,5.831,2793,6.244,2795,3.995,2796,5.388,2797,6.523,2799,6.128,2800,5.388,2801,6.396,2803,4.321,2804,4.649,2806,6.413,2807,4.321,2809,6.244,2811,4.321,2813,3.995,2840,5.327,2879,5.169,3356,8.657,4026,4.494,4027,4.494,4028,4.494,4029,5.169,4031,5.395,4037,3.892,4038,6.021,4039,4.836,4042,5.327,4804,10.787,4805,5.699,4806,6.16,4807,6.16,4808,5.395,4809,6.16,4810,6.16,4811,6.16,4812,6.16,4813,6.16,4814,6.16,4815,8.082,4816,5.699,4817,5.699,4818,5.699,4819,5.169,4820,5.699]],["title/injectables/ColumnBoardCopyService.html",[539,0.921,3006,5.759]],["body/injectables/ColumnBoardCopyService.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,8,1.152,26,2.204,27,0.391,29,0.751,30,0.001,31,0.541,32,0.151,33,0.456,35,0.844,36,2.035,39,2.597,95,0.153,99,1.128,101,0.011,103,0.001,104,0.001,120,4.026,177,2.27,192,4.447,226,1.015,227,2.88,236,1.548,239,1.629,262,2.39,349,0.719,379,1.199,381,2.355,437,1.606,521,3.761,529,2.712,539,1.275,541,1.67,560,2.856,603,2.507,608,2.824,1226,3.348,1515,4.968,1726,2.972,1804,7.852,1924,4.875,1925,6.46,1926,2.608,1944,5.14,1947,5.31,2340,5.73,2480,5.611,2487,3.671,2993,5.456,2996,8.79,3006,7.971,3025,7.021,3043,4.238,3044,3.916,3050,8.321,3081,6.791,3096,6.43,3098,6.43,3149,5.183,3150,8.824,3255,4.391,3320,10.803,3330,4.968,3331,8.321,3356,6.791,3598,9.763,3603,3.497,4821,10.015,4822,7.605,4823,10.825,4824,6.95,4825,9.501,4826,6.087,4827,6.95,4828,6.43,4829,6.95,4830,6.95,4831,6.95,4832,6.95,4833,3.882,4834,6.43,4835,6.95,4836,6.95,4837,6.95,4838,6.43,4839,6.95,4840,6.43,4841,5.626,4842,6.95,4843,6.95,4844,6.95,4845,6.95,4846,6.95,4847,6.95]],["title/classes/ColumnBoardFactory.html",[0,0.232,4848,6.35]],["body/classes/ColumnBoardFactory.html",[0,0.167,2,0.545,3,0.011,4,0.011,5,0.006,7,0.071,8,0.901,27,0.539,29,1.036,30,0.001,31,0.71,32,0.175,33,0.598,34,1.782,35,1.486,47,0.522,49,1.872,55,2.371,59,3.283,83,2.16,95,0.118,99,0.801,101,0.012,103,0,104,0,112,0.568,120,3.147,131,2.818,133,2.574,140,2.71,153,2.047,154,2.156,155,2.425,177,1.664,180,1.295,236,1.619,271,4.699,319,3.147,349,0.768,376,2.054,377,2.14,379,0.623,382,3.875,413,2.243,437,0.979,447,7.194,448,4.544,449,5.503,452,4.113,453,5.503,454,5.665,455,4.113,456,4.113,457,4.113,458,4.046,459,4.524,460,4.946,461,6.463,462,5.806,463,7.031,464,2.756,469,2.733,470,4.113,471,2.756,472,5.174,473,5.329,474,4.23,475,5.033,476,4.079,477,2.733,478,2.588,479,4.127,480,3.327,481,2.667,482,2.626,483,2.733,484,5.102,485,2.756,486,3.602,487,4.866,488,2.733,489,6.903,490,4.256,491,6.622,492,2.756,493,4.381,494,2.733,495,2.756,496,2.733,497,2.756,498,2.733,499,3.08,500,2.886,501,2.733,502,6.101,503,2.756,504,2.733,505,4.113,506,3.867,507,4.113,508,2.756,509,2.646,510,2.626,511,2.192,512,2.733,513,2.733,514,2.733,515,2.756,516,2.756,517,1.865,518,2.733,519,1.52,520,2.756,521,2.941,522,2.733,523,2.756,524,2.805,526,2.886,527,2.915,556,1.213,1271,1.537,1924,3.462,1925,2.945,1944,2.082,1947,3.771,2692,2.607,2794,3.401,3038,4.14,4188,4.635,4819,4.14,4848,8.263,4849,7.428,4850,4.935,4851,9.938,4852,4.935,4853,4.935,4854,4.935]],["title/entities/ColumnBoardNode.html",[154,1.389,3201,5.245]],["body/entities/ColumnBoardNode.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.116,27,0.434,30,0.001,32,0.16,34,1.356,49,4.438,95,0.157,96,2.169,101,0.016,103,0.001,104,0.001,105,0.83,112,0.806,131,4.697,138,1.885,154,2.131,155,2.65,172,3.654,173,2.36,180,1.836,181,2.196,236,1.322,349,1.089,403,4.532,437,1.07,524,4.613,1664,3.034,1665,4.385,1924,8.205,1944,4.934,2512,5.045,2565,4.613,2566,3.623,2670,4.826,3038,6.808,3171,5.564,3182,6.353,3201,8.049,3249,5.005,3307,5.501,3356,8.361,3392,9.469,3394,10.244,3618,6.2,3620,6.497,3641,5.064,4126,5.193,4128,5.193,4855,10.244,4856,7.856,4857,8.114,4858,6.353,4859,8.114,4860,9.746,4861,9.226,4862,9.746,4863,7.507,4864,6.808,4865,7.507,4866,7.507,4867,7.507]],["title/interfaces/ColumnBoardNodeProps.html",[105,0.702,4861,6.012]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,32,0.154,34,1.404,49,4.087,95,0.158,96,2.245,101,0.017,103,0.001,104,0.001,105,0.86,107,1.973,112,0.824,131,5.035,154,2.179,172,3.715,173,2.442,180,2.073,181,2.273,236,1.368,349,1.114,403,4.691,437,1.107,524,4.775,1664,3.14,1665,4.484,1924,7.556,1944,3.543,2512,5.159,2565,4.775,2566,3.75,2670,4.935,3038,7.047,3171,5.69,3182,6.496,3201,6.418,3249,5.18,3307,5.694,3356,9.27,3392,6.8,3394,7.356,3618,6.418,3620,7.333,3641,5.242,4126,5.375,4128,5.375,4855,7.356,4858,5.066,4860,9.965,4861,10.414,4862,9.965,4863,7.77,4864,7.047,4865,7.77,4866,7.77,4867,7.77]],["title/interfaces/ColumnBoardProps.html",[105,0.702,4819,5.759]],["body/interfaces/ColumnBoardProps.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.153,36,1.777,47,0.907,95,0.141,101,0.018,103,0.001,104,0.001,105,0.849,107,1.949,112,0.818,119,1.714,131,5.019,180,2.061,262,1.832,349,1.291,437,1.094,474,3.532,517,4.04,519,2.555,604,4.391,608,1.923,1218,3.136,1271,4.12,1664,3.102,1665,3.454,1739,4.922,1925,7.054,1944,3.5,2512,5.118,2692,5.645,2786,6.516,2796,5.117,2797,6.312,2800,5.117,2801,6.189,2809,5.93,2840,7.208,2879,6.961,3356,9.454,4037,5.242,4038,7.366,4039,6.513,4042,6.516,4804,7.675,4805,7.675,4815,9.886,4816,7.675,4817,7.675,4818,7.675,4819,8.966,4820,7.675]],["title/injectables/ColumnBoardService.html",[539,0.921,1913,5.245]],["body/injectables/ColumnBoardService.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.06,8,0.794,10,2.657,12,2.939,26,2.429,27,0.491,29,0.943,30,0.001,31,0.679,32,0.154,33,0.572,34,1.654,35,1.417,36,2.715,47,0.867,49,1.589,83,3.299,95,0.131,99,0.679,101,0.006,103,0,104,0,131,3.06,177,1.502,226,0.612,236,2.122,262,2.992,349,1.134,376,3.796,377,3.954,379,0.826,437,1.753,480,1.165,486,1.972,524,2.381,529,1.196,539,0.879,541,1.006,565,3.908,603,2.159,604,1.721,608,2.541,685,2.738,708,1.678,1218,1.583,1271,3.786,1739,1.929,1913,5.004,1925,7.561,1942,2.738,1944,4.786,2079,1.851,2080,2.067,2081,1.994,2232,2.359,2487,2.212,2512,4.739,2528,2.994,2692,4.26,2794,6.285,2854,4.584,2870,6.034,2882,3.118,2925,3.874,3149,3.123,3150,7.36,3160,5.494,3161,3.874,3162,3.874,3163,6.058,3165,7.46,3166,3.874,3275,2.68,3337,6.058,3355,6.058,3356,8.526,3427,8.176,3523,5.494,3597,8.875,3732,3.668,3940,2.359,4159,5.735,4163,2.229,4181,3.39,4188,5.691,4189,3.874,4539,2.839,4540,2.938,4541,2.499,4821,11.245,4828,3.874,4868,4.188,4869,6.549,4870,6.549,4871,6.549,4872,6.549,4873,4.188,4874,6.549,4875,4.188,4876,6.549,4877,4.188,4878,6.549,4879,4.188,4880,6.058,4881,6.549,4882,4.188,4883,6.549,4884,4.188,4885,6.549,4886,4.188,4887,4.188,4888,6.549,4889,4.188,4890,4.188,4891,6.549,4892,4.188,4893,4.188,4894,4.188,4895,4.188,4896,4.188,4897,6.549,4898,4.188,4899,6.549,4900,4.188,4901,4.188,4902,4.188,4903,4.188,4904,4.188,4905,4.188,4906,4.188,4907,4.188,4908,4.188,4909,4.188,4910,9.119,4911,8.064,4912,4.188,4913,4.188,4914,4.188,4915,4.188,4916,6.549,4917,4.188,4918,4.188,4919,4.188,4920,4.188,4921,4.188,4922,4.188,4923,4.188,4924,4.188,4925,4.188,4926,4.188,4927,4.188,4928,4.188,4929,4.188,4930,6.549,4931,4.188,4932,4.188,4933,6.549,4934,6.549,4935,4.188,4936,4.188,4937,4.188,4938,4.188,4939,4.188,4940,4.188,4941,4.188,4942,4.188,4943,4.188,4944,4.188,4945,4.188,4946,6.549,4947,6.549,4948,4.188,4949,6.549,4950,6.549,4951,4.188,4952,4.188,4953,4.188,4954,6.549,4955,4.188,4956,2.886,4957,3.288,4958,4.188,4959,4.188,4960,4.188,4961,4.188,4962,3.874]],["title/entities/ColumnBoardTarget.html",[154,1.389,2693,4.906]],["body/entities/ColumnBoardTarget.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.113,26,2.348,27,0.475,30,0.001,32,0.149,47,0.81,49,4.375,95,0.151,96,2.106,101,0.016,103,0.001,104,0.001,112,0.791,138,2.063,143,1.747,145,3.233,154,2.091,155,2.573,172,4.075,173,2.291,174,3.95,175,3.518,180,1.373,181,2.132,182,2.505,236,1.283,349,1.069,474,3.354,480,2.192,486,2.373,519,3.183,524,4.479,604,3.237,1147,2.393,1218,2.978,1271,3.813,1739,4.759,1925,6.166,1944,5.163,2501,3.795,2666,9.61,2670,3.609,2682,6.613,2693,8.749,2772,7.896,2773,7.584,2784,3.73,2785,9.56,3631,5.042,4856,5.876,4963,11.324,4964,7.879,4965,10.668,4966,7.879,4967,7.879,4968,7.879,4969,4.859,4970,10.334,4971,7.879,4972,7.879,4973,4.978,4974,5.11,4975,7.879,4976,7.879]],["title/injectables/ColumnBoardTargetService.html",[539,0.921,4977,5.759]],["body/injectables/ColumnBoardTargetService.html",[0,0.249,3,0.016,4,0.016,5,0.008,7,0.105,8,1.197,26,2.66,27,0.459,29,0.881,30,0.001,31,0.634,32,0.144,33,0.534,34,1.65,35,1.199,36,2.551,95,0.148,96,2.638,97,3.06,99,1.193,101,0.011,103,0.001,104,0.001,173,2.138,177,1.839,226,1.074,236,1.198,262,2.824,345,2.344,349,1.152,379,0.928,437,1.638,539,1.325,541,1.766,603,2.45,608,2.76,1218,2.779,1271,3.471,1830,5.363,1913,9.773,1944,5.024,2311,6.77,2350,5.829,2693,7.055,2739,5.399,2772,5.618,3346,6.648,3387,6.801,3407,5.618,4965,6.801,4977,8.28,4978,11.909,4979,7.352,4980,9.87,4981,9.87,4982,7.352,4983,7.352,4984,9.87,4985,7.352,4986,10.307,4987,9.87,4988,7.352,4989,11.142,4990,7.352,4991,7.352,4992,9.87,4993,7.352,4994,7.352,4995,7.352,4996,7.352,4997,7.352,4998,7.352,4999,7.352]],["title/controllers/ColumnController.html",[259,2.624,2759,6.012]],["body/controllers/ColumnController.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.892,10,3.595,27,0.406,29,0.78,30,0.001,31,0.562,32,0.182,33,0.473,35,1.199,36,2.551,59,1.5,95,0.142,100,1.655,101,0.008,103,0,104,0,138,1.766,142,1.898,145,2.062,150,1.094,177,1.37,223,2.027,226,0.712,236,1.198,259,1.862,261,2.332,262,2.824,270,6.346,282,7.433,287,7.834,290,8.688,294,6.728,324,5,333,4.202,334,3.158,335,6.391,336,8.345,337,2.535,338,2.592,340,2.36,343,2.611,345,1.553,346,5.891,347,4.793,349,0.504,437,1.168,603,1.002,608,2.288,631,2.483,685,3.075,824,2.609,1266,7.184,1271,2.291,2530,6.323,2681,5.683,2692,5.598,2752,7.173,2754,7.173,2759,6.441,2764,2.306,2854,5.037,2933,7.201,2935,5.484,2937,7.543,2938,7.543,2941,7.834,2943,7.173,2956,8.748,2957,7.992,2958,4.343,2961,3.481,2962,2.744,2963,2.554,2970,3.942,2980,7.173,2981,7.173,2984,4.265,3261,3.632,3309,7.04,3430,5.069,3841,8.197,4081,3.077,4087,4.086,4094,4.505,4099,4.265,4122,5.953,4162,6.17,5000,4.87,5001,8.197,5002,6.803,5003,8.197,5004,4.87,5005,11.331,5006,10.676,5007,9.871,5008,4.87,5009,4.505,5010,4.87,5011,4.87,5012,4.87,5013,4.87,5014,4.87,5015,4.87,5016,8.646,5017,4.87,5018,4.87,5019,4.87,5020,4.87,5021,4.87,5022,6.803,5023,4.87,5024,4.87,5025,4.87,5026,4.87,5027,4.87,5028,9.871,5029,4.87,5030,4.87,5031,4.87,5032,4.87,5033,4.87,5034,4.87,5035,4.87,5036,4.87]],["title/entities/ColumnNode.html",[154,1.389,3198,5.557]],["body/entities/ColumnNode.html",[0,0.324,3,0.021,4,0.021,5,0.011,30,0.001,32,0.124,95,0.161,96,2.562,101,0.015,103,0.001,104,0.001,154,2.367,155,3.13,173,2.788,180,1.671,181,2.594,349,0.991,403,5.354,437,1.264,1664,3.584,1665,5.257,2512,5.604,2565,5.45,2566,4.28,3171,6.181,3182,7.057,3198,9.473,3249,5.913,3260,10.825,3307,6.5,3618,7.326,3620,7.216,3641,5.983,4126,6.135,4128,6.135,4855,8.397,5037,9.587]],["title/interfaces/ColumnProps.html",[105,0.702,4802,6.012]],["body/interfaces/ColumnProps.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.125,30,0.001,32,0.143,36,1.873,47,0.922,95,0.144,101,0.019,103,0.001,104,0.001,105,0.895,107,2.053,112,0.846,119,1.806,180,2.112,262,1.93,349,1.253,437,1.153,474,3.721,517,3.305,519,2.693,604,4.54,608,2.026,1218,3.305,1271,4.177,1664,3.268,1665,3.639,1739,5.089,1944,3.688,2512,5.292,2692,6.399,2786,6.737,2796,5.392,2797,6.526,2800,5.392,2801,6.399,2809,6.249,2840,7.387,2854,6.281,2877,7.335,4037,5.523,4038,7.616,4039,6.863,4042,6.737,4795,8.088,4800,8.088,4801,8.088,4802,9.677,4803,8.088]],["title/classes/ColumnResponse.html",[0,0.232,2965,5.557]],["body/classes/ColumnResponse.html",[0,0.281,2,0.917,3,0.018,4,0.018,5,0.009,7,0.119,27,0.532,29,0.656,30,0.001,31,0.472,32,0.171,33,0.567,34,2.16,47,0.877,95,0.149,101,0.013,103,0.001,104,0.001,112,0.818,138,2.234,150,1.864,245,3.392,247,3.564,253,4.095,379,1.349,404,3.338,556,2.04,774,4.23,819,4.174,1271,4.025,2779,5.93,2782,6.752,2784,3.928,2854,4.716,2917,5.457,2918,5.731,2919,5.731,2965,10.459,3269,9.872,3716,7.709,3720,6.913,3724,5.538,3726,5.538,4198,10.474,5038,8.297,5039,8.297,5040,8.297,5041,8.297,5042,8.297,5043,8.297,5044,8.297,5045,8.297]],["title/classes/ColumnResponseMapper.html",[0,0.232,2969,5.759]],["body/classes/ColumnResponseMapper.html",[0,0.295,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,8,1.336,27,0.358,29,0.688,30,0.001,31,0.496,32,0.143,33,0.417,34,1.455,35,1.058,95,0.144,99,1.412,100,2.959,101,0.013,103,0.001,104,0.001,226,1.272,236,2.07,349,1.14,376,3.624,413,3.652,437,1.148,521,3.446,529,2.485,604,3.577,739,4.756,782,5.194,783,6.154,788,6.492,1271,2.712,1284,4.948,2340,5.25,2692,6.926,2806,5.5,2854,6.873,2965,10.289,2969,9.245,3081,6.222,3269,6.652,3275,5.571,3716,5.194,3720,6.444,3730,6.652,3736,7.624,3737,6.222,4150,7.624,4152,7.303,4171,6.834,4198,9.245,5046,11.019,5047,11.019,5048,8.053,5049,7.624,5050,8.705,5051,8.705,5052,8.705,5053,8.705,5054,8.705]],["title/injectables/ColumnService.html",[539,0.921,3595,5.557]],["body/injectables/ColumnService.html",[0,0.224,3,0.015,4,0.015,5,0.007,7,0.095,8,1.113,10,3.724,12,4.119,26,2.32,27,0.51,29,0.979,30,0.001,31,0.705,32,0.16,33,0.594,34,1.105,35,1.454,36,2.853,47,0.74,49,2.508,55,2.151,59,2.036,83,2.669,95,0.142,99,1.073,101,0.01,103,0,104,0,177,1.71,226,0.966,236,1.856,262,3.055,345,2.108,349,0.949,376,2.752,377,2.867,379,0.834,437,1.39,524,3.758,539,1.232,541,1.588,603,1.36,608,2.871,685,3.838,1271,3.729,1925,7.581,1944,2.789,2487,3.492,2692,7.406,2794,4.557,3149,4.93,3150,8.689,3366,5.623,3427,9.475,3430,6.327,3436,8.705,3440,5.547,3595,7.431,3852,7.701,3872,10.539,4159,8.039,4161,8.039,4181,5.352,4188,4.126,5049,5.79,5055,6.611,5056,6.611,5057,6.611,5058,9.179,5059,6.611,5060,9.179,5061,6.611,5062,9.179,5063,6.611,5064,9.179,5065,6.611,5066,6.611,5067,6.611,5068,6.611,5069,6.611,5070,6.611,5071,6.611]],["title/injectables/ColumnUc.html",[539,0.921,2754,5.557]],["body/injectables/ColumnUc.html",[0,0.174,3,0.011,4,0.011,5,0.006,7,0.074,8,0.927,26,2.892,27,0.498,29,0.956,30,0.001,31,0.689,32,0.157,33,0.58,35,1.43,36,2.696,39,3.491,47,0.642,55,1.865,59,2.354,95,0.135,99,0.832,101,0.008,103,0,104,0,177,2.019,180,1.332,226,0.749,262,2.994,349,0.53,379,0.965,382,2.73,437,1.498,448,4.908,539,1.026,541,1.232,560,2.107,603,1.88,608,3.058,639,2.414,1107,6.735,1271,3.375,1341,1.644,1687,6.982,1688,3.373,1758,6.264,1826,3.423,1861,5.464,2312,3.788,2313,4.616,2512,5.441,2513,8.681,2515,6.001,2516,6.001,2517,3.74,2518,8.337,2520,3.824,2521,5.576,2522,5.464,2524,4.026,2525,5.983,2527,4.026,2528,5.464,2531,2.374,2544,8.08,2692,6.001,2754,6.188,2854,6.159,3157,3.824,3436,8.279,3594,9.24,3595,9.528,3852,10.851,3857,4.151,3858,4.151,3859,4.151,3862,4.151,3863,4.151,3865,7.389,3871,8.455,4050,8.004,4112,3.918,4162,8.499,4163,5.391,4171,7.953,4175,8.455,4238,4.744,5001,8.455,5002,8.455,5003,8.455,5072,5.128,5073,5.128,5074,7.644,5075,5.128,5076,7.644,5077,5.128,5078,7.644,5079,10.13,5080,5.128,5081,7.644,5082,5.128,5083,5.128,5084,5.128,5085,5.128,5086,5.128,5087,5.128,5088,5.128]],["title/classes/ColumnUrlParams.html",[0,0.232,5005,6.012]],["body/classes/ColumnUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2692,6.298,3852,10.74,3876,5.841,5005,10.443,5089,9.89,5090,9.89]],["title/entities/ColumnboardBoardElement.html",[154,1.389,2691,5.245]],["body/entities/ColumnboardBoardElement.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,27,0.391,30,0.001,32,0.123,95,0.15,96,2.538,101,0.015,103,0.001,104,0.001,112,0.89,138,1.699,154,2.354,155,3.101,173,2.762,180,1.656,181,2.57,403,5.304,1944,5.305,2565,5.399,2666,9.134,2688,8.316,2690,7.968,2691,8.89,2692,5.017,2693,9.37,2694,8.318,2739,5.943,3034,7.257,3078,9.761,4963,10.763,5091,9.498,5092,11.634,5093,9.498,5094,4.398,5095,8.318]],["title/injectables/CommonCartridgeExportService.html",[539,0.921,5096,5.759]],["body/injectables/CommonCartridgeExportService.html",[0,0.143,3,0.009,4,0.009,5,0.005,7,0.061,8,0.801,26,2.637,27,0.453,29,0.87,30,0.001,31,0.627,32,0.163,33,0.528,35,1.281,36,2.258,39,3.009,47,0.822,95,0.136,99,0.687,101,0.007,103,0,104,0,177,1.514,226,0.619,236,0.69,262,2.584,333,1.803,349,1.178,363,3.722,379,0.834,437,1.607,481,3.571,539,0.887,541,1.018,556,1.997,591,3.722,603,2.706,608,2.306,739,2.852,1262,3.471,1271,3.646,1312,6.837,1717,3.164,1910,3.919,1911,7.147,1920,5.765,1926,4.391,1940,3.159,1941,3.159,2063,6.745,2255,3.508,2686,4.755,3047,3.429,3048,3.429,3135,4.228,3914,4.554,4417,4.228,4500,3.09,4653,5.349,5096,5.543,5097,11.389,5098,7.303,5099,4.236,5100,8.123,5101,8.123,5102,5.787,5103,8.123,5104,6.607,5105,8.123,5106,8.644,5107,8.413,5108,4.236,5109,4.236,5110,8.942,5111,7.437,5112,8.927,5113,4.236,5114,4.236,5115,4.236,5116,6.113,5117,4.236,5118,4.236,5119,6.324,5120,4.236,5121,4.029,5122,6.207,5123,6.607,5124,4.236,5125,6.607,5126,4.029,5127,4.236,5128,4.236,5129,7.114,5130,3.028,5131,4.236,5132,3.919,5133,3.429,5134,3.826,5135,4.236,5136,6.113,5137,4.236,5138,4.236,5139,3.326,5140,4.236,5141,3.326,5142,4.236,5143,4.236,5144,4.236,5145,4.236,5146,2.346,5147,4.236,5148,4.236,5149,5.349,5150,6.607,5151,4.236,5152,3.554,5153,4.228,5154,4.236,5155,5.349,5156,4.236,5157,4.236,5158,3.826,5159,3.919,5160,2.786,5161,2.872,5162,4.236,5163,4.236,5164,9.949,5165,6.607,5166,6.815,5167,6.607,5168,6.113,5169,8.123,5170,3.028,5171,5.787,5172,6.113,5173,6.113,5174,4.82,5175,4.236,5176,3.028,5177,4.236,5178,5.543,5179,5.787,5180,5.787,5181,3.028,5182,6.607,5183,6.607,5184,4.236,5185,3.919,5186,4.236,5187,4.236,5188,4.236,5189,4.236,5190,6.607,5191,4.236,5192,6.607,5193,4.236,5194,4.236,5195,3.919,5196,4.236,5197,4.236,5198,4.236]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.232,5110,5.389]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.264,2,0.581,3,0.012,4,0.012,5,0.014,7,0.075,8,0.945,27,0.502,29,0.734,30,0.001,31,0.528,32,0.133,33,0.445,35,1.127,36,1.988,47,0.72,95,0.141,101,0.016,103,0,104,0,105,0.797,112,0.596,177,2.506,236,2.159,262,2.048,345,1.677,349,1.186,379,0.983,381,3.144,437,1.512,454,5.071,480,2.854,486,3.089,490,2.773,603,2.749,1121,3.366,1147,2.818,1271,2.427,1312,5.052,1732,5.379,1942,3.879,2063,6.954,3222,4.985,5098,8.272,5110,6.116,5111,4.21,5112,5.369,5122,9.068,5134,6.342,5139,6.116,5141,6.116,5149,6.307,5153,7.339,5155,4.259,5161,5.282,5199,8.073,5200,8.073,5201,4.413,5202,9.284,5203,8.597,5204,7.838,5205,8.606,5206,7.207,5207,7.207,5208,4.259,5209,8.606,5210,7.79,5211,5.26,5212,5.26,5213,8.606,5214,5.26,5215,7.784,5216,9.284,5217,5.26,5218,9.608,5219,7.784,5220,5.26,5221,5.26,5222,4.259,5223,4.259,5224,4.019,5225,3.76,5226,6.102,5227,3.566,5228,6.116,5229,6.307,5230,4.13,5231,5.569,5232,4.13,5233,6.536,5234,4.259,5235,4.413,5236,4.413,5237,4.413,5238,8.606,5239,4.413,5240,6.536,5241,4.413,5242,4.413,5243,6.536,5244,4.413,5245,4.413,5246,4.413,5247,4.413,5248,4.413,5249,4.413,5250,4.413,5251,4.413,5252,4.413,5253,4.413,5254,4.413,5255,4.259,5256,4.413,5257,4.413,5258,4.413,5259,4.413,5260,4.413,5261,4.413,5262,4.413,5263,4.413]],["title/classes/CommonCartridgeLtiResource.html",[0,0.232,5264,6.012]],["body/classes/CommonCartridgeLtiResource.html",[0,0.216,2,0.704,3,0.014,4,0.014,5,0.01,7,0.091,8,1.085,27,0.462,29,0.504,30,0.001,31,0.363,32,0.145,33,0.306,35,1.256,47,0.883,95,0.133,101,0.014,103,0,104,0,119,1.849,145,1.787,153,2.051,177,1.667,181,1.724,345,2.032,349,1.069,379,0.804,381,3.032,437,0.84,486,1.919,603,1.311,988,3.898,1121,7.175,1147,2.717,1262,2.223,1271,2.787,1309,3.691,1312,5.803,1931,4.026,2063,7.601,2255,4.286,4038,4.392,5098,8.01,5111,3.444,5112,6.167,5133,5.159,5134,5.988,5166,7.506,5178,5.347,5199,7.659,5200,7.659,5204,7.9,5224,4.87,5225,4.555,5226,6.8,5227,4.321,5264,7.836,5265,9.908,5266,5.581,5267,8.117,5268,9.076,5269,10.372,5270,6.373,5271,5.896,5272,6.373,5273,6.373,5274,5.347,5275,5.896,5276,6.373,5277,6.373,5278,5.581,5279,6.373,5280,6.373,5281,6.373,5282,5.581,5283,5.581,5284,4.026,5285,5.581,5286,6.373,5287,5.581,5288,6.373,5289,7.506,5290,6.373,5291,6.373,5292,8.277,5293,6.373,5294,6.373,5295,6.373,5296,5.581,5297,8.947,5298,8.947,5299,8.947,5300,8.947,5301,8.947,5302,8.947,5303,8.947,5304,8.947,5305,8.947,5306,6.373,5307,6.373,5308,6.373,5309,6.373,5310,5.972,5311,8.947,5312,8.947,5313,8.947,5314,8.947,5315,6.373,5316,6.373,5317,6.373,5318,6.373,5319,6.373,5320,5.159,5321,5.159,5322,5.581]],["title/classes/CommonCartridgeManifestElement.html",[0,0.232,5228,5.389]],["body/classes/CommonCartridgeManifestElement.html",[0,0.233,2,0.761,3,0.015,4,0.015,5,0.008,7,0.099,8,1.145,27,0.389,29,0.545,30,0.001,31,0.392,32,0.122,33,0.33,35,0.837,47,0.484,95,0.145,101,0.015,103,0.001,104,0.001,177,2.16,181,1.865,236,2.044,349,0.977,379,1.192,381,3.201,437,0.909,486,2.076,603,2.386,988,4.116,1121,7.42,1147,2.869,1309,3.991,1312,6.99,1931,4.354,1942,4.506,2171,5.871,5098,8.165,5112,4.75,5134,7.035,5153,7.774,5161,4.672,5178,5.781,5199,6.99,5200,6.99,5203,9.537,5225,4.926,5226,8.73,5227,4.672,5228,7.416,5229,9.834,5231,4.926,5278,8.273,5282,8.273,5283,8.273,5284,5.968,5285,8.273,5320,7.647,5323,5.41,5324,11.595,5325,10.778,5326,10.727,5327,6.375,5328,6.891,5329,6.035,5330,6.035,5331,8.273,5332,6.035,5333,9.446,5334,6.891,5335,9.446,5336,9.446,5337,9.446,5338,9.446,5339,9.446,5340,6.891,5341,9.446,5342,6.891,5343,6.891,5344,6.891,5345,6.891,5346,9.446,5347,9.446,5348,9.446,5349,9.446,5350,9.446,5351,9.446,5352,6.891,5353,6.891,5354,6.891]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.232,5329,6.012]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.287,2,0.938,3,0.019,4,0.019,5,0.01,7,0.122,8,1.315,27,0.446,29,0.671,30,0.001,31,0.483,32,0.14,33,0.407,35,1.031,47,0.839,59,2.614,95,0.129,101,0.017,103,0.001,104,0.001,177,1.581,181,2.296,345,2.706,349,0.878,379,1.071,381,3.674,988,4.724,1121,8.057,1147,3.293,1271,2.644,2171,6.509,3751,6.066,4038,5.85,5098,8.304,5111,4.587,5112,7.474,5134,6.92,5139,6.663,5141,6.663,5199,7.75,5200,7.75,5225,6.066,5226,7.859,5227,5.754,5296,7.433,5323,6.663,5326,11.648,5327,7.852,5329,9.497,5355,8.487,5356,8.487,5357,8.487,5358,8.487,5359,8.487,5360,8.487,5361,10.843,5362,8.487,5363,8.487,5364,8.487,5365,8.487,5366,8.487,5367,8.487]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.232,5234,5.557]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.284,2,0.644,3,0.013,4,0.013,5,0.013,7,0.084,8,1.019,27,0.444,29,0.664,30,0.001,31,0.478,32,0.127,33,0.403,35,0.709,36,1.8,47,0.756,95,0.146,101,0.017,103,0,104,0,105,0.86,177,2.337,181,1.578,236,2.113,262,1.288,345,1.86,349,1.23,379,1.06,381,3.337,437,1.568,454,3.89,490,2.076,603,2.522,686,3.849,1121,3.733,1147,2.991,1271,2.617,1312,5.449,1732,4.406,1942,4.117,2063,7.741,3222,5.377,5098,8.094,5110,4.58,5111,4.541,5112,5.791,5122,9.365,5134,6.612,5139,6.596,5141,6.596,5149,6.802,5153,7.61,5155,4.723,5161,7.304,5199,7.405,5200,7.405,5201,4.894,5202,8.722,5203,7.731,5204,8.232,5205,9.039,5209,7.049,5213,9.58,5215,7.049,5216,9.628,5218,10.155,5219,7.049,5222,4.723,5223,4.723,5224,4.458,5225,4.17,5226,6.477,5227,3.955,5228,6.596,5229,6.802,5230,4.58,5231,6.006,5232,4.58,5233,8.261,5234,6.802,5235,4.894,5236,4.894,5237,4.894,5238,9.039,5239,4.894,5240,7.049,5241,4.894,5242,4.894,5243,7.049,5244,4.894,5245,4.894,5246,4.894,5247,4.894,5248,4.894,5249,4.894,5250,4.894,5251,4.894,5252,4.894,5253,4.894,5254,4.894,5255,4.723,5256,4.894,5257,4.894,5258,4.894,5259,4.894,5260,4.894,5261,4.894,5262,4.894,5263,4.894,5368,7.773,5369,5.834,5370,5.834,5371,5.834,5372,5.834,5373,5.834,5374,5.834]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.232,5232,5.389]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.285,2,0.932,3,0.019,4,0.019,5,0.009,7,0.121,8,1.31,27,0.445,29,0.667,30,0.001,31,0.48,32,0.14,33,0.404,35,1.025,47,0.836,95,0.142,101,0.017,103,0.001,104,0.001,177,1.571,181,2.282,345,2.689,349,1.117,379,1.064,381,3.66,988,4.706,1121,8.039,1147,3.28,1271,3.711,1312,7.727,1942,3.526,3222,8.31,3368,6.828,4038,5.813,5098,8.104,5111,4.558,5122,8.252,5134,6.254,5136,9.991,5153,5.397,5161,8.077,5168,7.803,5199,7.727,5200,7.727,5216,10.17,5226,7.836,5227,5.718,5231,6.029,5232,8.479,5292,7.803,5320,6.828,5323,6.622,5375,8.434,5376,8.434,5377,8.434,5378,8.434]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.232,5330,6.012]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.3,2,0.981,3,0.019,4,0.019,5,0.01,7,0.127,8,1.353,27,0.459,29,0.702,30,0.001,31,0.505,32,0.115,33,0.426,35,1.078,95,0.106,101,0.014,103,0.001,104,0.001,177,1.654,345,2.83,349,0.918,379,1.12,708,3.557,988,4.86,1121,8.19,1147,3.388,1312,7.235,3222,7.139,5098,7.987,5134,5.14,5161,8.677,5199,7.912,5200,7.912,5226,8.853,5227,6.017,5323,6.968,5330,9.77,5331,10.685,5379,8.876,5380,8.211,5381,11.155,5382,8.211,5383,8.876,5384,6.344,5385,8.876,5386,8.211,5387,8.876,5388,8.876,5389,8.876]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.232,5230,5.389]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.231,2,0.755,3,0.015,4,0.015,5,0.008,7,0.098,8,1.139,27,0.499,29,0.54,30,0.001,31,0.389,32,0.139,33,0.328,35,1.304,47,0.659,95,0.153,101,0.015,103,0,104,0,112,0.719,119,1.94,177,1.999,181,2.541,236,1.882,349,1.11,379,0.862,381,2.316,529,1.951,603,2.208,988,4.092,1121,7.394,1147,2.852,1218,2.583,2063,7.833,2232,3.85,2255,4.63,3222,8.008,4404,6.968,5098,8.518,5122,8.828,5129,8.225,5133,5.532,5134,7.247,5171,5.985,5179,5.985,5180,5.985,5199,8.116,5200,8.116,5204,9.255,5224,5.221,5225,4.884,5226,7.599,5227,4.633,5230,7.373,5231,9.47,5264,5.985,5265,5.733,5267,9.071,5268,9.354,5269,8.688,5274,5.733,5275,6.322,5323,5.365,5390,9.002,5391,9.391,5392,6.833,5393,6.833,5394,6.833,5395,5.985,5396,7.603,5397,5.985,5398,8.688,5399,10.73,5400,6.833,5401,6.833,5402,6.833,5403,6.833,5404,6.833,5405,6.833,5406,6.833]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.232,5332,6.012]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,8,1.399,27,0.475,29,0.74,30,0.001,31,0.533,32,0.121,33,0.449,35,1.138,95,0.112,101,0.015,103,0.001,104,0.001,177,1.745,345,2.986,349,0.969,379,1.182,988,5.026,1121,8.348,1147,3.503,5098,8.141,5134,5.424,5199,8.107,5200,8.107,5226,8.972,5227,6.35,5231,9.325,5323,7.353,5331,10.947,5332,10.103,5380,8.665,5382,8.665,5407,9.366,5408,11.535,5409,9.366,5410,9.366]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.232,5395,6.012]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.262,2,0.855,3,0.017,4,0.017,5,0.011,7,0.111,8,1.239,27,0.501,29,0.612,30,0.001,31,0.441,32,0.157,33,0.371,35,1.389,47,0.911,95,0.136,101,0.016,103,0.001,104,0.001,119,2.111,145,2.171,177,1.443,181,2.095,345,2.469,349,1.182,379,0.977,381,3.462,988,4.451,1121,7.78,1147,3.103,1271,2.412,1312,6.626,2255,5.197,5098,8.384,5111,4.185,5112,7.042,5129,10.648,5132,9.452,5133,6.269,5134,6.622,5166,8.572,5171,6.782,5172,9.452,5173,7.164,5174,5.649,5199,8.197,5200,8.197,5225,5.535,5226,7.52,5227,5.25,5266,6.782,5267,8.977,5268,9.843,5271,7.164,5274,6.497,5320,6.269,5321,6.269,5322,6.782,5395,8.948,5396,10.232,5411,7.164,5412,7.744,5413,7.744,5414,7.744,5415,7.744]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.232,5397,6.012]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.232,2,0.756,3,0.015,4,0.015,5,0.011,7,0.098,8,1.14,27,0.476,29,0.541,30,0.001,31,0.39,32,0.15,33,0.328,35,1.305,47,0.879,95,0.138,101,0.015,103,0.001,104,0.001,119,1.943,145,1.919,177,1.752,181,1.852,345,2.182,349,1.196,379,0.864,381,3.186,437,0.902,486,2.062,603,1.408,988,4.096,1121,7.399,1147,2.856,1262,3.28,1271,2.929,1309,3.964,1312,6.098,1931,4.324,2063,7.839,2232,6.828,2255,4.42,2739,3.103,4038,4.718,5098,8.152,5111,3.699,5112,6.48,5133,5.541,5134,6.219,5166,9.01,5178,5.743,5179,5.995,5180,5.995,5199,7.86,5200,7.86,5204,8.206,5224,5.23,5225,4.893,5226,7.064,5227,4.64,5255,7.612,5266,5.995,5267,8.431,5268,9.36,5274,5.743,5278,8.234,5282,8.234,5283,8.234,5284,5.94,5285,8.234,5289,5.743,5296,5.995,5320,5.541,5321,5.541,5322,5.995,5396,9.811,5397,8.234,5398,10.696,5411,6.332,5416,6.845,5417,6.845,5418,6.845,5419,10.74,5420,6.845,5421,6.845,5422,6.845,5423,6.845,5424,9.402,5425,9.402,5426,6.845,5427,9.402,5428,6.845]],["title/modules/CommonToolModule.html",[201,1.848,5429,5.007]],["body/modules/CommonToolModule.html",[0,0.268,3,0.017,4,0.017,5,0.009,30,0.001,95,0.152,101,0.012,103,0.001,104,0.001,155,2.588,201,3.114,203,2.879,204,3.088,205,3.176,206,3.163,207,3.15,208,4.277,209,4.388,214,6.082,218,4.157,219,3.113,220,3.041,225,4.123,226,1.158,227,3.284,560,3.256,654,2.38,1341,2.542,1726,3.389,1728,5.212,1807,10.418,1832,4.352,1963,4.465,2427,4.946,5429,10.481,5430,7.925,5431,7.925,5432,7.925,5433,7.925,5434,8.36,5435,10.967,5436,10.967,5437,10.967,5438,7.925,5439,6.416,5440,6.416,5441,7.925,5442,7.925,5443,7.925,5444,6.649]],["title/injectables/CommonToolService.html",[539,0.921,5435,5.389]],["body/injectables/CommonToolService.html",[0,0.277,3,0.018,4,0.018,5,0.009,7,0.118,8,1.286,27,0.437,29,0.838,30,0.001,31,0.604,32,0.137,33,0.508,35,1.288,95,0.157,101,0.013,103,0.001,104,0.001,105,0.839,119,2.191,131,3.11,226,1.198,349,1.215,539,1.423,541,1.969,564,3.672,603,2.418,654,2.462,839,2.546,1898,7.292,1899,6.936,1901,5.838,2627,6.754,5435,8.324,5445,10.873,5446,6.635,5447,11.753,5448,10.603,5449,8.196,5450,8.196,5451,8.401,5452,10.603,5453,7.924,5454,11.753,5455,8.196,5456,8.196,5457,8.196,5458,10.603,5459,6.876,5460,7.583,5461,8.196,5462,8.196]],["title/injectables/CommonToolValidationService.html",[539,0.921,5436,5.389]],["body/injectables/CommonToolValidationService.html",[0,0.143,3,0.009,4,0.009,5,0.005,7,0.061,8,0.8,27,0.482,29,0.925,30,0.001,31,0.714,32,0.158,33,0.546,35,1.383,47,0.821,95,0.135,101,0.01,103,0,104,0,112,0.505,119,2.054,131,1.604,142,1.647,143,2.032,145,3.353,226,0.618,236,1.716,274,2.549,283,6.13,292,2.141,333,5.461,340,2.048,349,0.437,363,4.57,413,2.45,437,1.389,480,1.835,486,1.273,517,1.598,519,3.911,529,2.616,539,0.885,541,1.016,556,3.043,564,2.534,603,2.705,604,2.711,646,3.022,654,1.27,662,3.633,839,1.313,1130,2.403,1778,1.66,1879,2.638,1898,4.35,1899,4.194,1901,4.029,1927,7.105,1984,2.303,2095,2.866,2207,2.549,2548,4.168,2616,8.396,2627,4.552,2642,8.515,3311,5.534,5436,5.179,5445,11.064,5463,3.319,5464,8.112,5465,6.597,5466,6.597,5467,6.597,5468,6.597,5469,6.597,5470,6.597,5471,6.597,5472,6.597,5473,6.597,5474,13.052,5475,4.227,5476,3.702,5477,6.597,5478,3.911,5479,6.597,5480,12.548,5481,4.227,5482,6.597,5483,4.227,5484,6.597,5485,4.227,5486,6.597,5487,4.227,5488,6.597,5489,12.379,5490,4.227,5491,6.597,5492,4.227,5493,5.04,5494,5.777,5495,6.597,5496,5.777,5497,5.777,5498,5.777,5499,5.777,5500,5.777,5501,4.227,5502,4.227,5503,2.913,5504,4.227,5505,4.227,5506,4.227,5507,4.227,5508,6.597,5509,4.227,5510,4.227,5511,4.227,5512,4.227,5513,3.911,5514,4.227,5515,2.497,5516,6.597,5517,4.227,5518,4.227,5519,4.227,5520,5.777,5521,3.152,5522,6.597,5523,3.23,5524,4.227,5525,4.227,5526,4.227,5527,4.227,5528,3.702,5529,4.227,5530,3.422,5531,6.597,5532,4.227,5533,3.911,5534,6.597,5535,3.546,5536,3.546,5537,4.227,5538,4.227,5539,3.422,5540,4.227,5541,2.638]],["title/classes/ConsentRequestBody.html",[0,0.232,5542,5.759]],["body/classes/ConsentRequestBody.html",[0,0.287,2,0.653,3,0.013,4,0.013,5,0.007,7,0.085,27,0.518,30,0.001,32,0.163,33,0.657,34,1.418,47,0.839,55,2.024,95,0.118,101,0.009,103,0,104,0,110,8.083,111,4.784,112,0.649,114,8.687,116,9.66,117,7.787,119,1.752,135,6.053,138,2.252,142,5.131,143,2.2,144,4.286,145,3.933,147,4.583,148,1.831,150,1.328,153,2.484,180,1.478,239,1.987,245,2.78,248,3.385,249,4.24,282,3.688,287,3.887,347,2.132,348,4.267,382,3.428,517,4.097,662,1.836,696,3.292,843,5.949,951,2.767,990,4.209,1215,3.246,1295,4.311,1306,3.645,1694,7.367,1783,6.658,2024,2.751,2207,7.204,2406,3.301,2424,5.009,3601,4.361,4677,4.354,4751,6.658,5515,3.49,5542,7.115,5543,10.838,5544,10.19,5545,7.115,5546,7.115,5547,6.658,5548,5.91,5549,5.91,5550,6.524,5551,5.91,5552,4.958,5553,7.428,5554,5.638,5555,7.428,5556,7.846,5557,7.428,5558,3.455,5559,5.91,5560,5.467,5561,7.846,5562,6.186,5563,10.027,5564,6.325,5565,7.846,5566,5.91,5567,8.509,5568,4.516,5569,5.176,5570,5.176,5571,5.176,5572,5.467,5573,4.007,5574,6.48,5575,5.949,5576,4.516,5577,4.784,5578,4.516,5579,4.958,5580,4.784,5581,5.467,5582,4.958,5583,5.467,5584,4.516,5585,5.467,5586,5.176,5587,4.958,5588,4.958,5589,5.467,5590,5.23,5591,6.866,5592,5.467]],["title/classes/ConsentResponse.html",[0,0.232,5593,5.557]],["body/classes/ConsentResponse.html",[0,0.339,2,0.553,3,0.011,4,0.011,5,0.006,7,0.072,27,0.541,29,0.395,30,0.001,31,0.285,32,0.17,33,0.666,34,1.672,47,0.948,70,5.394,72,3.384,77,6.86,95,0.119,101,0.008,103,0,104,0,110,7.461,112,0.574,118,7.203,119,1.55,122,5.087,128,4.586,129,9.389,130,7.886,131,3.416,133,2.6,135,7.397,138,2.327,141,5.27,142,3.899,143,2.377,144,3.664,145,3.607,148,1.549,150,1.124,153,2.752,239,2.638,245,3.368,248,3.993,249,5.089,303,5.891,379,0.631,480,2.087,556,1.845,821,2.316,1262,2.618,1670,4.087,1694,6.17,1739,3.456,1794,6.402,2190,4.74,2207,6.034,2406,5.029,2617,7.645,3330,5.363,3458,3.508,3601,4.697,4118,4.049,4256,8.778,5554,5.687,5587,6.295,5590,6.17,5593,9.45,5594,5.002,5595,8.33,5596,8.33,5597,7.554,5598,7.554,5599,7.554,5600,7.289,5601,7.503,5602,5.002,5603,9.858,5604,5.002,5605,7.886,5606,7.503,5607,5.002,5608,7.503,5609,6.295,5610,5.002,5611,7.554,5612,8.33,5613,5.002,5614,5.002,5615,7.503,5616,6.571,5617,5.002,5618,7.503,5619,5.002,5620,7.554,5621,5.002,5622,7.503,5623,8.763,5624,6.783,5625,5.002,5626,5.002,5627,5.002,5628,6.941,5629,6.941,5630,5.002,5631,5.002,5632,4.38,5633,4.627,5634,4.627,5635,4.627]],["title/classes/ConsentSessionResponse.html",[0,0.232,5636,5.759]],["body/classes/ConsentSessionResponse.html",[0,0.35,2,0.87,3,0.017,4,0.017,5,0.009,7,0.113,27,0.504,29,0.623,30,0.001,31,0.656,32,0.158,33,0.637,34,1.727,47,0.994,95,0.123,101,0.012,103,0.001,104,0.001,110,7.706,112,0.791,135,7.098,138,2.063,141,4.838,148,2.44,150,1.77,153,2.643,245,3.139,249,4.043,379,0.994,556,3.353,821,4.785,1391,8.242,1404,7.289,1694,6.373,3601,4.925,4256,9.501,5603,6.9,5636,8.67,5637,12.71,5638,7.289,5639,9.053,5640,9.56,5641,12.24,5642,7.879,5643,5.199,5644,9.56,5645,7.879,5646,7.879,5647,7.879,5648,7.879,5649,7.879]],["title/modules/ConsoleWriterModule.html",[201,1.848,3590,5.245]],["body/modules/ConsoleWriterModule.html",[0,0.328,3,0.021,4,0.021,5,0.011,30,0.001,95,0.14,101,0.015,103,0.001,104,0.001,201,3.418,203,3.525,204,3.781,205,3.888,206,3.872,207,3.856,208,4.695,209,4.817,218,4.723,219,3.81,220,3.723,226,1.418,3505,9.582,3515,6.129,3590,10.638,5650,9.701,5651,9.701,5652,9.701,5653,8.975,5654,7.854,5655,9.701,5656,8.497]],["title/injectables/ConsoleWriterService.html",[539,0.921,3505,4.582]],["body/injectables/ConsoleWriterService.html",[0,0.335,3,0.028,4,0.022,5,0.011,7,0.142,8,1.446,27,0.407,29,0.782,30,0.001,31,0.563,32,0.128,33,0.474,35,1.202,47,0.899,95,0.118,101,0.015,103,0.001,104,0.001,226,1.445,519,3.673,521,3.915,539,1.6,541,2.376,996,4.764,997,4.605,998,4.709,2882,5.677,3505,7.959,3515,6.248,5653,11.031,5654,9.653,5657,9.89,5658,11.924,5659,9.89,5660,9.89]],["title/classes/ContentBodyParams.html",[0,0.232,1144,5.557]],["body/classes/ContentBodyParams.html",[0,0.436,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,27,0.464,30,0.001,32,0.159,47,0.949,95,0.134,101,0.02,103,0.001,104,0.001,112,0.862,138,2.015,143,1.999,148,2.792,150,2.025,245,3.398,248,5.136,249,4.406,556,2.216,808,4.459,1105,6.141,1138,7.297,1143,9.119,1144,9.946,1145,9.119,1148,6.887,1150,7.184,1152,7.562,2406,5.034,5590,6.947,5661,7.894,5662,8.618,5663,6.213,5664,9.013,5665,9.013,5666,9.013]],["title/injectables/ContentElementFactory.html",[539,0.921,3597,5.557]],["body/injectables/ContentElementFactory.html",[0,0.203,3,0.013,4,0.013,5,0.01,7,0.086,8,1.04,27,0.494,29,0.475,30,0.001,31,0.342,32,0.15,33,0.288,34,1.93,35,1.459,49,2.279,83,3.796,95,0.153,101,0.009,103,0,104,0,226,0.878,236,2.282,349,1.242,376,4.807,377,5.008,437,1.522,454,3.973,486,1.809,524,3.414,529,1.714,539,1.151,541,1.443,564,1.876,593,2.237,603,2.808,1262,2.095,1271,1.871,1309,6.687,1664,2.245,1923,8.839,1931,3.794,1942,5.817,2232,3.384,2501,2.893,2548,2.022,2794,7.525,2861,5.643,2864,5.291,2867,5.643,2870,5.231,2873,5.42,2880,8.424,2881,4.479,2882,4.085,2883,2.668,2884,3.622,3255,3.794,3278,3.584,3280,3.584,3286,4.466,3289,3.105,3580,5.26,3597,6.945,4163,5.81,4188,7.207,5310,8.016,5667,12.363,5668,6.006,5669,10.918,5670,10.101,5671,10.918,5672,10.918,5673,10.918,5674,8.579,5675,6.006,5676,6.006,5677,6.006,5678,6.006,5679,6.006,5680,6.006,5681,3.843,5682,6.006,5683,3.895,5684,6.006,5685,3.843,5686,6.006,5687,3.895,5688,6.006,5689,3.895,5690,6.006,5691,6.006]],["title/classes/ContentElementResponseFactory.html",[0,0.232,3773,5.245]],["body/classes/ContentElementResponseFactory.html",[0,0.239,2,0.78,3,0.016,4,0.016,5,0.011,7,0.101,8,1.164,27,0.449,29,0.759,30,0.001,31,0.547,32,0.152,33,0.46,35,1.167,95,0.159,99,1.145,100,2.399,101,0.011,103,0.001,104,0.001,112,0.735,226,1.031,236,1.564,349,0.993,413,4.029,437,1.439,480,1.964,486,2.126,529,2.741,564,2.205,603,2.245,739,5.055,783,5.363,1942,5.775,1969,6.53,1980,6.53,2000,4.049,2232,3.977,2503,8.138,2509,7.337,2511,8.834,2512,5.609,2548,2.377,2864,7.223,2870,7.141,2881,5.264,2882,3.361,2883,3.136,2884,4.257,3255,4.459,3731,8.177,3771,7.8,3772,7.8,3773,7.337,5692,11.712,5693,10.095,5694,10.912,5695,9.602,5696,9.602,5697,9.602,5698,9.602,5699,9.602,5700,7.058,5701,7.058,5702,7.058,5703,5.992,5704,7.058,5705,7.058,5706,5.541,5707,6.182,5708,6.182,5709,6.182,5710,6.182,5711,6.182,5712,9.602,5713,7.058,5714,7.058,5715,7.058,5716,6.182,5717,7.058,5718,7.058,5719,7.058,5720,7.058]],["title/injectables/ContentElementService.html",[539,0.921,1912,5.007]],["body/injectables/ContentElementService.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,10,3.419,12,3.782,26,2.499,27,0.505,29,0.97,30,0.001,31,0.699,32,0.168,33,0.588,34,1.409,35,1.447,36,2.845,55,2.014,95,0.142,99,0.951,101,0.009,103,0,104,0,177,1.839,226,0.856,236,1.608,262,3.05,349,1.116,379,1.064,437,1.508,529,2.406,539,1.131,541,1.408,603,2.031,608,2.91,685,3.524,790,2.948,1912,6.148,1917,6.617,1923,10.51,1942,5.348,1944,2.471,2255,4.127,2487,3.095,2512,2.806,2525,6.376,2681,3.142,2854,6.976,2958,4.978,3149,4.369,3150,8.354,3307,3.972,3338,7.797,3366,6.057,3378,5.131,3427,9.152,3430,5.809,3436,8.249,3440,4.915,3597,9.935,4161,7.381,4163,5.745,4181,4.743,4245,9.987,5716,5.131,5721,11.618,5722,5.859,5723,5.859,5724,5.859,5725,8.428,5726,5.859,5727,8.428,5728,5.859,5729,8.428,5730,5.859,5731,8.428,5732,5.859,5733,8.428,5734,7.1,5735,5.859,5736,5.859,5737,5.131,5738,5.859,5739,5.859,5740,5.859,5741,5.859,5742,5.859,5743,5.859,5744,5.859,5745,5.859,5746,5.859,5747,4.274,5748,5.859,5749,5.859,5750,5.859,5751,5.859]],["title/injectables/ContentElementUpdateVisitor.html",[539,0.921,5737,6.012]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.067,8,0.867,27,0.522,29,0.989,30,0.001,31,0.712,32,0.166,33,0.6,35,1.495,36,2.897,47,0.33,95,0.124,99,0.762,101,0.007,103,0,104,0,112,0.547,177,1.615,226,0.686,236,1.165,247,2.017,262,3.065,301,3.134,349,1.365,379,0.593,437,1.142,539,0.96,541,1.128,556,1.759,603,2.261,604,4.285,790,2.363,1147,1.426,1262,3.023,1739,2.163,1832,2.579,1925,6.223,1942,5.425,2255,3.987,2429,4.112,2512,4.64,2525,5.723,2548,2.409,2653,8.187,2692,5.509,2801,4.143,2830,2.802,2854,5.928,2861,6.859,2864,6.432,2867,6.859,2870,6.359,2873,6.589,2880,3.425,2883,2.086,2886,6.002,2887,6.002,2888,6.002,2889,6.002,2890,6.002,2891,6.002,2892,6.002,2894,6.002,2895,6.002,2896,6.002,2897,6.002,2898,6.002,2899,6.002,2900,6.002,2901,6.002,2902,6.002,2903,6.002,2958,2.773,3067,4.344,3286,2.445,3473,6.557,5721,11.879,5734,7.227,5737,6.265,5752,4.696,5753,7.153,5754,7.153,5755,7.153,5756,7.153,5757,4.696,5758,3.236,5759,4.696,5760,4.696,5761,4.696,5762,4.696,5763,4.696,5764,4.696,5765,4.696,5766,4.696,5767,6.618,5768,4.696,5769,4.344,5770,3.939,5771,4.775,5772,4.775,5773,4.775,5774,4.775,5775,4.775,5776,4.696,5777,4.696,5778,4.696,5779,4.344,5780,4.696,5781,7.153,5782,4.344,5783,4.696,5784,4.696,5785,4.344,5786,4.696,5787,4.344,5788,4.696,5789,4.696,5790,4.696,5791,7.153,5792,4.696,5793,8.665,5794,4.696,5795,4.696,5796,4.696,5797,4.344,5798,4.696,5799,4.696,5800,4.344,5801,4.696,5802,4.344,5803,4.696,5804,7.153,5805,4.344,5806,4.696,5807,7.153,5808,4.344,5809,4.696,5810,4.696,5811,7.153,5812,4.696,5813,3.801,5814,4.112,5815,4.696,5816,4.344,5817,4.696]],["title/classes/ContentElementUrlParams.html",[0,0.232,5818,6.012]],["body/classes/ContentElementUrlParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,34,1.987,47,0.835,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,245,3.049,808,4.707,1942,4.971,3876,5.813,5818,10.413,5819,11.889,5820,9.105,5821,11.818,5822,9.105]],["title/classes/ContentFileUrlParams.html",[0,0.232,5823,6.012]],["body/classes/ContentFileUrlParams.html",[0,0.398,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,27,0.485,30,0.001,32,0.152,34,2.12,47,0.926,95,0.14,101,0.015,103,0.001,104,0.001,112,0.901,138,2.106,148,2.998,150,2.175,245,3.252,248,4.697,808,4.659,809,6.463,1105,6.339,5663,6.671,5823,10.307,5824,12.682,5825,8.954,5826,7.914,5827,8.12,5828,9.678,5829,9.678]],["title/classes/ContentMetadata.html",[0,0.232,5830,5.557]],["body/classes/ContentMetadata.html",[0,0.205,2,0.419,3,0.008,4,0.019,5,0.004,7,0.124,26,2.149,27,0.55,29,0.3,30,0.001,31,0.216,32,0.174,33,0.661,47,0.97,49,3.275,95,0.112,96,1.619,97,1.579,99,0.615,101,0.013,103,0,104,0,105,0.388,112,0.463,138,2.38,143,3.047,144,4.124,154,1.225,160,7.076,172,4.324,173,1.103,174,2.315,178,1.508,180,0.661,182,1.206,236,1.231,349,0.782,379,0.764,654,1.139,839,2.348,1105,6.71,1108,4.511,1125,2.313,1147,1.839,1218,2.289,1271,2.355,2024,1.766,2171,5.138,2255,3.606,2562,3.088,2670,3.463,2696,1.766,2784,1.796,3130,2.288,3366,1.872,3473,2.264,3632,3.482,4266,2.554,4332,3.248,4359,2.615,4543,3.071,5146,2.101,5830,7.636,5831,10.867,5832,3.322,5833,6.521,5834,6.621,5835,6.621,5836,6.342,5837,5.303,5838,4.337,5839,6.342,5840,5.776,5841,5.776,5842,5.638,5843,5.776,5844,4.903,5845,6.621,5846,6.621,5847,5.303,5848,6.621,5849,6.621,5850,5.638,5851,5.776,5852,6.621,5853,6.621,5854,4.329,5855,6.056,5856,3.793,5857,3.793,5858,6.621,5859,3.793,5860,6.621,5861,3.793,5862,3.793,5863,8.063,5864,3.793,5865,3.793,5866,4.248,5867,4.628,5868,3.793,5869,3.793,5870,3.793,5871,3.793,5872,3.793,5873,3.793,5874,3.793,5875,3.793,5876,3.793,5877,3.793,5878,3.793,5879,3.793,5880,3.793,5881,3.793,5882,3.793,5883,3.474,5884,2.899,5885,5.304,5886,2.899,5887,3.322,5888,2.899,5889,3.322,5890,2.712,5891,2.712,5892,3.322,5893,3.322,5894,2.661,5895,3.322,5896,2.712,5897,2.899,5898,3.322,5899,2.899,5900,3.322,5901,2.899,5902,3.322,5903,2.899,5904,3.322,5905,3.322,5906,3.322,5907,3.322,5908,3.322,5909,2.899,5910,3.322,5911,3.322,5912,3.322,5913,3.322,5914,3.322,5915,3.322,5916,3.322,5917,3.322,5918,3.322,5919,3.322,5920,3.322,5921,3.322,5922,3.322,5923,3.322,5924,3.322,5925,3.322,5926,3.322,5927,3.322,5928,3.183,5929,3.322,5930,5.125,5931,4.903,5932,4.085,5933,3.996,5934,2.829,5935,2.019,5936,2.712,5937,2.712,5938,2.572,5939,2.712,5940,2.767,5941,2.829,5942,2.428,5943,2.615,5944,3.183,5945,2.712,5946,3.322,5947,2.829,5948,2.712]],["title/classes/ContextExternalTool.html",[0,0.232,1899,3.548]],["body/classes/ContextExternalTool.html",[0,0.244,2,0.798,3,0.016,4,0.016,5,0.008,7,0.104,8,1.182,27,0.545,29,0.976,30,0.001,31,0.411,32,0.168,33,0.592,34,1.846,35,0.877,47,0.867,55,2.519,95,0.147,101,0.015,103,0.001,104,0.001,105,0.739,112,0.746,131,2.74,180,1.7,181,2.639,349,0.747,379,0.911,381,2.447,382,2.157,564,4.41,654,2.169,1147,2.962,1746,6.913,1899,5.041,1901,3.587,2642,7.776,3789,4.403,5453,7.682,5949,7.735,5950,11.584,5951,5.669,5952,8.7,5953,6.069,5954,9.034,5955,9.034,5956,9.919,5957,9.021,5958,7.221,5959,7.221,5960,7.221,5961,9.571,5962,7.221,5963,5.268,5964,7.221,5965,5.669,5966,4.82,5967,5.162,5968,5.518,5969,6.681,5970,6.681,5971,6.681,5972,6.681,5973,4.621,5974,4.977,5975,4.82,5976,5.268,5977,6.97,5978,5.385]],["title/injectables/ContextExternalToolAuthorizableService.html",[539,0.921,5979,5.557]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,12,4.965,26,2.594,27,0.456,29,0.875,30,0.001,31,0.63,32,0.143,33,0.531,34,1.464,35,1.064,36,2.37,40,5.33,95,0.156,99,1.421,101,0.014,103,0.001,104,0.001,177,1.632,226,1.28,227,3.631,262,2.678,345,2.793,349,0.906,379,1.106,437,1.155,539,1.485,541,2.105,564,4.191,608,2.03,1147,2.661,1742,8.957,1778,3.441,1899,6.585,2531,4.057,2548,4.084,3146,8.105,5437,10.532,5949,7.091,5979,8.957,5980,10.621,5981,8.105,5982,8.761,5983,8.761,5984,8.761]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.232,5985,5.759]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.313,2,1.021,3,0.02,4,0.02,5,0.01,7,0.133,27,0.471,29,0.73,30,0.001,31,0.526,32,0.161,33,0.443,95,0.136,101,0.014,103,0.001,104,0.001,112,0.875,131,3.505,138,1.653,150,2.076,245,2.933,284,4.03,379,1.166,556,2.271,564,4.056,814,6.481,817,6.562,819,4.648,834,5.033,1077,7.662,2079,5.739,2546,5.691,2548,4.372,5985,9.596,5986,11.493,5987,11.156,5988,8.98,5989,8.547]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.232,5987,5.557]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.252,2,0.821,3,0.016,4,0.016,5,0.008,7,0.107,26,2.539,27,0.539,29,0.946,30,0.001,31,0.681,32,0.172,33,0.537,47,0.84,55,2.029,95,0.133,99,1.206,101,0.012,103,0.001,104,0.001,112,0.761,138,2.296,149,4.315,150,1.67,245,3.493,379,0.938,556,1.827,564,4.159,819,3.74,1130,4.225,2044,2.885,2079,5.961,2546,6.099,2548,4.483,5111,6.055,5975,4.961,5986,12.317,5987,10.094,5990,6.876,5991,7.858,5992,6.368,5993,8.172,5994,9.198,5995,9.942,5996,6.876,5997,6.876,5998,6.876,5999,9.391,6000,6.876,6001,6.876,6002,6.509,6003,6.236,6004,6.876,6005,7.432,6006,7.432,6007,6.876,6008,4.888,6009,6.876,6010,6.876,6011,5.835,6012,6.876]],["title/classes/ContextExternalToolContextParams.html",[0,0.232,6013,5.759]],["body/classes/ContextExternalToolContextParams.html",[0,0.374,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,27,0.456,30,0.001,32,0.143,47,0.777,95,0.144,101,0.014,103,0.001,104,0.001,112,0.847,138,1.98,142,4.964,143,2.825,144,3.948,145,3.571,148,2.714,150,1.968,245,3.11,556,2.154,564,4.191,808,4.38,839,2.721,852,4.079,1928,8.606,1929,4.298,1933,6.262,2492,7.683,2548,4.084,2922,5.299,4858,7.314,5949,7.091,6013,9.283,6014,9.818,6015,8.761,6016,7.662,6017,7.673,6018,8.761,6019,8.761,6020,8.761,6021,8.761,6022,8.761,6023,7.673]],["title/entities/ContextExternalToolEntity.html",[154,1.389,6024,5.007]],["body/entities/ContextExternalToolEntity.html",[0,0.24,3,0.016,4,0.016,5,0.008,7,0.102,27,0.521,29,0.927,30,0.001,32,0.164,33,0.461,47,0.888,55,2.231,95,0.146,96,1.893,101,0.015,103,0.001,104,0.001,105,0.725,112,0.737,131,2.687,138,2.264,143,2.601,144,2.306,154,1.947,155,2.313,160,3.956,172,4.114,173,2.06,174,3.679,178,2.815,180,1.235,181,1.917,182,2.252,564,4.383,654,2.128,1403,5.282,1732,5.047,2548,2.385,4326,4.968,4332,5.161,4333,4.227,4858,7.074,5094,5.062,5453,6.927,5949,7.567,5953,6.021,5973,4.533,5974,4.882,5975,4.728,5976,5.167,5977,5.063,5978,5.282,6016,7.41,6024,7.021,6025,10.857,6026,5.734,6027,9.84,6028,7.083,6029,10.272,6030,7.083,6031,7.083,6032,9.372,6033,7.083,6034,8.556,6035,7.083,6036,7.083,6037,5.943,6038,4.594,6039,8.075,6040,6.553,6041,6.553,6042,6.553,6043,6.203,6044,5.943,6045,5.734,6046,5.943]],["title/classes/ContextExternalToolFactory.html",[0,0.232,6047,6.35]],["body/classes/ContextExternalToolFactory.html",[0,0.16,2,0.522,3,0.01,4,0.01,5,0.005,7,0.068,8,0.872,27,0.535,29,1.045,30,0.001,31,0.723,32,0.173,33,0.601,34,1.455,35,1.469,47,0.829,49,1.794,55,2.337,59,3.393,95,0.131,96,1.264,97,1.968,101,0.007,103,0,104,0,112,0.55,120,3.047,133,2.492,140,2.597,153,1.994,154,1.761,155,2.348,177,1.34,180,1.254,236,1.171,271,4.652,319,3.047,333,2.013,349,0.744,379,0.597,382,3.841,413,2.172,437,0.948,447,6.95,448,4.47,449,5.385,452,3.982,453,5.385,454,5.465,455,3.982,456,3.982,457,3.982,458,3.918,459,4.408,460,4.819,461,6.378,462,5.699,463,6.914,464,2.641,469,2.618,470,3.982,471,2.641,472,5.062,473,5.215,474,4.139,475,4.925,476,3.949,477,2.618,478,2.479,479,4.06,480,3.43,481,2.555,482,2.516,483,2.618,484,4.992,485,2.641,486,3.555,487,4.741,488,2.618,489,7.037,490,4.201,491,6.536,492,2.641,493,3.528,494,2.618,495,2.641,496,2.618,497,2.641,498,2.618,501,2.618,502,6.002,503,2.641,504,2.618,505,3.982,506,3.744,507,3.982,508,2.641,509,2.536,510,2.516,511,2.101,512,2.618,513,2.618,514,2.618,515,2.641,516,2.641,517,1.787,518,2.618,519,1.456,520,2.641,521,2.847,522,2.618,523,2.641,525,2.713,526,2.765,527,2.793,556,2.139,564,2.719,708,2.882,1899,2.444,1901,2.349,1926,1.774,1928,2.987,1933,3.38,2548,1.592,2642,4.73,3602,3.067,4188,2.951,4266,3.722,4374,6.104,4376,3.38,5453,2.793,5952,3.11,5953,2.427,5954,5.495,5956,3.967,6047,8.051,6048,7.191,6049,3.828,6050,7.191,6051,7.191,6052,4.728,6053,7.093,6054,3.712,6055,3.206,6056,4.728]],["title/classes/ContextExternalToolIdParams.html",[0,0.232,6057,5.245]],["body/classes/ContextExternalToolIdParams.html",[0,0.401,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.403,30,0.001,32,0.127,47,0.832,95,0.141,101,0.015,103,0.001,104,0.001,112,0.907,138,1.753,142,4.62,143,2.629,144,3.189,145,3.323,148,3.034,150,2.201,245,3.04,256,7.001,564,4.139,808,4.693,2548,3.992,3294,7.182,5949,6.932,6014,9.597,6057,9.058,6058,8.218,6059,8.578]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.193,708,2.287,6057,4.361]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.404,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,26,2.609,27,0.408,30,0.001,32,0.128,95,0.153,99,1.609,101,0.015,103,0.001,104,0.001,112,0.914,138,1.774,148,3.071,150,2.228,245,3.063,256,7.087,564,3.731,808,4.728,2546,5.471,2548,4.021,3294,7.22,6057,9.125,6060,11.047,6061,7.232,6062,8.026]],["title/modules/ContextExternalToolModule.html",[201,1.848,3591,5.389]],["body/modules/ContextExternalToolModule.html",[0,0.258,3,0.017,4,0.017,5,0.009,30,0.001,95,0.154,101,0.012,103,0.001,104,0.001,201,3.056,203,2.771,204,2.972,205,3.057,206,3.044,207,3.032,208,4.197,209,4.306,214,6.018,218,4.053,219,2.996,220,2.927,225,4.021,226,1.114,560,3.134,564,3.776,654,2.291,1341,2.446,2548,3.406,3591,11.328,5134,4.417,5429,9.429,5439,6.175,5949,4.46,5979,11.245,6063,7.628,6064,7.628,6065,7.628,6066,7.628,6067,9.876,6068,10.147,6069,9.008,6070,11.654,6071,11.654,6072,7.628]],["title/classes/ContextExternalToolPostParams.html",[0,0.232,6073,5.759]],["body/classes/ContextExternalToolPostParams.html",[0,0.38,2,0.824,3,0.016,4,0.016,5,0.008,7,0.107,27,0.529,29,0.887,30,0.001,32,0.175,33,0.574,47,0.902,55,2.033,95,0.149,101,0.012,103,0.001,104,0.001,112,0.763,138,2.298,143,1.654,148,2.311,149,4.323,150,1.676,245,3.202,248,3.978,249,4.391,564,4.393,654,2.241,808,4.443,852,3.473,1142,4.655,1928,7.091,1929,3.659,2406,4.166,2548,4.416,3493,7.124,4858,6.769,5453,6.629,5590,6.147,5663,6.869,5949,7.668,5953,5.762,6014,10.617,6016,7.091,6023,6.533,6053,8.187,6073,8.362,6074,6.901,6075,7.46,6076,7.46,6077,7.46,6078,5.442,6079,7.46,6080,9.539,6081,6.259,6082,6.259,6083,6.259,6084,7.46,6085,6.901,6086,6.901,6087,7.46,6088,5.615,6089,5.7]],["title/interfaces/ContextExternalToolProps.html",[105,0.702,5956,5.759]],["body/interfaces/ContextExternalToolProps.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,29,1.01,30,0.001,32,0.17,33,0.591,34,2.06,47,0.937,55,2.608,95,0.152,101,0.016,103,0.001,104,0.001,105,0.821,107,1.883,112,0.8,131,3.042,180,1.398,181,2.17,349,0.829,564,3.633,654,2.409,1147,2.435,1746,6.112,1899,4.145,1901,3.983,2642,8.407,3789,4.889,5453,7.883,5949,4.689,5950,7.023,5951,6.295,5952,9.081,5953,6.562,5954,9.766,5955,6.127,5956,9.757,5961,10.347,5965,6.295,5966,5.352,5967,5.732,5968,6.127,5969,7.418,5970,7.418,5971,7.418,5972,7.418,5973,5.131,5974,5.527,5975,5.352,5976,5.849,5977,7.472,5978,5.98]],["title/injectables/ContextExternalToolRepo.html",[539,0.921,5437,5.389]],["body/injectables/ContextExternalToolRepo.html",[0,0.126,3,0.008,4,0.008,5,0.004,7,0.053,8,0.723,10,2.419,12,2.676,18,2.981,26,2.345,27,0.537,29,1.037,30,0.001,31,0.737,32,0.173,33,0.621,34,1.666,35,1.561,36,2.607,40,2.873,47,0.524,95,0.147,96,1.594,97,1.549,101,0.006,103,0,104,0,112,0.285,131,2.263,133,2.067,154,1.89,155,1.215,173,1.082,177,1.111,180,1.039,226,0.544,227,1.542,236,1.706,262,2.858,310,2.586,349,1.239,379,0.47,381,1.261,382,3.635,437,1.48,448,3.028,486,1.796,519,1.146,529,1.702,539,0.8,541,0.894,564,3.9,603,2.621,608,1.382,662,2.318,680,4.043,686,2.732,687,4.611,718,1.995,740,2.843,754,3.259,1309,4.943,1341,1.193,1403,2.775,1665,3.106,1778,1.461,1899,5.803,1901,2.962,1928,6.616,1931,3.767,1933,4.262,1936,5.223,2000,2.134,2088,2.413,2299,8.697,2301,4.262,2302,4.262,2303,4.262,2304,4.262,2305,4.183,2306,4.183,2307,4.262,2308,4.183,2309,4.262,2310,2.714,2311,4.852,2312,3.538,2313,3.89,2315,4.35,2316,2.659,2318,4.943,2319,2.659,2321,2.659,2323,2.413,2324,4.183,2325,2.659,2327,2.659,2329,4.262,2333,4.262,2335,4.043,2336,4.183,2338,2.659,2340,2.244,2341,2.295,2342,2.659,2344,2.659,2346,2.61,2347,2.659,2353,2.522,2364,2.564,2365,4.447,2387,5.003,2400,3.259,2627,1.848,3602,4.84,4266,1.257,4446,2.322,4544,3.453,4741,3.98,4743,3.15,4858,2.244,5437,4.682,5453,3.522,5558,3.04,5952,6.144,5953,3.061,5954,4.556,5961,6.041,6016,2.351,6024,8.401,6027,5.003,6029,9.171,6034,2.714,6038,3.867,6039,8.364,6053,2.714,6090,10.068,6091,3.259,6092,5.517,6093,5.963,6094,5.963,6095,5.963,6096,3.721,6097,5.517,6098,9.687,6099,3.721,6100,8.731,6101,5.963,6102,3.721,6103,5.517,6104,3.721,6105,5.003,6106,3.442,6107,3.721,6108,5.963,6109,3.721,6110,5.963,6111,3.721,6112,3.721,6113,3.721,6114,2.714,6115,2.714,6116,2.714,6117,2.714,6118,2.714,6119,2.714,6120,2.714,6121,2.714,6122,2.714,6123,3.721,6124,3.721,6125,3.721,6126,2.659,6127,4.262,6128,3.012,6129,3.259,6130,2.843,6131,3.721,6132,3.453,6133,3.442,6134,2.564,6135,5.963,6136,3.721,6137,3.721,6138,3.721,6139,3.721,6140,3.721,6141,3.442,6142,3.721,6143,3.721,6144,3.442,6145,3.721,6146,3.442,6147,3.442,6148,3.721,6149,3.721,6150,3.721,6151,3.721,6152,3.721,6153,3.721,6154,3.442,6155,3.442,6156,5.963,6157,5.963,6158,5.963]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.232,6159,6.012]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.275,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,8,1.279,27,0.434,29,0.926,30,0.001,31,0.666,32,0.152,33,0.506,34,1.359,35,1.282,95,0.147,101,0.013,103,0.001,104,0.001,141,3.806,349,1.211,413,3.973,480,2.262,564,4.241,603,2.409,654,2.442,790,4.091,2548,3.943,2642,7.701,5453,4.802,5949,6.846,5952,5.348,5953,4.174,5954,6.213,5966,5.427,6053,5.931,6073,10.395,6080,9.81,6089,6.213,6126,5.812,6159,9.238,6160,10.832,6161,6.383,6162,10.548,6163,10.254,6164,10.548,6165,8.131,6166,10.254,6167,7.121,6168,8.131,6169,8.849,6170,7.121,6171,8.131,6172,8.131,6173,8.131,6174,8.131,6175,8.131,6176,7.522,6177,7.121,6178,6.821,6179,7.121]],["title/classes/ContextExternalToolResponse.html",[0,0.232,6180,5.557]],["body/classes/ContextExternalToolResponse.html",[0,0.232,2,0.759,3,0.015,4,0.015,5,0.008,7,0.099,27,0.546,29,0.915,30,0.001,31,0.391,32,0.174,33,0.582,34,1.798,47,0.942,55,1.923,95,0.128,101,0.011,103,0.001,104,0.001,112,0.721,138,2.339,149,4.674,150,1.543,245,3.475,379,0.867,404,2.763,480,1.911,486,2.069,556,1.688,564,4.439,654,2.063,819,3.455,824,2.436,839,2.133,1928,7.666,1929,3.369,2921,4.056,4858,6.488,5453,6.354,5949,7.847,5953,5.523,5973,4.395,5975,4.584,5977,4.909,5992,6.116,6008,4.517,6014,10.864,6016,6.797,6043,6.015,6045,5.56,6053,7.848,6089,5.248,6180,9.823,6181,6.015,6182,7.629,6183,8.254,6184,6.015,6185,6.015,6186,6.015,6187,6.015,6188,9.09,6189,6.015,6190,6.015,6191,6.015,6192,5.248,6193,6.354,6194,6.868,6195,6.868,6196,6.868,6197,6.868,6198,6.015,6199,6.354,6200,6.015]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.232,6201,5.759]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.227,2,0.742,3,0.015,4,0.015,5,0.008,7,0.096,8,1.126,27,0.472,29,0.952,30,0.001,31,0.685,32,0.149,33,0.55,34,1.123,35,1.394,95,0.137,101,0.01,103,0,104,0,236,1.733,347,3.35,349,1.245,413,4.111,437,1.587,480,1.87,564,4.217,603,2.189,654,2.019,782,4.01,790,3.381,824,3.293,1778,2.639,1899,6.224,1905,6.217,1932,5.886,2548,4.054,3729,5.886,3731,4.486,4544,6.644,4858,4.053,5453,3.969,5949,7.04,5953,4.766,5992,3.82,6016,4.246,6053,4.902,6080,9.2,6089,5.135,6160,11.138,6163,9.316,6167,5.886,6169,7.789,6178,5.638,6179,5.886,6180,9.747,6188,10.21,6201,7.789,6202,9.284,6203,9.284,6204,9.284,6205,9.284,6206,5.886,6207,9.284,6208,10.087,6209,6.72,6210,10.331,6211,9.284,6212,6.217,6213,6.217,6214,5.638,6215,6.217,6216,5.276,6217,4.714,6218,5.886,6219,6.72,6220,6.72,6221,6.72,6222,6.72,6223,8.589,6224,6.72,6225,6.72,6226,5.441,6227,6.217,6228,6.217,6229,5.886,6230,5.638,6231,6.217,6232,6.72]],["title/injectables/ContextExternalToolRule.html",[539,0.921,1761,5.759]],["body/injectables/ContextExternalToolRule.html",[0,0.248,3,0.016,4,0.016,5,0.008,7,0.105,8,1.194,27,0.458,29,0.879,30,0.001,31,0.633,32,0.154,33,0.533,35,1.196,95,0.152,101,0.011,103,0.001,104,0.001,119,2.64,131,4.22,154,2.72,177,1.365,226,1.07,239,3.184,345,2.336,349,1.018,379,0.924,437,0.966,539,1.321,541,1.76,564,3.992,604,4.57,662,3.969,1147,2.225,1670,6.478,1697,7.973,1718,4.418,1735,7.96,1761,8.26,1875,4.751,1879,6.144,1886,6.572,1899,6.86,1901,3.638,3411,6.572,3412,4.966,3415,6.476,3418,4.966,3419,6.675,3420,7.343,3602,6.386,6024,9.806,6038,4.751,6233,11.892,6234,6.777,6235,6.777,6236,6.777,6237,6.777,6238,7.038,6239,7.325,6240,7.325]],["title/classes/ContextExternalToolScope.html",[0,0.232,6100,6.012]],["body/classes/ContextExternalToolScope.html",[0,0.218,2,0.711,3,0.014,4,0.014,5,0.007,7,0.092,8,1.092,26,2.697,27,0.538,29,0.971,30,0.001,31,0.699,32,0.169,33,0.589,34,1.737,35,1.492,95,0.134,99,1.044,101,0.01,103,0,104,0,112,0.689,119,2.147,180,1.57,227,2.666,310,2.79,349,1.164,382,3.54,480,1.79,486,1.938,519,1.981,556,3.406,564,3.837,603,2.527,1928,7.113,2350,6.138,3602,4.172,4858,6.267,5558,5.327,6016,6.566,6024,4.693,6027,5.397,6038,4.172,6053,7.581,6055,4.362,6090,10.963,6100,11.6,6241,5.634,6242,6.012,6243,6.012,6244,6.012,6245,9.006,6246,9.006,6247,9.006,6248,9.006,6249,6.012,6250,6.012,6251,4.362,6252,4.294,6253,4.362,6254,4.362,6255,9.006,6256,6.433,6257,9.006,6258,6.433,6259,9.006,6260,6.433,6261,9.006,6262,6.433,6263,4.294,6264,6.012,6265,4.362,6266,4.294,6267,4.362,6268,4.294,6269,7.515]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.232,6270,6.012]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.314,2,1.025,3,0.02,4,0.02,5,0.01,7,0.133,27,0.472,29,0.734,30,0.001,31,0.528,32,0.161,33,0.445,95,0.137,101,0.014,103,0.001,104,0.001,112,0.878,131,3.521,138,1.661,150,2.085,245,2.942,284,4.035,379,1.171,556,2.282,564,4.309,813,8.732,814,6.51,817,6.58,819,4.67,834,5.056,2548,4.192,5949,7.279,5988,9.005,6014,10.078,6180,11.167,6270,10.046,6271,8.128]],["title/injectables/ContextExternalToolService.html",[539,0.921,6069,4.452]],["body/injectables/ContextExternalToolService.html",[0,0.214,3,0.014,4,0.014,5,0.007,7,0.091,8,1.079,12,3.993,26,2.555,27,0.517,29,0.992,30,0.001,31,0.714,32,0.162,33,0.602,35,1.484,36,2.827,95,0.14,99,1.026,101,0.01,103,0,104,0,131,2.399,177,1.178,226,0.924,227,2.621,262,3.079,310,2.742,345,2.016,349,1.155,379,0.798,437,1.552,539,1.194,541,1.519,564,4.339,608,2.908,1778,2.484,1899,7.066,2548,2.996,3294,3.562,5437,9.589,5446,5.119,5949,7.491,5952,8.033,5954,4.832,5980,11.22,5981,5.85,5993,6.491,6053,4.613,6069,5.771,6098,10.336,6126,4.52,6170,5.538,6272,8.898,6273,7.793,6274,8.898,6275,8.898,6276,8.898,6277,6.323,6278,8.898,6279,6.323,6280,8.898,6281,6.323,6282,8.898,6283,6.323,6284,8.898,6285,5.85,6286,8.898,6287,5.85,6288,8.898,6289,6.323,6290,8.781,6291,6.323,6292,6.323,6293,8.898,6294,6.323,6295,8.898,6296,6.323,6297,6.323]],["title/injectables/ContextExternalToolUc.html",[539,0.921,6298,5.759]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.01,4,0.01,5,0.005,7,0.063,8,0.822,26,2.852,27,0.459,29,0.881,30,0.001,31,0.634,32,0.149,33,0.534,34,1.133,35,1.298,36,2.587,39,3.301,47,0.582,95,0.146,99,0.71,101,0.007,103,0,104,0,131,4.737,177,1.882,226,0.64,236,1.646,239,1.944,262,2.92,349,1.045,379,0.855,437,1.718,529,1.935,539,0.91,541,1.052,560,1.799,564,4.158,603,2.369,608,3.044,643,3.042,654,2.036,662,3.319,1218,1.655,1670,5.503,1675,2.669,1758,5.93,1778,1.719,1846,3.07,1851,3.436,1854,5.936,1855,2.669,1857,3.436,1898,5.417,1899,6.919,1901,2.174,1928,5.9,1929,2.147,1955,5.936,2531,2.027,2548,3.598,3044,2.466,3294,6.278,3860,3.193,4266,4.079,4858,5.632,5949,6.733,5952,4.458,6016,5.9,6069,7.227,6070,9.349,6126,3.129,6166,11.203,6216,3.436,6226,6.715,6273,5.936,6298,5.687,6299,11.514,6300,3.834,6301,7.673,6302,8.294,6303,6.27,6304,7.673,6305,7.673,6306,4.377,6307,7.968,6308,7.438,6309,4.049,6310,4.377,6311,4.377,6312,6.778,6313,4.377,6314,4.377,6315,6.465,6316,4.377,6317,6.778,6318,4.377,6319,4.377,6320,4.377,6321,4.377,6322,4.377,6323,3.436,6324,2.7,6325,4.377,6326,8.294,6327,4.944,6328,6.778,6329,6.27,6330,4.377,6331,4.377,6332,8.179,6333,6.778,6334,6.27,6335,6.778,6336,3.436,6337,4.377,6338,6.27,6339,4.377,6340,4.377,6341,3.345,6342,9.339,6343,4.377,6344,4.377,6345,6.27,6346,4.377]],["title/injectables/ContextExternalToolValidationService.html",[539,0.921,6070,5.759]],["body/injectables/ContextExternalToolValidationService.html",[0,0.225,3,0.015,4,0.015,5,0.007,7,0.095,8,1.118,27,0.436,29,0.837,30,0.001,31,0.683,32,0.137,33,0.507,35,1.12,36,1.975,95,0.157,101,0.01,103,0,104,0,131,3.499,168,3.817,177,2.129,226,0.972,236,1.084,262,2.741,283,5.687,301,4.442,340,3.225,379,1.164,437,1.216,529,1.9,539,1.238,541,1.599,564,4.276,569,4.756,590,4.104,603,2.619,608,2.647,654,2.77,696,2.583,1123,5.98,1778,2.614,1819,4.586,1898,4.945,1899,6.965,1901,4.58,1926,3.46,2207,5.561,2548,4.286,2627,4.58,3522,5.583,3913,5.387,3914,4.586,5126,4.058,5436,9.992,5463,5.224,5476,5.828,5478,6.156,5949,6.68,5954,5.085,5980,10.005,6069,8.05,6070,7.736,6216,5.224,6217,4.668,6218,5.828,6308,8.495,6315,4.258,6324,5.687,6327,4.854,6347,9.221,6348,6.156,6349,7.849,6350,6.654,6351,9.221,6352,9.221,6353,6.654,6354,5.224,6355,5.387,6356,6.654,6357,6.654,6358,6.654,6359,6.156,6360,7.736,6361,6.156,6362,6.654,6363,6.654,6364,5.828,6365,6.156,6366,6.654,6367,6.654,6368,6.654,6369,6.654,6370,6.654,6371,6.654]],["title/classes/ContextRef.html",[0,0.232,5952,4.515]],["body/classes/ContextRef.html",[0,0.321,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,27,0.517,29,0.749,30,0.001,31,0.539,32,0.177,33,0.454,34,2.1,47,0.816,95,0.113,101,0.015,103,0.001,104,0.001,112,0.889,181,3.143,379,1.196,381,3.211,404,3.813,405,5.081,564,4.092,1928,7.938,1929,4.648,2566,4.231,4404,5.715,5949,7.659,5950,11.471,5952,8.84,6372,8.766,6373,10.748,6374,8.766]],["title/classes/ContextRefParams.html",[0,0.232,6375,6.012]],["body/classes/ContextRefParams.html",[0,0.391,2,1.039,3,0.021,4,0.021,5,0.011,7,0.135,26,2.55,27,0.476,30,0.001,32,0.162,95,0.156,99,1.527,101,0.015,103,0.001,104,0.001,112,0.885,138,2.07,148,2.915,150,2.114,245,3.212,808,4.58,852,4.381,1928,8.475,1929,4.616,2546,5.738,4858,7.554,6016,7.913,6023,8.241,6060,11.588,6061,6.864,6375,10.131,6376,9.41,6377,9.41,6378,9.41,6379,9.41]],["title/injectables/ConverterUtil.html",[539,0.921,2200,5.759]],["body/injectables/ConverterUtil.html",[0,0.431,3,0.021,4,0.021,5,0.011,7,0.14,8,1.433,27,0.401,29,0.934,30,0.001,31,0.555,32,0.153,33,0.467,35,1.184,47,0.893,95,0.141,101,0.015,103,0.001,104,0.001,153,2.234,226,1.424,349,1.008,479,4.874,539,1.586,541,2.342,2200,9.917,4707,10.352,6380,9.748,6381,11.82,6382,11.82,6383,9.748,6384,9.748,6385,9.748,6386,9.018,6387,9.748]],["title/classes/CookiesDto.html",[0,0.232,6388,5.759]],["body/classes/CookiesDto.html",[0,0.334,2,1.09,3,0.022,4,0.022,5,0.011,7,0.142,27,0.527,29,0.78,30,0.001,31,0.562,32,0.166,33,0.473,47,0.932,101,0.015,103,0.001,104,0.001,112,0.911,181,3.222,379,1.245,381,3.343,6388,11.404,6389,9.866,6390,11.2,6391,11.2,6392,11.906,6393,9.866,6394,9.866,6395,9.866,6396,9.866,6397,9.866]],["title/classes/CopyApiResponse.html",[0,0.232,6398,5.389]],["body/classes/CopyApiResponse.html",[0,0.227,2,0.741,3,0.015,4,0.015,5,0.008,7,0.096,27,0.525,29,0.53,30,0.001,31,0.382,32,0.182,33,0.633,34,2.132,47,0.938,95,0.11,100,3.152,101,0.01,103,0,104,0,112,0.71,138,2.227,149,4.635,150,1.507,153,3.061,245,2.726,319,3.929,347,4.762,379,1.17,556,1.649,774,3.421,819,4.666,839,3.561,849,6.664,1271,4.05,1277,5.935,1288,5.052,1455,10.206,1926,3.48,1942,5.435,1986,3.885,2480,6.771,2566,2.996,2784,3.176,3041,9.447,3042,8.974,3043,4.091,3326,8.122,5384,6.629,6398,10.206,6399,10.907,6400,6.709,6401,7.28,6402,6.392,6403,6.19,6404,9.308,6405,6.709,6406,8.122,6407,6.709,6408,6.207,6409,8.579,6410,6.629,6411,6.709,6412,6.709,6413,8.579,6414,6.709,6415,6.709,6416,6.709,6417,6.709]],["title/classes/CopyFileDto.html",[0,0.232,6418,5.245]],["body/classes/CopyFileDto.html",[0,0.302,2,0.987,3,0.02,4,0.02,5,0.01,7,0.128,26,2.69,27,0.528,29,0.706,30,0.001,31,0.73,32,0.166,33,0.587,34,2.045,47,0.786,95,0.133,99,1.45,101,0.014,103,0.001,104,0.001,107,2.098,112,0.857,284,2.698,379,1.128,404,3.595,556,2.754,817,6.426,2044,3.468,3600,6.563,6418,8.559,6419,6.186,6420,13.213,6421,7.496,6422,8.168,6423,10.763,6424,11.201,6425,8.934,6426,8.934,6427,7.233,6428,7.233,6429,7.233,6430,7.233]],["title/classes/CopyFileListResponse.html",[0,0.232,6431,5.389]],["body/classes/CopyFileListResponse.html",[0,0.371,2,0.669,3,0.013,4,0.013,5,0.007,7,0.087,27,0.477,29,0.479,30,0.001,31,0.573,32,0.169,33,0.556,34,1.443,47,0.905,55,2.842,56,6.104,59,2.659,70,6.375,83,1.762,95,0.13,101,0.017,103,0,104,0,112,0.661,138,1.961,149,3.874,150,1.361,154,1.226,180,1.753,245,3.505,247,2.603,284,3.744,379,0.765,382,3.275,404,3.474,556,1.49,815,7.815,816,6.752,817,6.289,819,3.049,821,4.657,822,2.936,823,4.595,824,2.149,825,4.251,826,5.599,827,5,828,3.985,829,3.132,830,4.251,831,4.251,833,5.455,834,4.703,839,3.124,1229,4.906,1233,4.757,1262,2.114,1361,3.275,2044,3.351,2782,6.354,2922,4.817,3632,2.791,5932,3.275,5933,2.806,5942,3.878,6419,4.042,6422,4.045,6427,4.906,6428,4.906,6429,4.906,6430,4.906,6431,6.778,6432,5.679,6433,5.084,6434,9.948,6435,6.06,6436,6.06,6437,5.207,6438,6.02,6439,8.282,6440,6.615,6441,2.837,6442,8.175,6443,5.084,6444,4.906,6445,5.084,6446,3.275,6447,5.084,6448,3.878,6449,5.084,6450,5.084,6451,5.084,6452,4.757,6453,4.906,6454,5.084,6455,5.084,6456,4.108,6457,4.906,6458,4.906,6459,4.42,6460,5.084,6461,5.084,6462,4.906,6463,5.084,6464,4.519,6465,3.985,6466,4.519]],["title/classes/CopyFileParams.html",[0,0.232,6467,4.731]],["body/classes/CopyFileParams.html",[0,0.458,2,0.717,3,0.014,4,0.02,5,0.01,7,0.093,26,2.508,27,0.373,30,0.001,32,0.159,39,1.775,47,0.957,95,0.151,99,1.054,101,0.021,103,0,104,0,105,0.665,112,0.694,119,1.873,138,1.622,143,1.44,147,4.9,148,2.012,149,4.355,150,1.459,151,6.052,153,1.489,154,1.314,245,3.588,247,2.79,248,4.916,249,4.423,348,3.268,808,4.877,809,6.209,839,3.245,852,3.024,988,2.83,990,2.222,1079,3.836,1147,1.973,1203,5.802,1204,4.272,1205,4.272,1262,2.266,2739,5.391,2922,5.002,3632,2.991,4266,2.194,5826,6.519,5933,3.007,6088,6.7,6419,4.89,6432,6.87,6438,6.209,6467,6.249,6468,4.556,6469,7.327,6470,5.449,6471,6.495,6472,8.223,6473,6.009,6474,6.495,6475,4.477,6476,8.223,6477,7.93,6478,7.93,6479,4.556,6480,4.477,6481,4.477,6482,4.556,6483,4.403,6484,6.147,6485,4.335,6486,4.403,6487,4.477,6488,4.403,6489,4.403,6490,4.156,6491,4.556,6492,4.556,6493,4.556,6494,4.156,6495,4.156,6496,4.272,6497,4.335,6498,4.556]],["title/classes/CopyFileResponse.html",[0,0.232,6434,5.389]],["body/classes/CopyFileResponse.html",[0,0.383,2,0.72,3,0.014,4,0.014,5,0.007,7,0.093,27,0.466,29,0.515,30,0.001,31,0.678,32,0.16,33,0.502,34,1.892,47,0.951,55,2.582,56,5.454,70,5.696,83,1.895,95,0.135,101,0.018,103,0,104,0,112,0.695,138,1.872,149,4.361,150,1.464,154,1.318,180,1.584,245,3.56,247,2.799,284,3.596,379,0.822,404,3.656,815,6.453,816,4.95,817,6.494,823,3.468,833,5.741,834,4.95,839,3.25,1229,5.275,1233,5.115,1262,2.273,1361,3.521,2044,3.527,2779,4.657,2782,6.611,2922,5.011,3632,3.001,5932,3.521,5933,3.017,5942,4.17,6419,5.574,6422,6.984,6427,5.275,6428,5.275,6429,5.275,6430,5.275,6431,5.115,6432,7.831,6433,5.467,6434,10.133,6437,5.48,6438,6.217,6439,8.51,6440,6.882,6441,3.05,6442,8.443,6443,5.467,6444,5.275,6445,5.467,6446,3.521,6447,5.467,6448,4.17,6449,5.467,6450,5.467,6451,5.467,6452,5.115,6453,5.275,6454,5.467,6455,5.467,6456,4.417,6457,5.275,6458,5.275,6459,4.753,6460,5.467,6461,5.467,6462,5.275,6463,5.467,6464,4.859,6465,4.285,6466,4.859,6499,6.516,6500,6.516,6501,6.516,6502,6.516]],["title/classes/CopyFileResponseBuilder.html",[0,0.232,6503,6.35]],["body/classes/CopyFileResponseBuilder.html",[0,0.319,2,1.042,3,0.021,4,0.021,5,0.014,7,0.135,8,1.405,27,0.388,29,0.746,30,0.001,31,0.764,32,0.122,33,0.452,34,1.936,35,1.146,47,0.989,95,0.112,101,0.015,103,0.001,104,0.001,236,1.536,349,0.975,413,3.787,437,1.243,454,5.364,662,2.93,790,4.745,6419,5.423,6422,8.729,6434,10.727,6503,10.717,6504,11.584,6505,8.725,6506,11.584,6507,9.431]],["title/interfaces/CopyFiles.html",[105,0.702,6508,5.119]],["body/interfaces/CopyFiles.html",[3,0.019,4,0.019,5,0.012,7,0.125,30,0.001,32,0.143,47,1.02,55,2.467,95,0.104,101,0.021,103,0.001,104,0.001,105,1.371,107,2.045,112,0.843,284,3.328,360,5.581,556,2.709,1215,6.64,1217,4.904,1361,4.705,2094,5.369,5838,4.994,6441,5.159,6508,8.218,6509,6.492,6510,6.834,6511,9.711,6512,9.711,6513,5.432,6514,6.492,6515,5.902,6516,5.902,6517,5.902,6518,5.902,6519,6.106,6520,5.369,6521,5.25,6522,5.25,6523,6.35,6524,8.42,6525,8.42,6526,6.492]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.232,6527,6.012]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.308,2,1.007,3,0.025,4,0.029,5,0.013,7,0.131,8,1.375,26,2.631,27,0.375,29,0.721,30,0.001,31,0.519,32,0.118,33,0.437,35,1.107,39,3.1,95,0.147,99,1.479,101,0.014,103,0.001,104,0.001,107,2.141,141,4.267,349,0.943,413,3.729,437,1.202,454,5.252,2739,5.858,3366,5.598,3600,5.634,6419,5.31,6441,5.31,6527,9.933,6528,11.342,6529,8.432,6530,11.342,6531,10.788,6532,8.432,6533,10.36,6534,8.432,6535,10.493]],["title/classes/CopyFilesOfParentParams.html",[0,0.232,6488,4.654]],["body/classes/CopyFilesOfParentParams.html",[0,0.459,2,0.732,3,0.015,4,0.02,5,0.01,7,0.095,26,2.523,27,0.273,30,0.001,32,0.155,39,1.81,47,0.953,95,0.151,99,1.074,101,0.021,103,0,104,0,105,0.678,112,0.703,119,1.899,138,1.185,143,1.468,147,4.966,148,2.051,149,4.391,150,1.488,151,6.134,153,1.518,154,1.34,245,3.597,247,2.845,248,4.946,249,4.46,348,3.332,808,4.907,809,6.261,839,3.278,852,3.083,988,2.885,990,2.265,1079,3.911,1147,2.011,1203,5.881,1204,4.355,1205,4.355,1262,2.31,2739,5.429,2922,5.054,3632,3.05,4266,2.237,5826,6.586,5933,3.066,6088,6.747,6419,4.302,6432,6.044,6438,6.261,6467,4.564,6468,4.645,6469,4.645,6472,8.273,6473,6.126,6475,4.564,6476,8.273,6477,7.997,6478,7.997,6479,4.645,6480,4.564,6481,4.564,6482,4.645,6483,4.489,6484,6.23,6485,4.42,6486,4.489,6487,4.564,6488,6.23,6489,4.489,6490,4.237,6491,4.645,6492,4.645,6493,4.645,6494,4.237,6495,4.237,6496,4.355,6497,4.42,6498,4.645,6536,6.622]],["title/classes/CopyFilesOfParentPayload.html",[0,0.232,6489,4.654]],["body/classes/CopyFilesOfParentPayload.html",[0,0.456,2,0.704,3,0.014,4,0.025,5,0.01,7,0.091,26,2.56,27,0.426,30,0.001,32,0.163,39,2.826,47,0.947,95,0.15,99,1.034,101,0.021,103,0,104,0,105,0.652,112,0.685,119,1.849,138,1.85,143,1.413,147,4.835,148,1.974,149,4.319,150,1.432,151,5.972,153,1.461,154,1.289,245,3.58,247,2.738,248,4.887,249,4.386,348,3.206,808,4.979,809,6.157,839,3.212,852,2.967,988,2.777,990,2.18,1079,3.764,1147,1.936,1203,5.725,1204,4.191,1205,4.191,1262,2.223,2739,5.354,2922,4.952,3632,2.935,4266,2.153,5826,6.452,5933,2.951,6088,7.085,6419,5.249,6432,7.374,6438,6.157,6467,4.392,6468,4.47,6469,4.47,6472,8.394,6475,4.392,6476,8.173,6477,7.864,6478,7.864,6479,4.47,6480,4.392,6481,4.392,6482,4.47,6483,4.321,6484,6.066,6485,4.254,6486,4.321,6487,4.392,6488,4.321,6489,6.066,6490,4.078,6491,4.47,6492,4.47,6493,4.47,6494,4.078,6495,4.078,6496,4.191,6497,4.254,6498,4.47,6537,6.373,6538,6.373,6539,6.373]],["title/injectables/CopyFilesService.html",[539,0.921,6540,5.759]],["body/injectables/CopyFilesService.html",[0,0.202,3,0.013,4,0.022,5,0.01,7,0.086,8,1.035,26,2.216,27,0.448,29,0.91,30,0.001,31,0.702,32,0.163,33,0.522,34,1.925,35,1.211,36,1.828,39,2.724,47,0.419,95,0.147,99,0.967,100,2.027,101,0.013,103,0,104,0,107,1.4,177,1.59,226,0.871,236,0.971,262,2.201,347,3.079,349,1.191,358,2.662,379,1.077,437,1.772,479,4.546,539,1.145,541,1.432,603,2.596,608,1.382,631,3.04,739,3.683,849,3.302,1271,1.857,1455,4.681,2739,3.869,3007,8.739,3025,7.057,3041,4.681,3042,4.446,3043,3.635,3044,3.359,3057,8.543,3058,8.363,3065,5.002,3600,5.95,5541,5.326,5584,4.556,6418,9.426,6419,5.391,6422,6.653,6441,2.791,6488,4.042,6527,5.221,6540,7.16,6541,10.653,6542,5.962,6543,9.968,6544,8.534,6545,7.895,6546,5.962,6547,8.818,6548,5.962,6549,5.962,6550,5.962,6551,8.534,6552,5.962,6553,9.968,6554,11.412,6555,8.534,6556,5.962,6557,5.962,6558,5.221,6559,5.515,6560,8.534,6561,5.962,6562,5.962,6563,8.73,6564,5.962,6565,5.962,6566,5.962,6567,5.962,6568,7.895,6569,5.962,6570,7.474,6571,5.962,6572,5.962,6573,4.446,6574,5.962,6575,5.962,6576,5.515,6577,5.962,6578,8.534,6579,5.962,6580,5.515,6581,4.681,6582,4.827,6583,5.221,6584,8.534,6585,5.962,6586,5.962]],["title/modules/CopyHelperModule.html",[201,1.848,6587,5.007]],["body/modules/CopyHelperModule.html",[0,0.328,3,0.021,4,0.021,5,0.011,30,0.001,95,0.14,101,0.015,103,0.001,104,0.001,201,3.418,203,3.525,204,3.781,205,3.888,206,3.872,207,3.856,208,4.695,209,4.817,218,4.723,219,3.81,220,3.723,226,1.418,3007,10.472,6399,8.139,6587,10.156,6588,9.701,6589,9.701,6590,9.701,6591,8.975,6592,9.701,6593,8.975,6594,9.701]],["title/injectables/CopyHelperService.html",[539,0.921,3007,5.007]],["body/injectables/CopyHelperService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.099,8,1.143,26,1.398,27,0.443,29,0.851,30,0.001,31,0.731,32,0.139,33,0.516,35,1.307,47,0.918,95,0.138,101,0.011,103,0.001,104,0.001,133,2.38,226,1.003,236,1.119,250,6.031,347,4.523,349,1.327,437,1.652,480,1.911,486,2.069,539,1.265,541,1.65,696,2.666,708,3.776,849,3.803,1661,3.869,1747,4.098,1984,3.741,2501,3.308,2647,5.958,3007,6.874,3025,8.479,3042,8.023,3061,8.718,3065,5.762,3709,6.354,6399,9.714,6581,8.446,6595,11.578,6596,6.868,6597,9.424,6598,9.424,6599,9.424,6600,9.424,6601,6.868,6602,10.759,6603,9.424,6604,9.714,6605,6.868,6606,9.424,6607,6.868,6608,6.354,6609,6.868,6610,9.424,6611,6.868,6612,5.762,6613,6.868,6614,4.584,6615,6.868,6616,5.762,6617,4.909,6618,6.868,6619,6.868,6620,6.868,6621,6.868,6622,10.759,6623,6.868,6624,5.122,6625,9.424,6626,6.868,6627,9.424,6628,6.868,6629,6.868,6630,6.868,6631,6.868,6632,6.868,6633,6.868,6634,6.868]],["title/classes/CopyMapper.html",[0,0.232,6635,5.557]],["body/classes/CopyMapper.html",[0,0.241,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,8,1.173,26,2.64,27,0.452,29,0.867,30,0.001,31,0.625,32,0.152,33,0.526,35,1.333,39,3.605,95,0.154,99,1.157,100,4.309,101,0.011,103,0.001,104,0.001,236,1.162,271,3.589,347,2.574,349,1.135,413,4.038,437,1.551,783,5.401,1271,2.222,1920,4.658,2684,5.146,2686,4.362,3025,7.974,3042,5.319,3057,5.6,5121,4.349,6398,9.235,6399,9.869,6581,7.592,6608,6.599,6635,7.829,6636,7.133,6637,9.67,6638,9.67,6639,9.67,6640,9.869,6641,7.133,6642,10.15,6643,9.67,6644,9.869,6645,7.133,6646,10.15,6647,9.67,6648,7.133,6649,7.133,6650,8.946,6651,7.133,6652,7.133,6653,7.133,6654,7.133,6655,7.133,6656,7.133,6657,9.67,6658,9.67,6659,5.984,6660,7.133,6661,7.133,6662,7.133,6663,9.67,6664,7.133,6665,7.133,6666,7.133,6667,7.133,6668,7.133,6669,8.946,6670,6.599]],["title/modules/CoreModule.html",[201,1.848,6671,4.731]],["body/modules/CoreModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,30,0.001,95,0.153,101,0.013,103,0.001,104,0.001,153,1.878,201,3.465,203,2.978,204,3.194,205,3.284,206,3.271,207,3.258,208,3.031,209,4.46,214,6.536,218,4.249,219,3.219,220,3.145,225,4.215,226,1.198,990,4.021,1289,5.055,2312,3.397,3916,6.785,4691,8.896,6671,9.724,6672,8.196,6673,8.196,6674,8.196,6675,10.673,6676,11.061,6677,11.061,6678,8.196,6679,7.579,6680,8.324,6681,8.896,6682,9.809,6683,7.438,6684,10.603,6685,7.579,6686,7.907,6687,10.603,6688,7.438,6689,9.286,6690,9.809,6691,10.603,6692,8.896,6693,6.635]],["title/classes/County.html",[0,0.232,6694,5.759]],["body/classes/County.html",[0,0.349,2,0.867,3,0.017,4,0.017,5,0.009,7,0.113,27,0.503,29,0.62,30,0.001,31,0.742,32,0.158,33,0.376,47,0.966,55,2.103,83,2.997,95,0.123,96,2.097,101,0.018,103,0.001,104,0.001,105,0.803,112,0.789,143,2.286,144,3.747,145,2.89,154,2.086,172,3.818,173,2.282,174,3.94,175,3.504,178,3.12,180,1.368,181,2.124,182,2.495,376,3.267,377,3.403,379,0.99,406,4.84,407,5.505,408,4.84,409,5.505,1732,4.115,2044,4.001,2562,5.256,4332,5.527,4342,3.47,5992,5.859,6008,5.162,6694,11.434,6695,11.117,6696,6.874,6697,10.08,6698,10.08,6699,9.027,6700,7.848,6701,7.848,6702,7.848,6703,7.848,6704,8.648,6705,9.027,6706,9.027,6707,6.874,6708,6.874,6709,6.874,6710,6.874,6711,6.874,6712,6.874,6713,5.409,6714,6.874,6715,6.874,6716,6.162]],["title/entities/Course.html",[154,1.389,1926,2.576]],["body/entities/Course.html",[0,0.184,2,0.882,3,0.007,4,0.007,5,0.004,7,0.143,26,2.033,27,0.501,30,0.001,31,0.501,32,0.153,33,0.532,34,1.154,39,1.887,47,0.873,62,3.211,83,3.137,95,0.138,96,0.887,101,0.011,103,0,104,0,105,0.34,112,0.416,119,1.123,138,2.175,143,2.66,144,2.867,145,0.931,153,2.018,154,1.1,155,1.084,160,3.857,168,3.119,172,3.552,173,0.965,174,2.079,175,1.482,178,1.32,180,0.579,181,0.898,182,1.055,236,1.954,239,2.217,253,1.639,316,1.794,348,2.736,349,1.31,379,0.419,404,1.336,413,1.642,437,1.67,473,1.78,480,3.001,486,3.495,490,1.182,519,1.675,528,1.704,529,1.552,556,2.853,565,3.244,603,1.642,644,4.101,651,2.619,652,2.619,654,2.398,662,3.448,708,1.33,726,2.785,839,2.145,915,2.329,1147,1.008,1226,2.619,1271,1.034,1664,1.241,1717,2.604,1726,2.325,1732,2.851,1820,2.002,1926,3.549,2024,1.546,2044,3.099,2670,5.316,2673,6.373,2677,3.792,2685,2.329,2687,2.072,3122,3.445,3174,2.216,3175,2.153,3346,1.981,3454,2.124,3612,3.071,3751,2.373,3797,2.072,3821,3.576,3822,3.576,4119,1.961,4266,1.837,4267,5.6,4282,2.785,4316,5.037,4342,2.404,4417,5.636,4833,1.854,4969,2.047,5094,2.518,6624,2.476,6685,2.373,6717,2.908,6718,6.666,6719,5.971,6720,6.295,6721,5.328,6722,5.202,6723,4.759,6724,6.295,6725,5.564,6726,5.6,6727,6.425,6728,5.03,6729,4.762,6730,3.32,6731,4.762,6732,3.32,6733,3.32,6734,4.762,6735,3.526,6736,3.32,6737,4.762,6738,3.32,6739,6.991,6740,2.785,6741,3.32,6742,4.762,6743,3.32,6744,4.762,6745,3.32,6746,2.908,6747,3.32,6748,2.908,6749,3.32,6750,3.32,6751,6.388,6752,3.32,6753,4.762,6754,3.32,6755,3.32,6756,3.32,6757,2.072,6758,2.908,6759,2.908,6760,3.315,6761,3.886,6762,2.908,6763,5.15,6764,2.908,6765,3.966,6766,2.688,6767,3.211,6768,2.216,6769,3.576,6770,2.047,6771,3.435,6772,1.87,6773,4.402,6774,4.402,6775,2.908,6776,2.688,6777,2.373,6778,2.908,6779,2.908,6780,2.785,6781,2.476,6782,2.908,6783,2.908,6784,2.606,6785,2.908,6786,3.353,6787,10.062,6788,4.936,6789,2.688,6790,3.686,6791,2.047,6792,2.072,6793,2.002,6794,2.688,6795,2.908,6796,2.908,6797,4.762,6798,4.762,6799,4.762,6800,6.463,6801,4.402,6802,4.155,6803,4.762,6804,4.055,6805,4.155,6806,2.476,6807,2.908,6808,2.908,6809,2.124,6810,3.629,6811,2.908,6812,2.908,6813,2.908,6814,4.762,6815,2.908,6816,2.908,6817,2.908,6818,2.908,6819,2.908,6820,2.908,6821,2.908,6822,5.59,6823,6.048,6824,2.908,6825,2.908,6826,2.908,6827,2.908,6828,2.908,6829,2.422,6830,2.908,6831,2.908,6832,2.908,6833,2.908,6834,2.908,6835,2.251,6836,2.908,6837,2.785,6838,2.908,6839,6.048,6840,4.762,6841,2.908,6842,2.908,6843,2.688,6844,2.688,6845,2.288,6846,2.908,6847,5.59,6848,2.908,6849,2.908,6850,2.908,6851,2.908]],["title/controllers/CourseController.html",[259,2.624,6852,6.012]],["body/controllers/CourseController.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.098,8,1.139,27,0.387,29,0.742,30,0.001,31,0.535,32,0.139,33,0.45,35,1.141,36,2.475,56,4.524,70,4.725,95,0.16,100,2.323,101,0.011,103,0,104,0,138,1.68,143,1.515,150,1.535,177,1.999,223,2.844,226,0.998,236,1.748,247,2.935,259,2.612,261,3.272,262,2.763,270,6.288,294,6.45,310,4.653,333,3.997,337,3.557,338,3.637,343,3.664,349,0.971,379,0.862,437,1.597,529,1.951,584,7.057,598,3.957,603,2.208,608,2.176,739,4.631,816,5.116,824,4.547,836,8.105,1364,4.985,2214,9.398,2255,3.59,2681,5.036,2941,7.057,2963,3.583,3779,4.036,4833,5.245,5102,9.398,6852,8.225,6853,6.833,6854,9.927,6855,6.833,6856,10.119,6857,10.119,6858,9.391,6859,6.833,6860,6.322,6861,7.304,6862,6.833,6863,6.091,6864,5.532,6865,4.077,6866,9.002,6867,6.833,6868,9.002,6869,6.322,6870,6.833,6871,5.733,6872,5.985,6873,6.833,6874,6.833,6875,6.833,6876,6.833,6877,6.833,6878,5.365,6879,6.833,6880,6.833,6881,5.532,6882,6.833,6883,6.833,6884,6.833,6885,6.833,6886,6.833,6887,5.733,6888,6.833]],["title/injectables/CourseCopyService.html",[539,0.921,6889,5.557]],["body/injectables/CourseCopyService.html",[0,0.171,3,0.011,4,0.011,5,0.006,7,0.073,8,0.917,10,2.052,26,1.846,27,0.443,29,0.852,30,0.001,31,0.667,32,0.17,33,0.516,35,1.222,36,2.155,39,2.477,47,0.531,83,1.471,95,0.135,99,0.821,101,0.008,103,0,104,0,120,3.206,143,1.122,177,2.106,217,7.066,226,0.739,227,2.096,236,1.232,239,2.887,262,2.72,271,2.808,347,4.347,349,1.04,379,0.955,437,1.735,539,1.015,541,1.215,556,1.243,603,2.73,608,2.907,654,1.519,696,1.963,849,4.19,1218,1.912,1271,1.576,1804,6.892,1891,3.971,1920,4.367,1926,4.979,1941,3.772,1944,3.824,2480,2.987,2718,4.094,2991,9.83,2993,3.971,3003,8.738,3007,8.547,3013,3.971,3014,4.679,3025,7.331,3033,10.457,3040,4.243,3041,3.971,3042,3.772,3043,3.084,3044,2.849,3050,7.939,3056,4.429,3057,3.971,3058,4.243,3084,3.864,3330,3.615,4417,3.236,4826,4.429,6581,3.971,6604,6.348,6616,7.605,6718,3.376,6719,3.429,6724,3.615,6727,3.689,6889,6.125,6890,11.303,6891,7.605,6892,7.566,6893,7.566,6894,7.566,6895,4.243,6896,9.485,6897,4.679,6898,5.057,6899,7.566,6900,10.061,6901,5.057,6902,7.566,6903,12.542,6904,11.303,6905,7.566,6906,5.057,6907,5.057,6908,8.72,6909,6.626,6910,4.679,6911,5.057,6912,5.057,6913,5.057,6914,5.057,6915,5.057,6916,4.679,6917,5.057,6918,5.057,6919,5.057,6920,5.057,6921,5.057,6922,7.566,6923,5.057,6924,7.566,6925,5.057,6926,4.243,6927,5.057,6928,5.057,6929,5.057,6930,5.057,6931,5.057,6932,5.057,6933,4.679,6934,5.057,6935,5.057,6936,5.057,6937,7.566,6938,5.057,6939,5.057,6940,5.057,6941,5.057,6942,5.057,6943,5.057]],["title/injectables/CourseCopyUC.html",[539,0.921,6944,5.759]],["body/injectables/CourseCopyUC.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,8,1.233,26,2.69,27,0.469,29,0.804,30,0.001,31,0.579,32,0.132,33,0.487,35,1.235,36,2.178,39,2.778,95,0.157,99,1.247,101,0.012,102,3.892,103,0.001,104,0.001,119,1.588,131,3.857,177,1.894,226,1.123,236,1.252,262,2.515,349,0.795,379,1.283,437,1.502,519,2.367,529,2.194,539,1.364,541,1.846,560,3.158,603,2.594,608,2.356,643,3.449,739,4.388,1181,6.946,1226,3.702,1675,4.686,1694,6.27,1802,9.517,1846,5.391,1920,6.073,2079,3.397,2080,5.018,2081,4.84,2082,6.505,2531,3.559,3025,4.984,3043,4.686,3044,4.33,3671,5.055,3860,5.606,6889,10.696,6891,8.529,6944,8.529,6945,11.214,6946,6.731,6947,10.17,6948,7.685,6949,7.685,6950,7.685,6951,9.405,6952,7.685,6953,6.731,6954,7.685,6955,7.685,6956,6.448,6957,7.11,6958,7.685,6959,6.731,6960,6.731,6961,4.984]],["title/injectables/CourseExportUc.html",[539,0.921,6868,5.759]],["body/injectables/CourseExportUc.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.119,8,1.297,26,2.741,27,0.441,29,0.846,30,0.001,31,0.609,32,0.139,33,0.513,35,1.01,36,2.292,39,3.533,95,0.158,99,1.349,101,0.013,103,0.001,104,0.001,131,4.06,177,1.994,226,1.215,262,2.613,349,0.86,379,1.35,437,1.096,539,1.436,541,1.997,603,2.202,608,1.927,643,3.731,1675,5.069,1758,6.297,1802,9.809,1846,5.832,1920,5.155,2531,3.85,3860,6.064,5096,10.482,5098,6.678,5102,9.372,5111,6.752,5112,8.612,5116,9.899,5134,4.814,6868,8.978,6945,10.947,6956,6.975,6962,8.313,6963,8.313,6964,8.313,6965,10.701,6966,8.313,6967,8.313,6968,8.313,6969,8.313,6970,8.313,6971,8.313]],["title/classes/CourseFactory.html",[0,0.232,6972,5.759]],["body/classes/CourseFactory.html",[0,0.151,2,0.494,3,0.01,4,0.01,5,0.005,7,0.064,8,0.835,27,0.543,29,1.034,30,0.001,31,0.723,32,0.172,33,0.601,34,1.405,35,1.445,47,0.484,55,2.592,59,3.141,95,0.121,99,0.725,101,0.007,103,0,104,0,112,0.527,120,2.918,133,2.387,140,2.454,153,2.337,154,2.064,155,2.249,177,1.283,180,1.2,236,1.122,271,4.768,319,2.918,349,1.055,379,0.564,382,3.795,413,2.08,437,1.601,447,7.07,448,4.371,449,5.229,452,3.814,453,5.229,454,5.507,455,3.814,456,3.814,457,3.814,458,3.752,459,4.256,460,4.653,461,6.428,462,5.556,463,6.903,464,2.496,469,2.475,470,3.814,471,2.496,472,4.916,473,5.063,474,4.019,475,4.782,476,3.782,477,2.475,478,2.343,479,3.97,480,3.225,481,2.415,482,2.378,483,2.475,484,4.847,485,2.496,486,3.492,487,4.577,488,2.475,489,7.183,490,4.126,491,6.419,492,2.496,493,4.122,494,2.475,495,2.496,496,2.475,497,2.496,498,2.475,499,2.789,500,2.613,501,2.475,502,5.869,503,2.496,504,2.475,505,3.814,506,3.585,507,3.814,508,2.496,509,2.396,510,2.378,511,1.985,512,2.475,513,2.475,514,2.475,515,2.496,516,2.496,517,1.689,518,2.475,519,1.376,520,2.496,521,2.727,522,2.475,523,2.496,525,2.564,526,2.613,527,5.576,648,3.194,649,3.414,654,1.342,1636,3.194,1926,3.153,3821,6.21,4417,4.407,6718,2.983,6725,4.351,6727,6.887,6773,3.618,6972,7.05,6973,4.469,6974,9.442,6975,6.371,6976,6.887,6977,4.469,6978,4.469,6979,6.371,6980,4.469,6981,4.134,6982,6.887,6983,4.469,6984,4.469,6985,3.508,6986,3.618,6987,7.774,6988,3.414,6989,5.024,6990,5.262,6991,4.134,6992,4.469,6993,4.469,6994,4.469,6995,3.508]],["title/entities/CourseGroup.html",[154,1.389,6767,4.054]],["body/entities/CourseGroup.html",[0,0.229,3,0.015,4,0.015,5,0.008,7,0.179,26,2.344,27,0.474,30,0.001,31,0.655,32,0.166,39,1.852,47,0.808,62,4.002,95,0.157,96,1.811,101,0.014,103,0,104,0,105,0.956,112,0.818,138,2.06,154,1.889,155,2.213,172,3.338,173,1.97,174,3.57,175,3.025,178,2.693,180,1.181,181,1.834,182,2.154,236,1.521,239,2.188,349,0.701,437,0.893,480,1.885,486,2.041,519,2.087,556,2.296,644,5.36,654,3.458,662,2.9,766,3.785,915,4.753,975,3.304,990,2.318,1147,2.058,1309,3.924,1664,2.533,1717,3.245,1920,4.498,1926,5.022,2044,2.63,2396,3.887,2427,4.229,2670,5.718,2673,5.128,2677,3.721,2683,4.002,2685,4.753,2687,4.229,2700,4.457,2830,4.044,2883,3.01,3084,5.178,3452,4.67,4266,2.289,4342,2.996,5094,4.324,6401,5.32,6720,4.844,6725,7.274,6760,5.693,6767,5.515,6769,6.141,6770,4.179,6771,5.899,6772,3.818,6788,6.674,6792,4.229,6794,5.486,6809,4.336,6810,7.131,6847,5.486,6996,6.269,6997,5.935,6998,6.776,6999,6.776,7000,4.594,7001,6.269,7002,6.776,7003,6.776,7004,6.776,7005,7.834,7006,4.229,7007,4.523,7008,6.269,7009,6.269,7010,4.943,7011,6.269,7012,6.269,7013,6.269,7014,6.269,7015,6.269,7016,6.269]],["title/classes/CourseGroupFactory.html",[0,0.232,7017,6.35]],["body/classes/CourseGroupFactory.html",[0,0.168,2,0.55,3,0.011,4,0.011,5,0.006,7,0.071,8,0.906,27,0.54,29,1.046,30,0.001,31,0.732,32,0.174,33,0.608,34,1.501,35,1.49,47,0.525,55,2.549,59,3.295,95,0.127,99,0.808,101,0.008,103,0,104,0,112,0.572,120,3.168,133,2.591,140,2.733,153,2.058,154,2.164,155,2.441,177,1.393,180,1.303,271,4.709,319,3.168,349,0.773,379,0.628,382,3.882,413,2.258,437,1.184,447,7.205,448,4.559,449,5.527,452,4.14,453,5.527,454,5.679,455,4.14,456,4.14,457,4.14,458,4.072,459,4.547,460,4.972,461,6.48,462,5.827,463,7.042,464,2.78,469,2.756,470,4.14,471,2.78,472,5.196,473,5.352,474,4.248,475,5.055,476,4.106,477,2.756,478,2.61,479,4.14,480,3.335,481,2.69,482,2.649,483,2.756,484,5.124,485,2.78,486,3.611,487,4.891,488,2.756,489,7.117,490,4.267,491,6.639,492,2.78,493,4.404,494,2.756,495,2.78,496,2.756,497,2.78,498,2.756,499,3.106,500,2.91,501,2.756,502,6.121,503,2.78,504,2.756,505,4.14,506,3.892,507,4.14,508,2.78,509,2.669,510,2.649,511,2.211,512,2.756,513,2.756,514,2.756,515,2.78,516,2.78,517,1.881,518,2.756,519,1.533,520,2.78,521,2.96,522,2.756,523,2.78,525,2.855,526,2.91,527,2.94,648,3.558,649,3.803,1926,1.868,6725,4.723,6767,4.415,6972,4.176,6975,6.916,6979,6.916,6981,4.604,6991,4.604,7005,4.176,7017,8.305,7018,4.977,7019,4.977,7020,4.604,7021,4.977,7022,4.604]],["title/injectables/CourseGroupRepo.html",[539,0.921,1803,5.389]],["body/injectables/CourseGroupRepo.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.144,10,3.828,12,4.234,13,6.882,18,4.716,26,2.615,27,0.529,29,0.991,30,0.001,31,0.714,32,0.162,33,0.601,34,1.15,35,1.524,36,2.802,39,1.88,40,4.545,42,6.882,47,0.756,49,2.61,95,0.138,96,1.839,97,2.864,98,4.105,99,1.116,101,0.011,103,0.001,104,0.001,154,1.392,155,3.081,180,1.645,226,1.005,236,1.121,262,3.038,349,1.198,382,3.461,437,1.42,479,4.995,539,1.266,541,1.653,608,2.685,679,7.367,685,3.945,686,4.322,687,5.315,711,4.105,712,4.149,713,4.105,714,4.149,716,4.105,717,4.149,718,3.689,725,5.13,1803,7.407,1926,3.54,3697,4.742,6132,6.71,6720,8.282,6725,4.346,6767,6.843,7023,6.879,7024,8.728,7025,8.728,7026,6.879,7027,7.209,7028,6.879,7029,6.879,7030,6.879,7031,5.257,7032,6.879,7033,9.435]],["title/injectables/CourseGroupRule.html",[539,0.921,1762,5.557]],["body/injectables/CourseGroupRule.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.222,27,0.466,29,0.895,30,0.001,31,0.644,32,0.156,33,0.543,35,1.224,95,0.149,101,0.012,103,0.001,104,0.001,119,2.492,131,4.576,154,2.706,177,1.878,226,1.108,239,3.173,345,2.418,349,1.042,379,0.957,437,1.59,539,1.353,541,1.822,603,1.561,604,3.117,662,4.009,1107,5.49,1147,2.304,1670,6.569,1673,6.98,1687,5.228,1697,8.053,1700,8.826,1718,4.574,1735,7.353,1762,8.158,1763,9.821,1875,6.536,1879,6.289,1886,5.063,3411,6.727,3412,5.142,3415,6.628,3418,5.142,3419,6.832,6725,4.792,6767,7.899,7034,12.059,7035,7.585,7036,7.585,7037,7.585,7038,7.585,7039,6.643,7040,6.643,7041,6.364,7042,6.643]],["title/injectables/CourseGroupService.html",[539,0.921,7043,6.35]],["body/injectables/CourseGroupService.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.308,26,2.749,27,0.49,29,0.941,30,0.001,31,0.678,32,0.154,33,0.571,35,1.31,36,2.689,39,2.948,95,0.142,98,5.022,99,1.366,101,0.013,103,0.001,104,0.001,177,1.568,226,1.23,227,3.488,262,2.931,345,2.683,349,1.115,379,1.062,437,1.422,539,1.448,541,2.022,608,2.758,662,4.124,1803,9.854,2487,5.697,6132,7.269,6720,8.508,6767,4.971,7043,9.978,7044,8.417,7045,10.786,7046,10.786,7047,7.061,7048,8.417,7049,10.786,7050,8.417,7051,10.786,7052,8.417,7053,10.786,7054,8.417,7055,8.417,7056,8.417]],["title/classes/CourseMapper.html",[0,0.232,6872,6.012]],["body/classes/CourseMapper.html",[0,0.324,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,8,1.417,27,0.394,29,0.756,30,0.001,31,0.544,32,0.124,33,0.459,35,1.162,95,0.139,99,1.552,100,3.972,101,0.015,103,0.001,104,0.001,236,1.558,349,0.989,413,3.81,437,1.54,790,4.812,1926,5.057,6872,10.233,7057,9.565,7058,11.684,7059,11.684,7060,9.565,7061,11.024,7062,9.565,7063,9.565,7064,9.565,7065,9.565,7066,9.565,7067,9.565,7068,9.565,7069,9.565,7070,9.565]],["title/classes/CourseMetadataListResponse.html",[0,0.232,6871,5.759]],["body/classes/CourseMetadataListResponse.html",[0,0.308,2,0.721,3,0.014,4,0.014,5,0.007,7,0.094,26,1.852,27,0.491,29,0.516,30,0.001,31,0.371,32,0.17,33,0.571,34,1.894,47,0.889,55,2.818,56,5.943,59,2.802,70,6.207,83,3.755,95,0.125,99,1.059,101,0.014,103,0,104,0,112,0.696,138,2.027,149,4.364,150,1.466,153,2.901,172,2.039,180,1.586,245,3.164,247,2.804,253,3.221,284,3.598,379,1.148,382,3.384,404,2.626,517,2.467,556,1.604,815,7.808,816,6.721,817,5.219,819,3.284,821,4.849,822,3.163,823,3.473,824,2.315,825,4.578,826,5.9,827,5.268,828,4.292,829,5.414,830,4.578,831,4.578,833,4.123,834,3.555,1271,3.711,1461,4.578,1926,3.93,1942,4.736,2190,4.123,2784,3.09,2918,3.5,2919,3.5,3797,6.535,6718,4.356,6719,7.1,6724,7.486,6727,7.639,6800,5.283,6802,4.987,6804,4.867,6845,7.218,6871,7.632,7061,10.621,7071,8.416,7072,6.038,7073,6.526,7074,6.526,7075,5.283,7076,5.124,7077,7.808,7078,5.124,7079,6.038,7080,5.124,7081,5.124,7082,4.073,7083,4.761,7084,5.283]],["title/classes/CourseMetadataResponse.html",[0,0.232,7061,5.759]],["body/classes/CourseMetadataResponse.html",[0,0.289,2,0.66,3,0.013,4,0.013,5,0.007,7,0.086,26,2.217,27,0.52,29,0.472,30,0.001,31,0.34,32,0.166,33,0.592,34,2.11,47,0.968,55,2.035,56,4.115,59,3.073,70,4.298,83,4.043,95,0.119,99,0.969,101,0.013,103,0,104,0,112,0.654,138,2.208,149,4.194,150,1.341,153,2.828,172,2.669,180,1.041,245,3.074,247,2.565,253,4.217,284,2.58,379,1.078,404,2.402,517,3.229,815,5.269,816,3.253,817,3.425,821,5.042,829,5.629,833,3.772,834,3.253,1271,4.11,1277,5.572,1461,5.993,1926,4.498,1942,5.277,2190,5.397,2297,4.048,2784,2.827,2918,4.581,2919,4.581,3797,7.702,6718,5.702,6719,8.367,6724,8.821,6727,9.002,6800,4.834,6802,4.562,6804,4.453,6845,8.506,6871,5.009,7061,9.666,7071,11.887,7072,5.524,7075,4.834,7076,4.687,7077,8.699,7078,6.707,7079,7.903,7080,6.707,7081,6.707,7082,5.331,7083,6.232,7084,6.916,7085,5.971,7086,5.971,7087,5.971,7088,5.971,7089,5.971,7090,5.971,7091,5.971,7092,5.971]],["title/entities/CourseNews.html",[154,1.389,7093,5.119]],["body/entities/CourseNews.html",[0,0.345,3,0.011,4,0.02,5,0.006,7,0.164,9,3.681,26,2.078,27,0.214,30,0.001,31,0.44,32,0.132,34,0.87,47,0.872,83,2.248,95,0.145,96,2.465,101,0.017,103,0,104,0,105,0.533,112,0.834,138,0.932,143,2.623,144,3.851,154,2.206,155,1.7,172,3.695,173,1.514,174,2.956,175,2.325,180,1.779,181,2.762,182,1.655,236,1.502,239,2.555,349,0.538,355,5.826,358,4.117,381,1.764,403,5.151,413,1.572,459,4.671,521,3.651,563,4.613,643,2.336,644,5.319,654,3.275,655,3.916,839,2.402,996,4.442,997,4.752,998,4.391,999,4.64,1000,5.065,1271,2.873,1289,4.768,1664,1.947,1717,3.703,1723,2.637,1739,3.561,1815,3.424,1832,2.859,1926,3.46,2255,3.525,2565,5.242,2670,4.225,2683,3.075,2739,5.882,2784,2.465,3452,3.588,3454,3.332,3455,3.652,3457,3.722,3458,3.652,3459,3.883,3473,3.107,3606,3.53,3631,3.332,4266,1.759,4358,3.978,4359,3.588,4500,3.798,5094,4.27,5174,3.798,5747,6.727,5932,2.814,5935,4.908,6683,3.652,6770,3.211,6772,2.933,6793,3.14,7006,4.825,7093,5.766,7094,4.215,7095,5.206,7096,4.714,7097,4.215,7098,6.877,7099,5.981,7100,4.215,7101,8.969,7102,5.16,7103,5.766,7104,5.766,7105,6.817,7106,7.651,7107,4.215,7108,5.526,7109,4.215,7110,3.978,7111,3.978,7112,5.014,7113,4.215,7114,3.978,7115,3.978,7116,4.215,7117,3.883,7118,4.215,7119,3.107,7120,3.211,7121,3.978,7122,4.215,7123,4.215,7124,7.24,7125,4.215,7126,7.466,7127,4.215,7128,4.215,7129,5.907,7130,3.978,7131,6.469,7132,4.087,7133,5.085,7134,3.978,7135,3.798,7136,3.978,7137,4.215]],["title/classes/CourseQueryParams.html",[0,0.232,6857,6.012]],["body/classes/CourseQueryParams.html",[0,0.395,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,27,0.394,30,0.001,32,0.124,95,0.15,101,0.02,103,0.001,104,0.001,112,0.894,138,1.711,142,4.553,143,2.591,144,3.804,145,3.275,148,2.963,150,2.149,153,2.192,245,2.997,248,4.663,250,6.121,839,3.629,1373,8.714,5098,5.969,5111,7.283,5112,9.288,5134,5.539,6857,10.233,7138,9.565,7139,9.565,7140,9.565,7141,9.565]],["title/injectables/CourseRepo.html",[539,0.921,1804,4.185]],["body/injectables/CourseRepo.html",[0,0.226,3,0.009,4,0.009,5,0.005,7,0.062,8,0.809,10,2.707,12,2.994,18,3.335,26,2.757,27,0.494,29,0.929,30,0.001,31,0.669,32,0.163,33,0.563,34,1.115,35,1.427,36,2.728,39,3.577,40,3.214,56,3.214,58,4.327,59,3.082,83,1.247,95,0.119,96,1.146,98,2.56,99,0.696,101,0.007,103,0,104,0,119,1.379,120,3.914,143,1.48,145,1.203,154,0.868,155,2.179,173,1.247,180,1.427,226,0.627,236,1.63,262,2.976,349,1.285,382,2.76,437,1.769,479,4.507,480,1.193,486,1.292,490,4.071,539,0.896,541,1.031,608,2.456,679,6.346,685,2.79,686,3.057,687,4.042,711,2.56,712,2.587,713,2.56,714,2.587,716,2.56,717,2.587,718,2.3,741,4.524,1804,4.068,1818,4.454,1920,3.214,1926,4.506,2093,5.205,2350,3.941,2837,3.009,3697,2.957,3702,3.757,3822,6.076,4417,5.912,4488,6.429,4494,3.473,4741,6.166,4833,5.918,5558,4.507,6132,6.137,6134,6.367,6269,6.68,6720,3.066,6725,4.215,6726,5.744,6727,4.867,6861,4.024,7031,3.278,7142,3.968,7143,6.672,7144,7.172,7145,6.672,7146,6.173,7147,6.173,7148,4.289,7149,7.574,7150,6.745,7151,4.289,7152,4.289,7153,4.289,7154,6.173,7155,4.289,7156,4.289,7157,6.173,7158,4.289,7159,4.289,7160,6.107,7161,10.518,7162,3.968,7163,6.173,7164,7.751,7165,3.968,7166,3.968,7167,3.968,7168,6.173,7169,6.173,7170,3.473,7171,3.968,7172,3.968,7173,3.968,7174,5.844,7175,6.173,7176,6.173,7177,6.173,7178,8.091,7179,4.867,7180,4.867,7181,7.575,7182,3.968,7183,3.757,7184,3.968,7185,3.968,7186,3.968]],["title/injectables/CourseRule.html",[539,0.921,1763,5.119]],["body/injectables/CourseRule.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,8,1.25,27,0.474,29,0.91,30,0.001,31,0.655,32,0.158,33,0.552,35,1.252,95,0.145,101,0.012,103,0.001,104,0.001,119,2.525,131,4.637,154,2.726,177,1.462,226,1.147,239,3.224,345,2.502,349,1.066,379,0.99,437,1.517,539,1.383,541,1.886,604,3.225,662,4.047,1107,6.27,1147,2.384,1670,6.658,1673,6.357,1688,5.162,1697,8.131,1718,4.733,1735,7.453,1763,7.687,1875,6.685,1879,6.432,1886,5.239,1926,5.056,3411,6.88,3412,5.321,3415,6.779,3418,5.321,3419,6.988,4417,6.596,6725,4.958,6726,7.23,7187,7.848,7188,7.848,7189,7.848,7190,7.848,7191,7.848]],["title/classes/CourseScope.html",[0,0.232,7161,6.012]],["body/classes/CourseScope.html",[0,0.239,2,0.509,3,0.01,4,0.01,5,0.005,7,0.066,8,0.855,26,2.732,27,0.504,29,0.862,30,0.001,31,0.621,32,0.155,33,0.523,34,0.771,35,1.379,36,2.337,39,3.566,40,2.221,56,3.398,58,4.575,83,1.341,95,0.123,96,1.232,98,2.751,99,0.748,101,0.007,103,0,104,0,112,0.54,119,2.137,143,1.022,145,1.292,173,1.341,180,1.494,226,0.674,236,1.685,262,2.409,310,1.999,349,1.307,382,3.09,437,1.787,480,1.283,486,1.389,490,3.416,519,1.42,539,0.947,603,2.245,608,2.528,679,4.047,687,2.276,741,4.782,1804,2.811,1818,4.709,1920,3.398,1926,4.26,2093,5.407,2350,6.109,2837,3.234,3697,3.178,3702,4.038,3822,6.313,4417,6.142,4488,3.62,4741,4.709,4833,6.093,5558,5.267,6132,6.318,6134,6.615,6242,4.709,6243,4.709,6244,4.709,6249,4.709,6250,4.709,6251,3.126,6252,3.077,6253,3.126,6254,3.126,6263,3.077,6264,4.709,6265,3.126,6266,3.077,6267,3.126,6268,3.077,6269,6.904,6720,3.295,6725,4.457,6726,6.01,6727,5.146,6861,4.254,7031,3.523,7142,4.265,7144,4.038,7147,4.265,7149,5.042,7150,5.224,7154,4.265,7157,4.265,7160,6.39,7161,11.522,7162,6.526,7163,6.526,7164,8.052,7165,6.526,7166,6.526,7167,8.879,7168,6.526,7169,6.526,7170,3.732,7171,6.526,7172,4.265,7173,4.265,7174,6.178,7175,6.526,7176,6.526,7177,6.526,7178,8.406,7179,5.146,7180,5.146,7181,7.926,7182,4.265,7183,4.038,7184,4.265,7185,4.265,7186,4.265,7192,7.054,7193,7.054,7194,7.054,7195,7.054,7196,4.61,7197,4.61,7198,4.61,7199,4.61,7200,4.61]],["title/injectables/CourseService.html",[539,0.921,1911,4.654]],["body/injectables/CourseService.html",[0,0.254,3,0.017,4,0.017,5,0.008,7,0.108,8,1.214,12,4.494,26,2.838,27,0.515,29,0.989,30,0.001,31,0.712,32,0.162,33,0.6,35,1.46,36,2.859,39,3.079,95,0.134,98,4.484,99,1.219,101,0.012,103,0.001,104,0.001,177,1.4,226,1.098,227,3.115,262,3.06,345,2.396,349,1.242,379,0.948,437,1.485,539,1.344,541,1.806,608,2.784,662,3.998,1804,7.326,1911,6.79,1920,3.62,1926,3.758,2487,5.29,4488,7.863,4494,8.108,4833,6.989,6132,6.958,7047,6.305,7201,7.515,7202,10.015,7203,10.015,7204,7.515,7205,10.015,7206,7.515,7207,7.515,7208,10.015,7209,7.515,7210,10.015,7211,7.515,7212,7.515,7213,11.265,7214,7.515,7215,7.515,7216,7.515]],["title/injectables/CourseUc.html",[539,0.921,6866,5.759]],["body/injectables/CourseUc.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.362,26,2.616,27,0.462,29,0.888,30,0.001,31,0.639,32,0.145,33,0.539,35,1.09,36,2.406,39,2.453,59,2.764,95,0.153,98,5.355,99,1.456,101,0.014,103,0.001,104,0.001,177,1.672,226,1.311,227,3.719,247,3.855,345,2.861,349,0.928,377,3.891,379,1.132,490,4.573,539,1.508,541,2.156,721,5.6,836,9.013,1804,8.23,1926,3.367,2093,5.056,6861,5.412,6866,9.424,6895,7.529,6916,8.302,7217,8.974,7218,11.232,7219,8.974,7220,11.232,7221,8.974,7222,6.857]],["title/classes/CourseUrlParams.html",[0,0.232,6856,6.012]],["body/classes/CourseUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,1920,6.167,1926,4.474,3876,5.841,6856,10.443,7223,9.89,7224,9.89]],["title/classes/CreateCardBodyParams.html",[0,0.232,5006,6.012]],["body/classes/CreateCardBodyParams.html",[0,0.395,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,27,0.393,30,0.001,32,0.124,33,0.559,95,0.15,99,1.548,101,0.015,103,0.001,104,0.001,112,0.893,138,1.707,142,3.718,143,2.795,145,3.271,148,2.956,149,4.494,150,2.144,249,4.564,839,3.624,852,4.443,2406,6.516,4162,10.574,4163,7.167,5006,10.218,5590,7.196,7225,11.667,7226,8.828,7227,7.788,7228,9.542,7229,9.542]],["title/classes/CreateContentElementBodyParams.html",[0,0.232,3748,5.759]],["body/classes/CreateContentElementBodyParams.html",[0,0.366,2,0.936,3,0.019,4,0.019,5,0.009,7,0.122,27,0.446,30,0.001,32,0.179,33,0.519,55,2.567,95,0.142,99,1.374,101,0.013,103,0.001,104,0.001,112,0.829,138,1.938,142,4.903,143,2.401,144,4.096,145,3.728,148,2.623,149,4.171,150,1.903,153,2.482,245,2.777,249,4.236,486,3.262,839,3.364,852,3.943,993,6.048,1942,5.26,2255,4.563,2804,6.696,2922,5.186,3494,6.054,3499,6.178,3748,9.085,4112,9.121,4163,7.195,5591,8.767,7227,5.653,7230,11.937,7231,7.106,7232,8.469,7233,10.018,7234,9.484,7235,8.469,7236,8.469,7237,8.469]],["title/interfaces/CreateJwtParams.html",[105,0.702,7238,6.012]],["body/interfaces/CreateJwtParams.html",[0,0.25,3,0.016,4,0.016,5,0.008,7,0.106,30,0.001,32,0.172,33,0.663,47,1.007,85,8.304,95,0.118,101,0.011,103,0.001,104,0.001,105,0.755,107,1.733,112,0.757,348,4.978,349,1.023,413,2.988,437,1.572,662,3.073,1441,5.793,1443,5.503,1466,6.19,1478,4.403,1482,5.638,1486,4.605,1611,7.217,1623,7.378,4597,7.56,6410,8.89,7238,9.776,7239,6.826,7240,9.765,7241,10.435,7242,9.765,7243,11.845,7244,10.742,7245,9.153,7246,6.826,7247,6.826,7248,6.826,7249,6.826,7250,8.665,7251,6.826,7252,9.153,7253,9.153,7254,6.826,7255,6.462,7256,6.462,7257,6.826,7258,9.153,7259,6.826,7260,6.826,7261,6.826,7262,6.826,7263,6.826,7264,5.793,7265,5.793,7266,6.462,7267,6.826,7268,6.826,7269,6.826,7270,6.826]],["title/interfaces/CreateJwtPayload.html",[105,0.702,1592,5.389]],["body/interfaces/CreateJwtPayload.html",[3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.174,33,0.598,39,3.529,47,1.011,48,5.974,55,2.178,85,8.091,101,0.017,103,0.001,104,0.001,105,1.092,107,1.945,112,0.817,119,2.731,128,3.373,180,1.443,239,1.94,359,4.993,511,3.678,765,5.37,1482,6.327,1486,5.167,1592,9.272,1612,6.04,1623,6.175,1726,4.564,1820,4.993,2405,8.753,3140,6.277,4266,4.214,5160,5.446,6410,5.918,7240,6.5,7242,6.5,7264,6.5,7265,6.5,7271,7.66,7272,7.66,7273,10.099,7274,6.946,7275,5.167,7276,7.66,7277,7.251,7278,7.251]],["title/classes/CreateNewsParams.html",[0,0.232,7279,5.557]],["body/classes/CreateNewsParams.html",[0,0.329,2,0.794,3,0.016,4,0.016,5,0.008,7,0.103,27,0.507,30,0.001,32,0.16,33,0.466,34,1.624,47,0.928,83,2.825,95,0.14,99,1.165,100,3.303,101,0.011,103,0.001,104,0.001,112,0.744,138,2.205,148,2.225,149,3.743,150,1.614,153,3.028,154,2.739,245,3.161,247,3.086,248,4.394,249,3.801,253,3.545,807,6.218,808,3.847,839,2.231,843,6.816,852,3.344,993,5.427,1271,3.839,1643,5.682,1818,6.486,2255,4.712,2739,5.348,2773,6.391,2918,5.211,2919,5.211,3286,3.74,6402,6.697,7099,7.141,7102,7.35,7105,6.57,7106,7.989,7279,7.866,7280,12.703,7281,6.291,7282,7.628,7283,7.724,7284,7.183,7285,6.645,7286,6.026,7287,5.739,7288,8.152,7289,7.424,7290,6.645,7291,6.645,7292,7.549,7293,7.183,7294,7.183,7295,7.088,7296,7.183,7297,5.815,7298,7.183,7299,6.587,7300,6.645,7301,6.645]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.232,7302,6.012]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.399,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,32,0.126,95,0.14,101,0.015,103,0.001,104,0.001,112,0.902,119,2.728,138,1.736,142,4.593,143,2.614,147,6.37,148,3.005,150,2.18,153,2.223,245,3.023,2883,5.866,3291,8.25,7302,10.322,7303,9.253,7304,11.786,7305,8.975,7306,8.497,7307,10.322,7308,9.541,7309,8.975]],["title/classes/CurrentUserMapper.html",[0,0.232,7310,5.119]],["body/classes/CurrentUserMapper.html",[0,0.223,2,0.729,3,0.014,4,0.014,5,0.007,7,0.095,8,1.112,27,0.469,29,0.9,30,0.001,31,0.648,32,0.147,33,0.546,34,1.103,35,1.383,39,3.111,47,0.971,48,6.376,59,3.245,85,8.236,95,0.147,99,1.071,101,0.01,103,0,104,0,105,0.675,143,1.464,145,1.85,236,1.075,239,3.12,270,6.351,276,3.976,283,4.071,294,3.321,340,3.199,349,1.177,413,4.098,528,5.409,529,1.884,1592,8.271,1612,8.726,1615,5.538,1616,3.719,2405,4.475,3140,5.728,3417,4.475,3779,3.898,4266,3.845,4841,5.343,6238,4.718,7273,9.216,7310,6.838,7311,11.962,7312,5.781,7313,9.169,7314,9.169,7315,10.536,7316,9.169,7317,9.169,7318,6.6,7319,9.169,7320,6.6,7321,6.6,7322,6.058,7323,9.216,7324,6.6,7325,7.857,7326,9.169,7327,6.6,7328,6.216,7329,5.343,7330,6.6,7331,5.343,7332,6.6,7333,6.6,7334,5.781,7335,6.6,7336,5.043,7337,6.6,7338,6.106,7339,6.6,7340,6.6,7341,6.6,7342,6.6,7343,6.6,7344,6.6,7345,6.6,7346,5.781,7347,6.6,7348,6.6]],["title/interfaces/CustomLtiProperty.html",[105,0.702,7349,6.012]],["body/interfaces/CustomLtiProperty.html",[0,0.189,3,0.012,4,0.012,5,0.006,7,0.08,26,1.659,30,0.001,31,0.547,32,0.124,47,0.959,49,3.092,95,0.126,96,2.178,97,2.328,101,0.017,103,0,104,0,105,0.572,107,1.314,112,0.624,119,2.32,143,2.993,144,4.507,145,3.783,154,1.649,168,4.675,172,4.341,173,1.626,174,3.115,175,2.497,177,1.042,178,2.223,180,0.975,181,1.513,182,1.778,236,0.911,321,5.945,349,0.578,480,2.939,486,3.382,490,1.991,556,2.003,653,2.871,662,2.531,827,4.719,839,3.488,1262,1.951,1371,3.41,1475,6.744,1491,3.27,1732,2.933,1984,6.117,2044,2.171,2318,3.239,2501,2.694,2670,2.562,3140,2.814,4342,2.473,6446,3.023,6776,4.528,6789,4.528,7349,8.42,7350,5.174,7351,6.837,7352,7.783,7353,7.539,7354,7.539,7355,5.174,7356,5.174,7357,7.539,7358,5.174,7359,5.174,7360,6.323,7361,7.539,7362,7.539,7363,5.174,7364,4.171,7365,4.391,7366,3.627,7367,4.391,7368,3.627,7369,6.837,7370,3.627,7371,4.391,7372,4.391,7373,4.171,7374,5.174,7375,5.174,7376,4.528,7377,4.391,7378,5.174,7379,3.998,7380,4.391,7381,3.579,7382,3.337,7383,4.171,7384,3.373,7385,3.534,7386,4.08,7387,4.528,7388,4.391,7389,4.692,7390,4.692,7391,5.174,7392,4.274,7393,4.528,7394,4.692,7395,5.174,7396,4.274,7397,4.528,7398,4.391,7399,4.528,7400,4.274,7401,4.528,7402,4.692,7403,5.174,7404,4.692,7405,5.174,7406,4.692,7407,5.174,7408,5.174,7409,5.174,7410,5.174,7411,4.692,7412,5.174,7413,4.692,7414,5.174,7415,4.274,7416,4.528,7417,3.923,7418,4.171,7419,4.692,7420,5.174,7421,4.171,7422,4.528]],["title/classes/CustomLtiPropertyDO.html",[0,0.232,7423,5.759]],["body/classes/CustomLtiPropertyDO.html",[0,0.337,2,0.823,3,0.016,4,0.016,5,0.008,7,0.107,26,2.027,27,0.462,29,0.589,30,0.001,31,0.567,32,0.145,33,0.357,47,1.005,95,0.133,101,0.015,103,0.001,104,0.001,112,0.762,119,2.578,180,1.298,379,0.94,480,3.647,1262,2.598,1491,4.354,1746,5.821,1984,6.993,2044,2.89,2501,3.587,3140,3.746,4462,6.521,6446,4.024,7352,8.059,7360,6.547,7365,5.846,7366,4.829,7367,5.846,7368,4.829,7370,4.829,7371,5.846,7372,5.846,7373,5.553,7377,5.846,7379,5.322,7380,5.846,7381,4.765,7382,4.443,7383,5.553,7384,4.491,7386,7.261,7388,5.846,7390,6.247,7392,5.69,7394,6.247,7396,5.69,7398,5.846,7400,5.69,7402,6.247,7404,6.247,7406,6.247,7411,6.247,7413,6.247,7415,5.69,7417,5.223,7419,6.247,7421,5.553,7423,9.408,7424,6.889,7425,9.209,7426,9.954,7427,7.446,7428,6.521,7429,5.69,7430,5.846,7431,6.983,7432,5.846,7433,5.846,7434,6.889,7435,6.889,7436,6.889,7437,6.889,7438,6.889,7439,6.889,7440,6.889,7441,6.521,7442,6.889,7443,6.889,7444,6.889,7445,6.889,7446,6.889,7447,6.889,7448,6.889,7449,6.889,7450,6.889,7451,6.889,7452,6.889,7453,6.889]],["title/classes/CustomParameter.html",[0,0.232,2616,4.452]],["body/classes/CustomParameter.html",[0,0.257,2,0.839,3,0.017,4,0.017,5,0.009,7,0.109,27,0.568,29,0.601,30,0.001,31,0.687,32,0.182,33,0.649,47,0.975,95,0.09,101,0.012,103,0.001,104,0.001,112,0.772,119,2.085,153,2.596,181,2.73,249,4.432,379,0.959,381,2.575,486,3.412,839,2.361,1927,8.097,2044,2.95,2566,3.393,2616,8.146,2621,7.946,4342,3.359,4404,4.583,5503,7.808,5541,7.069,5558,4.615,5953,5.815,5973,4.863,5974,5.238,6790,5.152,6791,4.687,7454,12.843,7455,7.599,7456,7.347,7457,8.448,7458,10.09,7459,7.599,7460,7.599,7461,7.599,7462,7.599,7463,7.599,7464,7.599,7465,7.599,7466,7.599,7467,7.599,7468,7.03,7469,7.03,7470,6.375,7471,6.375,7472,5.152,7473,6.152,7474,6.655,7475,6.655,7476,6.655,7477,6.655,7478,6.655,7479,6.655]],["title/classes/CustomParameterEntity.html",[0,0.232,7480,5.557]],["body/classes/CustomParameterEntity.html",[0,0.221,2,0.72,3,0.014,4,0.014,5,0.007,7,0.093,27,0.553,29,0.515,30,0.001,31,0.644,32,0.178,33,0.629,47,0.951,95,0.108,96,1.741,101,0.01,103,0,104,0,112,0.695,119,1.878,138,2.376,143,2.862,144,3.685,153,2.398,160,6.323,172,4.193,173,1.895,181,2.459,249,4.093,379,0.822,381,2.208,486,3.152,839,3.931,1927,7.479,1929,3.196,2044,2.529,2546,6.203,2562,4.633,2566,2.909,2621,7.34,4342,2.88,4404,3.93,5503,7.212,5541,6.53,5558,4.263,5953,5.372,5973,4.17,5974,4.491,6790,4.417,6791,4.018,7456,6.786,7457,7.803,7468,6.028,7469,6.028,7470,5.467,7471,5.467,7472,4.417,7473,5.275,7474,5.707,7475,5.707,7476,5.707,7477,5.707,7478,5.707,7479,5.707,7480,9.639,7481,13.539,7482,13.539,7483,6.516,7484,9.087,7485,6.516,7486,6.516,7487,6.516,7488,6.516,7489,6.516,7490,6.516,7491,6.516,7492,6.516,7493,6.516]],["title/classes/CustomParameterEntry.html",[0,0.232,2642,4.515]],["body/classes/CustomParameterEntry.html",[0,0.326,2,1.064,3,0.021,4,0.021,5,0.011,7,0.138,27,0.521,29,0.762,30,0.001,31,0.75,32,0.164,33,0.607,47,0.925,101,0.015,103,0.001,104,0.001,112,0.898,181,3.175,363,7.421,379,1.216,381,3.264,480,3.521,2044,3.739,2642,8.881,4342,4.258,7430,7.562,7454,12.186,7494,9.632,7495,11.735,7496,9.632,7497,8.081]],["title/classes/CustomParameterEntryEntity.html",[0,0.232,6032,5.245]],["body/classes/CustomParameterEntryEntity.html",[0,0.314,2,1.025,3,0.02,4,0.02,5,0.01,7,0.133,27,0.513,29,0.734,30,0.001,31,0.74,32,0.161,33,0.597,47,0.913,95,0.11,96,2.48,101,0.014,103,0.001,104,0.001,112,0.878,138,2.052,172,4.174,173,2.699,181,3.104,363,7.326,379,1.171,381,3.145,480,3.463,2044,3.603,2562,5.848,4342,4.103,6032,10.209,7430,7.286,7497,7.786,7498,13.003,7499,9.281,7500,11.47,7501,9.281]],["title/classes/CustomParameterEntryParam.html",[0,0.232,6080,5.245]],["body/classes/CustomParameterEntryParam.html",[0,0.394,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.479,30,0.001,31,0.716,32,0.151,33,0.558,47,0.92,95,0.138,101,0.015,103,0.001,104,0.001,112,0.89,138,2.082,148,2.942,149,4.481,150,2.134,245,2.984,248,5.019,249,4.551,363,7.086,480,3.499,564,3.929,2572,6.789,6078,6.928,6080,8.89,7502,7.849,7503,11.635,7504,9.498,7505,9.498,7506,9.498]],["title/classes/CustomParameterEntryResponse.html",[0,0.232,6188,5.389]],["body/classes/CustomParameterEntryResponse.html",[0,0.309,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,27,0.509,29,0.722,30,0.001,31,0.736,32,0.16,33,0.593,47,0.908,95,0.109,101,0.014,103,0.001,104,0.001,112,0.869,138,2.032,149,4.375,150,2.052,181,3.073,245,3.316,363,7.285,379,1.153,381,3.096,480,3.439,564,4.04,2044,3.546,4342,4.038,6188,10.441,7430,7.172,7497,7.664,7502,8.07,7503,11.963,7507,9.135,7508,11.358,7509,9.135,7510,9.135]],["title/classes/CustomParameterFactory.html",[0,0.232,7511,5.759]],["body/classes/CustomParameterFactory.html",[0,0.26,2,0.429,3,0.009,4,0.009,5,0.004,7,0.056,8,0.748,27,0.513,29,1.006,30,0.001,31,0.709,32,0.171,33,0.571,34,1.032,35,1.418,47,0.433,55,2.255,59,3.129,95,0.114,101,0.015,103,0,104,0,112,0.472,120,2.615,133,2.139,140,2.133,145,2.452,153,1.76,154,1.554,155,2.015,177,1.15,180,1.525,239,0.91,249,1.519,271,4.873,319,2.615,349,1.232,363,2.188,379,0.49,382,3.674,413,1.864,437,1.622,447,6.648,448,4.122,449,4.844,452,3.417,453,4.844,454,5.118,455,3.417,456,3.417,457,3.417,458,3.362,459,3.889,460,4.252,461,6.306,462,5.199,463,6.631,464,2.169,469,2.151,470,3.417,471,2.169,472,4.554,473,4.69,474,3.723,475,4.43,476,3.389,477,2.151,478,2.037,479,3.744,480,3.075,481,2.099,482,2.067,483,2.151,484,4.49,485,2.169,486,3.329,487,4.183,488,2.151,489,7.392,490,3.934,491,6.121,492,2.169,493,3.027,494,2.151,495,2.169,496,2.151,497,2.169,498,2.151,501,2.151,502,5.535,503,2.169,504,2.151,505,3.417,506,3.213,507,3.417,508,2.169,509,2.083,510,2.067,511,1.726,512,2.151,513,2.151,514,2.151,515,2.169,516,2.169,517,1.468,518,2.151,519,1.196,520,2.169,521,2.443,522,2.151,523,2.169,525,2.228,526,2.271,527,5.166,564,1.213,708,1.556,1130,2.208,1262,1.355,1491,3.609,1901,1.929,1927,2.776,1971,3.575,1984,3.362,2195,4.365,2545,2.833,2548,1.308,2553,2.169,2556,2.724,2616,4.98,2621,2.724,2627,1.929,4374,6.694,4376,2.776,5111,2.099,5493,2.968,5503,2.677,5521,4.602,5523,2.968,5558,3.888,5643,3.105,5953,1.994,5992,2.208,6049,3.144,6054,3.049,6055,2.633,7360,2.555,7366,2.519,7368,2.519,7370,2.519,7381,2.485,7382,2.318,7384,2.342,7456,2.519,7511,6.442,7512,5.405,7513,6.171,7514,5.405,7515,3.884,7516,2.833,7517,4.602,7518,3.049,7519,2.833,7520,2.677,7521,2.424,7522,3.402,7523,3.402,7524,3.402,7525,6.725,7526,5.178,7527,3.402,7528,3.763,7529,3.144,7530,2.833,7531,2.968,7532,3.402,7533,2.897,7534,3.402,7535,3.402,7536,2.724,7537,3.402,7538,3.402,7539,2.633,7540,3.402,7541,3.402,7542,3.402,7543,2.677,7544,3.402,7545,3.402,7546,3.259,7547,3.402,7548,2.776,7549,4.602,7550,5.405,7551,6.725,7552,3.049,7553,5.405,7554,5.405,7555,3.402,7556,3.259,7557,3.049,7558,5.178,7559,3.402,7560,3.402,7561,3.402,7562,3.402,7563,3.402,7564,5.405,7565,3.402,7566,3.259,7567,2.555,7568,3.259,7569,3.402,7570,3.402,7571,3.402,7572,3.402]],["title/classes/CustomParameterPostParams.html",[0,0.232,7573,5.557]],["body/classes/CustomParameterPostParams.html",[0,0.327,2,0.787,3,0.016,4,0.016,5,0.008,7,0.102,27,0.556,30,0.001,31,0.624,32,0.179,33,0.632,47,0.965,95,0.13,101,0.011,103,0.001,104,0.001,112,0.739,119,1.996,138,2.418,147,5.22,148,2.205,149,4.733,150,1.6,153,2.512,245,3.324,248,5.172,249,5.158,809,6.02,852,3.315,1929,3.493,2546,6.247,5541,6.841,5558,4.466,5953,5.627,6078,8.574,7456,7.109,7457,8.175,7573,7.819,7574,13.637,7575,7.12,7576,8.376,7577,7.12,7578,7.12,7579,7.819,7580,7.12,7581,5.441,7582,7.12,7583,9.196,7584,7.12,7585,7.12,7586,7.12,7587,7.12,7588,7.12,7589,9.196,7590,7.12,7591,7.12,7592,9.196,7593,7.12,7594,7.12,7595,7.12,7596,7.12,7597,7.12]],["title/classes/CustomParameterResponse.html",[0,0.232,5999,5.389]],["body/classes/CustomParameterResponse.html",[0,0.227,2,0.742,3,0.015,4,0.015,5,0.008,7,0.096,27,0.556,29,0.531,30,0.001,31,0.653,32,0.179,33,0.633,47,0.956,95,0.111,101,0.01,103,0,104,0,112,0.71,119,1.918,138,2.391,149,5.085,150,1.51,153,2.438,181,2.512,245,3.427,249,4.161,379,0.848,381,2.277,839,3.304,1929,3.296,2044,2.609,2546,6.236,2566,3,2921,6.282,4342,2.971,4404,4.053,5541,6.638,5558,4.334,5953,5.461,5973,4.3,5974,4.632,5999,9.452,6790,4.556,6791,4.145,7456,6.898,7457,7.932,7470,5.638,7471,5.638,7472,4.556,7473,5.441,7474,5.886,7475,5.886,7476,5.886,7477,5.886,7478,5.886,7479,5.886,7576,8.128,7583,10.101,7589,10.101,7592,10.101,7598,13.611,7599,6.72,7600,9.284,7601,6.72,7602,6.72,7603,6.72,7604,6.72,7605,6.72,7606,6.72,7607,6.72,7608,6.72,7609,6.72,7610,6.72,7611,6.72]],["title/controllers/DashboardController.html",[259,2.624,7612,6.012]],["body/controllers/DashboardController.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.097,8,1.133,27,0.44,29,0.845,30,0.001,31,0.609,32,0.138,33,0.513,35,1.299,36,2.675,55,2.548,95,0.149,100,4.35,101,0.011,103,0,104,0,138,1.913,150,1.525,177,1.265,223,2.825,226,0.992,259,2.595,261,3.251,262,2.921,270,6.567,271,4.635,294,6.803,310,2.943,324,5.415,333,4.551,334,4.402,337,3.534,338,3.612,343,3.64,345,2.164,349,1.106,437,1.647,608,2.478,1080,7.373,2941,6.148,2963,3.559,3779,5.521,4215,8.971,6854,8.648,6860,6.279,7612,8.187,7613,6.788,7614,7.279,7615,10.693,7616,6.788,7617,6.788,7618,11.207,7619,9.666,7620,9.348,7621,6.788,7622,6.788,7623,8.235,7624,10.09,7625,9.348,7626,6.788,7627,5.945,7628,6.788,7629,8.971,7630,6.788,7631,5.186,7632,6.788,7633,6.788,7634,6.788,7635,6.788,7636,10.693,7637,8.187,7638,6.788,7639,6.788,7640,6.788,7641,6.788,7642,6.788,7643,6.788,7644,6.788,7645,6.279]],["title/classes/DashboardEntity.html",[0,0.232,7646,5.007]],["body/classes/DashboardEntity.html",[0,0.171,2,0.335,3,0.007,4,0.007,5,0.003,7,0.12,8,0.611,26,2.383,27,0.52,29,0.892,30,0.001,31,0.643,32,0.164,33,0.541,34,1.743,35,1.462,39,2.062,47,0.845,55,2.535,83,0.881,95,0.077,101,0.016,103,0,104,0,105,0.31,112,0.386,119,1.559,181,0.819,191,2.745,192,1.938,226,0.442,236,1.636,349,1.354,379,0.382,381,2.193,404,3.372,405,2.703,413,2.279,437,1.726,480,1.402,519,3.604,529,1.848,556,1.855,603,2.749,696,2.929,708,2.594,739,3.257,849,1.677,975,4.085,1080,4.829,1147,0.92,1271,2.987,1553,5.766,1568,3.225,1739,2.981,1942,4.615,2297,3.417,2501,1.459,2647,3.585,2668,6.795,2680,1.754,2681,1.624,2723,2.087,2784,3.572,2804,5.724,3261,4.827,3458,2.124,3631,3.225,3725,7.03,3797,3.145,4215,4.228,4969,1.868,6612,2.541,6719,2.053,6761,9.479,6765,3.676,6845,3.474,7077,6.234,7623,5.394,7646,3.676,7647,2.652,7648,5.04,7649,6.609,7650,5.04,7651,5.04,7652,6.609,7653,6.331,7654,7.589,7655,5.04,7656,6.109,7657,5.04,7658,5.04,7659,5.04,7660,5.04,7661,5.04,7662,5.04,7663,6.609,7664,3.028,7665,3.028,7666,3.028,7667,3.028,7668,3.028,7669,4.414,7670,3.028,7671,2.258,7672,3.028,7673,4.414,7674,3.028,7675,4.662,7676,4.414,7677,9.655,7678,3.028,7679,9.818,7680,3.028,7681,3.028,7682,6.912,7683,3.028,7684,4.414,7685,9.655,7686,3.028,7687,3.028,7688,4.414,7689,3.028,7690,4.414,7691,3.028,7692,4.414,7693,3.028,7694,4.414,7695,3.028,7696,4.414,7697,3.028,7698,4.414,7699,3.028,7700,3.028,7701,4.414,7702,3.028,7703,4.414,7704,2.258,7705,4.414,7706,2.652,7707,4.414,7708,4.414,7709,4.414,7710,2.652,7711,4.414,7712,2.652,7713,4.414,7714,2.652,7715,3.758,7716,8.862,7717,2.652,7718,4.414,7719,2.652,7720,4.414,7721,2.652,7722,4.414,7723,2.652,7724,2.652,7725,2.652,7726,2.652,7727,2.652,7728,4.414,7729,2.652,7730,4.414,7731,2.541,7732,4.414,7733,2.652,7734,2.087,7735,4.414,7736,2.652,7737,2.652,7738,2.652,7739,2.652,7740,2.451,7741,2.652,7742,4.414,7743,2.652,7744,2.314,7745,2.652,7746,2.652,7747,2.652,7748,2.652,7749,2.652,7750,2.652,7751,2.652,7752,2.652,7753,2.652,7754,4.414,7755,4.414,7756,2.541,7757,5.669,7758,2.652,7759,4.414,7760,2.652,7761,2.652,7762,2.652,7763,2.652,7764,2.652,7765,2.652,7766,2.652,7767,2.652,7768,2.652,7769,2.652,7770,2.652,7771,2.652,7772,2.652,7773,2.652,7774,2.652,7775,2.652,7776,2.652,7777,2.652,7778,2.652,7779,2.652,7780,2.652,7781,2.652,7782,2.652,7783,4.414,7784,2.652,7785,2.652,7786,2.652,7787,4.414,7788,4.414,7789,2.652,7790,2.652,7791,2.652,7792,2.652,7793,2.652,7794,2.652,7795,2.652,7796,5.669,7797,2.652,7798,2.652]],["title/entities/DashboardGridElementModel.html",[154,1.389,7799,5.389]],["body/entities/DashboardGridElementModel.html",[0,0.311,3,0.015,4,0.015,5,0.007,7,0.172,27,0.493,30,0.001,32,0.148,33,0.441,34,2.002,39,2.512,47,0.841,49,2.512,55,2.529,95,0.143,96,2.456,97,2.756,101,0.018,103,0,104,0,105,0.94,112,0.703,138,2.143,143,2.656,144,2.156,154,2.135,155,2.162,160,3.698,172,3.872,173,1.926,174,4.035,178,3.653,180,1.602,181,1.792,182,2.921,236,1.719,239,2.672,379,0.836,404,3.698,405,3.551,480,1.842,486,1.994,556,2.259,1271,3.861,1717,4.401,1926,3.448,2418,8.316,2668,7.566,2670,4.835,2671,8.064,2673,5.796,2675,7.44,2677,3.637,2679,4.83,2683,3.911,2784,3.135,4333,3.951,5094,3.066,6757,4.132,6772,3.731,7112,4.295,7614,8.03,7799,8.286,7800,5.556,7801,10.034,7802,10.034,7803,6.622,7804,6.622,7805,6.622,7806,6.622,7807,6.622,7808,6.622,7809,6.622,7810,7.44,7811,6.853,7812,5.556,7813,7.71,7814,5.556,7815,5.556,7816,5.556,7817,5.556,7818,5.556,7819,5.361,7820,5.556,7821,5.556,7822,7.44,7823,6.704,7824,5.556,7825,4.645,7826,5.556,7827,5.556,7828,5.556,7829,5.556,7830,5.556]],["title/interfaces/DashboardGridElementModelProperties.html",[105,0.702,7810,5.557]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.316,3,0.015,4,0.015,5,0.008,7,0.173,30,0.001,32,0.162,33,0.552,34,2.178,39,2.552,47,0.915,49,2.571,55,2.659,95,0.144,96,2.495,97,2.821,101,0.018,103,0,104,0,105,0.956,107,1.592,112,0.715,143,2.369,144,2.206,154,2.162,172,3.597,173,1.97,174,4.084,178,3.711,180,1.628,181,1.834,182,2.968,236,1.521,239,2.698,379,0.855,404,3.757,405,3.634,556,1.666,1271,3.984,1717,4.472,1926,4.32,2418,7.793,2668,7.886,2670,4.278,2671,7.135,2673,5.128,2675,5.486,2677,3.721,2679,4.943,2683,4.002,2784,3.208,4333,4.044,5094,3.138,6757,4.229,6772,3.818,7112,4.395,7614,8.233,7799,7.331,7800,5.685,7801,10.355,7802,10.355,7810,8.649,7811,8.586,7812,5.685,7813,7.834,7814,5.685,7815,5.685,7816,5.685,7817,5.685,7818,5.685,7819,5.486,7820,5.685,7821,5.685,7822,7.559,7823,6.811,7824,5.685,7825,4.753,7826,5.685,7827,5.685,7828,5.685,7829,5.685,7830,5.685]],["title/classes/DashboardGridElementResponse.html",[0,0.232,7831,5.557]],["body/classes/DashboardGridElementResponse.html",[0,0.314,2,0.583,3,0.012,4,0.012,5,0.006,7,0.076,27,0.522,29,0.417,30,0.001,31,0.3,32,0.168,33,0.616,34,2.263,47,0.938,55,2.095,83,2.27,95,0.093,101,0.014,103,0,104,0,112,0.597,138,2.229,150,1.185,153,3.084,154,1.067,172,2.439,245,3.451,247,2.266,253,5.666,319,3.937,379,1.296,404,3.739,517,2.951,556,1.919,774,2.689,819,2.654,821,5.5,829,4.035,849,2.921,975,5.007,1080,4.995,1271,4.131,1461,5.475,1942,5.692,2782,5.871,2784,3.695,2804,5.466,2918,6.155,2919,6.155,3797,7.611,6718,6.202,6719,7.432,6804,3.933,6845,8.406,7075,6.319,7076,6.128,7077,9.276,7078,7.295,7081,6.128,7082,4.871,7083,5.694,7084,6.319,7108,3.77,7614,4.931,7623,5.579,7631,5.964,7715,8.176,7823,6.778,7831,9.616,7832,4.619,7833,9.601,7834,9.197,7835,9.197,7836,5.274,7837,5.274,7838,5.274,7839,8.875,7840,6.836,7841,5.274,7842,5.274,7843,5.274,7844,5.274,7845,4.619,7846,5.274,7847,5.274,7848,5.274,7849,4.619,7850,4.619,7851,4.619,7852,4.619,7853,4.619]],["title/classes/DashboardGridSubElementResponse.html",[0,0.232,7839,5.557]],["body/classes/DashboardGridSubElementResponse.html",[0,0.337,2,0.657,3,0.013,4,0.013,5,0.007,7,0.085,27,0.474,29,0.47,30,0.001,31,0.338,32,0.16,33,0.285,34,2.291,47,0.95,55,1.738,83,1.729,95,0.101,101,0.015,103,0,104,0,112,0.652,138,1.944,150,1.336,153,3.123,154,1.203,172,1.857,245,3.515,247,2.554,253,5.677,319,3.609,379,1.371,404,4.004,517,2.247,556,1.461,774,3.031,821,4.608,829,3.073,849,3.292,975,4.152,1080,3.804,1271,4.217,1461,4.17,1942,5.697,2782,6.287,2784,4.032,2804,4.532,2918,6.168,2919,6.168,3797,7.868,6718,6.642,6719,6.747,6804,4.433,6845,8.689,7075,6.894,7076,6.686,7077,9.33,7078,7.813,7081,4.667,7082,3.71,7083,4.336,7084,4.812,7108,4.249,7614,5.38,7623,4.249,7631,6.507,7715,7.421,7823,7.259,7831,8.798,7832,5.206,7833,8.716,7834,8.349,7835,8.349,7839,9.978,7840,5.206,7845,5.206,7849,5.206,7850,5.206,7851,5.206,7852,5.206,7853,5.206,7854,5.944,7855,5.944,7856,5.944,7857,5.944,7858,5.944]],["title/classes/DashboardMapper.html",[0,0.232,7627,6.012]],["body/classes/DashboardMapper.html",[0,0.259,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.468,29,0.898,30,0.001,31,0.647,32,0.147,33,0.545,34,1.277,35,1.38,95,0.121,99,1.24,100,4.112,101,0.012,103,0.001,104,0.001,236,1.85,284,2.308,349,1.175,413,4.095,437,1.595,556,1.879,603,2.661,783,5.656,790,3.845,1271,2.381,2171,4.163,2804,4.067,3797,4.769,6659,6.411,6719,5.181,6765,8.823,6845,5.267,7614,6.399,7627,8.87,7631,9.242,7646,8.823,7653,6.411,7682,9.242,7823,5.574,7831,9.792,7834,6.411,7835,6.411,7839,9.196,7859,7.642,7860,10.128,7861,10.128,7862,10.128,7863,7.642,7864,10.128,7865,7.642,7866,10.128,7867,7.642,7868,7.642,7869,7.642,7870,7.642,7871,7.642,7872,7.642,7873,7.642,7874,7.642,7875,7.642,7876,7.642,7877,7.642,7878,7.642,7879,7.642,7880,10.128,7881,7.642,7882,10.128,7883,7.642,7884,7.642,7885,7.642,7886,7.642,7887,7.642]],["title/entities/DashboardModelEntity.html",[154,1.389,7811,5.119]],["body/entities/DashboardModelEntity.html",[0,0.322,3,0.015,4,0.015,5,0.008,7,0.175,27,0.392,30,0.001,32,0.123,34,2.038,39,2.961,47,0.818,49,2.641,55,2.376,95,0.145,96,2.542,97,2.898,101,0.018,103,0.001,104,0.001,105,0.973,112,0.728,138,1.702,143,2.582,144,2.266,154,2.192,155,2.273,172,3.638,173,2.024,174,4.142,178,3.781,180,1.658,181,1.884,182,3.024,236,1.765,239,2.949,379,0.879,404,3.827,405,3.733,480,1.937,486,2.097,556,1.712,1271,3.628,1717,5.189,1926,3.569,2418,8.494,2668,6.845,2670,4.964,2671,8.279,2673,5.951,2675,5.636,2677,3.823,2679,5.078,2683,4.112,2784,3.296,4333,4.154,5094,3.224,6757,4.345,6772,3.922,7112,4.515,7614,7.951,7799,7.468,7800,5.841,7801,9.427,7802,9.427,7810,7.701,7811,8.08,7812,5.841,7813,7.98,7814,5.841,7815,5.841,7816,5.841,7817,5.841,7818,5.841,7819,5.636,7820,5.841,7821,5.841,7822,7.701,7823,8.494,7824,5.841,7825,4.883,7826,5.841,7827,5.841,7828,5.841,7829,7.98,7830,5.841,7888,6.962,7889,6.441,7890,6.962]],["title/injectables/DashboardModelMapper.html",[539,0.921,7891,5.389]],["body/injectables/DashboardModelMapper.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.063,8,0.819,27,0.506,29,0.971,30,0.001,31,0.699,32,0.161,33,0.589,34,1.129,35,1.466,36,2.831,39,1.191,47,0.306,95,0.098,96,1.165,99,0.707,101,0.007,103,0,104,0,154,1.367,173,1.267,177,0.812,226,0.637,236,1.518,239,1.939,262,3.039,349,1.307,379,0.55,437,1.773,529,1.244,539,0.907,541,1.047,556,1.071,603,2.566,608,2.962,739,2.916,933,2.414,1080,2.789,1226,2.1,1553,3.33,1739,3.111,1926,4.43,2171,2.374,2311,5.297,2318,2.524,2353,2.955,2668,6.37,2679,3.179,2830,6.861,3341,2.955,3346,4.031,3605,3.422,6761,6.66,6766,3.528,6844,3.528,7077,4.656,7614,7.879,7623,3.115,7646,8.116,7682,9.655,7716,7.915,7731,3.657,7799,9.027,7801,3.528,7802,3.528,7811,9.531,7819,3.528,7823,3.179,7891,5.304,7892,4.358,7893,8.272,7894,8.272,7895,6.755,7896,6.755,7897,6.755,7898,6.755,7899,8.272,7900,6.755,7901,6.755,7902,8.272,7903,4.358,7904,4.358,7905,4.358,7906,12.635,7907,4.358,7908,4.358,7909,6.755,7910,4.358,7911,6.755,7912,4.358,7913,9.341,7914,6.755,7915,4.358,7916,6.755,7917,4.358,7918,4.358,7919,4.358,7920,6.755,7921,4.358,7922,6.755,7923,4.358,7924,4.358,7925,4.358,7926,10.082,7927,6.755,7928,4.358,7929,4.358,7930,4.358,7931,4.358,7932,4.358,7933,4.358,7934,4.358,7935,4.358,7936,4.358,7937,4.358,7938,4.358,7939,4.358,7940,4.358,7941,4.358,7942,4.358,7943,4.358,7944,4.032,7945,4.358,7946,6.755,7947,4.358,7948,6.755,7949,4.358,7950,4.358,7951,4.358,7952,6.755,7953,4.358,7954,6.755,7955,4.358,7956,6.755,7957,4.358,7958,4.358,7959,4.358,7960,6.755,7961,6.755,7962,4.358,7963,4.358,7964,4.358,7965,3.817,7966,4.358,7967,4.358,7968,4.358,7969,4.358,7970,4.358,7971,4.358,7972,3.817,7973,6.755,7974,4.358,7975,4.358]],["title/injectables/DashboardRepo.html",[539,0.921,7976,5.389]],["body/injectables/DashboardRepo.html",[0,0.309,3,0.014,4,0.014,5,0.007,7,0.094,8,1.107,9,3.122,26,2.707,27,0.491,29,0.943,30,0.001,31,0.679,32,0.155,33,0.572,34,1.526,35,1.379,36,2.878,39,3.103,49,2.488,95,0.135,96,1.753,97,2.73,99,1.064,101,0.014,103,0,104,0,105,0.671,154,1.847,177,1.701,226,0.958,236,1.068,239,1.537,262,2.993,349,1.278,379,0.828,437,1.731,448,2.661,511,2.913,539,1.225,541,1.576,608,2.938,631,5.353,679,3.762,1147,1.992,1726,2.804,2311,6.453,2353,4.446,3341,4.446,3346,5.447,7077,4.52,7376,7.39,7614,7.806,7646,9.43,7682,6.975,7811,4.891,7891,8.913,7913,7.994,7972,5.743,7976,7.166,7977,6.067,7978,8.444,7979,7.994,7980,8.444,7981,6.558,7982,9.713,7983,6.558,7984,9.195,7985,6.558,7986,8.444,7987,6.558,7988,9.713,7989,6.558,7990,6.067,7991,6.067,7992,8.444,7993,6.067,7994,5.743,7995,7.658,7996,5.011,7997,8.444,7998,6.067,7999,8.444,8000,6.067,8001,9.713,8002,6.067,8003,8.444,8004,6.067,8005,6.067]],["title/classes/DashboardResponse.html",[0,0.232,7631,5.245]],["body/classes/DashboardResponse.html",[0,0.343,2,0.681,3,0.014,4,0.014,5,0.007,7,0.088,27,0.418,29,0.487,30,0.001,31,0.351,32,0.151,33,0.295,34,2.302,47,0.932,55,1.782,83,1.791,95,0.104,101,0.016,103,0,104,0,112,0.669,138,1.563,150,1.384,153,3.157,154,1.768,172,1.925,245,3.532,247,2.647,253,5.755,319,4.301,379,1.394,404,4.084,517,2.329,556,2.148,774,3.141,819,3.1,821,2.853,829,3.185,849,4.838,975,4.259,1080,3.942,1271,4.089,1461,4.321,1942,5.551,2782,6.413,2784,4.136,2804,4.649,2918,6.253,2919,6.253,3797,7.558,6718,5.831,6719,6.881,6804,4.594,6845,8.347,7075,7.072,7076,6.858,7077,9.046,7078,6.858,7081,4.836,7082,3.845,7083,4.494,7084,4.987,7108,6.244,7614,6.977,7623,4.403,7631,8.91,7715,7.57,7823,8.506,7831,9.44,7832,5.395,7833,8.89,7834,8.516,7835,8.516,7839,8.941,7840,5.395,7849,5.395,7850,5.395,7851,5.395,7852,5.395,7853,5.395,8006,6.16,8007,6.16,8008,6.16]],["title/injectables/DashboardUc.html",[539,0.921,7629,5.759]],["body/injectables/DashboardUc.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.092,8,1.087,26,2.854,27,0.487,29,0.935,30,0.001,31,0.698,32,0.153,33,0.567,35,1.364,36,2.626,39,3.742,47,0.727,95,0.141,99,1.037,101,0.01,103,0,104,0,143,1.418,177,1.671,226,0.934,227,2.65,236,1.041,262,2.882,271,3.844,292,3.238,349,1.071,379,1.132,437,1.559,511,2.84,519,1.969,529,1.825,539,1.203,541,1.536,603,2.433,608,2.917,639,3.01,721,3.99,743,4.334,1804,7.675,2093,3.602,2681,4.809,2725,5.363,2804,5.512,4833,3.57,7174,5.599,7614,8.116,7629,7.523,7637,9.833,7646,8.19,7677,9.419,7685,10.56,7716,5.019,7756,5.363,7976,7.04,7979,7.853,7984,7.853,7995,9.419,8009,6.393,8010,10.357,8011,10.357,8012,8.967,8013,6.393,8014,6.393,8015,6.393,8016,6.393,8017,6.393,8018,6.393,8019,6.393,8020,8.967,8021,6.393,8022,6.393,8023,5.914,8024,4.885,8025,6.393,8026,6.393,8027,6.393,8028,6.393,8029,10.357,8030,8.967,8031,8.967,8032,6.393,8033,6.393,8034,6.393,8035,6.393]],["title/classes/DashboardUrlParams.html",[0,0.232,7618,6.012]],["body/classes/DashboardUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,3876,5.841,7614,7.533,7618,10.443,7637,11.212,8036,9.89,8037,9.89]],["title/classes/DatabaseManagementConsole.html",[0,0.232,8038,5.759]],["body/classes/DatabaseManagementConsole.html",[0,0.198,2,0.647,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,27,0.444,29,0.78,30,0.001,31,0.562,32,0.128,33,0.518,35,1.199,36,2.551,47,0.411,95,0.118,101,0.018,103,0,104,0,105,0.6,119,1.741,138,1.766,142,4.207,143,1.299,145,3.026,153,3.012,219,3.31,262,2.824,284,2.546,345,1.868,349,1.021,379,0.739,437,1.656,490,4.839,510,4.485,556,2.928,603,1.205,608,2.502,1122,5.393,1717,4.727,1822,7.107,2088,6.402,2830,3.496,3291,3.572,3309,5.325,3502,5.131,3504,4.915,3505,7.206,3508,6.823,3510,7.991,3514,8.656,3515,6.82,3516,3.496,3518,4.6,3519,5.543,4381,6.51,5654,4.743,5656,5.131,6441,2.743,8038,7.071,8039,10.581,8040,7.797,8041,8.428,8042,8.739,8043,9.635,8044,5.859,8045,7.797,8046,10.042,8047,9.057,8048,5.859,8049,7.797,8050,8.023,8051,5.859,8052,8.979,8053,8.53,8054,6.44,8055,5.859,8056,5.131,8057,4.915,8058,7.797,8059,8.249,8060,7.797,8061,5.131,8062,7.797,8063,7.797,8064,5.42,8065,5.42,8066,5.42,8067,9.057,8068,7.797,8069,9.132,8070,4.038,8071,7.381,8072,5.42,8073,5.42,8074,5.131]],["title/controllers/DatabaseManagementController.html",[259,2.624,8075,6.012]],["body/controllers/DatabaseManagementController.html",[0,0.254,3,0.016,4,0.016,5,0.008,7,0.108,8,1.213,27,0.515,29,0.89,30,0.001,31,0.641,32,0.146,33,0.54,35,1.519,36,2.858,47,0.903,95,0.119,101,0.012,103,0.001,104,0.001,119,2.325,138,2.238,223,3.122,226,1.096,259,2.868,261,3.592,262,3.059,310,3.253,333,3.193,345,2.392,349,1.293,437,0.989,608,2.318,2962,4.226,3518,5.889,6863,6.488,8040,11.107,8042,9.719,8043,8.836,8053,8.393,8057,6.293,8074,8.761,8075,8.761,8076,12.864,8077,7.501,8078,7.501,8079,10.003,8080,9.254,8081,10.003,8082,7.501,8083,10.003,8084,7.501,8085,10.515,8086,10.003,8087,7.501,8088,6.939,8089,10.003,8090,7.501,8091,7.501,8092,10.003,8093,7.501,8094,11.255,8095,10.003,8096,7.501,8097,7.501,8098,7.501,8099,7.501,8100,7.501,8101,7.501,8102,7.501,8103,7.501,8104,7.501]],["title/modules/DatabaseManagementModule.html",[201,1.848,8105,5.759]],["body/modules/DatabaseManagementModule.html",[0,0.329,3,0.021,4,0.021,5,0.011,30,0.001,95,0.141,101,0.015,103,0.001,104,0.001,201,3.422,203,3.533,204,3.79,205,3.897,206,3.881,207,3.865,208,4.7,209,4.822,218,4.73,219,3.819,220,3.732,226,1.421,1822,5.803,8105,11.686,8106,9.725,8107,9.725,8108,9.725,8109,11.625,8110,8.997,8111,8.997,8112,8.159]],["title/injectables/DatabaseManagementService.html",[539,0.921,8109,5.557]],["body/injectables/DatabaseManagementService.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.078,8,0.965,27,0.532,29,0.971,30,0.001,31,0.714,32,0.159,33,0.589,35,1.524,36,2.895,47,0.975,95,0.132,96,2.127,97,2.254,99,0.878,101,0.008,103,0,104,0,143,2.092,173,1.574,177,1.009,226,0.791,262,3.086,345,1.726,349,1.297,379,0.683,437,1.704,539,1.068,541,1.301,574,8.265,603,1.637,608,2.776,686,3.646,696,3.663,739,3.435,757,4.137,1218,3.567,1717,5.885,2311,5.913,2351,5.395,3341,3.671,3346,4.749,3892,6.443,3903,8.264,5185,5.009,7133,6.206,8042,8.421,8046,6.248,8054,7.948,8080,7.362,8085,10.49,8088,7.362,8109,6.443,8110,12.1,8113,4.742,8114,7.958,8115,7.362,8116,7.958,8117,7.958,8118,7.958,8119,10.402,8120,7.958,8121,5.414,8122,7.958,8123,5.414,8124,7.958,8125,5.414,8126,7.958,8127,5.414,8128,7.958,8129,5.414,8130,7.958,8131,5.414,8132,5.414,8133,7.958,8134,5.414,8135,5.414,8136,5.414,8137,5.414,8138,5.414,8139,5.414,8140,5.414,8141,5.414,8142,9.436,8143,7.958,8144,5.414,8145,5.414,8146,5.414,8147,5.414,8148,5.395,8149,5.414,8150,5.414,8151,5.414,8152,7.958,8153,5.414,8154,5.414,8155,5.414,8156,5.414,8157,5.414,8158,5.414,8159,5.414]],["title/classes/DeleteFilesConsole.html",[0,0.232,8160,6.012]],["body/classes/DeleteFilesConsole.html",[0,0.266,2,0.869,3,0.017,4,0.017,5,0.012,7,0.113,8,1.251,27,0.425,29,0.816,30,0.001,31,0.587,32,0.134,33,0.495,35,0.955,36,2.211,55,2.592,83,2.287,95,0.137,101,0.012,103,0.001,104,0.001,138,1.407,153,2.64,236,1.281,262,2.544,345,2.507,379,0.992,437,1.037,480,2.188,486,2.368,603,1.618,608,1.822,823,4.185,829,4.065,1341,2.522,1636,7.377,1832,5.668,2312,4.775,2313,5.574,2764,3.723,3510,6.366,3514,8.43,3515,7.728,3516,4.692,5440,9.902,6441,5.726,6781,9.472,8160,9.039,8161,11.52,8162,7.863,8163,9.548,8164,7.863,8165,10.937,8166,7.863,8167,10.32,8168,11.417,8169,11.417,8170,10.09,8171,9.326,8172,10.658,8173,7.863,8174,11.52,8175,7.863,8176,6.174,8177,7.275,8178,7.275,8179,6.887,8180,7.863,8181,7.863,8182,7.863,8183,7.863,8184,5.032]],["title/injectables/DeleteFilesUc.html",[539,0.921,8165,5.759]],["body/injectables/DeleteFilesUc.html",[0,0.172,3,0.011,4,0.011,5,0.01,7,0.073,8,0.922,27,0.483,29,0.854,30,0.001,31,0.615,32,0.147,33,0.518,35,1.312,36,2.162,47,0.639,55,1.856,58,4.93,83,2.646,95,0.14,99,0.826,101,0.008,103,0,104,0,112,0.582,143,2.018,145,1.427,154,1.03,177,1.695,208,1.882,220,1.953,226,0.744,236,1.644,262,2.851,280,5.239,330,3.508,349,0.941,379,0.959,437,1.702,480,1.416,486,1.533,539,1.02,541,1.223,579,2.729,595,3.139,603,2.787,608,2.721,662,2.826,696,4.398,708,3.046,986,4.93,990,1.741,1242,2.75,1341,1.632,1984,2.772,2094,3.139,2312,3.771,2313,4.599,2357,3.712,2362,3.995,2487,2.688,2647,5.589,3601,3.661,6441,4.725,6515,3.45,6516,6.168,6517,3.45,6518,3.45,6583,6.657,8163,7.032,8165,6.377,8168,8.839,8176,5.968,8178,4.708,8179,4.457,8184,3.257,8185,12.069,8186,5.089,8187,10.092,8188,6.657,8189,7.032,8190,7.601,8191,10.092,8192,5.089,8193,9.172,8194,9.85,8195,7.601,8196,7.601,8197,8.054,8198,5.089,8199,6.377,8200,9.061,8201,7.601,8202,8.971,8203,5.089,8204,7.601,8205,5.089,8206,7.601,8207,5.089,8208,5.089,8209,7.601,8210,4.27,8211,4.457,8212,4.12,8213,4.708,8214,5.089,8215,5.089,8216,9.098,8217,10.092,8218,10.092,8219,5.089,8220,9.098,8221,5.089,8222,5.089,8223,5.089,8224,9.098,8225,5.089,8226,5.089,8227,5.089,8228,6.657,8229,5.089,8230,5.089,8231,3.795,8232,5.089,8233,5.089,8234,5.089,8235,5.089,8236,5.089,8237,5.089,8238,5.089,8239,4.27,8240,5.089,8241,4.708,8242,5.089,8243,4.708,8244,3.795,8245,4.708,8246,4.708,8247,5.089,8248,5.089,8249,5.089,8250,7.601,8251,4.708,8252,5.089,8253,6.657,8254,5.089,8255,5.089,8256,5.089,8257,5.089,8258,5.089]],["title/classes/DeletionLog.html",[0,0.232,8259,5.389]],["body/classes/DeletionLog.html",[0,0.252,2,0.821,3,0.016,4,0.016,5,0.008,7,0.107,8,1.206,26,2.281,27,0.555,30,0.001,32,0.096,35,0.903,55,2.441,83,3.478,95,0.142,101,0.015,103,0.001,104,0.001,105,0.761,112,0.761,133,2.576,180,1.953,349,1.355,376,4.979,377,5.187,381,3.369,382,2.97,448,4.034,479,3.664,556,3.154,662,3.088,686,4.555,1661,5.601,1665,5.19,1668,7.078,1747,4.435,1778,4.897,2501,3.58,2795,4.82,2813,4.82,2816,6.017,2818,6.017,2821,5.313,2822,5.313,8148,8.109,8259,7.805,8260,11.17,8261,6.876,8262,8.453,8263,8.244,8264,8.726,8265,7.432,8266,7.432,8267,7.432,8268,7.432,8269,7.432,8270,7.432,8271,7.432,8272,7.432,8273,7.432,8274,7.432,8275,7.432,8276,7.432,8277,7.078,8278,8.049,8279,6.205,8280,9.07,8281,6.509,8282,6.876,8283,6.876,8284,6.876,8285,6.876,8286,6.876]],["title/entities/DeletionLogEntity.html",[154,1.389,8287,5.557]],["body/entities/DeletionLogEntity.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,26,1.921,27,0.5,30,0.001,32,0.157,33,0.627,34,1.15,49,4.396,55,2.559,83,2.743,95,0.145,96,2.521,97,2.864,99,1.116,101,0.015,103,0.001,104,0.001,105,0.704,112,0.722,138,2.172,143,2.9,144,3.772,154,1.909,155,2.246,160,6.471,172,4.012,173,2,174,3.607,178,2.734,180,1.199,181,1.861,182,2.187,376,2.864,377,2.983,404,2.768,405,5.059,406,4.243,407,6.618,408,4.243,409,6.618,556,3.157,1778,4.768,8148,7.855,8262,8.231,8263,7.986,8264,8.452,8277,7.32,8279,5.888,8280,9.38,8287,7.638,8288,10.521,8289,6.364,8290,6.879,8291,6.879,8292,6.879,8293,6.879,8294,6.879,8295,6.298,8296,8.263,8297,6.025,8298,6.364,8299,6.364,8300,8.728,8301,6.025,8302,8.728,8303,6.364,8304,8.728,8305,6.364,8306,8.728,8307,6.364]],["title/interfaces/DeletionLogEntityProps.html",[105,0.702,8296,6.012]],["body/interfaces/DeletionLogEntityProps.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.098,26,2.354,30,0.001,32,0.169,33,0.663,34,1.933,49,4.598,55,2.665,83,3.641,95,0.144,96,2.513,97,2.849,99,1.111,101,0.015,103,0.001,104,0.001,105,0.7,107,1.608,112,0.72,143,2.564,144,3.764,154,1.902,172,3.912,173,1.99,174,3.594,178,2.721,180,1.193,181,1.852,182,2.176,376,4.813,377,5.014,404,2.754,405,5.042,406,4.221,407,6.595,408,4.221,409,6.595,556,3.153,1778,4.918,8148,8.216,8262,8.489,8263,8.353,8264,8.84,8277,7.656,8279,5.868,8280,9.811,8287,5.541,8288,5.743,8289,6.332,8295,6.276,8296,9.406,8297,5.995,8298,6.332,8299,6.332,8300,8.698,8301,5.995,8302,8.698,8303,6.332,8304,8.698,8305,6.332,8306,8.698,8307,6.332]],["title/classes/DeletionLogMapper.html",[0,0.232,8308,6.012]],["body/classes/DeletionLogMapper.html",[0,0.255,2,0.832,3,0.017,4,0.017,5,0.008,7,0.108,8,1.216,27,0.495,29,0.951,30,0.001,31,0.684,32,0.156,33,0.577,34,1.676,35,1.461,49,2.857,95,0.134,96,2.012,97,3.134,101,0.012,103,0.001,104,0.001,154,1.523,155,2.458,236,1.837,349,1.243,376,4.174,377,4.348,413,4.187,1665,3.134,1778,3.939,2323,4.883,2359,5.492,2364,5.189,4433,8.783,4434,9.277,4435,9.277,4436,8.783,4437,8.783,4439,9.277,4441,9.277,4443,8.783,4446,4.698,4460,5.911,4461,5.911,4476,6.965,4477,6.594,4478,6.965,8148,6.799,8259,10.883,8262,6.799,8263,6.912,8264,7.315,8287,11.223,8308,8.783,8309,11.584,8310,7.529,8311,7.529,8312,7.529,8313,7.529,8314,7.529,8315,6.965,8316,6.965,8317,5.911,8318,6.594,8319,7.529,8320,7.529,8321,7.529,8322,7.529,8323,7.529,8324,6.594,8325,6.594,8326,7.529,8327,7.529,8328,7.529,8329,7.529,8330,7.529]],["title/interfaces/DeletionLogProps.html",[105,0.702,8281,6.012]],["body/interfaces/DeletionLogProps.html",[0,0.255,3,0.017,4,0.017,5,0.008,7,0.108,26,2.551,30,0.001,32,0.17,33,0.665,55,2.725,83,3.884,95,0.143,101,0.016,103,0.001,104,0.001,105,0.772,107,1.772,112,0.768,133,2.614,180,1.967,349,1.36,376,5.216,377,5.433,556,3.168,1661,6.358,1665,4.179,1747,4.501,1778,5.06,2501,3.634,2821,5.391,2822,5.391,8148,8.495,8259,5.922,8260,6.328,8261,6.978,8262,8.735,8263,8.636,8264,9.14,8277,7.916,8278,8.128,8279,6.266,8280,10.143,8281,8.793,8282,6.978,8283,6.978,8284,6.978,8285,6.978,8286,6.978]],["title/injectables/DeletionLogRepo.html",[539,0.921,8331,6.012]],["body/injectables/DeletionLogRepo.html",[0,0.247,3,0.016,4,0.016,5,0.008,7,0.105,8,1.19,12,4.402,26,2.654,27,0.51,29,0.938,30,0.001,31,0.675,32,0.154,33,0.569,34,1.218,35,1.348,36,2.733,49,2.765,95,0.152,96,1.947,97,3.033,99,1.182,101,0.011,103,0.001,104,0.001,177,1.358,226,1.065,236,1.187,262,2.965,345,2.323,349,1.147,379,0.919,437,1.633,539,1.317,541,1.751,608,2.57,685,4.102,686,4.494,687,5.474,718,3.907,2311,6.745,3341,4.94,3346,5.854,3407,5.567,4544,6.871,8259,10.406,8264,7.156,8287,10.327,8308,6.381,8315,6.74,8316,6.74,8317,5.72,8318,6.381,8331,8.592,8332,11.172,8333,7.286,8334,9.81,8335,7.286,8336,9.81,8337,7.286,8338,9.81,8339,7.286,8340,9.81,8341,7.286,8342,9.81,8343,7.286,8344,6.74,8345,7.286,8346,7.286,8347,7.286,8348,7.286,8349,7.286,8350,7.286,8351,7.286,8352,7.286,8353,7.286]],["title/injectables/DeletionLogService.html",[539,0.921,8354,6.35]],["body/injectables/DeletionLogService.html",[0,0.258,3,0.017,4,0.017,5,0.009,7,0.109,8,1.226,26,2.685,27,0.467,29,0.897,30,0.001,31,0.646,32,0.147,33,0.544,34,1.275,35,1.229,36,2.589,49,2.894,55,2.637,95,0.157,96,2.039,97,3.175,99,1.238,101,0.012,103,0.001,104,0.001,177,1.421,226,1.114,236,1.648,262,2.854,345,2.432,349,0.789,379,0.963,437,1.334,539,1.358,541,1.833,608,2.344,1778,4.939,2487,4.029,4188,4.76,8148,8.194,8259,8.91,8262,8.526,8263,8.33,8264,8.816,8277,7.636,8279,6.313,8280,9.784,8295,6.752,8297,8.859,8317,5.988,8318,6.68,8331,11.32,8354,9.358,8355,11.181,8356,7.628,8357,11.349,8358,10.115,8359,7.628,8360,7.628,8361,7.628,8362,7.628,8363,10.115,8364,7.628,8365,7.628,8366,7.628,8367,7.628]],["title/interfaces/DeletionLogStatistic.html",[105,0.702,8368,5.119]],["body/interfaces/DeletionLogStatistic.html",[3,0.019,4,0.019,5,0.01,7,0.127,26,2.606,30,0.001,32,0.158,33,0.614,55,2.787,83,3.244,95,0.133,99,1.44,101,0.02,103,0.001,104,0.001,105,1.35,107,2.085,112,0.854,1778,5.18,8148,8.677,8263,8.822,8277,8.504,8279,5.539,8295,5.925,8368,9.098,8369,7.186,8370,8.319,8371,6.017,8372,7.563,8373,6.782,8374,8.758,8375,8.524,8376,6.968,8377,6.344,8378,7.186,8379,6.968,8380,6.968,8381,6.968]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.232,8382,6.35]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.316,2,1.03,3,0.02,4,0.02,5,0.01,7,0.134,8,1.395,27,0.384,29,0.737,30,0.001,31,0.531,32,0.121,33,0.447,35,1.133,55,2.78,59,3.543,95,0.137,101,0.014,103,0.001,104,0.001,105,0.954,349,0.964,413,3.768,437,1.229,454,5.326,1778,4.899,8148,8.83,8263,8.977,8277,8.229,8279,5.818,8295,6.223,8368,9.977,8382,10.641,8383,10.074,8384,7.928,8385,9.323,8386,11.502,8387,9.323]],["title/modules/DeletionModule.html",[201,1.848,8388,6.012]],["body/modules/DeletionModule.html",[0,0.308,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.321,203,3.304,204,3.544,205,3.644,206,3.629,207,3.615,208,4.562,209,4.68,214,6.305,218,4.539,219,3.572,220,3.49,225,4.502,226,1.329,1341,2.917,8388,12.412,8389,9.094,8390,9.094,8391,9.094,8392,9.094,8393,12.47,8394,11.362,8395,9.094,8396,9.094,8397,9.094,8398,8.413,8399,8.413]],["title/classes/DeletionRequest.html",[0,0.232,8400,5.245]],["body/classes/DeletionRequest.html",[0,0.262,2,0.855,3,0.017,4,0.017,5,0.009,7,0.111,8,1.239,26,2.328,27,0.553,30,0.001,32,0.1,35,0.941,83,3.774,95,0.145,101,0.016,103,0.001,104,0.001,105,0.792,112,0.782,133,2.684,180,1.993,347,4.56,349,1.342,376,5.061,377,5.272,381,3.462,382,3.052,448,4.145,479,3.765,556,2.512,662,3.174,686,4.681,1661,5.756,1665,5.261,1668,7.224,1747,4.621,1778,3.041,2501,3.73,2795,5.022,2813,5.022,2816,6.269,2818,6.269,2821,5.535,2822,5.535,8260,11.105,8277,7.224,8278,8.271,8279,6.376,8371,8.243,8372,8.243,8377,5.535,8400,7.807,8401,7.164,8402,9.067,8403,7.744,8404,7.744,8405,7.744,8406,7.744,8407,7.744,8408,7.744,8409,7.744,8410,7.744,8411,7.744,8412,7.744,8413,8.737,8414,7.164,8415,7.164,8416,7.164,8417,7.164]],["title/interfaces/DeletionRequestCreateAnswer.html",[105,0.702,8380,5.389]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.02,4,0.02,5,0.01,7,0.13,26,2.757,30,0.001,32,0.147,55,2.517,83,3.754,95,0.135,99,1.475,101,0.021,103,0.001,104,0.001,105,1.359,107,2.136,112,0.867,1778,4.449,8148,6.165,8263,6.268,8277,8.157,8279,5.675,8295,6.07,8368,8.447,8369,7.362,8370,8.447,8371,6.165,8372,7.679,8373,6.949,8374,8.892,8375,10.149,8376,7.14,8377,6.5,8378,7.362,8379,7.14,8380,8.892,8381,10.136]],["title/entities/DeletionRequestEntity.html",[154,1.389,8418,5.389]],["body/entities/DeletionRequestEntity.html",[0,0.251,3,0.016,4,0.016,5,0.008,7,0.171,26,2.535,27,0.492,30,0.001,32,0.155,34,1.238,83,3.621,95,0.148,96,1.979,99,1.201,101,0.015,103,0.001,104,0.001,105,0.758,112,0.856,138,2.137,154,2.007,155,2.418,170,5.659,172,4.156,173,2.153,174,3.791,178,2.944,180,1.291,181,2.004,182,2.354,347,4.493,376,3.083,377,3.211,404,2.98,405,5.319,406,4.567,407,6.957,408,4.567,409,6.957,519,3.055,556,2.749,595,4.567,662,3.081,1778,2.909,1986,6.476,1987,5.021,4333,4.419,8277,7.546,8279,6.189,8288,10.448,8295,6.62,8371,8.443,8372,8.443,8402,8.907,8413,9.127,8418,7.786,8419,6.851,8420,7.405,8421,7.405,8422,7.405,8423,7.405,8424,8.686,8425,6.851,8426,6.851,8427,6.851,8428,6.851,8429,6.851,8430,6.851,8431,6.851,8432,5.659,8433,6.851,8434,6.486]],["title/interfaces/DeletionRequestEntityProps.html",[105,0.702,8424,6.012]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.17,26,2.696,30,0.001,32,0.169,33,0.611,34,1.98,83,3.944,95,0.147,96,1.94,99,1.178,101,0.015,103,0.001,104,0.001,105,0.743,107,1.705,112,0.847,154,1.98,172,3.864,173,2.111,174,3.741,178,2.886,180,1.266,181,1.964,182,2.308,347,4.598,376,4.932,377,5.138,404,2.921,405,5.248,406,4.478,407,6.865,408,4.478,409,6.865,519,3.014,556,2.722,595,4.478,662,3.04,1778,2.851,1986,6.411,1987,4.922,4333,4.332,8277,7.815,8279,6.107,8288,6.091,8295,6.532,8371,8.639,8372,8.639,8402,9.225,8413,9.452,8418,5.7,8419,6.716,8424,9.696,8425,6.716,8426,6.716,8427,6.716,8428,6.716,8429,6.716,8430,6.716,8431,6.716,8432,5.547,8433,6.716,8434,6.358]],["title/classes/DeletionRequestFactory.html",[0,0.232,8435,6.35]],["body/classes/DeletionRequestFactory.html",[0,0.165,2,0.54,3,0.011,4,0.011,5,0.005,7,0.07,8,0.894,27,0.538,29,1.043,30,0.001,31,0.719,32,0.173,33,0.606,34,1.774,35,1.483,47,0.745,49,1.854,55,2.363,59,3.269,83,2.582,95,0.133,96,1.306,97,2.034,101,0.008,103,0,104,0,112,0.564,120,3.125,133,2.556,140,2.684,153,2.035,154,1.797,155,2.408,177,1.374,180,1.285,236,1.729,271,4.689,319,3.125,347,2.661,349,0.763,376,2.034,377,2.119,379,0.617,382,3.868,413,2.227,437,0.972,447,6.997,448,4.527,449,5.477,452,4.083,453,5.477,454,5.521,455,4.083,456,4.083,457,4.083,458,4.017,459,4.497,460,4.917,461,6.031,462,5.782,463,6.959,464,2.73,469,2.707,470,4.083,471,2.73,472,5.149,473,5.303,474,4.21,475,5.009,476,4.05,477,2.707,478,2.563,479,4.112,480,3.317,481,2.641,482,2.601,483,2.707,484,5.077,485,2.73,486,3.591,487,4.837,488,2.707,489,7.089,490,4.244,491,6.603,492,2.73,493,3.617,494,2.707,495,2.73,496,2.707,497,2.73,498,2.707,501,2.707,502,6.079,503,2.73,504,2.707,505,4.083,506,3.839,507,4.083,508,2.73,509,2.621,510,2.601,511,2.171,512,2.707,513,2.707,514,2.707,515,2.73,516,2.73,517,1.848,518,2.707,519,1.505,520,2.73,521,2.919,522,2.707,523,2.73,525,2.804,527,2.887,1778,1.92,3556,4.28,4188,4.602,4364,6.458,4374,6.229,4376,3.493,5440,3.957,8277,3.088,8278,5.97,8279,4.602,8371,3.313,8372,4.999,8377,3.493,8400,3.734,8402,3.645,8413,3.734,8435,8.215,8436,7.374,8437,4.887,8438,7.374,8439,4.887,8440,4.1,8441,4.887,8442,4.887,8443,4.28]],["title/interfaces/DeletionRequestLog.html",[105,0.702,8373,5.245]],["body/interfaces/DeletionRequestLog.html",[3,0.02,4,0.02,5,0.01,7,0.128,26,2.61,30,0.001,32,0.158,33,0.536,55,2.494,83,3.728,95,0.133,99,1.446,101,0.02,103,0.001,104,0.001,105,1.351,107,2.094,112,0.856,1778,4.393,8148,6.044,8263,6.144,8277,8.099,8279,5.563,8295,5.951,8368,9.56,8369,7.217,8370,9.56,8371,6.044,8372,7.584,8373,8.547,8374,10.367,8375,10.09,8376,10.064,8377,6.372,8378,7.217,8379,6.999,8380,6.999,8381,6.999]],["title/classes/DeletionRequestLogBuilder.html",[0,0.232,8444,6.35]],["body/classes/DeletionRequestLogBuilder.html",[0,0.318,2,1.039,3,0.021,4,0.021,5,0.011,7,0.135,8,1.403,27,0.387,29,0.744,30,0.001,31,0.536,32,0.122,33,0.451,35,1.143,59,2.898,83,3.642,95,0.112,101,0.015,103,0.001,104,0.001,105,0.963,141,5.415,349,0.973,413,3.783,437,1.241,454,5.8,8368,9.744,8370,9.744,8373,10.25,8374,9.833,8375,9.984,8376,10.258,8383,10.131,8444,10.702,8445,9.41,8446,9.41,8447,9.41]],["title/classes/DeletionRequestMapper.html",[0,0.232,8448,6.012]],["body/classes/DeletionRequestMapper.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,27,0.452,29,0.868,30,0.001,31,0.625,32,0.142,33,0.526,34,1.834,35,1.333,95,0.131,101,0.013,103,0.001,104,0.001,154,2.221,236,1.788,347,3.96,349,1.135,376,4.568,377,4.759,413,4.039,1665,3.6,2359,6.309,4433,9.612,4436,9.612,4437,9.612,4443,9.612,4446,5.398,4460,6.79,4461,6.79,6161,6.79,8309,11.153,8317,6.79,8324,7.575,8325,7.575,8371,7.441,8372,7.441,8400,10.379,8402,8.185,8418,10.664,8440,7.257,8448,9.612,8449,8.002,8450,8.002,8451,8.649,8452,8.649,8453,8.649,8454,8.649,8455,8.649,8456,8.649,8457,8.649,8458,8.649]],["title/interfaces/DeletionRequestProps.html",[105,0.702,8377,4.906]],["body/interfaces/DeletionRequestProps.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,26,2.601,30,0.001,32,0.17,33,0.59,83,4.068,95,0.147,101,0.016,103,0.001,104,0.001,105,0.819,107,1.88,112,0.799,133,2.774,180,2.025,347,4.726,349,1.355,376,5.317,377,5.539,556,2.567,1661,6.546,1665,4.346,1747,4.775,1778,3.143,2501,3.855,2821,5.72,2822,5.72,8260,6.714,8277,8.07,8278,8.452,8279,6.515,8371,8.66,8372,8.66,8377,7.462,8400,6.115,8401,7.404,8402,9.526,8413,9.76,8414,7.404,8415,7.404,8416,7.404,8417,7.404]],["title/interfaces/DeletionRequestProps-1.html",[105,0.584,708,2.287,8377,4.079]],["body/interfaces/DeletionRequestProps-1.html",[3,0.02,4,0.02,5,0.01,7,0.129,26,2.62,30,0.001,32,0.167,33,0.54,55,2.703,83,3.275,95,0.134,99,1.462,101,0.021,103,0.001,104,0.001,105,1.356,107,2.117,112,0.862,120,4.773,1778,4.424,8148,6.111,8263,6.213,8277,8.131,8279,5.625,8295,6.016,8368,8.4,8369,7.297,8370,8.4,8371,6.111,8372,7.636,8373,6.887,8374,10.401,8375,8.607,8376,7.076,8377,8.051,8378,7.297,8379,10.104,8380,7.076,8381,7.076]],["title/injectables/DeletionRequestRepo.html",[539,0.921,8394,5.759]],["body/injectables/DeletionRequestRepo.html",[0,0.186,3,0.012,4,0.012,5,0.006,7,0.079,8,0.975,12,3.61,26,2.697,27,0.518,29,0.976,30,0.001,31,0.702,32,0.16,33,0.592,34,1.751,35,1.462,36,2.862,55,1.942,56,3.875,59,1.692,83,1.598,95,0.143,96,1.468,97,2.287,99,0.891,101,0.009,103,0,104,0,141,2.572,143,2.11,154,1.628,177,1.024,226,0.803,236,1.31,262,3.062,345,1.752,349,1.205,376,2.287,379,0.693,437,1.746,539,1.08,541,1.32,593,2.047,608,2.965,680,5.454,685,3.363,686,3.685,687,4.697,718,2.947,721,3.429,741,3.725,2093,4.532,2311,5.955,2958,4.751,3341,3.725,3346,4.8,3407,4.199,4544,6.066,5440,4.448,5558,3.278,6134,3.787,7222,4.199,8264,9.001,8317,4.314,8332,11.206,8344,5.083,8394,6.749,8400,10.207,8418,9.687,8440,4.61,8448,4.812,8459,5.495,8460,8.045,8461,7.442,8462,7.442,8463,5.495,8464,8.045,8465,5.495,8466,7.442,8467,5.495,8468,8.045,8469,5.495,8470,7.442,8471,5.495,8472,7.442,8473,5.495,8474,7.442,8475,5.495,8476,8.045,8477,5.495,8478,5.495,8479,4.812,8480,4.812,8481,10.475,8482,5.495,8483,8.045,8484,5.495,8485,4.812,8486,5.495,8487,5.495,8488,5.495,8489,5.495,8490,5.495,8491,5.495,8492,5.495,8493,5.495,8494,5.495,8495,5.495,8496,8.045,8497,5.495,8498,5.083]],["title/classes/DeletionRequestScope.html",[0,0.232,8480,6.012]],["body/classes/DeletionRequestScope.html",[0,0.262,2,0.855,3,0.017,4,0.017,5,0.009,7,0.111,8,1.239,27,0.545,29,0.904,30,0.001,31,0.651,32,0.168,33,0.548,35,1.477,83,3.325,95,0.136,101,0.012,103,0.001,104,0.001,112,0.782,119,2.363,141,5.353,154,1.567,180,1.781,227,3.209,310,3.358,347,3.687,349,1.057,382,3.775,480,2.154,486,2.332,519,2.385,603,2.671,2350,6.753,5558,5.538,6242,6.82,6243,6.82,6244,6.82,6249,6.82,6250,6.82,6251,5.25,6252,5.169,6253,5.25,6254,5.25,6263,5.169,6264,6.82,6265,5.25,6266,5.169,6267,5.25,6268,5.169,6269,6.82,8279,4.833,8295,5.169,8332,10.014,8402,5.775,8413,5.917,8418,6.079,8434,6.782,8443,6.782,8480,11.368,8485,8.948,8499,6.079,8500,10.217,8501,12.158,8502,10.217,8503,7.744,8504,7.744,8505,6.782]],["title/injectables/DeletionRequestService.html",[539,0.921,8393,6.012]],["body/injectables/DeletionRequestService.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.033,12,3.822,26,2.79,27,0.519,29,0.997,30,0.001,31,0.718,32,0.163,33,0.604,34,0.994,35,1.497,36,2.9,49,2.255,55,2.347,56,2.864,59,1.831,83,1.729,95,0.147,96,1.589,97,2.474,99,0.964,101,0.009,103,0,104,0,177,1.108,226,0.869,236,1.621,262,3.09,345,1.895,347,3.073,349,1.189,379,0.75,437,1.433,480,1.654,486,1.79,539,1.143,541,1.428,608,2.666,680,5.774,1778,2.335,2958,5.03,4188,3.71,8264,7.927,8277,6.866,8279,5.315,8295,5.684,8317,4.667,8355,11.874,8371,7.367,8372,6.747,8375,4.542,8379,8.532,8381,4.667,8393,7.459,8394,10.041,8398,5.499,8399,5.499,8400,9.808,8402,4.433,8413,4.542,8440,4.987,8443,5.206,8461,7.879,8462,7.879,8466,7.879,8470,7.879,8472,7.879,8474,7.879,8506,5.944,8507,9.951,8508,8.516,8509,5.944,8510,5.944,8511,5.944,8512,5.944,8513,8.516,8514,5.944,8515,8.516,8516,5.944,8517,5.944,8518,5.944,8519,5.944,8520,8.516,8521,5.944,8522,5.944,8523,8.516,8524,5.944,8525,5.944,8526,5.944,8527,5.944,8528,5.944,8529,5.944,8530,8.516,8531,5.944,8532,5.944,8533,5.944,8534,5.944,8535,5.944]],["title/interfaces/DeletionTargetRef.html",[105,0.702,8370,5.119]],["body/interfaces/DeletionTargetRef.html",[3,0.02,4,0.02,5,0.01,7,0.13,26,2.757,30,0.001,32,0.147,55,2.517,83,3.293,95,0.135,99,1.475,101,0.021,103,0.001,104,0.001,105,1.359,107,2.136,112,0.867,1778,4.449,8148,6.165,8263,6.268,8277,8.556,8279,5.675,8295,6.07,8368,8.447,8369,7.362,8370,9.199,8371,8.753,8372,9.005,8373,6.949,8374,8.892,8375,8.655,8376,7.14,8377,6.5,8378,7.362,8379,7.14,8380,7.14,8381,7.14]],["title/classes/DeletionTargetRefBuilder.html",[0,0.232,8536,6.35]],["body/classes/DeletionTargetRefBuilder.html",[0,0.318,2,1.039,3,0.021,4,0.021,5,0.011,7,0.135,8,1.403,26,2.66,27,0.387,29,0.744,30,0.001,31,0.536,32,0.122,33,0.451,35,1.143,95,0.149,99,1.527,101,0.015,103,0.001,104,0.001,105,0.963,349,0.973,413,3.783,437,1.241,454,5.356,1778,3.696,2739,5.244,8277,8.255,8279,5.872,8295,6.281,8370,10.003,8371,7.843,8372,8.858,8383,10.131,8536,10.702,8537,9.41,8538,11.568,8539,9.41]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.232,8540,5.389]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.379,2,1.377,3,0.016,4,0.016,5,0.008,7,0.107,27,0.513,29,0.588,30,0.001,31,0.423,32,0.166,33,0.598,47,0.787,95,0.118,99,1.206,101,0.017,102,6.058,103,0.001,104,0.001,112,0.761,119,2.315,120,3.149,180,1.953,236,1.948,238,6.257,347,4.042,358,5.341,379,0.938,382,3.347,490,3.987,643,5.757,824,4.243,986,4.82,1262,2.593,1986,4.304,1998,5.832,2395,7.065,6446,4.017,8540,9.788,8541,8.795,8542,7.501,8543,6.509,8544,8.2,8545,10.452,8546,9.391,8547,7.432,8548,5.679,8549,7.432,8550,6.876,8551,9.07,8552,6.876,8553,6.876,8554,6.236,8555,5.123,8556,6.236,8557,6.017,8558,6.509,8559,8.049,8560,8.707,8561,6.236,8562,5.313,8563,5.123,8564,5.123,8565,5.422,8566,6.236]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.232,8559,5.557]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.379,2,1.378,3,0.016,4,0.016,5,0.008,7,0.107,27,0.514,29,0.589,30,0.001,31,0.424,32,0.162,33,0.598,47,0.84,95,0.118,99,1.208,101,0.017,102,6.063,103,0.001,104,0.001,112,0.762,119,2.317,180,1.955,236,1.95,238,6.263,347,4.046,358,5.345,379,0.94,382,3.35,490,2.65,643,5.76,824,4.246,986,4.829,1262,3.912,1986,4.312,1998,5.838,2395,7.07,6446,4.024,8540,7.815,8541,8.803,8542,7.504,8543,6.521,8544,8.205,8545,10.457,8546,9.398,8548,5.69,8550,6.889,8551,9.078,8552,6.889,8553,6.889,8554,6.247,8555,5.132,8556,6.247,8557,6.028,8558,6.521,8559,10.1,8560,8.718,8561,6.247,8562,5.322,8563,5.132,8564,5.132,8565,5.432,8566,6.247,8567,9.954]],["title/classes/DoBaseFactory.html",[0,0.232,4374,4.815]],["body/classes/DoBaseFactory.html",[0,0.174,2,0.566,3,0.011,4,0.011,5,0.006,7,0.074,8,0.927,27,0.538,29,1.043,30,0.001,31,0.716,32,0.173,33,0.603,34,1.811,35,1.502,47,0.642,49,1.946,55,2.401,59,3.337,95,0.109,96,1.37,97,2.134,101,0.008,103,0,104,0,112,0.585,120,3.239,133,2.649,140,2.816,143,1.137,153,2.094,154,2.192,155,2.496,177,1.424,180,1.332,236,0.835,271,4.671,319,3.239,349,0.53,379,0.647,382,3.905,413,2.309,437,0.676,447,7.24,448,4.609,449,5.61,452,4.233,453,5.61,454,5.601,455,4.233,456,4.233,457,4.233,458,4.164,459,4.629,460,5.061,461,6.14,462,5.902,463,7.022,464,2.864,469,2.84,470,4.233,471,2.864,472,5.274,473,5.432,474,4.312,475,5.13,476,4.198,477,2.84,478,2.689,479,4.458,480,3.439,481,2.771,482,2.729,483,2.84,484,5.2,485,2.864,486,3.643,487,4.979,488,2.84,489,7.162,490,4.479,491,6.969,492,2.864,493,3.75,494,2.84,495,2.864,496,2.84,497,2.864,498,4.233,501,2.84,502,6.189,503,2.864,504,2.84,505,4.233,506,3.98,507,4.233,508,2.864,509,2.75,510,2.729,511,2.278,512,2.84,513,2.84,514,2.84,515,2.864,516,2.864,517,1.938,518,2.84,519,1.579,520,2.864,521,3.618,522,2.84,523,2.864,525,2.942,526,2.998,996,2.47,997,2.387,998,2.441,999,2.58,1000,2.816,1994,3.597,2088,3.326,2466,4.744,4188,3.2,4374,5.362,4376,3.665,8568,5.128,8569,5.128,8570,5.128,8571,5.128]],["title/classes/DomainObject.html",[0,0.232,1665,2.857]],["body/classes/DomainObject.html",[0,0.296,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,9,4.172,26,2.469,27,0.525,29,0.693,30,0.001,31,0.499,32,0.143,33,0.42,34,2.129,35,1.064,95,0.104,101,0.017,103,0.001,104,0.001,105,0.897,112,0.847,181,2.994,349,1.144,379,1.106,381,4.451,437,1.155,448,4.92,479,5.02,662,3.957,686,5.069,1147,3.36,1661,6.832,1662,12.153,1663,7.673,1664,3.276,1665,4.606,1666,9.283,1667,8.105,1668,8.048,1669,10.236,7654,7.35,8572,11.064,8573,8.761,8574,8.761]],["title/classes/DomainObjectFactory.html",[0,0.232,8575,6.35]],["body/classes/DomainObjectFactory.html",[0,0.168,2,0.547,3,0.011,4,0.011,5,0.006,7,0.071,8,0.903,27,0.535,29,1.036,30,0.001,31,0.71,32,0.172,33,0.598,34,1.875,35,1.488,47,0.628,55,2.374,59,3.288,95,0.119,101,0.008,103,0,104,0,112,0.57,120,3.156,133,3.102,140,2.72,153,2.051,154,1.811,155,2.432,177,1.388,180,1.735,226,0.724,236,0.807,271,4.631,319,3.156,357,3.784,358,2.211,379,0.625,382,3.878,413,2.25,447,7.199,448,4.55,449,5.513,452,4.125,453,5.513,454,5.671,455,4.125,456,4.125,457,4.125,458,4.057,459,4.534,460,4.957,461,6.061,462,5.815,463,6.976,464,2.766,469,2.743,470,4.125,471,2.766,472,5.183,473,5.339,474,4.238,475,5.042,476,4.09,477,2.743,478,2.597,479,4.412,480,3.33,481,2.677,482,2.636,483,2.743,484,5.111,485,2.766,486,3.606,487,4.876,488,2.743,489,7.109,490,4.359,491,6.909,492,2.766,493,3.653,494,2.743,495,2.766,496,2.743,497,2.766,498,4.125,501,2.743,502,6.109,503,2.766,504,2.743,505,4.125,506,3.878,507,4.125,508,2.766,509,4.8,510,3.964,511,2.2,512,2.743,513,2.743,514,2.743,515,2.766,516,2.766,517,2.816,518,2.743,519,1.525,520,2.766,521,3.942,522,2.743,523,2.766,525,2.841,526,2.896,529,1.414,996,3.588,997,3.468,998,3.546,999,3.747,1000,4.09,1080,3.169,1661,4.196,1665,3.1,1747,2.955,1778,1.945,1953,3.613,1954,3.54,1994,3.474,2088,3.212,3894,3.414,6496,3.258,8575,6.89,8576,4.953,8577,4.953,8578,4.953,8579,7.448,8580,3.613]],["title/classes/DownloadFileParams.html",[0,0.232,6483,4.654]],["body/classes/DownloadFileParams.html",[0,0.458,2,0.717,3,0.014,4,0.02,5,0.01,7,0.093,26,2.574,27,0.373,30,0.001,32,0.159,39,1.775,47,0.957,95,0.151,99,1.054,101,0.021,103,0,104,0,105,0.665,112,0.694,119,1.873,138,1.622,143,1.44,147,4.9,148,2.012,149,4.355,150,1.459,151,6.052,153,1.489,154,1.314,245,3.588,247,2.79,248,4.916,249,4.423,348,3.268,808,4.877,809,6.209,839,3.245,852,3.024,988,2.83,990,2.222,1079,3.836,1147,1.973,1203,5.802,1204,4.272,1205,4.272,1262,2.266,2739,4.736,2922,5.002,3632,2.991,4266,2.194,5663,4.477,5826,7.421,5933,3.007,6088,6.7,6419,4.89,6432,6.87,6438,6.209,6467,4.477,6468,4.556,6469,4.556,6470,5.449,6472,7.938,6475,4.477,6476,8.223,6477,7.93,6478,7.93,6479,4.556,6480,4.477,6481,4.477,6482,4.556,6483,6.147,6484,7.664,6485,4.335,6486,4.403,6487,4.477,6488,4.403,6489,4.403,6490,4.156,6491,4.556,6492,4.556,6493,4.556,6494,4.156,6495,4.156,6496,4.272,6497,4.335,6498,4.556,8581,6.495,8582,6.495]],["title/classes/DtoCreator.html",[0,0.232,8583,6.012]],["body/classes/DtoCreator.html",[0,0.206,2,0.423,3,0.008,4,0.008,5,0.004,7,0.055,8,0.739,27,0.523,29,0.869,30,0.001,31,0.645,32,0.17,33,0.527,34,1.019,35,1.411,95,0.12,99,0.621,100,2.948,101,0.006,103,0,104,0,112,0.467,119,1.792,120,2.584,143,1.352,145,1.709,177,1.136,226,0.559,236,0.993,239,2.91,347,3.642,349,1.267,376,2.538,377,2.644,379,0.959,437,1.747,539,0.818,603,2.806,604,1.572,643,1.717,739,4.57,774,1.951,849,5.245,1042,2.637,1107,3.321,1271,1.899,1673,2.359,1688,2.516,1758,5.041,1926,3.554,1942,3.626,1944,5.786,1948,2.637,2079,1.691,2080,1.888,2081,1.822,2255,3.858,2531,1.771,2684,4.046,2686,4.958,2688,9.072,2691,4.659,2693,5.434,2696,1.781,2704,7.947,2772,2.923,2773,2.516,3034,2.923,3070,8.296,3071,5.115,3075,5.115,3078,3.21,3097,3.35,3466,3.21,3476,2.417,3479,3.21,3797,2.387,3815,5.788,3940,2.155,4544,4.402,5152,3.21,6614,5.074,7164,7.276,7671,8.449,7825,2.683,7965,3.35,8583,6.658,8584,11.849,8585,3.539,8586,9.628,8587,9.621,8588,6.097,8589,6.097,8590,6.097,8591,8.023,8592,8.023,8593,6.097,8594,6.097,8595,6.097,8596,6.097,8597,6.097,8598,3.826,8599,3.826,8600,3.826,8601,3.826,8602,5.641,8603,10.971,8604,3.826,8605,8.467,8606,5.641,8607,3.826,8608,5.641,8609,3.826,8610,3.826,8611,3.826,8612,3.826,8613,5.641,8614,3.826,8615,5.641,8616,3.826,8617,5.641,8618,3.826,8619,5.641,8620,3.826,8621,2.791,8622,5.34,8623,5.34,8624,3.539,8625,3.539,8626,3.35,8627,5.641,8628,3.539,8629,5.641,8630,5.641,8631,3.539,8632,3.539,8633,3.539,8634,3.539,8635,3.539,8636,3.539,8637,3.539,8638,3.539,8639,3.539,8640,3.539,8641,5.641,8642,3.35,8643,3.539,8644,3.539,8645,3.539,8646,3.539,8647,7.033,8648,3.539,8649,3.539,8650,3.539,8651,3.35,8652,3.35,8653,5.641,8654,3.539,8655,3.539,8656,3.35,8657,3.35,8658,3.21,8659,3.35,8660,3.35,8661,3.539,8662,3.539,8663,3.539,8664,3.539,8665,3.539,8666,3.539,8667,3.35,8668,3.539,8669,3.539,8670,3.539,8671,3.539,8672,3.539,8673,3.539,8674,3.539,8675,3.539,8676,3.21,8677,3.539,8678,3.097,8679,3.539,8680,3.539,8681,3.539]],["title/injectables/DurationLoggingInterceptor.html",[539,0.921,8682,6.35]],["body/injectables/DurationLoggingInterceptor.html",[0,0.292,3,0.019,4,0.019,5,0.01,7,0.124,8,1.329,27,0.451,29,0.866,30,0.001,31,0.624,32,0.142,33,0.526,35,1.049,95,0.151,101,0.013,103,0.001,104,0.001,131,3.275,153,1.978,226,1.261,345,2.752,349,0.893,379,1.089,437,1.138,478,5.747,521,4.768,539,1.471,541,2.074,966,5.677,968,6.595,1147,2.621,1341,2.768,1818,5.761,2108,9.599,2244,9.202,2312,4.542,2313,5.774,3002,5.852,4597,8.375,6686,8.174,6693,8.873,8682,10.139,8683,12.043,8684,7.985,8685,10.139,8686,9.599,8687,8.631,8688,9.599,8689,11.096,8690,11.096,8691,8.631,8692,9.599,8693,7.985,8694,8.631,8695,8.631,8696,8.631,8697,8.631,8698,8.631]],["title/classes/ElementContentBody.html",[0,0.232,8699,4.654]],["body/classes/ElementContentBody.html",[0,0.456,2,0.637,3,0.013,4,0.013,5,0.006,7,0.083,9,2.746,27,0.237,30,0.001,31,0.647,32,0.18,47,0.878,83,1.677,95,0.135,99,0.936,101,0.021,103,0,104,0,112,0.638,138,1.032,143,1.279,148,1.786,149,3.769,150,1.296,153,2.456,172,1.802,180,1.981,245,3.577,248,4.875,249,4.634,284,1.742,305,4.826,480,3.162,807,5.333,808,3.299,839,1.792,852,2.685,1142,3.599,1262,2.012,1271,1.797,1643,3.372,1942,4.481,2255,4.345,2501,2.778,2882,2.746,2883,2.562,2922,3.991,3278,3.442,3280,3.442,3283,3.406,3286,5.094,3289,2.981,3294,3.249,3767,3.599,3788,3.599,3789,6.931,4163,6.5,5681,6.261,5683,6.345,5685,6.261,5687,6.345,5689,6.345,5734,3.793,5771,6.531,5772,6.531,5773,6.531,5774,6.531,5775,6.531,6088,6.881,7227,3.85,7287,3.406,8699,8.478,8700,5.743,8701,3.975,8702,5.767,8703,5.767,8704,5.481,8705,6.531,8706,6.531,8707,3.975,8708,6.531,8709,3.557,8710,3.91,8711,6.531,8712,6.531,8713,3.85,8714,3.85,8715,3.85,8716,3.85,8717,3.975,8718,3.975,8719,3.975,8720,3.975,8721,3.975]],["title/controllers/ElementController.html",[259,2.624,2761,6.012]],["body/controllers/ElementController.html",[0,0.151,3,0.01,4,0.01,5,0.005,7,0.064,8,0.832,10,3.4,27,0.388,29,0.745,30,0.001,31,0.536,32,0.181,33,0.452,35,1.144,36,2.48,95,0.138,100,1.512,101,0.007,103,0,104,0,138,1.685,142,1.734,143,1.522,150,1,177,1.279,223,1.852,226,0.65,236,1.118,259,1.701,261,2.131,262,2.767,270,6.226,282,7.224,287,7.613,290,8.444,294,6.627,324,4.771,333,4.332,334,2.885,335,6.138,336,8.22,337,2.316,338,2.368,340,2.156,343,2.386,345,1.418,346,5.621,347,4.717,349,0.71,437,1.342,603,0.915,608,2.183,631,3.5,685,2.87,824,3.342,849,2.464,1266,6.9,1942,4.497,2255,4.112,2511,3.602,2525,2.628,2530,6.073,2681,5.458,2753,6.579,2755,6.784,2761,6.011,2764,2.106,2765,3.897,2883,4.185,2884,4.139,2933,6.872,2935,7.025,2937,7.198,2938,7.198,2941,7.613,2943,5.557,2956,9.325,2958,4.054,2961,3.18,2962,2.507,2963,2.333,2970,3.602,2980,5.557,2981,5.557,3222,4.392,3309,6.795,3366,3.388,3430,4.731,3624,5.389,3751,4.906,3752,3.897,3766,5.245,3767,2.776,3771,3.18,3772,3.18,3773,3.4,3774,3.733,3779,4.949,3781,4.116,3786,4.116,3788,2.776,3789,6.206,3790,3.602,3791,3.602,4055,3.4,4081,2.811,4083,3.4,4084,3.4,4099,3.897,4108,3.897,4109,3.897,4110,3.897,4114,3.897,4215,7.03,5009,4.116,5022,6.35,5818,11.116,7302,8.914,8705,4.581,8706,4.581,8708,5.593,8711,5.593,8712,5.593,8713,6.288,8722,4.449,8723,7.752,8724,7.752,8725,8.38,8726,4.449,8727,4.449,8728,4.449,8729,4.449,8730,4.449,8731,4.449,8732,6.864,8733,4.449,8734,4.449,8735,4.449,8736,8.25,8737,4.449,8738,4.449,8739,4.449,8740,4.449,8741,4.449,8742,4.449,8743,4.449,8744,5.557,8745,4.449,8746,4.449,8747,4.449,8748,9.42,8749,4.449,8750,4.449,8751,4.449,8752,4.449,8753,4.449,8754,4.449,8755,4.449,8756,4.449,8757,4.449,8758,4.449,8759,4.449]],["title/injectables/ElementUc.html",[539,0.921,2755,5.557]],["body/injectables/ElementUc.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.893,26,2.865,27,0.491,29,0.942,30,0.001,31,0.678,32,0.158,33,0.572,35,1.407,36,2.663,39,3.397,59,1.503,95,0.142,99,0.792,101,0.008,103,0,104,0,119,1.833,177,1.977,180,1.284,226,0.713,236,1.445,239,1.144,262,2.972,349,0.918,379,0.93,382,2.651,437,1.527,448,4.836,529,2.533,539,0.989,541,1.173,560,2.006,603,2.295,608,2.927,639,2.298,685,2.041,790,2.456,827,2.827,1107,5.779,1341,1.566,1687,3.365,1688,3.211,1758,6.162,1826,3.258,1861,5.266,1912,7.21,1917,9.914,1923,3.952,1942,5.1,2095,3.309,2255,3.778,2312,4.799,2512,5.708,2513,8.522,2515,5.784,2516,5.784,2517,3.561,2518,8.215,2520,3.64,2521,5.374,2522,6.343,2524,3.832,2525,6.838,2527,3.832,2528,5.266,2530,4.396,2531,2.26,2542,4.095,2544,5.494,2755,5.964,2794,3.365,2873,5.606,2883,4.955,2884,5.351,3157,3.64,3222,4.714,3291,6.027,3366,3.636,3596,9.373,3857,3.952,3858,3.952,3859,3.952,3862,3.952,3863,3.952,4042,2.977,4216,7.771,4244,4.516,5703,4.598,5734,6.501,5821,8.209,8723,8.209,8724,6.816,8760,4.881,8761,7.367,8762,8.873,8763,4.881,8764,4.881,8765,4.881,8766,7.367,8767,4.881,8768,7.367,8769,4.881,8770,4.881,8771,4.881,8772,4.275,8773,4.516,8774,4.881,8775,4.881,8776,4.881,8777,7.367,8778,4.881,8779,4.881,8780,4.881,8781,4.881,8782,4.516,8783,4.881,8784,4.516,8785,4.516,8786,3.952,8787,4.881,8788,4.881,8789,7.367,8790,4.881,8791,4.881,8792,4.881,8793,4.516,8794,3.73,8795,4.881]],["title/modules/EncryptionModule.html",[201,1.848,8796,5.007]],["body/modules/EncryptionModule.html",[0,0.288,3,0.019,4,0.019,5,0.01,30,0.001,47,0.598,95,0.155,101,0.013,103,0.001,104,0.001,201,3.223,203,3.097,204,3.321,205,3.415,206,3.401,207,3.388,208,4.021,209,4.125,214,6.202,218,4.357,219,3.347,220,3.27,225,4.322,226,1.245,236,1.388,349,0.881,437,1.124,474,3.628,584,9.015,598,4.935,636,6.357,637,7.771,639,5.118,1341,2.733,1984,5.923,2312,5.399,2313,6.07,8796,9.717,8797,8.522,8798,8.522,8799,8.522,8800,8.929,8801,10.486,8802,7.884,8803,7.464,8804,8.522,8805,11.972,8806,8.522,8807,8.522,8808,8.522,8809,7.884,8810,8.522]],["title/classes/EntityNotFoundError.html",[0,0.232,291,5.007]],["body/classes/EntityNotFoundError.html",[0,0.264,2,0.86,3,0.017,4,0.017,5,0.009,7,0.112,8,1.243,27,0.546,29,0.616,30,0.001,31,0.443,32,0.178,33,0.55,35,0.946,47,0.913,55,1.589,59,2.399,95,0.122,101,0.012,103,0.001,104,0.001,112,0.785,138,2.266,154,2.075,177,2.559,180,1.788,182,2.476,226,1.138,291,7.481,292,5.194,347,2.81,379,0.983,382,3.884,687,5.659,821,5.642,824,2.763,951,5.368,988,5.309,990,4.169,1025,4.539,1269,8.393,1270,7.604,1271,3.796,1272,7.338,1276,5.051,1277,4.35,1278,5.051,1279,5.051,1280,5.051,1281,5.051,1282,5.051,1283,4.697,1284,4.427,1285,6.114,1286,6.534,1290,4.92,3882,7.205,8811,10.255,8812,7.788,8813,7.788,8814,7.788,8815,7.788]],["title/classes/ErrorLoggable.html",[0,0.232,8816,5.557]],["body/classes/ErrorLoggable.html",[0,0.336,2,0.654,3,0.013,4,0.013,5,0.007,7,0.085,8,1.029,27,0.492,29,0.857,30,0.001,31,0.617,32,0.159,33,0.52,35,1.206,47,0.761,95,0.142,101,0.009,103,0,104,0,112,0.65,119,1.754,143,1.883,148,2.63,172,3.587,177,2.021,226,0.865,246,4.791,283,6.689,316,3.199,340,2.868,345,1.887,349,1.236,379,0.747,437,1.514,448,2.401,480,3.194,486,1.783,493,2.903,511,2.629,521,3.361,603,2.738,604,2.432,762,3.893,988,4.325,990,4.553,996,4.09,997,3.953,998,4.042,999,4.271,1000,3.25,1001,4.079,1002,4.012,1025,3.361,1076,3.951,1077,3.65,1147,2.578,1218,3.209,1227,4.23,1266,7.785,1275,7.435,1288,3.224,1289,3.65,1338,4.597,1339,5.132,1343,5.387,1779,3.609,2171,3.224,2318,3.427,2739,3.849,3912,4.791,4744,4.965,8024,4.522,8384,4.079,8816,6.873,8817,5.918,8818,9.927,8819,8.49,8820,8.49,8821,8.49,8822,5.918,8823,5.918,8824,9.927,8825,5.918,8826,8.49,8827,5.918,8828,5.918,8829,5.646,8830,5.861,8831,8.49,8832,5.918,8833,8.49,8834,5.918,8835,5.918,8836,5.918,8837,5.918,8838,8.49,8839,5.918,8840,5.918,8841,10.845,8842,5.918,8843,5.918,8844,4.522,8845,5.918,8846,8.49,8847,5.918,8848,5.918,8849,8.49,8850,5.918,8851,5.475,8852,4.414,8853,4.965,8854,5.918,8855,5.918,8856,5.918,8857,5.918,8858,5.918,8859,5.918,8860,8.49,8861,5.918,8862,5.918,8863,5.918,8864,5.918]],["title/injectables/ErrorLogger.html",[539,0.921,8865,5.759]],["body/injectables/ErrorLogger.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.223,27,0.517,29,0.993,30,0.001,31,0.715,32,0.163,33,0.602,35,1.466,72,3.427,95,0.15,101,0.012,103,0.001,104,0.001,107,1.785,177,1.416,203,2.761,226,1.11,358,3.393,379,0.959,437,1.591,519,4.121,539,1.354,541,1.826,603,1.564,639,3.577,990,3.452,1025,4.778,1122,4.863,1338,6.573,2312,4.695,3002,5.152,6675,6.152,8865,9.504,8866,12.912,8867,7.599,8868,10.09,8869,10.09,8870,10.09,8871,10.569,8872,7.599,8873,10.09,8874,7.599,8875,10.09,8876,7.599,8877,10.09,8878,7.599,8879,10.09,8880,7.599,8881,6.655,8882,7.922,8883,6.152,8884,7.03,8885,6.655,8886,11.164,8887,7.599,8888,7.599,8889,7.599,8890,7.599]],["title/classes/ErrorMapper.html",[0,0.232,8891,6.012]],["body/classes/ErrorMapper.html",[0,0.296,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,8,1.34,27,0.36,29,0.691,30,0.001,31,0.498,32,0.113,33,0.419,35,1.062,95,0.144,101,0.014,103,0.001,104,0.001,226,1.277,236,2.073,282,5.456,287,5.75,349,0.904,413,3.659,990,4.587,1226,6.132,1227,6.249,1228,6.863,1257,7.335,2530,7.596,2680,7.371,8891,9.677,8892,8.742,8893,11.208,8894,8.742,8895,10.305,8896,8.742,8897,11.049,8898,5.392,8899,12.115,8900,8.742,8901,8.742,8902,6.68,8903,8.742,8904,8.742]],["title/modules/ErrorModule.html",[201,1.848,6675,5.557]],["body/modules/ErrorModule.html",[0,0.309,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,153,2.094,201,3.328,203,3.319,204,3.56,205,3.661,206,3.646,207,3.631,208,4.201,209,3.466,214,6.312,218,4.551,219,3.588,220,3.505,225,4.515,226,1.335,486,3.421,636,5.342,2312,3.786,3308,7.581,3516,6.777,4381,6.85,4541,6.777,6675,10.975,6688,7.967,6692,10.849,8905,9.135,8906,9.135,8907,9.135,8908,10.507,8909,6.98,8910,9.529,8911,9.135,8912,9.135,8913,6.98]],["title/classes/ErrorResponse.html",[0,0.232,1283,4.14]],["body/classes/ErrorResponse.html",[0,0.24,2,0.782,3,0.016,4,0.016,5,0.008,7,0.102,27,0.521,29,0.56,30,0.001,31,0.403,32,0.182,33,0.524,47,0.981,55,2.502,59,2.182,95,0.084,101,0.011,103,0.001,104,0.001,112,0.737,153,2.505,168,5.521,177,2.603,226,1.035,348,5.901,361,5.471,379,1.215,824,3.414,951,6.25,988,5.344,990,4.505,1025,5.123,1130,6.667,1270,7.659,1271,4.031,1283,5.804,1284,4.026,1295,8.556,1296,7.178,1297,6.33,1304,6.927,1306,5.936,1308,8.429,1309,5.574,1311,8.904,1312,6.242,1313,8.904,1412,6.203,2566,3.162,2784,3.353,3929,6.553,3930,5.412,3931,6.553,8914,7.083,8915,7.083,8916,9.624,8917,7.083,8918,7.083,8919,7.083,8920,7.083]],["title/classes/ErrorUtils.html",[0,0.232,1227,4.906]],["body/classes/ErrorUtils.html",[0,0.256,2,0.835,3,0.017,4,0.017,5,0.008,7,0.108,8,1.219,27,0.496,29,0.952,30,0.001,31,0.685,32,0.13,33,0.577,35,1.463,47,0.793,59,2.327,95,0.134,101,0.012,103,0.001,104,0.001,105,0.773,145,2.118,153,2.76,226,1.104,236,1.231,340,3.662,349,1.245,413,4.189,556,2.471,604,4.948,990,4.869,1218,4.552,1227,7.186,1269,7.426,3730,9.201,3918,5.933,8921,7.557,8922,10.053,8923,10.053,8924,12.537,8925,10.053,8926,10.053,8927,7.557,8928,9.145,8929,10.053,8930,7.557,8931,10.053,8932,7.557,8933,10.102,8934,10.053,8935,7.557,8936,7.557,8937,12.041,8938,7.557]],["title/injectables/EtherpadService.html",[539,0.921,8939,6.012]],["body/injectables/EtherpadService.html",[0,0.273,3,0.018,4,0.018,5,0.009,7,0.116,8,1.272,26,2.515,27,0.432,29,0.83,30,0.001,31,0.597,32,0.151,33,0.503,35,0.98,36,2.248,39,2.868,47,0.938,94,4.006,95,0.147,101,0.016,103,0.001,104,0.001,145,2.261,177,1.503,226,1.179,236,1.314,262,2.575,284,3.169,345,2.572,349,1.085,379,1.018,437,1.538,539,1.408,541,1.938,560,3.314,579,4.326,603,1.66,608,1.869,685,3.372,990,3.59,1242,4.359,1271,3.848,1341,2.587,1776,6.767,1920,5.95,2312,4.834,2313,5.629,2501,3.886,8939,9.19,8940,8.066,8941,10.493,8942,7.064,8943,9.576,8944,8.066,8945,10.493,8946,8.066,8947,10.493,8948,8.066,8949,8.066,8950,8.066,8951,8.066,8952,7.462,8953,8.066,8954,7.462,8955,5.766]],["title/classes/ExternalGroupDto.html",[0,0.232,8956,5.245]],["body/classes/ExternalGroupDto.html",[0,0.28,2,0.913,3,0.018,4,0.018,5,0.009,7,0.119,27,0.561,29,0.653,30,0.001,31,0.71,32,0.181,33,0.566,47,0.928,83,3.625,95,0.127,101,0.013,103,0.001,104,0.001,112,0.816,181,2.884,379,1.043,381,2.8,564,2.581,655,5.976,975,4.028,2044,3.207,2566,3.689,3122,5.092,4342,3.653,4404,4.983,7119,4.931,7120,5.096,8709,7.277,8956,9.859,8957,11.546,8958,7.644,8959,10.334,8960,10.658,8961,8.263,8962,8.263,8963,8.263,8964,9.016,8965,8.263,8966,8.263,8967,9.263,8968,8.263,8969,6.932,8970,7.644,8971,6.487,8972,7.237,8973,7.237,8974,7.237,8975,7.237,8976,7.237,8977,8.263,8978,8.263]],["title/classes/ExternalGroupUserDto.html",[0,0.232,8967,5.389]],["body/classes/ExternalGroupUserDto.html",[0,0.324,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,27,0.519,29,0.756,30,0.001,31,0.544,32,0.163,33,0.459,47,0.82,95,0.114,99,1.552,101,0.015,103,0.001,104,0.001,112,0.894,181,3.162,379,1.207,381,3.241,975,6.406,4660,7.529,8957,11.024,8967,10.58,8979,8.848,8980,8.421,8981,10.809,8982,8.848,8983,8.377,8984,9.565,8985,8.848,8986,8.848]],["title/classes/ExternalSchoolDto.html",[0,0.232,8987,5.119]],["body/classes/ExternalSchoolDto.html",[0,0.319,2,1.042,3,0.021,4,0.021,5,0.011,7,0.135,27,0.538,29,0.746,30,0.001,31,0.744,32,0.169,33,0.601,47,0.959,101,0.015,103,0.001,104,0.001,112,0.887,181,3.135,379,1.19,381,3.196,655,6.35,2044,3.661,4342,4.169,7119,5.628,7120,5.817,8957,11.261,8987,10.01,8988,9.431,8989,7.921,8990,11.584,8991,9.431,8992,9.431,8993,7.034,8994,7.635]],["title/classes/ExternalSource.html",[0,0.232,8995,4.654]],["body/classes/ExternalSource.html",[0,0.331,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.524,29,0.773,30,0.001,31,0.556,32,0.165,33,0.469,47,0.929,48,6.099,101,0.015,103,0.001,104,0.001,112,0.906,181,3.203,193,7.128,194,7.671,379,1.233,381,3.311,655,6.45,7119,5.831,7120,6.026,8995,9.191,8996,13.236,8997,9.771,8998,11.837,8999,9.771]],["title/classes/ExternalSourceEntity.html",[0,0.232,9000,5.389]],["body/classes/ExternalSourceEntity.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,27,0.507,29,0.716,30,0.001,31,0.515,32,0.159,33,0.434,47,0.864,95,0.134,96,2.42,101,0.018,103,0.001,104,0.001,105,0.927,112,0.864,138,2.021,172,3.846,173,2.633,181,3.056,379,1.143,381,3.068,655,6.529,2562,5.759,3134,5.937,5094,5.23,7000,6.138,7119,5.402,7120,5.584,9000,8.867,9001,11.925,9002,8.376,9003,11.289,9004,11.295,9005,9.054,9006,7.285,9007,6.752,9008,7.108,9009,7.596]],["title/interfaces/ExternalSourceEntityProps.html",[105,0.702,9003,6.012]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.151,47,0.92,95,0.138,96,2.538,101,0.018,103,0.001,104,0.001,105,0.972,107,2.231,112,0.89,172,3.635,173,2.762,181,2.57,655,6.812,2562,5.932,3134,6.194,5094,5.387,7119,5.667,7120,5.858,9000,7.456,9001,8.786,9002,8.786,9003,11.015,9006,7.517,9007,7.083,9008,7.456,9009,7.968]],["title/classes/ExternalSourceResponse.html",[0,0.232,9010,5.759]],["body/classes/ExternalSourceResponse.html",[0,0.321,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,27,0.517,29,0.749,30,0.001,31,0.539,32,0.163,33,0.454,47,0.92,48,6.017,95,0.113,101,0.015,103,0.001,104,0.001,112,0.889,138,2.079,150,2.129,181,3.143,193,6.912,194,7.439,245,3.447,379,1.196,381,3.211,655,6.363,7119,5.654,7120,5.844,9010,11.276,9011,13.098,9012,9.475,9013,11.617,9014,9.475]],["title/classes/ExternalTool.html",[0,0.232,2627,3.409]],["body/classes/ExternalTool.html",[0,0.199,2,0.65,3,0.013,4,0.013,5,0.007,7,0.084,8,1.025,27,0.556,29,0.971,30,0.001,31,0.699,32,0.174,33,0.643,34,1.654,35,1.202,47,0.949,55,2.338,95,0.136,101,0.013,103,0,104,0,105,0.602,112,0.647,119,2.464,180,1.474,181,2.288,349,1.023,379,0.743,381,1.994,382,1.758,413,3.602,1147,2.568,1262,3.773,1746,6.325,1929,2.886,1971,5.961,1992,4.764,1993,4.937,2044,2.284,2545,7.89,2546,6.191,2550,9.164,2553,3.286,2616,7.015,2627,4.199,4342,2.601,5111,5.846,5453,5.844,5951,4.62,5955,8.265,5957,5.444,5963,4.292,5965,4.62,5966,3.928,5967,4.206,5968,4.496,5975,3.928,5976,4.292,5992,6.149,6008,3.87,6011,6.637,6446,3.18,6716,4.62,7382,6.454,7384,6.523,7385,3.718,7417,4.128,7418,4.388,7421,4.388,7422,4.764,7518,8.492,7519,8.701,7520,8.221,7539,3.989,7543,4.056,7567,7.114,9015,11.835,9016,8.454,9017,8.454,9018,8.454,9019,5.884,9020,5.884,9021,5.884,9022,5.884,9023,5.884,9024,5.884,9025,5.884,9026,5.884,9027,7.821,9028,5.884,9029,7.821,9030,5.884,9031,5.153,9032,5.444,9033,5.153,9034,7.821]],["title/classes/ExternalToolConfig.html",[0,0.232,2550,5.119]],["body/classes/ExternalToolConfig.html",[0,0.32,2,1.044,3,0.021,4,0.021,5,0.011,7,0.136,9,4.501,27,0.517,29,0.747,30,0.001,31,0.538,32,0.177,33,0.453,47,0.814,95,0.113,101,0.015,103,0.001,104,0.001,112,0.888,181,3.139,379,1.193,381,3.203,1929,4.637,2195,7.135,2546,5.996,2548,4.407,2549,7.931,2550,10.017,2551,8.746,2553,7.01,2557,6.757,2566,4.221,2567,6.757,4404,5.701,9035,13.087,9036,11.601]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.232,2571,5.007]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.335,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,9,6.655,27,0.491,30,0.001,32,0.176,47,0.837,95,0.118,101,0.015,103,0.001,104,0.001,112,0.912,1929,4.851,2195,7.277,2546,5.865,2548,4.311,2553,7.15,2570,9.15,2571,8.698,9037,12.801,9038,9.89,9039,9.89]],["title/classes/ExternalToolConfigEntity.html",[0,0.232,2563,5.557]],["body/classes/ExternalToolConfigEntity.html",[0,0.304,2,0.994,3,0.02,4,0.02,5,0.01,7,0.129,9,5.356,27,0.505,29,0.711,30,0.001,31,0.512,32,0.177,33,0.431,47,0.79,95,0.134,96,2.404,101,0.014,103,0.001,104,0.001,112,0.861,138,2.013,143,1.994,172,3.834,173,2.615,181,3.044,379,1.135,381,3.048,839,3.813,1929,4.412,2195,6.977,2546,5.891,2548,4.33,2553,6.855,2557,6.429,2560,7.545,2562,5.735,2563,10.718,2566,4.016,2567,6.429,3457,6.429,4404,5.424,9040,12.86,9041,11.248,9042,8.994]],["title/classes/ExternalToolConfigResponse.html",[0,0.232,2581,5.557]],["body/classes/ExternalToolConfigResponse.html",[0,0.335,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,9,6.655,27,0.491,30,0.001,32,0.176,47,0.837,95,0.118,101,0.015,103,0.001,104,0.001,112,0.912,1929,4.851,2195,7.277,2546,5.865,2548,4.311,2553,7.15,2580,8.007,2581,9.653,9043,12.801,9044,9.89,9045,9.89]],["title/injectables/ExternalToolConfigurationService.html",[539,0.921,9046,5.557]],["body/injectables/ExternalToolConfigurationService.html",[0,0.192,3,0.012,4,0.012,5,0.006,7,0.081,8,0.999,26,2.166,27,0.465,29,0.893,30,0.001,31,0.643,32,0.146,33,0.542,35,1.293,95,0.151,99,0.921,101,0.009,103,0,104,0,119,2.198,131,2.155,143,1.259,177,1.058,226,0.83,349,1.257,363,3.199,379,0.717,437,1.642,519,1.749,539,1.106,541,1.364,556,1.396,564,2.574,593,3.07,603,1.168,639,2.673,654,1.706,662,4.101,822,5.156,1618,3.983,1778,2.23,1898,7.255,1899,6.091,1901,4.093,1929,2.786,1971,2.644,2546,5.398,2548,4.274,2616,5.344,2627,6.862,5503,7.333,5558,4.335,5966,3.791,6217,3.983,9046,6.671,9047,9.004,9048,5.254,9049,9.698,9050,9.698,9051,8.24,9052,8.24,9053,5.254,9054,8.13,9055,5.679,9056,7.411,9057,5.679,9058,10.452,9059,5.679,9060,7.851,9061,10.448,9062,5.679,9063,8.972,9064,5.679,9065,5.89,9066,8.24,9067,8.972,9068,5.679,9069,8.24,9070,5.679,9071,5.679,9072,5.679,9073,5.679,9074,5.679,9075,9.318,9076,5.679,9077,6.913,9078,5.679,9079,5.679,9080,5.679,9081,8.24,9082,5.679,9083,4.764,9084,5.679,9085,5.679,9086,5.679,9087,4.974,9088,5.679,9089,5.679,9090,11.298,9091,5.679,9092,5.679,9093,6.913,9094,5.679,9095,5.679]],["title/injectables/ExternalToolConfigurationUc.html",[539,0.921,9096,5.759]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,8,0.766,26,2.839,27,0.444,29,0.852,30,0.001,31,0.613,32,0.145,33,0.517,34,0.668,35,1.25,36,2.615,39,3.281,95,0.149,99,0.649,100,1.359,101,0.006,103,0,104,0,131,4.974,177,1.917,226,0.584,236,1.029,262,2.874,349,0.919,379,0.797,437,1.688,529,1.803,539,0.848,541,0.961,560,1.643,564,2.777,603,2.512,608,2.907,639,1.882,643,2.834,654,1.897,662,3.792,822,3.793,933,4.334,1077,3.895,1670,6.54,1675,2.438,1778,1.57,1826,2.669,1898,6.867,1899,5.942,1901,3.137,1928,5.616,1929,1.961,2531,1.852,2546,5.116,2548,4.224,2627,5.709,2681,2.144,3044,2.253,3157,2.982,3294,5.008,4266,3.772,4743,3.336,4858,5.361,5503,2.756,5521,4.709,5523,4.825,5993,5.709,6016,5.616,6069,6.986,6217,2.805,6307,8.328,6308,7.19,6315,6.584,6323,3.139,6324,3.895,6327,2.917,6332,5.531,6336,3.139,6345,5.842,6349,6.345,6361,3.699,9046,8.721,9058,5.842,9060,6.336,9061,5.298,9063,7.24,9065,4.514,9067,5.842,9075,5.531,9087,3.502,9096,5.298,9097,10.33,9098,3.699,9099,7.24,9100,6.854,9101,7.24,9102,5.842,9103,7.826,9104,7.826,9105,3.139,9106,8.034,9107,3.999,9108,3.699,9109,3.999,9110,3.502,9111,3.999,9112,3.999,9113,3.999,9114,6.315,9115,3.699,9116,3.999,9117,3.999,9118,3.999,9119,3.999,9120,3.699,9121,3.699,9122,3.699,9123,6.315,9124,6.315,9125,4.825,9126,5.842,9127,3.699,9128,3.999,9129,3.999,9130,6.315,9131,7.826,9132,3.237,9133,5.842,9134,5.842,9135,5.842,9136,3.999,9137,3.999,9138,6.315,9139,3.999,9140,3.999,9141,6.315,9142,3.999,9143,6.315,9144,3.999,9145,3.502,9146,5.842,9147,4.607,9148,5.842,9149,5.531,9150,5.531]],["title/classes/ExternalToolContentBody.html",[0,0.232,5771,4.582]],["body/classes/ExternalToolContentBody.html",[0,0.456,2,0.642,3,0.013,4,0.013,5,0.007,7,0.083,9,2.766,27,0.239,30,0.001,31,0.649,32,0.178,33,0.402,47,0.896,83,1.689,95,0.136,99,0.942,101,0.021,103,0,104,0,112,0.641,138,1.039,143,1.288,148,1.799,149,3.784,150,1.305,153,2.251,172,1.815,180,1.987,245,3.58,248,4.885,249,4.646,284,1.754,305,3.364,480,3.171,807,5.36,808,3.316,839,1.804,852,2.704,1142,3.625,1262,2.026,1271,1.809,1643,3.397,1942,4.107,2255,4.358,2501,2.798,2882,2.766,2883,2.581,2922,2.782,3278,3.466,3280,3.466,3283,3.431,3286,5.114,3289,3.003,3294,5.534,3767,3.625,3788,3.625,3789,6.951,4163,5.722,5681,6.286,5683,6.371,5685,6.286,5687,6.371,5689,6.371,5734,3.82,5771,7.177,5772,6.557,5773,6.557,5774,6.557,5775,6.557,6088,6.896,7227,3.877,7287,3.431,8699,8.298,8700,5.773,8701,4.004,8704,5.509,8705,6.557,8706,6.557,8707,4.004,8708,6.557,8709,3.582,8710,3.938,8711,6.557,8712,6.557,8713,3.877,8714,3.877,8715,3.877,8716,3.877,8717,4.004,8718,4.004,8719,4.004,8720,4.004,8721,4.004,9151,5.809,9152,5.809]],["title/classes/ExternalToolCreateParams.html",[0,0.232,9153,5.759]],["body/classes/ExternalToolCreateParams.html",[0,0.351,2,0.71,3,0.014,4,0.014,5,0.007,7,0.092,27,0.519,29,0.821,30,0.001,31,0.699,32,0.175,33,0.589,47,0.862,95,0.146,101,0.01,103,0,104,0,112,0.688,119,2.325,138,2.255,143,2.303,147,5.612,148,1.99,149,4.334,150,1.443,172,2.007,245,3.037,248,4.49,249,4.401,480,2.889,521,3.562,556,1.579,1130,3.651,1142,4.008,1262,3.622,1929,3.151,1971,5.238,2340,5.426,2406,3.587,2546,5.892,2548,4.331,2553,3.587,2556,4.506,2568,9.588,2571,6.563,2572,4.591,3081,6.431,3766,4.908,3767,4.008,3788,4.008,3789,6.331,5590,5.549,5992,5.902,6078,6.563,6081,5.389,6082,5.389,6083,5.389,6088,5.85,7382,6.196,7384,6.262,7539,4.355,7543,4.427,7573,9.588,7581,6.874,8714,6.005,8715,4.287,8716,6.005,9153,7.548,9154,10.412,9155,5.2,9156,9.439,9157,9.937,9158,5.625,9159,5.942,9160,6.423,9161,6.423,9162,5.942,9163,5.625,9164,6.423,9165,6.423,9166,6.423,9167,5.942,9168,6.423,9169,5.942,9170,6.423,9171,6.423]],["title/classes/ExternalToolElement.html",[0,0.232,2861,4.515]],["body/classes/ExternalToolElement.html",[0,0.225,2,0.734,3,0.015,4,0.015,5,0.007,7,0.095,8,1.117,27,0.549,29,0.981,30,0.001,31,0.706,32,0.168,33,0.595,35,1.576,36,1.973,47,0.842,55,1.879,59,2.046,95,0.11,101,0.016,103,0,104,0,105,0.68,112,0.705,119,2.184,137,5.748,145,1.862,180,1.843,262,2.334,349,1.093,381,3.121,382,3.874,448,3.737,474,2.828,479,3.394,480,2.562,517,2.511,519,3.693,556,2.807,604,2.73,608,1.54,662,2.861,686,4.22,1218,2.511,1664,2.484,1665,3.834,1668,6.679,1739,4.242,1944,2.802,2512,5.941,2548,3.56,2786,8.029,2789,6.584,2790,6.584,2791,6.584,2792,7.62,2793,6.584,2795,4.309,2796,5.68,2797,6.742,2799,6.461,2800,5.68,2801,6.611,2803,4.66,2804,4.902,2806,6.679,2807,4.66,2811,4.66,2813,4.309,2840,5.616,2861,7.508,3294,6.432,4026,4.846,4027,4.846,4028,4.846,4037,4.197,9172,9.781,9173,4.749,9174,6.643,9175,6.146,9176,6.643,9177,6.643,9178,5.818,9179,6.643,9180,5.818,9181,8.521,9182,6.146,9183,6.146,9184,6.146,9185,5.818,9186,6.146]],["title/classes/ExternalToolElementContent.html",[0,0.232,9187,5.759]],["body/classes/ExternalToolElementContent.html",[0,0.365,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,27,0.444,29,0.665,30,0.001,31,0.479,32,0.163,33,0.404,34,1.407,47,0.911,95,0.142,99,1.366,101,0.017,103,0.001,104,0.001,112,0.825,138,1.506,142,4.203,143,2.783,144,3.511,150,1.891,181,3.221,245,3.405,253,4.154,379,1.062,381,2.852,404,3.387,405,4.514,593,4.018,819,4.235,839,2.614,2255,3.218,2548,4.008,2566,3.758,2918,4.514,2919,4.514,2922,4.031,3294,6.706,3461,5.904,3473,5.022,3716,5.022,3720,6.307,3724,5.618,3726,5.618,4083,8.241,4163,6.334,4404,5.076,5689,5.459,7114,6.431,9187,11.139,9188,11.011,9189,6.814,9190,8.417,9191,7.787,9192,7.787,9193,7.787]],["title/classes/ExternalToolElementContentBody.html",[0,0.232,8712,4.582]],["body/classes/ExternalToolElementContentBody.html",[0,0.455,2,0.63,3,0.013,4,0.013,5,0.006,7,0.082,9,2.715,27,0.34,30,0.001,31,0.644,32,0.18,47,0.875,83,1.658,95,0.135,99,0.925,101,0.021,103,0,104,0,112,0.633,138,1.479,143,1.265,148,1.766,149,3.745,150,1.281,153,2.228,172,1.782,180,2.057,245,3.572,248,4.858,249,4.617,284,1.722,305,3.303,382,1.704,480,3.148,556,1.402,807,5.289,808,3.272,819,2.869,839,1.771,852,2.655,1142,3.559,1262,1.989,1271,1.777,1643,3.335,1942,4.064,2255,4.653,2501,2.747,2882,2.715,2883,2.534,2922,2.731,3278,3.403,3280,3.403,3283,3.368,3286,5.061,3289,2.948,3294,3.213,3767,3.559,3788,3.559,3789,6.9,4163,5.673,5681,6.221,5683,6.305,5685,6.221,5687,6.305,5689,6.914,5734,3.751,5771,7.116,5772,6.489,5773,6.489,5774,6.489,5775,6.489,6088,6.858,7227,3.807,7287,3.368,8699,8.614,8700,5.697,8701,3.931,8704,5.436,8705,6.489,8706,6.489,8707,3.931,8708,6.489,8709,3.517,8710,3.866,8711,6.489,8712,7.116,8713,3.807,8714,3.807,8715,3.807,8716,3.807,8717,3.931,8718,3.931,8719,3.931,8720,3.931,8721,3.931,9194,4.477,9195,5.703,9196,5.703]],["title/entities/ExternalToolElementNodeEntity.html",[154,1.389,3204,5.389]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.295,3,0.019,4,0.019,5,0.01,7,0.125,27,0.358,30,0.001,32,0.113,33,0.528,95,0.156,96,2.326,101,0.017,103,0.001,104,0.001,105,0.891,112,0.843,138,1.558,143,2.444,144,2.834,154,2.23,155,2.842,173,2.531,180,1.921,181,2.355,349,0.9,403,4.862,437,1.148,564,3.443,1664,3.255,1665,4.587,1899,6.57,1942,4.607,2512,5.277,2548,3.711,2565,4.948,2566,3.887,3171,5.821,3182,6.646,3204,8.651,3249,5.369,3274,9.651,3417,5.902,3602,5.646,3620,6.796,3641,5.432,4126,5.571,4128,5.571,5094,5.103,6024,9.271,6025,7.303,9197,10.194,9198,8.705,9199,7.624,9200,8.053,9201,9.651,9202,8.053,9203,8.053,9204,8.053]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[105,0.702,9201,6.012]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,32,0.114,33,0.532,95,0.157,96,2.352,101,0.017,103,0.001,104,0.001,105,0.9,107,2.067,112,0.849,143,1.951,144,2.864,154,2.245,173,2.559,180,2.118,181,2.381,349,0.91,403,4.914,437,1.16,564,3.466,1664,3.29,1665,4.618,1899,6.8,1942,3.679,2512,5.313,2548,2.963,2565,5.002,2566,3.929,3171,5.86,3182,6.691,3204,6.908,3249,5.427,3274,9.717,3417,5.965,3602,5.707,3620,7.494,3641,5.491,4126,5.631,4128,5.631,5094,5.137,6024,9.595,6025,7.382,9197,8.14,9200,8.14,9201,10.642,9202,8.14,9203,8.14,9204,8.14]],["title/interfaces/ExternalToolElementProps.html",[105,0.702,9185,6.012]],["body/interfaces/ExternalToolElementProps.html",[0,0.299,3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.144,33,0.533,36,1.893,47,0.925,95,0.132,101,0.019,103,0.001,104,0.001,105,0.904,107,2.076,112,0.851,119,1.826,145,2.477,180,2.122,262,1.951,349,1.259,474,3.762,480,2.458,517,3.341,519,2.722,556,2.735,604,3.631,608,2.048,1218,3.341,1664,3.304,1739,5.124,1944,3.728,2548,2.976,2786,6.783,2792,5.899,2796,5.45,2797,6.57,2800,5.45,2801,6.443,2840,7.424,2861,8.008,3294,7.42,4037,5.583,9172,8.176,9173,6.317,9181,10.292,9182,8.176,9183,8.176,9184,8.176,9185,9.743,9186,8.176]],["title/classes/ExternalToolElementResponse.html",[0,0.232,4083,5.245]],["body/classes/ExternalToolElementResponse.html",[0,0.349,2,0.869,3,0.017,4,0.017,5,0.009,7,0.113,27,0.523,29,0.622,30,0.001,31,0.448,32,0.177,33,0.377,34,1.926,47,0.859,95,0.137,99,1.276,101,0.016,103,0.001,104,0.001,112,0.79,138,2.188,142,3.064,143,2.289,144,2.56,150,1.767,181,3.117,245,3.457,253,3.881,379,0.992,381,2.665,404,3.164,405,4.217,593,2.929,839,2.443,2255,4.404,2548,4.39,2566,3.511,2917,5.172,2918,5.534,2919,5.534,2921,4.644,2922,4.943,3294,4.43,3461,5.516,3473,4.692,3716,6.874,3720,6.736,3724,5.249,3726,5.249,4083,9.705,4163,6.76,4404,4.742,5689,6.693,7114,6.009,9187,10.262,9188,12.06,9191,7.275,9192,7.275,9193,7.275,9205,7.275,9206,7.863,9207,7.275,9208,7.863,9209,7.275]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.232,5707,6.012]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.262,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,27,0.5,29,0.807,30,0.001,31,0.581,32,0.157,33,0.489,34,1.292,35,1.388,95,0.136,99,1.254,100,2.627,101,0.012,103,0.001,104,0.001,112,0.781,119,2.108,236,1.979,349,1.181,376,3.217,413,3.918,437,1.019,593,2.879,603,2.35,604,3.176,662,2.401,739,4.404,782,4.612,783,5.699,786,6.068,788,5.764,1147,3.099,1942,5.615,2000,4.434,2255,2.955,2503,8.519,2506,8.011,2507,8.011,2509,7.797,2548,4.253,2861,8.832,3294,4.354,3716,4.612,3720,5.967,3737,5.525,4083,9.283,4163,4.113,5284,7.217,5689,5.013,5706,6.068,5707,11.587,9187,8.561,9210,12.631,9211,9.283,9212,6.484,9213,6.068,9214,11.423,9215,6.257,9216,6.257,9217,6.257,9218,7.729]],["title/entities/ExternalToolEntity.html",[154,1.389,9219,4.906]],["body/entities/ExternalToolEntity.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.093,27,0.54,29,0.827,30,0.001,31,0.596,32,0.172,33,0.619,47,0.906,55,1.854,95,0.135,96,1.741,101,0.014,103,0,104,0,112,0.695,119,2.339,138,2.346,143,2.945,144,3.876,154,1.839,155,2.127,160,5.844,168,5.213,172,4.193,173,1.895,174,3.474,177,1.214,178,2.59,180,1.136,181,1.763,182,2.071,363,3.671,1130,3.704,1262,3.65,1732,4.765,1971,5.271,1992,5.275,1993,5.467,2044,2.529,2546,6.084,2558,9.165,4326,6.374,4332,5.611,4333,3.888,4342,2.88,5111,5.655,5975,4.349,5976,4.753,5992,5.948,6008,4.285,6011,5.115,6026,5.275,6446,3.521,6716,5.115,7382,6.244,7384,6.31,7385,4.117,7417,4.571,7418,4.859,7421,4.859,7422,5.275,7480,9.165,9033,5.707,9219,6.495,9220,13.279,9221,8.779,9222,9.165,9223,9.165,9224,6.516,9225,6.516,9226,6.516,9227,6.516,9228,6.516,9229,6.516,9230,6.516,9231,6.516,9232,6.516,9233,6.516,9234,7.624,9235,6.516,9236,6.516,9237,6.516]],["title/classes/ExternalToolEntityFactory.html",[0,0.232,9238,6.35]],["body/classes/ExternalToolEntityFactory.html",[0,0.137,2,0.446,3,0.009,4,0.009,5,0.005,7,0.058,8,0.771,27,0.537,29,1.023,30,0.001,31,0.737,32,0.174,33,0.587,34,1.316,35,1.4,47,0.786,55,2.205,59,2.994,95,0.106,101,0.012,103,0,104,0,112,0.487,120,2.695,133,2.204,140,2.216,143,0.895,145,2.207,153,2.047,154,1.967,155,2.076,177,1.185,180,1.109,236,1.455,239,0.945,249,1.578,271,4.716,319,2.695,349,1.118,363,2.273,379,0.509,382,3.708,413,1.921,437,1.425,447,6.933,448,4.19,449,4.947,452,3.522,453,4.947,454,5.337,455,3.522,456,3.522,457,3.522,458,3.464,459,3.987,460,4.359,461,6.377,462,5.295,463,6.762,464,2.253,469,2.234,470,3.522,471,2.253,472,4.651,473,4.791,474,3.803,475,4.525,476,3.493,477,2.234,478,2.115,479,3.806,480,3.116,481,2.18,482,2.147,483,2.234,484,4.586,485,2.253,486,3.554,487,4.288,488,2.234,489,7.104,490,3.987,491,6.203,492,2.253,493,3.861,494,2.234,495,2.253,496,2.234,497,2.253,498,2.234,499,2.518,500,2.359,501,2.234,502,5.626,503,2.253,504,2.234,505,3.522,506,3.311,507,3.522,508,2.253,509,2.163,510,2.147,511,1.792,512,2.234,513,2.234,514,2.234,515,2.253,516,2.253,517,1.525,518,2.234,519,1.243,520,2.253,521,2.518,522,2.234,523,2.253,525,2.314,526,2.359,527,5.741,564,1.26,708,1.617,1262,1.407,1491,3.719,1927,2.884,1971,4.159,1984,3.464,1996,3.732,2195,5.078,2548,3.64,2553,2.253,2556,5.522,2558,6.373,2621,2.83,5111,2.18,5493,3.083,5503,2.781,5521,3.009,5541,3.969,5558,1.644,5643,3.2,5953,2.071,5992,2.293,6038,2.616,6055,2.735,7360,2.653,7366,2.616,7368,4.124,7369,3.385,7370,2.616,7381,2.582,7382,2.407,7384,2.433,7456,2.616,7457,3.009,7480,5.148,7516,2.943,7521,2.518,7539,2.735,7546,3.385,7548,2.884,7549,4.743,7556,3.385,7566,7.495,7568,3.385,9219,4.546,9221,3.385,9222,5.148,9223,5.148,9234,5.335,9238,7.282,9239,10.327,9240,4.034,9241,8.934,9242,8.265,9243,5.883,9244,5.883,9245,4.034,9246,4.034,9247,4.034,9248,5.883,9249,4.034,9250,6.359,9251,4.034,9252,8.934,9253,4.034,9254,4.034,9255,3.266,9256,3.385,9257,4.034,9258,4.034,9259,4.034,9260,4.034]],["title/classes/ExternalToolFactory.html",[0,0.232,7558,5.759]],["body/classes/ExternalToolFactory.html",[0,0.254,2,0.414,3,0.008,4,0.008,5,0.004,7,0.054,8,0.728,27,0.525,29,1.017,30,0.001,31,0.719,32,0.172,33,0.585,34,1.003,35,1.368,47,0.421,55,2.406,59,3.362,95,0.112,101,0.015,103,0,104,0,112,0.459,120,2.544,133,2.08,140,2.06,145,2.404,153,1.72,154,1.518,155,1.96,177,1.118,180,1.495,239,0.879,249,1.468,271,4.811,319,2.544,349,1.22,363,2.114,379,0.473,382,3.643,413,1.813,437,1.608,447,6.591,448,4.06,449,4.749,452,3.324,453,4.749,454,5.054,455,3.324,456,3.324,457,3.324,458,3.27,459,3.8,460,4.155,461,6.24,462,5.11,463,6.578,464,2.095,469,2.077,470,3.324,471,2.095,472,4.465,473,4.599,474,3.65,475,4.343,476,3.297,477,2.077,478,1.967,479,3.687,480,3.037,481,2.027,482,1.996,483,2.077,484,4.403,485,2.095,486,3.288,487,4.088,488,2.077,489,7.481,490,3.885,491,6.045,492,2.095,493,2.944,494,2.077,495,2.095,496,2.077,497,2.095,498,2.077,501,2.077,502,5.451,503,2.095,504,2.077,505,3.324,506,3.125,507,3.324,508,2.095,509,2.012,510,1.996,511,1.667,512,2.077,513,2.077,514,2.077,515,2.095,516,2.095,517,1.418,518,2.077,519,1.155,520,2.095,521,2.376,522,2.077,523,2.095,525,2.152,526,2.194,527,5.065,564,1.172,708,1.503,1130,2.133,1262,1.309,1491,3.51,1901,1.863,1927,2.682,1971,3.494,1984,3.27,2195,4.265,2545,2.737,2548,1.263,2553,2.095,2556,2.632,2616,3.893,2621,2.632,2627,1.863,4374,6.58,4376,2.682,5111,2.027,5493,2.867,5503,2.586,5521,4.477,5523,2.867,5558,3.822,5643,3.02,5953,1.926,5992,2.133,6049,3.037,6054,2.945,6055,2.543,7360,2.467,7366,2.433,7368,2.433,7370,2.433,7381,2.401,7382,2.239,7384,2.262,7456,2.433,7511,5.036,7512,8.215,7514,3.286,7516,2.737,7517,4.477,7518,2.945,7519,2.737,7520,2.586,7521,2.341,7522,3.286,7523,3.286,7524,3.286,7525,6.572,7526,5.036,7527,3.286,7528,3.66,7529,3.037,7530,2.737,7531,2.867,7532,3.286,7533,2.798,7534,3.286,7535,3.286,7536,2.632,7537,3.286,7538,3.286,7539,2.543,7540,3.286,7541,3.286,7542,3.286,7543,2.586,7544,3.286,7545,3.286,7546,3.147,7547,3.286,7548,2.682,7549,4.477,7550,5.257,7551,6.572,7552,2.945,7553,5.257,7554,5.257,7555,3.286,7556,3.147,7557,2.945,7558,6.295,7559,5.257,7560,3.286,7561,5.257,7562,3.286,7563,5.257,7564,8.763,7565,3.286,7566,7.195,7567,2.467,7568,3.147,7569,3.286,7570,3.286,7571,3.286,7572,3.286,9242,5.553,9244,5.553,9261,6.003,9262,3.751,9263,3.751,9264,3.751,9265,3.751]],["title/classes/ExternalToolIdParams.html",[0,0.232,9266,6.012]],["body/classes/ExternalToolIdParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.22,145,3.343,148,3.063,150,2.222,245,3.058,256,7.069,808,4.721,2546,5.463,2548,4.015,5991,8.98,6058,8.298,6059,8.662,9154,9.653,9266,10.443]],["title/classes/ExternalToolLogo.html",[0,0.232,9267,5.759]],["body/classes/ExternalToolLogo.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.138,27,0.52,29,0.758,30,0.001,31,0.546,32,0.163,33,0.46,47,0.822,101,0.015,103,0.001,104,0.001,112,0.895,379,1.21,2546,6.025,2548,4.428,5838,7.245,5928,8.043,7244,9.817,7567,8.306,9015,11.518,9031,8.397,9267,11.508,9268,9.587,9269,11.701,9270,11.701,9271,9.587,9272,9.587,9273,8.869]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.232,9274,6.012]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.23,2,0.751,3,0.015,4,0.015,5,0.008,7,0.098,8,1.135,27,0.537,29,0.538,30,0.001,31,0.387,32,0.175,33,0.513,35,1.137,47,0.877,55,1.387,59,2.094,95,0.127,101,0.011,103,0,104,0,112,0.716,138,2.163,177,2.541,180,1.631,182,2.161,226,0.993,284,2.053,340,3.295,345,2.168,347,2.453,349,0.703,379,0.858,382,3.733,564,3.343,595,7.111,603,1.399,821,5.339,824,2.412,951,5.01,988,2.962,990,3.944,1025,4.564,1147,2.842,1269,8.162,1270,6.14,1271,3.592,1272,6.848,1276,4.409,1277,3.797,1278,4.409,1279,4.409,1280,4.409,1281,4.409,1282,4.409,1283,4.1,1284,7.413,1290,4.295,1338,5.786,1339,5.532,1341,2.18,1343,5.727,2546,4.903,2548,4.208,2718,9.334,5992,6.083,6008,4.472,7567,8.218,8829,5.572,8830,5.784,9274,8.197,9275,8.664,9276,4.295,9277,6.29,9278,4.86,9279,5.955,9280,9.359,9281,7.577,9282,5.704,9283,3.976,9284,4.146,9285,6.799]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.232,9286,6.012]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.305,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,8,1.366,27,0.464,29,0.713,30,0.001,31,0.513,32,0.146,33,0.432,35,1.095,47,0.863,95,0.107,101,0.014,103,0.001,104,0.001,177,1.679,284,2.722,345,2.874,349,0.932,379,1.138,564,2.816,1025,3.568,1147,3.421,1334,7.894,1338,5.689,1339,6.351,1341,2.891,1343,6.392,2546,5.628,2548,4.334,5992,6.984,6008,5.928,7567,8.465,8829,6.396,8830,6.64,9275,9.946,9277,8.339,9281,10.419,9286,9.865,9287,9.013,9288,9.013,9289,9.013]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.232,9290,6.012]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.295,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,8,1.336,27,0.454,29,0.688,30,0.001,31,0.496,32,0.143,33,0.417,35,1.058,47,0.849,95,0.131,101,0.013,103,0.001,104,0.001,177,1.622,180,1.921,182,2.767,226,1.272,284,2.629,292,6.437,345,2.775,349,0.9,379,1.099,564,2.72,1025,3.446,1147,3.347,1338,6.202,1339,6.25,1341,2.792,1343,6.313,2546,5.539,2548,4.28,2681,6.484,5991,8.481,6003,7.303,7567,8.359,8829,6.295,8830,6.535,9275,9.789,9276,5.5,9283,5.09,9284,5.308,9290,9.651,9291,8.053,9292,7.047,9293,7.047,9294,8.705]],["title/classes/ExternalToolLogoService.html",[0,0.232,9106,5.119]],["body/classes/ExternalToolLogoService.html",[0,0.163,2,0.531,3,0.011,4,0.011,5,0.005,7,0.069,8,0.883,26,1.997,27,0.474,29,0.911,30,0.001,31,0.656,32,0.149,33,0.552,34,1.217,35,1.347,36,2.375,47,0.915,95,0.15,99,0.78,101,0.007,103,0,104,0,177,1.827,226,0.702,236,1.932,262,2.682,349,1.227,379,0.919,437,1.718,484,5.692,519,2.243,529,3.165,556,2.411,564,1.502,579,2.578,603,2.548,604,3.612,608,2.037,639,2.263,696,1.866,824,1.705,963,8.079,964,2.784,965,5.564,966,3.161,988,2.094,990,3.007,1077,2.964,1242,2.598,1338,2.226,1341,1.541,1778,1.888,1970,5.205,1971,2.238,1982,3.372,2312,4.773,2546,5.434,2548,4.237,2627,6.25,3730,5.564,5838,5.626,5992,2.732,6349,7.103,6355,3.891,7244,9.952,7567,6.45,7704,3.585,9047,9.064,9053,4.447,9054,7.493,9056,6.717,9106,5.43,9132,3.891,9221,6.109,9267,8.84,9274,4.21,9286,4.21,9290,4.21,9295,4.806,9296,7.281,9297,7.281,9298,7.281,9299,7.281,9300,7.281,9301,7.281,9302,4.806,9303,7.281,9304,4.806,9305,7.281,9306,4.806,9307,4.806,9308,7.281,9309,4.806,9310,7.281,9311,4.806,9312,7.281,9313,4.806,9314,2.64,9315,7.281,9316,4.806,9317,4.447,9318,6.377,9319,10.087,9320,4.806,9321,4.806,9322,7.281,9323,4.806,9324,4.806,9325,4.447,9326,4.806,9327,4.806,9328,4.21,9329,4.21,9330,4.806,9331,4.806,9332,4.806,9333,4.806,9334,4.447,9335,4.806,9336,6.736,9337,4.806,9338,7.281,9339,3.436,9340,8.79,9341,4.806,9342,4.806,9343,3.259,9344,4.806,9345,3.774,9346,4.806,9347,4.806,9348,4.806,9349,4.806,9350,7.281,9351,4.806,9352,4.21,9353,4.806,9354,4.806,9355,7.281,9356,4.806,9357,4.806,9358,4.806,9359,4.806,9360,4.806]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.232,9318,6.012]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.227,2,0.74,3,0.015,4,0.015,5,0.008,7,0.096,8,1.123,27,0.535,29,0.53,30,0.001,31,0.381,32,0.175,33,0.509,35,1.125,47,0.873,55,2.337,95,0.126,101,0.01,103,0,104,0,112,0.709,138,2.152,177,2.535,180,1.615,182,2.129,226,0.979,284,2.023,340,3.246,347,2.417,349,0.693,379,1.169,382,3.716,556,2.61,564,3.317,603,1.906,821,5.305,823,6.619,824,2.376,951,4.971,988,2.918,990,3.919,1025,4.535,1147,2.813,1269,8.136,1270,6.091,1271,3.569,1272,6.795,1276,4.344,1277,3.741,1278,4.344,1279,4.344,1280,4.344,1281,4.344,1282,4.344,1283,4.04,1284,3.808,1290,4.232,1291,5.259,1338,5.759,1339,5.489,1341,2.148,1343,5.69,2546,4.864,2548,4.188,5991,7.448,6003,5.62,7567,8.181,8829,5.528,8830,5.739,9275,8.596,9276,4.232,9278,4.788,9283,3.917,9284,4.084,9291,6.197,9318,8.113,9361,11.507,9362,10.033,9363,6.698,9364,9.263,9365,6.698]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.232,9319,6.012]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.234,2,0.765,3,0.015,4,0.015,5,0.014,7,0.099,8,1.149,27,0.539,30,0.001,32,0.181,33,0.454,35,1.152,47,0.759,55,1.413,95,0.129,101,0.011,103,0.001,104,0.001,112,0.725,138,2.177,177,2.504,180,1.652,182,2.202,226,1.012,340,3.356,347,2.499,349,0.716,379,1.364,382,3.754,564,3.376,821,5.381,824,2.457,951,5.059,988,3.018,990,3.975,1025,4.6,1147,2.879,1269,8.195,1270,6.199,1271,3.62,1272,6.915,1276,4.492,1277,3.868,1278,4.492,1279,4.492,1280,4.492,1281,4.492,1282,4.492,1283,4.177,1284,3.937,1290,4.376,1291,5.438,1338,5.819,1339,5.586,1341,2.221,1343,5.772,1515,6.775,2546,4.951,2548,4.231,6441,4.437,7567,8.265,8024,9.602,8829,5.626,8830,5.84,9275,8.748,9276,4.376,9278,4.951,9279,6.066,9283,4.05,9284,4.223,9319,8.302,9366,9.479,9367,9.479,9368,8.769]],["title/modules/ExternalToolModule.html",[201,1.848,6067,5.245]],["body/modules/ExternalToolModule.html",[0,0.233,3,0.015,4,0.015,5,0.008,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,201,2.902,203,2.504,204,2.685,205,2.761,206,2.75,207,2.739,208,3.986,209,4.089,214,5.841,218,3.785,219,2.707,220,2.644,225,3.755,226,1.007,227,2.856,560,2.832,964,3.991,1341,2.21,2546,3.157,2548,2.32,3998,6.305,4677,3.538,5134,3.991,5429,9.152,5439,5.579,6067,11.074,6349,8.43,8796,9.152,9046,11.066,9106,9.757,9369,6.891,9370,6.891,9371,6.891,9372,6.891,9373,9.85,9374,9.587,9375,11.468,9376,11.468,9377,10.526,9378,10.526,9379,10.526,9380,6.891,9381,4.672,9382,4.834,9383,5.781]],["title/injectables/ExternalToolParameterValidationService.html",[539,0.921,9377,5.759]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.136,3,0.009,4,0.009,5,0.005,7,0.058,8,0.77,27,0.495,29,0.967,30,0.001,31,0.706,32,0.161,33,0.577,35,1.433,36,1.912,72,1.816,95,0.129,101,0.006,103,0,104,0,119,2.712,143,2.482,145,2.204,177,1.183,226,0.588,236,1.992,262,2.278,283,6.903,285,2.648,333,3.799,340,1.951,349,1.338,361,2.289,363,7.484,379,0.801,437,1.177,480,2.187,484,5.297,486,2.368,521,1.594,529,3.288,539,0.852,541,0.967,564,1.258,579,2.159,590,2.483,593,2.365,603,2.823,608,1.471,936,4.063,996,1.94,997,1.875,998,1.917,1130,6.363,1242,2.176,1778,1.581,1929,1.975,2095,2.73,2207,2.428,2318,2.332,2546,5.603,2548,4.23,2616,8.924,2627,5.858,3311,7.487,5436,8.48,5463,3.161,5503,2.775,5513,3.725,5515,2.378,5530,8.744,5533,3.725,5535,5.327,5536,5.327,5541,4.906,5558,1.64,5966,2.687,6349,6.364,6354,3.161,6355,3.26,6360,5.327,6688,4.454,7552,4.985,9047,9.345,9093,3.378,9105,3.161,9339,2.878,9377,5.327,9384,6.349,9385,6.349,9386,6.349,9387,6.349,9388,6.349,9389,6.349,9390,6.349,9391,6.349,9392,6.349,9393,6.349,9394,3.526,9395,6.349,9396,3.725,9397,6.349,9398,4.026,9399,6.349,9400,4.026,9401,6.349,9402,4.026,9403,6.349,9404,4.026,9405,6.349,9406,4.026,9407,6.349,9408,3.725,9409,6.349,9410,4.026,9411,6.349,9412,4.026,9413,6.349,9414,3.725,9415,4.026,9416,4.026,9417,4.026,9418,6.007,9419,4.026,9420,4.026,9421,4.026,9422,4.026,9423,4.026,9424,4.026,9425,2.937,9426,4.026,9427,4.026,9428,3.077,9429,4.026,9430,4.026,9431,4.026,9432,3.077,9433,4.026,9434,4.026,9435,4.026,9436,4.026,9437,4.026,9438,3.526,9439,4.026,9440,3.725,9441,4.026,9442,6.349,9443,4.026,9444,6.349,9445,4.026,9446,4.026,9447,4.026,9448,7.273,9449,4.026,9450,4.026,9451,4.026,9452,4.026,9453,6.349,9454,6.349,9455,4.026,9456,6.349]],["title/interfaces/ExternalToolProps.html",[105,0.702,7518,5.389]],["body/interfaces/ExternalToolProps.html",[0,0.227,3,0.015,4,0.015,5,0.008,7,0.096,29,0.952,30,0.001,31,0.685,32,0.173,33,0.641,34,1.918,47,0.99,55,2.457,95,0.143,101,0.014,103,0,104,0,105,0.688,107,1.578,112,0.71,119,2.687,180,1.171,181,1.818,349,1.1,413,2.804,1147,2.041,1262,4.2,1746,5.429,1929,3.296,1971,6.055,1992,5.441,1993,5.638,2044,2.609,2545,8.783,2546,3.079,2550,7.932,2553,3.753,2616,7.809,2627,3.338,4342,2.971,5111,6.507,5453,5.483,5951,5.276,5955,5.135,5965,5.276,5966,4.486,5967,4.804,5968,5.135,5975,4.486,5976,4.902,5992,6.844,6008,4.42,6011,7.289,6446,3.632,6716,5.276,7382,7.184,7384,7.261,7385,4.246,7417,4.714,7418,5.012,7421,5.012,7422,5.441,7518,8.351,7519,9.082,7520,8.581,7539,4.556,7543,4.632,7567,7.919,9015,5.886,9027,6.217,9029,6.217,9031,5.886,9032,6.217,9033,5.886,9034,8.589]],["title/entities/ExternalToolPseudonymEntity.html",[154,1.389,9457,4.906]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.28,3,0.018,4,0.018,5,0.009,7,0.119,26,2.17,27,0.486,30,0.001,32,0.153,34,1.381,39,3.526,47,0.828,49,5.1,95,0.148,96,2.849,97,3.44,99,1.341,101,0.017,103,0.001,104,0.001,105,0.846,112,0.903,138,2.111,154,2.157,155,2.698,168,6.769,172,4.128,173,2.403,174,4.075,178,3.284,180,1.44,181,2.236,182,2.627,191,4.501,192,5.288,404,3.325,405,5.716,564,2.581,593,3.078,2548,4.345,4333,4.931,9314,7.086,9457,7.619,9458,11.532,9459,7.644,9460,7.219,9461,7.237,9462,8.263,9463,8.263,9464,8.263,9465,8.942,9466,5.515,9467,6.689,9468,6.932,9469,6.027,9470,6.487]],["title/injectables/ExternalToolPseudonymRepo.html",[539,0.921,9471,5.759]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.151,3,0.01,4,0.01,5,0.005,7,0.064,8,0.836,13,5.028,26,2.719,27,0.5,29,0.96,30,0.001,31,0.692,32,0.157,33,0.583,34,0.748,35,1.445,36,2.824,39,3.32,42,5.028,47,0.59,49,1.697,56,2.155,58,2.901,59,1.378,95,0.134,96,1.196,97,1.862,99,0.726,101,0.007,103,0,104,0,154,2.346,155,3.085,177,0.834,226,0.654,227,1.854,236,2.044,262,2.98,310,1.94,345,1.426,349,1.278,376,1.862,377,1.94,379,0.565,437,1.75,448,4.373,490,2.993,539,0.925,541,1.075,556,1.1,593,3.519,608,2.498,725,7.046,816,3.755,822,4.578,1665,4.675,1778,1.757,2311,5.37,2335,3.033,2346,3.138,2359,3.263,2364,4.751,2378,3.753,2548,4.163,2830,4.113,3341,3.033,3346,4.113,3407,3.418,4446,2.792,4460,3.512,4461,3.512,5558,3.426,6134,3.083,6861,2.698,7150,5.761,7179,3.263,7180,3.263,9314,6.672,9457,8.684,9460,7.852,9465,7.926,9466,4.601,9471,5.783,9472,12.363,9473,4.473,9474,6.377,9475,6.037,9476,6.377,9477,6.377,9478,6.377,9479,5.783,9480,6.037,9481,6.377,9482,4.473,9483,6.377,9484,4.473,9485,6.037,9486,4.473,9487,4.473,9488,6.377,9489,4.473,9490,6.377,9491,4.473,9492,6.377,9493,7.926,9494,4.473,9495,5.267,9496,4.473,9497,6.377,9498,4.473,9499,6.377,9500,4.473,9501,5.267,9502,6.037,9503,4.473,9504,4.473,9505,6.037,9506,9.44,9507,6.893,9508,4.473,9509,3.918,9510,4.139,9511,4.473,9512,4.139,9513,4.473,9514,3.918,9515,4.139,9516,6.037,9517,4.473,9518,4.473,9519,4.139,9520,4.139,9521,4.139,9522,4.139,9523,4.139,9524,4.139,9525,3.753,9526,4.473,9527,4.473,9528,4.473,9529,3.918,9530,4.473,9531,3.918]],["title/injectables/ExternalToolRepo.html",[539,0.921,9378,5.759]],["body/injectables/ExternalToolRepo.html",[0,0.132,3,0.009,4,0.009,5,0.004,7,0.056,8,0.753,10,2.519,12,2.786,18,3.104,26,2.257,27,0.538,29,1.025,30,0.001,31,0.748,32,0.17,33,0.622,34,1.29,35,1.563,36,2.704,40,1.885,47,0.716,55,0.799,56,1.885,58,2.538,59,1.205,95,0.142,96,1.659,97,1.629,99,0.635,101,0.006,103,0,104,0,112,0.3,133,2.152,154,2.366,155,2.027,173,1.138,177,1.157,180,1.082,227,1.622,236,1.257,262,2.964,310,1.697,349,1.234,379,0.494,381,1.326,382,3.681,437,1.664,448,3.131,490,2.747,519,1.205,539,0.833,541,0.94,564,1.223,593,3.98,603,2.28,608,2.036,680,4.209,686,2.844,687,4.728,718,2.099,721,2.443,740,2.991,741,2.653,743,2.653,753,3.621,816,3.382,822,4.257,1341,1.255,1665,4.968,1901,1.944,1971,2.891,2000,2.245,2093,3.498,2299,8.789,2301,4.438,2302,4.438,2303,4.438,2304,4.438,2305,4.355,2306,4.355,2307,4.438,2308,4.355,2309,4.438,2310,2.855,2311,4.993,2312,3.641,2313,4.003,2315,4.529,2316,2.798,2318,5.087,2319,2.798,2321,2.798,2323,5.005,2324,4.355,2325,2.798,2327,2.798,2329,4.438,2333,4.438,2335,4.209,2336,4.355,2338,2.798,2340,2.36,2341,2.414,2342,2.798,2344,2.798,2346,4.355,2347,2.798,2353,2.653,2364,4.279,2365,6.551,2553,4.906,2627,6.031,4581,2.919,4743,3.28,5558,3.144,5643,3.124,6038,2.538,6055,2.653,6091,3.428,6105,5.209,6106,3.621,6114,2.855,6115,2.855,6116,2.855,6117,2.855,6118,2.855,6119,2.855,6120,2.855,6121,2.855,6122,2.855,6128,3.169,6129,3.428,6130,2.991,6134,2.698,6861,2.36,7150,5.356,7160,4.63,7179,2.855,7180,2.855,7521,3.875,9219,8.808,9234,8.552,9378,5.209,9501,4.744,9525,3.284,9529,3.428,9531,3.428,9532,8.963,9533,6.209,9534,5.027,9535,6.209,9536,3.914,9537,3.621,9538,6.712,9539,3.914,9540,6.209,9541,3.914,9542,5.209,9543,3.914,9544,6.209,9545,3.621,9546,3.621,9547,2.991,9548,3.621,9549,3.428,9550,3.914,9551,5.438,9552,3.914,9553,6.209,9554,3.914,9555,3.621,9556,3.914,9557,3.914,9558,3.914,9559,5.438,9560,3.914,9561,3.914]],["title/classes/ExternalToolRepoMapper.html",[0,0.232,6128,5.557]],["body/classes/ExternalToolRepoMapper.html",[0,0.135,2,0.439,3,0.009,4,0.009,5,0.004,7,0.057,8,0.762,27,0.502,29,0.99,30,0.001,31,0.74,32,0.173,33,0.585,34,0.664,35,1.481,95,0.122,101,0.006,103,0,104,0,153,1.441,154,0.804,226,0.581,236,2.015,249,2.459,333,2.676,349,1.261,413,4.209,480,1.749,486,2.669,521,2.488,529,1.794,564,1.964,654,1.194,1262,2.193,1309,5.943,1491,3.676,1726,1.7,1901,1.974,1931,3.971,1971,5.676,1984,3.424,2195,5.834,2305,4.409,2306,4.409,2333,4.493,2335,2.695,2336,4.409,2340,3.791,2487,3.32,2545,8.57,2548,2.117,2553,2.22,2556,4.409,2558,9.021,2616,7.227,2627,5.338,2642,7.545,3081,4.493,4446,2.481,4447,3.121,4501,3.335,5111,3.397,5310,6.85,5520,5.505,5528,5.505,5530,5.089,5535,5.274,5536,5.274,5539,5.089,5541,3.923,5558,2.561,5643,3.163,5703,2.481,5953,3.227,5992,3.573,6032,8.766,6038,2.578,6054,3.121,6055,2.695,6128,5.089,7366,4.077,7368,4.077,7370,4.077,7381,4.022,7382,3.751,7384,3.791,7456,4.077,7457,4.688,7480,9.021,7519,8.57,7520,8.098,7521,3.923,7539,4.261,7543,4.332,7548,4.493,7567,2.614,9219,6.334,9221,3.335,9222,9.021,9223,9.021,9234,6.541,9438,5.505,9448,5.815,9532,10.377,9562,3.975,9563,6.286,9564,6.286,9565,6.286,9566,6.286,9567,6.286,9568,6.286,9569,6.286,9570,6.286,9571,6.286,9572,6.286,9573,6.286,9574,3.975,9575,8.861,9576,6.286,9577,3.975,9578,6.286,9579,3.975,9580,5.815,9581,6.286,9582,3.975,9583,5.815,9584,6.286,9585,3.975,9586,6.286,9587,3.975,9588,3.975,9589,3.975,9590,6.286,9591,3.975,9592,6.286,9593,3.975,9594,6.286,9595,3.975,9596,5.505,9597,6.286,9598,3.975,9599,3.975,9600,3.975,9601,3.975,9602,3.975,9603,3.975,9604,3.975,9605,3.975,9606,6.286,9607,3.481,9608,3.975,9609,3.975,9610,3.975,9611,3.677,9612,3.677,9613,3.975,9614,8.861,9615,8.861,9616,6.286,9617,6.286,9618,5.815,9619,6.286,9620,6.286,9621,6.286,9622,6.286,9623,6.286,9624,6.286,9625,6.286,9626,3.975,9627,3.975,9628,3.975,9629,3.975,9630,3.481,9631,3.677,9632,3.975,9633,3.975,9634,3.975,9635,3.677,9636,3.677,9637,3.975,9638,6.286,9639,6.286,9640,6.286,9641,6.286,9642,5.815,9643,5.815,9644,5.815]],["title/injectables/ExternalToolRequestMapper.html",[539,0.921,9645,5.759]],["body/injectables/ExternalToolRequestMapper.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.06,8,0.797,27,0.492,29,0.978,30,0.001,31,0.722,32,0.158,33,0.573,34,0.704,35,1.451,55,1.866,95,0.131,99,0.683,101,0.007,103,0,104,0,153,0.965,226,0.615,249,1.647,271,1.562,349,1.279,437,1.498,480,1.829,486,2.437,539,0.882,541,1.011,556,1.989,593,1.568,603,2.703,604,3.758,662,3.266,708,3.665,739,2.838,790,2.118,988,3.525,1262,2.294,1778,1.653,1927,3.009,1929,2.065,1971,3.061,2546,5.576,2548,4.099,2568,8.512,2621,2.953,2627,2.091,2764,1.993,3049,6.182,5111,6.142,5493,3.217,5494,3.687,5496,3.687,5497,3.687,5498,3.687,5499,3.687,5500,3.687,5503,2.901,5521,3.139,5523,3.217,5541,2.627,5558,1.715,5643,2.118,5953,2.161,5967,3.009,5992,3.738,6161,3.305,6169,3.532,6177,3.687,6178,3.532,7382,3.924,7384,3.965,7456,2.73,7457,3.139,7552,3.305,7557,3.305,7573,8.031,7583,3.532,7589,3.532,7592,3.532,9153,8.323,9156,8.323,9157,7.672,9256,3.532,9538,6.988,9645,5.516,9646,11.26,9647,6.575,9648,6.575,9649,6.575,9650,6.575,9651,8.091,9652,8.091,9653,8.091,9654,8.091,9655,6.083,9656,6.575,9657,6.575,9658,4.21,9659,7.086,9660,6.575,9661,7.672,9662,4.21,9663,6.575,9664,4.21,9665,12.686,9666,9.92,9667,6.575,9668,4.21,9669,9.92,9670,4.21,9671,4.21,9672,9.145,9673,4.21,9674,8.323,9675,4.21,9676,9.145,9677,4.21,9678,4.21,9679,9.145,9680,4.21,9681,7.672,9682,4.21,9683,9.145,9684,6.083,9685,7.672,9686,4.21,9687,5.323,9688,7.179,9689,6.575,9690,8.323,9691,4.21,9692,7.086,9693,3.894,9694,3.894,9695,3.894,9696,3.894,9697,3.894,9698,3.894,9699,3.894,9700,3.687,9701,3.894,9702,3.687,9703,3.894,9704,3.894,9705,3.894,9706,3.894,9707,3.894,9708,3.894,9709,3.894,9710,11.051,9711,6.575,9712,4.21,9713,4.21,9714,4.21,9715,8.46,9716,6.575,9717,4.21,9718,4.21,9719,4.21,9720,4.21,9721,4.21,9722,4.21,9723,4.21,9724,6.575,9725,4.21,9726,4.21,9727,4.21,9728,4.21,9729,4.21,9730,4.21,9731,4.21,9732,4.21,9733,4.21,9734,4.21,9735,4.21,9736,4.21,9737,4.21,9738,4.21,9739,4.21,9740,4.21,9741,4.21,9742,4.21,9743,3.687,9744,6.575,9745,3.687,9746,4.21]],["title/classes/ExternalToolResponse.html",[0,0.232,9747,5.557]],["body/classes/ExternalToolResponse.html",[0,0.235,2,0.768,3,0.015,4,0.015,5,0.008,7,0.1,27,0.554,29,0.92,30,0.001,31,0.662,32,0.174,33,0.584,34,1.809,47,0.92,55,1.939,95,0.129,101,0.011,103,0.001,104,0.001,112,0.727,119,2.404,138,2.379,149,4.693,150,1.561,245,3.573,379,0.877,404,2.796,824,2.465,1130,3.951,1262,3.777,1971,5.418,1992,5.626,2044,2.698,2546,6.221,2578,9.082,5111,5.851,5975,4.639,5992,6.154,5999,8.499,6002,6.087,6008,4.571,6011,5.456,6181,6.087,6182,7.692,6183,6.087,6184,6.087,6185,6.087,6186,6.087,6187,6.087,6189,6.087,6190,6.087,6191,6.087,6192,5.31,6198,6.087,6200,6.087,6446,3.756,7382,6.46,7384,6.529,7417,4.875,7421,5.183,9747,9.864,9748,12.562,9749,9.501,9750,9.082,9751,9.082,9752,6.087,9753,6.95,9754,6.95,9755,6.95,9756,6.95,9757,6.95]],["title/injectables/ExternalToolResponseMapper.html",[539,0.921,9758,5.557]],["body/injectables/ExternalToolResponseMapper.html",[0,0.195,3,0.013,4,0.013,5,0.006,7,0.083,8,1.01,27,0.468,29,0.937,30,0.001,31,0.695,32,0.153,33,0.545,34,0.964,35,1.381,95,0.135,101,0.009,103,0,104,0,153,1.322,226,0.843,236,1.746,249,2.256,349,1.225,413,4.096,437,1.413,539,1.118,541,1.386,603,2.622,604,3.424,782,3.442,790,2.902,988,4.263,1262,2.012,1778,2.265,1927,4.123,1929,2.829,1971,2.685,2545,8.292,2546,5.427,2548,3.989,2578,9.537,2616,7.372,2621,4.046,2627,5.646,5111,3.117,5493,4.407,5494,5.051,5496,5.051,5497,5.051,5498,5.051,5499,5.051,5500,5.051,5503,3.975,5521,4.301,5523,4.407,5541,3.599,5558,2.35,5953,2.961,5966,3.85,5992,3.278,5999,8.414,7382,3.442,7384,3.478,7456,3.74,7457,4.301,7519,8.292,7520,7.386,7552,4.528,7557,4.528,7576,4.407,7583,4.839,7589,4.839,7592,4.839,9093,4.839,9132,4.669,9148,5.336,9256,4.839,9339,4.123,9418,4.407,9580,5.336,9646,10.959,9693,5.336,9694,5.336,9695,5.336,9696,5.336,9697,5.336,9698,5.336,9699,5.336,9700,5.051,9701,5.336,9702,5.051,9703,5.336,9704,5.336,9705,5.336,9706,5.336,9707,5.336,9708,5.336,9709,5.336,9710,10.516,9715,7.709,9747,8.676,9750,9.537,9751,9.537,9758,6.746,9759,8.333,9760,8.333,9761,8.333,9762,8.333,9763,8.333,9764,8.333,9765,5.767,9766,11.846,9767,8.333,9768,5.767,9769,8.333,9770,5.767,9771,8.333,9772,5.767,9773,8.333,9774,5.767,9775,6.991,9776,5.767,9777,5.767,9778,5.767,9779,5.767,9780,5.767,9781,5.336,9782,5.051,9783,5.767,9784,5.767,9785,5.767,9786,5.767,9787,5.767,9788,5.767,9789,5.767,9790,5.767,9791,5.767,9792,5.767,9793,5.767]],["title/classes/ExternalToolScope.html",[0,0.232,9551,6.012]],["body/classes/ExternalToolScope.html",[0,0.242,2,0.789,3,0.016,4,0.016,5,0.008,7,0.103,8,1.174,27,0.543,29,0.973,30,0.001,31,0.761,32,0.171,33,0.59,35,1.176,47,0.891,95,0.115,101,0.011,103,0.001,104,0.001,112,0.741,119,2.621,180,1.688,310,3.098,349,1.136,382,3.675,480,1.988,486,2.152,519,2.201,556,3.324,603,2.61,767,5.995,1971,3.327,2350,6.486,5558,5.449,5643,5.525,6038,4.634,6241,6.258,6242,6.462,6243,6.462,6244,6.462,6249,6.462,6250,6.462,6251,4.844,6252,4.769,6253,4.844,6254,4.844,6263,4.769,6264,6.462,6265,4.844,6266,4.769,6267,4.844,6268,4.769,6269,7.33,7384,6.623,7521,4.459,9219,5.107,9532,9.876,9551,8.479,9794,9.682,9795,8.957,9796,9.682,9797,9.682,9798,7.145,9799,8.957,9800,7.145,9801,9.682,9802,7.145,9803,6.61]],["title/classes/ExternalToolSearchListResponse.html",[0,0.232,9804,5.759]],["body/classes/ExternalToolSearchListResponse.html",[0,0.266,2,0.869,3,0.017,4,0.017,5,0.009,7,0.113,27,0.523,29,0.622,30,0.001,31,0.448,32,0.177,33,0.609,55,2.888,56,6.28,59,3.179,70,6.559,95,0.137,101,0.012,103,0.001,104,0.001,112,0.79,138,2.188,150,1.767,180,1.799,245,2.647,247,3.378,284,3.836,379,0.992,382,3.654,556,1.933,564,2.457,813,7.239,814,5.516,815,8.194,816,7.101,817,5.921,819,3.956,821,5.334,822,3.811,823,4.185,824,2.789,825,5.516,826,6.693,827,5.977,828,5.172,829,4.065,830,5.516,831,5.516,833,4.968,834,4.284,2546,4.728,2548,3.475,6271,6.887,9747,10.756,9748,9.548,9804,8.659,9805,7.275,9806,7.275]],["title/classes/ExternalToolSearchParams.html",[0,0.232,9661,5.759]],["body/classes/ExternalToolSearchParams.html",[0,0.383,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,31,0.756,32,0.147,33,0.619,34,1.893,47,0.906,95,0.135,101,0.014,103,0.001,104,0.001,112,0.867,138,2.027,148,2.817,149,4.752,150,2.043,153,2.596,248,4.923,249,4.826,564,4.033,1277,6.326,2546,5.651,2548,4.473,3601,4.557,5550,7.449,5643,6.206,9154,9.986,9661,9.502,9807,7.965,9808,11.326,9809,9.094,9810,7.965]],["title/interfaces/ExternalToolSearchQuery.html",[105,0.702,9538,5.245]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,31,0.758,32,0.166,33,0.664,47,0.972,101,0.015,103,0.001,104,0.001,105,1.02,107,2.34,112,0.917,119,2.653,813,6.989,2548,3.355,5643,6.703,7384,8.035,9538,9.151,9811,9.963,9812,8.726]],["title/injectables/ExternalToolService.html",[539,0.921,6349,4.233]],["body/injectables/ExternalToolService.html",[0,0.13,3,0.008,4,0.008,5,0.004,7,0.055,8,0.742,12,2.746,26,2.16,27,0.489,29,0.939,30,0.001,31,0.688,32,0.154,33,0.569,34,1.023,35,1.443,36,2.746,40,2.948,47,0.797,59,1.184,95,0.146,99,0.624,101,0.006,103,0,104,0,177,2.052,220,2.349,226,0.562,227,1.593,236,0.997,262,2.956,310,2.654,349,1.139,379,0.772,437,1.618,490,3.095,529,1.747,539,0.821,541,0.923,556,1.875,564,2.382,579,3.282,603,2.638,608,2.914,631,3.888,639,1.809,654,1.155,822,2.966,933,3.389,1133,2.937,1242,3.308,1341,1.233,1456,2.528,1778,1.51,1807,7.911,1898,4.663,1901,1.909,1929,1.885,1971,1.79,2313,4.834,2318,3.544,2368,3.867,2487,2.03,2546,5.536,2548,3.998,2627,6.777,4677,1.973,5437,8.328,5446,3.112,5575,5.349,5643,4.375,5703,2.399,5967,2.747,6103,3.556,6315,3.916,6349,3.775,6614,4.085,7150,5.302,7517,4.564,7520,5.993,8800,2.866,9047,9.234,9065,2.747,9083,3.225,9314,2.111,9376,8.9,9378,8.485,9379,7.295,9381,4.149,9382,2.696,9418,2.937,9538,6.644,9596,6.679,9775,3.225,9813,6.12,9814,5.36,9815,5.36,9816,6.12,9817,6.12,9818,7.626,9819,5.36,9820,6.12,9821,7.626,9822,3.844,9823,7.738,9824,7.626,9825,6.343,9826,3.844,9827,6.12,9828,3.844,9829,6.12,9830,3.844,9831,6.12,9832,3.844,9833,3.844,9834,6.12,9835,3.844,9836,6.12,9837,3.844,9838,3.844,9839,3.844,9840,6.12,9841,7.055,9842,3.844,9843,9.814,9844,6.12,9845,3.844,9846,3.844,9847,8.855,9848,10.113,9849,3.844,9850,8.695,9851,2.747,9852,3.844,9853,3.844,9854,3.112,9855,3.556,9856,5.662,9857,3.844,9858,3.556,9859,5.662,9860,6.12,9861,3.844,9862,3.844,9863,3.844,9864,3.844,9865,3.844,9866,3.844,9867,3.844,9868,3.844,9869,6.12,9870,6.12,9871,6.12,9872,6.12,9873,3.844,9874,3.844,9875,3.844,9876,3.844,9877,3.366,9878,3.844,9879,3.844,9880,3.844,9881,3.844,9882,3.844,9883,3.844,9884,3.844,9885,3.844,9886,6.12,9887,3.844,9888,3.844,9889,3.844,9890,3.844,9891,3.844,9892,3.844,9893,3.844,9894,3.844,9895,3.844,9896,3.844,9897,3.844,9898,3.844,9899,3.844,9900,3.844,9901,3.844,9902,3.844,9903,3.844]],["title/injectables/ExternalToolServiceMapper.html",[539,0.921,9379,5.759]],["body/injectables/ExternalToolServiceMapper.html",[0,0.312,3,0.02,4,0.02,5,0.01,7,0.132,8,1.385,27,0.38,29,0.729,30,0.001,31,0.706,32,0.119,33,0.442,35,1.12,47,0.871,95,0.148,101,0.014,103,0.001,104,0.001,226,1.347,349,0.953,539,1.533,541,2.215,1391,6.589,1392,7.462,1778,3.62,2546,5.233,2548,3.846,5558,3.756,5639,7.237,7383,6.874,7520,8.941,9047,8.727,9379,9.583,9381,6.249,9596,10.869,9618,8.528,9847,9.256,9851,6.589,9904,9.218,9905,11.422,9906,11.422,9907,9.218,9908,9.218,9909,9.218,9910,8.528,9911,9.218,9912,8.073,9913,9.218,9914,9.218,9915,8.528,9916,8.528]],["title/classes/ExternalToolSortingMapper.html",[0,0.232,9549,6.012]],["body/classes/ExternalToolSortingMapper.html",[0,0.309,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,8,1.377,10,3.706,27,0.376,29,0.722,30,0.001,31,0.647,32,0.118,33,0.438,35,1.11,95,0.154,96,2.441,99,1.482,101,0.014,103,0.001,104,0.001,173,2.656,349,0.945,413,3.733,437,1.204,556,2.246,742,5.017,1901,4.537,2548,3.825,2627,4.537,4509,7.395,6038,5.925,7160,10.11,7521,7.088,9219,6.53,9532,9.529,9549,9.947,9688,10.152,9917,9.135,9918,11.358,9919,11.358,9920,9.135,9921,8.451,9922,9.135,9923,8.451,9924,8.451,9925,10.507,9926,8.451]],["title/injectables/ExternalToolUc.html",[539,0.921,9927,5.759]],["body/injectables/ExternalToolUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.937,26,2.842,27,0.487,29,0.935,30,0.001,31,0.673,32,0.153,33,0.567,35,1.388,36,2.809,39,3.233,47,0.647,95,0.141,99,0.845,100,1.77,101,0.008,103,0,104,0,177,1.902,226,0.761,236,1.259,239,2.161,262,3,310,3.999,349,1.128,379,0.976,437,1.665,490,3.633,539,1.038,541,1.251,560,2.139,603,2.434,608,3.091,643,5.452,822,3.747,1758,6.295,1778,2.045,1855,3.175,1971,2.424,2531,2.411,2546,5.566,2548,3.437,2550,5.766,2627,6.572,4119,5.447,5111,2.814,5967,3.722,6300,4.56,6315,4.947,6349,7.046,7150,6.223,9097,11.241,9105,4.087,9106,8.821,9314,6.817,9334,7.152,9352,6.771,9375,8.562,9538,7.798,9659,10.642,9692,8.938,9775,4.368,9814,6.771,9815,6.771,9819,6.771,9843,4.817,9927,6.486,9928,7.731,9929,8.531,9930,7.152,9931,9.222,9932,5.206,9933,7.731,9934,5.206,9935,7.731,9936,5.206,9937,7.731,9938,5.206,9939,5.206,9940,5.206,9941,7.731,9942,5.206,9943,7.731,9944,5.206,9945,10.904,9946,10.904,9947,7.731,9948,5.206,9949,5.206,9950,5.206,9951,7.731,9952,5.206,9953,5.206,9954,7.152,9955,5.206,9956,5.206,9957,5.206,9958,4.368]],["title/classes/ExternalToolUpdateParams.html",[0,0.232,9690,5.759]],["body/classes/ExternalToolUpdateParams.html",[0,0.346,2,0.691,3,0.014,4,0.014,5,0.007,7,0.09,27,0.526,29,0.809,30,0.001,31,0.693,32,0.175,33,0.584,34,1.711,47,0.897,95,0.145,101,0.01,103,0,104,0,112,0.676,119,2.298,138,2.286,143,2.27,147,5.532,148,1.938,149,4.283,150,1.405,172,1.954,245,3.121,248,4.68,249,4.35,480,2.847,521,3.496,556,1.538,1130,3.556,1142,3.904,1262,3.571,1929,3.068,1971,5.177,2340,5.326,2406,3.494,2546,5.951,2548,4.374,2553,3.494,2556,4.388,2568,9.494,2571,6.442,2572,6.312,3081,6.312,3766,4.78,3767,3.904,3788,3.904,3789,6.241,5590,5.446,5992,5.818,6078,6.442,6081,5.248,6082,5.248,6083,5.248,6088,5.766,7382,6.108,7384,6.173,7539,4.241,7543,4.311,7573,9.494,7581,6.748,8714,5.894,8715,4.175,8716,5.894,9154,10.516,9158,5.478,9159,5.787,9167,5.787,9169,5.787,9674,9.329,9681,9.839,9690,7.409,9959,5.248,9960,6.255,9961,5.478,9962,6.255,9963,5.478,9964,6.255,9965,6.255,9966,6.255,9967,5.787,9968,6.255,9969,6.255,9970,6.255]],["title/injectables/ExternalToolValidationService.html",[539,0.921,9375,5.759]],["body/injectables/ExternalToolValidationService.html",[0,0.18,3,0.012,4,0.012,5,0.006,7,0.076,8,0.953,27,0.474,29,0.91,30,0.001,31,0.656,32,0.154,33,0.552,34,1.562,35,1.337,36,2.62,47,0.656,72,2.4,95,0.142,101,0.008,103,0,104,0,177,1.922,226,0.778,236,1.876,262,2.878,283,7.103,340,2.579,349,0.55,360,2.696,361,3.025,363,4.427,379,0.992,437,0.702,484,4.796,519,2.42,529,3.288,539,1.055,541,1.279,564,2.919,590,3.282,593,3.48,603,2.709,608,2.669,639,2.506,936,5.029,1491,4.595,1778,2.09,1971,3.659,2546,5.457,2548,4.538,2627,6.886,3601,3.759,5265,4.465,5463,4.178,6349,7.103,6355,4.309,6360,7.838,9047,9.103,9054,7.882,9056,7.882,9105,4.178,9106,8.884,9314,4.316,9328,4.661,9339,5.617,9352,4.661,9375,6.593,9377,9.994,9394,4.661,9396,4.924,9408,4.924,9418,8.408,9440,4.924,9775,6.593,9841,4.924,9855,4.924,9856,4.924,9858,8.642,9971,7.858,9972,7.858,9973,7.858,9974,7.858,9975,7.858,9976,7.858,9977,7.858,9978,5.322,9979,7.858,9980,7.858,9981,5.322,9982,7.858,9983,5.322,9984,5.322,9985,5.322,9986,7.858,9987,5.322,9988,5.322,9989,7.858,9990,5.322,9991,7.858,9992,5.322,9993,5.322,9994,5.322,9995,7.858,9996,5.322,9997,5.322,9998,5.322,9999,5.322,10000,5.322,10001,5.322,10002,5.322,10003,5.322,10004,5.322]],["title/injectables/ExternalToolVersionService.html",[539,0.921,9376,5.759]],["body/injectables/ExternalToolVersionService.html",[0,0.163,3,0.011,4,0.011,5,0.005,7,0.069,8,0.885,27,0.489,29,0.939,30,0.001,31,0.676,32,0.154,33,0.569,35,1.443,95,0.105,101,0.007,103,0,104,0,119,2.695,226,0.705,349,1.32,437,1.748,519,2.249,539,0.98,541,1.159,603,2.806,708,1.933,1778,1.895,2546,5.57,2548,4.094,2616,9.289,2627,5.728,5520,4.225,5528,4.225,5530,7.953,5535,4.047,5536,4.047,5966,3.22,9047,9.29,9376,6.125,10005,4.824,10006,7.301,10007,7.301,10008,7.301,10009,7.301,10010,7.301,10011,7.301,10012,7.301,10013,7.301,10014,7.301,10015,13.26,10016,4.824,10017,8.809,10018,7.301,10019,4.824,10020,7.301,10021,13.26,10022,4.824,10023,7.301,10024,4.824,10025,7.301,10026,4.824,10027,7.301,10028,4.824,10029,7.301,10030,4.824,10031,7.301,10032,8.809,10033,4.824,10034,4.824,10035,4.824,10036,7.301,10037,4.824,10038,4.824,10039,4.824,10040,4.824,10041,7.301,10042,7.301,10043,7.301,10044,4.824,10045,4.824,10046,4.824,10047,4.824,10048,4.824,10049,4.824,10050,11.179,10051,4.824,10052,12.158,10053,7.301,10054,4.824,10055,4.824,10056,4.824,10057,7.301,10058,4.824,10059,4.824,10060,7.301,10061,4.824,10062,4.824,10063,4.824,10064,4.824,10065,4.824,10066,4.824,10067,4.824,10068,4.824,10069,9.824,10070,9.824,10071,9.824,10072,4.824,10073,4.824,10074,4.824]],["title/classes/ExternalUserDto.html",[0,0.232,10075,5.007]],["body/classes/ExternalUserDto.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,27,0.551,29,0.687,30,0.001,31,0.494,32,0.173,33,0.666,47,0.966,95,0.103,99,1.409,101,0.013,103,0.001,104,0.001,112,0.842,181,2.978,379,1.096,381,2.943,651,5.819,652,5.819,653,6.201,655,6.118,3140,6.077,4660,6.634,7119,5.183,7120,5.357,7398,6.819,7399,7.032,8957,11.407,8979,8.036,8981,8.036,8982,8.036,10075,9.558,10076,11.004,10077,8.686,10078,8.686,10079,5.798,10080,6.336,10081,5.798,10082,6.336,10083,6.336,10084,7.032]],["title/injectables/FeathersAuthProvider.html",[539,0.921,1764,5.557]],["body/injectables/FeathersAuthProvider.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.025,26,2.863,27,0.491,29,0.943,30,0.001,31,0.679,32,0.154,33,0.572,35,1.392,36,2.784,39,3.358,47,0.804,49,3.754,95,0.129,96,1.573,97,2.449,99,0.955,101,0.009,103,0,104,0,105,0.602,145,1.65,226,0.86,236,0.958,239,2.946,262,3.004,310,2.552,345,1.876,349,1.233,379,0.743,437,1.713,529,1.68,539,1.135,541,1.414,560,4.066,593,2.192,603,2.036,608,2.655,654,1.767,742,3.232,934,3.549,1002,3.989,1723,5.802,1764,6.844,1776,4.937,2351,5.732,2681,4.534,4266,3.87,7099,7.969,7105,7.117,7283,7.587,8580,6.167,8942,5.153,8943,8.701,10085,11.368,10086,5.444,10087,8.454,10088,9.154,10089,7.404,10090,8.454,10091,9.154,10092,5.884,10093,8.454,10094,5.884,10095,5.444,10096,5.884,10097,8.454,10098,5.884,10099,8.454,10100,5.884,10101,5.884,10102,5.884,10103,8.454,10104,8.454,10105,8.454,10106,5.884,10107,5.884,10108,5.884,10109,8.454,10110,8.454,10111,6.637,10112,6.844,10113,5.884,10114,4.937,10115,5.884,10116,5.884,10117,5.884,10118,7.404,10119,5.444,10120,5.884,10121,5.884]],["title/injectables/FeathersAuthorizationService.html",[539,0.921,1759,5.759]],["body/injectables/FeathersAuthorizationService.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.024,26,2.786,27,0.445,29,0.855,30,0.001,31,0.615,32,0.14,33,0.518,35,1.391,36,2.554,39,3.435,47,0.837,95,0.118,99,0.953,101,0.009,103,0,104,0,154,2.412,155,3.529,226,0.859,236,1.376,239,3.044,262,2.826,319,4.58,333,5.53,345,1.873,349,0.873,379,0.742,437,1.425,529,2.411,539,1.134,541,1.412,565,5.04,608,2.654,643,2.637,696,2.281,993,6.658,1459,5.146,1723,7.121,1759,7.086,1764,9.651,1779,3.583,1877,5.637,2251,4.757,3308,5.637,7099,8.425,7105,8.207,7129,6.453,7283,9.225,10085,10.593,10122,5.876,10123,9.887,10124,8.445,10125,9.887,10126,5.876,10127,5.876,10128,5.876,10129,5.876,10130,6.453,10131,7.813,10132,8.445,10133,5.876,10134,5.876,10135,5.876,10136,7.813,10137,5.876,10138,5.876,10139,5.876,10140,5.876,10141,5.876,10142,5.876,10143,5.876,10144,3.76,10145,5.876,10146,5.876,10147,7.813,10148,5.876,10149,5.876,10150,5.876,10151,8.445,10152,5.876,10153,5.876]],["title/interfaces/FeathersError.html",[105,0.702,8933,5.759]],["body/interfaces/FeathersError.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.182,47,0.974,55,2.631,101,0.016,103,0.001,104,0.001,105,1.03,107,2.363,112,0.922,180,2.1,951,6.258,990,4.122,8933,10.108,10154,10.061,10155,10.061,10156,12.366]],["title/modules/FeathersModule.html",[201,1.848,1757,5.557]],["body/modules/FeathersModule.html",[0,0.303,3,0.02,4,0.02,5,0.01,30,0.001,95,0.134,101,0.014,103,0.001,104,0.001,141,5.251,153,2.052,201,3.56,203,4.451,204,3.489,205,3.588,206,3.574,207,3.559,208,4.53,209,4.648,218,4.495,219,3.517,220,3.436,226,1.308,316,6.062,493,5.502,560,4.609,950,6.918,1757,11.081,1779,7.469,2443,7.178,4729,7.487,8943,10.365,10157,8.954,10158,8.954,10159,8.954,10160,8.954,10161,8.806,10162,9.081,10163,9.081,10164,9.411,10165,9.411,10166,9.824,10167,8.284]],["title/injectables/FeathersRosterService.html",[539,0.921,10168,5.245]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.007,4,0.007,5,0.003,7,0.044,8,0.619,26,2.201,27,0.476,29,0.914,30,0.001,31,0.679,32,0.158,33,0.554,34,0.853,35,1.378,36,2.693,47,0.951,51,3.736,55,0.627,72,2.302,95,0.138,99,0.499,101,0.005,103,0,104,0,105,0.865,119,0.635,153,0.704,177,1.698,203,1.854,226,0.449,236,1.484,239,1.196,262,2.934,284,3.266,349,1.147,358,2.278,379,0.644,437,1.73,475,2.584,528,1.578,529,2.174,539,0.685,541,0.739,560,3.13,564,2.379,593,1.901,603,2.763,608,2.994,696,1.981,933,4.679,975,3.713,1122,3.265,1779,3.111,1898,4.084,1899,3.937,1901,3.25,1911,6.545,1920,3.669,1926,4.163,1928,1.942,1933,3.648,1940,2.292,1941,2.292,2159,5.98,2232,1.732,2395,3.014,2424,3.014,2627,6.292,3122,1.327,3602,3.309,3603,1.547,4266,1.724,4417,4.187,4539,2.084,4540,2.156,4541,1.834,4660,3.593,4661,2.197,4822,5.382,4833,4.719,5310,2.052,5575,3.579,5952,4.303,5991,5.343,6055,2.084,6069,6.262,6127,3.648,6217,2.156,6290,4.879,6308,6.444,6324,4.035,6327,2.242,6341,3.899,6349,5.954,6722,3.014,6725,4.133,6726,2.156,6829,2.242,6878,2.413,7322,5.581,7328,3.46,7521,3.185,9065,2.197,9125,2.349,9147,2.242,9314,5.005,9339,5.444,9457,3.648,9460,7.336,9466,5.084,9479,4.281,9495,3.899,10168,3.899,10169,9.513,10170,2.489,10171,4.131,10172,4.131,10173,4.131,10174,3.648,10175,4.131,10176,5.103,10177,5.103,10178,5.103,10179,4.721,10180,5.103,10181,5.103,10182,5.103,10183,5.103,10184,5.103,10185,5.103,10186,5.103,10187,2.489,10188,6.654,10189,3.074,10190,4.131,10191,3.074,10192,3.074,10193,4.131,10194,3.074,10195,4.131,10196,3.074,10197,4.131,10198,8.489,10199,3.074,10200,4.131,10201,3.074,10202,4.131,10203,3.074,10204,4.131,10205,3.074,10206,4.131,10207,3.074,10208,7.934,10209,4.131,10210,3.074,10211,4.131,10212,3.074,10213,4.131,10214,3.074,10215,2.349,10216,2.489,10217,4.006,10218,5.98,10219,4.006,10220,4.131,10221,4.131,10222,6.84,10223,4.131,10224,2.489,10225,4.131,10226,2.489,10227,2.489,10228,4.131,10229,2.489,10230,2.489,10231,4.131,10232,2.489,10233,2.489,10234,2.489,10235,2.489,10236,2.489,10237,2.489,10238,2.489,10239,2.489,10240,2.489,10241,2.489,10242,5.296,10243,2.489,10244,2.489,10245,2.489,10246,2.489,10247,2.489,10248,2.489,10249,2.489,10250,2.489,10251,2.489,10252,2.489,10253,2.489,10254,4.131,10255,2.489,10256,2.413,10257,2.489,10258,3.406,10259,2.052,10260,2.413,10261,2.413,10262,2.489,10263,4.131,10264,2.489,10265,4.131,10266,2.489,10267,2.413,10268,2.489,10269,2.489,10270,2.489,10271,2.489,10272,2.489,10273,2.489,10274,2.489,10275,2.413,10276,2.413]],["title/interfaces/FeathersService.html",[105,0.702,10277,6.012]],["body/interfaces/FeathersService.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.094,8,1.103,27,0.466,29,0.828,30,0.001,31,0.596,32,0.154,33,0.502,34,1.521,35,1.272,36,2.643,47,0.795,59,3.489,95,0.135,101,0.018,102,5.304,103,0,104,0,105,0.668,107,1.533,141,5.577,201,1.757,203,2.371,226,0.954,236,1.063,271,4.868,284,1.971,316,6.438,333,4.458,349,0.675,353,4.498,437,1.199,493,3.201,511,2.899,521,3.602,529,1.863,539,1.221,560,5.306,591,6.382,593,2.431,603,1.343,639,3.072,685,3.803,769,4.498,936,4.176,950,7.347,988,3.964,996,4.382,997,4.235,998,4.332,999,4.577,1000,4.996,1107,3.555,1296,4.867,1779,6.386,1994,6.381,2417,4.025,2443,4.176,3916,5.822,4729,4.356,4743,5.984,5284,5.747,5558,3.706,6865,3.894,8909,4.987,8943,4.761,9425,4.761,10161,5.124,10162,5.283,10163,5.283,10164,5.475,10165,5.475,10166,5.716,10277,9.922,10278,10.48,10279,5.716,10280,8.416,10281,12.624,10282,6.526,10283,10.48,10284,8.416,10285,6.526,10286,8.416,10287,6.526,10288,5.716,10289,6.038,10290,6.038,10291,6.038,10292,6.038,10293,6.038,10294,8.416,10295,6.038,10296,5.475,10297,5.124,10298,6.038,10299,6.038,10300,6.038,10301,6.038]],["title/injectables/FeathersServiceProvider.html",[539,0.921,8943,5.007]],["body/injectables/FeathersServiceProvider.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.097,8,1.133,27,0.44,29,0.739,30,0.001,31,0.532,32,0.149,33,0.448,34,1.135,35,0.825,36,2.291,47,0.809,95,0.137,101,0.018,102,5.415,103,0,104,0,105,0.695,141,6.193,153,1.556,201,1.828,203,3.397,226,0.992,236,1.106,271,4.276,316,6.227,333,4.551,349,0.702,353,6.443,360,3.438,379,0.857,437,1.232,493,4.585,511,3.015,521,3.701,529,1.938,539,1.255,541,1.631,560,5.357,591,5.267,593,2.528,603,1.397,639,3.195,769,4.678,936,4.344,950,7.105,988,4.073,996,4.503,997,4.352,998,4.451,999,4.703,1000,5.134,1107,3.698,1296,5.062,1779,7.025,1994,6.557,2417,4.186,2443,5.982,3916,5.982,4729,6.24,4743,3.585,5284,5.906,5558,3.809,6865,4.05,8909,5.186,8943,6.819,9425,4.951,10161,7.339,10162,7.568,10163,7.568,10164,7.843,10165,7.843,10166,8.187,10277,10.09,10278,9.892,10279,5.945,10280,6.279,10281,11.178,10283,8.648,10284,6.279,10286,6.279,10288,5.945,10289,6.279,10290,6.279,10291,6.279,10292,6.279,10293,8.648,10294,8.648,10295,6.279,10296,5.695,10297,5.329,10298,6.279,10299,6.279,10300,6.279,10301,6.279,10302,9.348,10303,6.788,10304,6.788,10305,6.788]],["title/entities/FederalStateEntity.html",[154,1.389,6713,4.731]],["body/entities/FederalStateEntity.html",[0,0.342,3,0.017,4,0.017,5,0.009,7,0.109,27,0.498,30,0.001,31,0.716,32,0.156,33,0.485,47,0.969,55,1.556,83,2.941,95,0.12,96,2.039,101,0.018,103,0.001,104,0.001,105,0.781,112,0.774,138,2.162,143,2.68,144,3.934,145,3.388,154,2.047,155,2.491,160,5.649,172,3.929,173,2.218,174,3.867,175,3.406,178,3.032,180,1.33,181,2.064,182,2.425,376,3.175,377,3.308,406,4.704,407,5.35,408,4.704,409,5.35,1732,5.304,2044,3.927,2562,5.158,4326,5.35,4332,5.424,4342,3.372,5992,6.87,6008,5.017,6694,10.844,6695,11.014,6696,6.68,6697,6.68,6698,6.68,6699,6.68,6704,8.486,6705,10.585,6706,10.585,6707,6.68,6708,6.68,6709,6.68,6710,6.68,6711,6.68,6712,6.68,6713,6.972,6714,6.68,6715,6.68,6716,5.988,10306,7.628,10307,7.628,10308,7.628,10309,7.628]],["title/injectables/FederalStateRepo.html",[539,0.921,10310,5.759]],["body/injectables/FederalStateRepo.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,8,1.231,10,4.119,12,4.556,18,5.075,26,2.067,27,0.533,29,0.996,30,0.001,31,0.752,32,0.163,33,0.604,34,1.282,35,1.531,36,2.699,40,3.695,47,0.799,49,3.852,95,0.144,96,2.05,99,1.245,101,0.012,103,0.001,104,0.001,154,1.552,155,3.315,173,2.231,180,1.77,226,1.121,262,2.858,349,1.05,382,3.618,479,5.089,539,1.363,541,1.843,679,7.576,685,4.245,686,4.651,687,6.219,711,4.577,712,4.626,713,4.577,714,4.626,715,5.287,716,4.577,717,4.626,718,4.113,3697,5.287,6713,6.998,9534,8.22,9542,8.518,10310,8.518,10311,11.381,10312,7.671,10313,7.671,10314,7.671,10315,7.671]],["title/injectables/FederalStateService.html",[539,0.921,10316,5.759]],["body/injectables/FederalStateService.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.362,27,0.462,29,0.888,30,0.001,31,0.698,32,0.145,33,0.539,35,1.09,36,2.406,47,0.861,95,0.146,99,1.456,101,0.014,103,0.001,104,0.001,177,1.672,226,1.311,227,3.719,262,2.707,345,2.861,349,0.928,379,1.132,437,1.183,539,1.508,541,2.156,608,2.08,685,3.752,1726,3.837,1778,3.525,1834,6.414,3894,6.185,4392,5.99,6713,7.742,10310,11.324,10316,9.424,10317,8.064,10318,12.261,10319,8.974,10320,11.232,10321,8.974,10322,8.974,10323,11.232,10324,8.974,10325,7.529,10326,6.857,10327,8.064,10328,8.974]],["title/interfaces/File.html",[5,0.008,105,0.702]],["body/interfaces/File.html",[3,0.019,4,0.019,5,0.014,7,0.125,30,0.001,32,0.143,47,1.017,55,2.467,95,0.104,101,0.021,103,0.001,104,0.001,105,1.371,107,2.045,112,0.843,284,3.96,360,5.581,556,2.709,1215,7.201,1217,4.904,1361,6.869,2094,5.369,5838,4.994,6441,5.159,6508,6.492,6509,6.492,6510,6.834,6511,6.652,6512,6.652,6513,5.432,6514,6.492,6515,5.902,6516,5.902,6517,5.902,6518,5.902,6519,6.106,6520,5.369,6521,5.25,6522,5.25,6523,6.35,6524,8.42,6525,8.42,6526,6.492]],["title/classes/FileContentBody.html",[0,0.232,5772,4.582]],["body/classes/FileContentBody.html",[0,0.455,2,0.633,3,0.013,4,0.013,5,0.006,7,0.082,9,2.727,27,0.341,30,0.001,31,0.645,32,0.178,47,0.907,83,1.665,95,0.135,99,0.929,101,0.021,103,0,104,0,112,0.634,138,1.483,143,1.27,148,1.774,149,3.754,150,1.287,153,2.233,172,1.789,180,1.976,245,3.574,248,4.864,249,4.623,284,1.73,305,3.316,480,3.153,807,5.305,808,3.282,839,1.779,852,2.666,1142,3.574,1262,1.998,1271,1.784,1643,3.349,1942,4.466,2255,4.333,2501,2.759,2572,5.926,2882,2.727,2883,2.544,2922,2.743,3278,5.815,3280,5.815,3283,3.382,3286,5.073,3289,2.96,3294,3.226,3767,3.574,3788,3.574,3789,6.912,4163,5.685,5681,6.236,5683,6.32,5685,6.236,5687,6.32,5689,6.32,5734,3.767,5771,6.505,5772,7.13,5773,6.505,5774,6.505,5775,6.505,6088,6.867,7227,3.823,7287,3.382,8699,8.263,8700,6.717,8701,3.947,8704,5.453,8705,6.505,8706,6.505,8707,3.947,8708,6.505,8709,3.532,8710,3.883,8711,6.505,8712,6.505,8713,3.823,8714,3.823,8715,3.823,8716,3.823,8717,3.947,8718,3.947,8719,3.947,8720,3.947,8721,3.947,10329,5.727,10330,5.727]],["title/classes/FileDto.html",[0,0.232,6573,5.119]],["body/classes/FileDto.html",[0,0.31,2,1.011,3,0.02,4,0.02,5,0.015,7,0.131,27,0.533,29,0.724,30,0.001,31,0.737,32,0.168,33,0.439,47,0.909,95,0.135,101,0.014,103,0.001,104,0.001,112,0.87,284,3.737,379,1.155,834,4.988,1147,3.454,1215,6.795,1217,5.158,1361,6.687,2044,3.554,3601,3.684,6419,6.23,6456,6.207,6573,9.925,10331,9.156,10332,9.542,10333,9.156,10334,9.156,10335,9.156,10336,9.156,10337,5.647,10338,7.681,10339,7.188,10340,7.412]],["title/classes/FileDto-1.html",[0,0.193,708,2.287,6573,4.256]],["body/classes/FileDto-1.html",[0,0.297,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,26,2.676,27,0.541,29,0.694,30,0.001,31,0.726,32,0.17,33,0.421,34,2.029,47,0.778,95,0.145,99,1.425,101,0.014,103,0.001,104,0.001,107,2.062,112,0.848,181,2.998,379,1.108,381,2.975,404,3.533,405,4.708,2044,3.408,3600,6.667,3632,5.591,4342,3.881,5933,5.621,5942,5.619,6419,6.284,6438,6.667,6452,6.893,6573,8.263,8898,5.415,10341,8.78,10342,10.696,10343,11.079,10344,8.78,10345,8.78,10346,8.78,10347,6.548,10348,7.69]],["title/classes/FileDtoBuilder.html",[0,0.232,10349,6.35]],["body/classes/FileDtoBuilder.html",[0,0.258,2,0.841,3,0.017,4,0.017,5,0.015,7,0.109,8,1.225,27,0.467,29,0.896,30,0.001,31,0.735,32,0.147,33,0.544,35,1.378,47,0.951,95,0.144,101,0.012,103,0.001,104,0.001,236,1.24,284,4.043,349,1.172,413,4.092,437,1.592,454,4.678,662,3.522,824,4.022,1215,7.239,1217,5.692,1361,6.982,1970,8.633,1982,5.34,6419,5.654,6573,9.982,10349,9.346,10350,10.577,10351,7.613,10352,10.103,10353,10.103,10354,10.103,10355,7.613,10356,10.103,10357,7.613,10358,10.103,10359,12.568,10360,7.613,10361,7.043,10362,7.613,10363,7.613,10364,7.613,10365,7.613,10366,7.613,10367,7.043,10368,7.613,10369,6.387]],["title/classes/FileElement.html",[0,0.232,2864,4.233]],["body/classes/FileElement.html",[0,0.214,2,0.7,3,0.014,4,0.014,5,0.007,7,0.091,8,1.08,27,0.555,29,0.992,30,0.001,31,0.715,32,0.169,33,0.602,35,1.583,36,1.908,47,0.927,55,1.818,59,1.951,95,0.106,101,0.016,103,0,104,0,105,0.648,112,0.682,119,2.129,137,5.559,145,1.775,180,1.796,262,2.275,349,1.156,381,3.019,382,3.828,448,3.614,474,2.696,479,3.283,480,3.11,517,3.367,519,3.764,604,2.602,608,1.468,662,2.767,686,4.081,1218,2.394,1664,2.368,1665,3.708,1668,6.51,1739,4.103,1944,2.671,2512,5.852,2786,7.943,2789,6.367,2790,6.367,2791,6.367,2792,7.463,2793,6.367,2795,4.107,2796,5.494,2797,6.603,2799,6.249,2800,5.494,2801,6.475,2803,4.442,2804,4.741,2806,6.51,2807,4.442,2811,4.442,2813,4.107,2840,5.432,2864,6.896,3278,6.672,3280,6.672,4026,4.62,4027,4.62,4028,4.62,4037,4.001,9173,4.527,9175,5.859,9178,5.547,9180,5.547,10370,10.9,10371,6.333,10372,6.333,10373,6.333,10374,6.333,10375,6.333,10376,5.859,10377,6.333,10378,5.859,10379,8.241,10380,5.859,10381,8.241,10382,5.859,10383,5.859,10384,5.859,10385,5.547,10386,5.859]],["title/classes/FileElementContent.html",[0,0.232,10387,5.759]],["body/classes/FileElementContent.html",[0,0.363,2,0.92,3,0.018,4,0.018,5,0.009,7,0.12,27,0.488,29,0.659,30,0.001,31,0.474,32,0.171,33,0.399,34,1.98,47,0.908,95,0.141,99,1.352,101,0.017,103,0.001,104,0.001,112,0.82,138,1.917,150,1.872,245,3.535,253,4.112,379,1.495,404,3.352,774,4.248,839,2.588,2255,4.528,2566,3.719,2918,4.467,2919,4.467,2922,3.99,3278,7.719,3280,7.719,3461,5.844,3473,4.971,3716,7.068,3720,6.265,3724,5.561,3726,5.561,3771,7.659,4163,6.304,5681,5.331,9189,6.744,10387,11.109,10388,11.568,10389,7.296,10390,7.707,10391,6.989,10392,6.989]],["title/classes/FileElementContentBody.html",[0,0.232,8705,4.582]],["body/classes/FileElementContentBody.html",[0,0.455,2,0.63,3,0.013,4,0.013,5,0.006,7,0.082,9,2.715,27,0.34,30,0.001,31,0.644,32,0.18,47,0.875,83,1.658,95,0.135,99,0.925,101,0.021,103,0,104,0,112,0.633,138,1.479,143,1.265,148,1.766,149,3.745,150,1.281,153,2.228,172,1.782,180,2.057,245,3.572,248,4.858,249,4.617,284,1.722,305,3.303,382,1.704,480,3.148,556,1.402,807,5.289,808,3.272,819,2.869,839,1.771,852,2.655,1142,3.559,1262,1.989,1271,1.777,1643,3.335,1942,4.064,2255,4.653,2501,2.747,2882,2.715,2883,2.534,2922,2.731,3278,3.403,3280,3.403,3283,3.368,3286,5.061,3289,2.948,3294,3.213,3767,3.559,3788,3.559,3789,6.9,4163,5.673,5681,6.822,5683,6.305,5685,6.221,5687,6.305,5689,6.305,5734,3.751,5771,6.489,5772,7.116,5773,6.489,5774,6.489,5775,6.489,6088,6.858,7227,3.807,7287,3.368,8699,8.614,8700,5.697,8701,3.931,8704,5.436,8705,7.116,8706,6.489,8707,3.931,8708,6.489,8709,3.517,8710,3.866,8711,6.489,8712,6.489,8713,3.807,8714,3.807,8715,3.807,8716,3.807,8717,3.931,8718,3.931,8719,3.931,8720,3.931,8721,3.931,9194,4.477,10393,5.703,10394,5.703]],["title/entities/FileElementNode.html",[154,1.389,3207,5.389]],["body/entities/FileElementNode.html",[0,0.293,3,0.019,4,0.019,5,0.01,7,0.124,27,0.452,30,0.001,32,0.142,47,0.939,95,0.151,96,2.312,101,0.017,103,0.001,104,0.001,105,0.885,112,0.84,138,1.964,154,2.221,155,2.824,172,4.088,173,2.515,180,1.913,181,2.34,349,0.894,403,4.831,437,1.14,1664,3.234,1665,5.018,1942,5.04,2512,5.256,2565,4.917,2566,3.862,3171,5.797,3182,6.619,3207,8.616,3249,5.334,3270,9.612,3278,7.566,3280,7.566,3620,6.769,3641,5.398,4126,5.535,4128,5.535,10391,7.257,10392,7.257,10395,11.153,10396,8.002,10397,7.575,10398,9.612,10399,8.002,10400,8.002,10401,8.002]],["title/interfaces/FileElementNodeProps.html",[105,0.702,10398,6.012]],["body/interfaces/FileElementNodeProps.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,32,0.144,47,0.968,95,0.152,96,2.352,101,0.017,103,0.001,104,0.001,105,0.9,107,2.067,112,0.849,154,2.245,172,3.796,173,2.559,180,2.118,181,2.381,349,0.91,403,4.914,437,1.16,1664,3.29,1665,5.058,1942,3.679,2512,5.313,2565,5.002,2566,3.929,3171,5.86,3182,6.691,3207,6.908,3249,5.427,3270,9.717,3278,7.849,3280,7.849,3620,7.494,3641,5.491,4126,5.631,4128,5.631,10391,7.382,10392,7.382,10395,8.14,10398,10.642,10399,8.14,10400,8.14,10401,8.14]],["title/interfaces/FileElementProps.html",[105,0.702,10385,6.012]],["body/interfaces/FileElementProps.html",[0,0.287,3,0.019,4,0.019,5,0.009,7,0.122,30,0.001,32,0.155,36,1.814,47,0.978,95,0.129,101,0.019,103,0.001,104,0.001,105,0.867,107,1.989,112,0.829,119,1.75,145,2.374,180,2.081,262,1.87,349,1.301,474,3.605,480,3.012,517,4.093,519,2.609,604,3.48,608,1.963,1218,3.202,1664,3.166,1739,4.987,1944,3.573,2786,6.603,2792,5.653,2796,5.223,2797,6.396,2800,5.223,2801,6.271,2840,7.279,2864,7.362,3278,7.759,3280,7.759,4037,5.351,9173,6.054,10370,7.835,10379,10.018,10380,7.835,10381,10.018,10382,7.835,10383,7.835,10384,7.835,10385,9.484,10386,7.835]],["title/classes/FileElementResponse.html",[0,0.232,3771,4.906]],["body/classes/FileElementResponse.html",[0,0.35,2,0.872,3,0.017,4,0.017,5,0.009,7,0.113,27,0.524,29,0.624,30,0.001,31,0.449,32,0.178,33,0.379,34,2.126,47,0.86,95,0.137,99,1.281,101,0.016,103,0.001,104,0.001,112,0.792,138,2.192,150,1.774,245,3.499,253,3.896,379,1.457,404,3.176,774,4.025,839,2.452,2255,4.862,2566,3.525,2917,5.192,2918,5.548,2919,5.548,2921,4.662,2922,4.955,3278,6.887,3280,6.887,3461,5.537,3473,4.711,3716,7.589,3720,6.749,3724,5.269,3726,5.269,3771,9.09,4163,6.768,5681,6.621,10387,10.277,10388,12.073,10391,6.623,10392,6.623,10402,6.914,10403,6.914,10404,6.914,10405,6.914,10406,6.914]],["title/classes/FileElementResponseMapper.html",[0,0.232,5708,6.012]],["body/classes/FileElementResponseMapper.html",[0,0.264,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,27,0.502,29,0.812,30,0.001,31,0.584,32,0.158,33,0.492,34,1.304,35,1.394,95,0.137,99,1.266,100,2.653,101,0.012,103,0.001,104,0.001,112,0.786,119,2.122,236,1.986,349,1.187,376,3.248,413,3.929,437,1.029,603,2.361,604,3.206,662,2.424,739,4.432,782,4.656,783,5.735,786,6.126,788,5.819,1147,3.119,1942,5.626,2000,4.477,2255,2.983,2503,8.559,2506,8.062,2507,8.062,2509,7.846,2864,8.299,3278,4.656,3280,4.656,3716,4.656,3720,6.004,3737,5.578,3771,8.717,4163,4.153,5284,7.251,5681,4.993,5706,6.126,5708,11.614,9211,9.318,9212,6.547,9213,6.126,9215,6.317,9216,6.317,9217,6.317,10387,8.615,10407,12.67,10408,11.477,10409,7.803,10410,7.803]],["title/entities/FileEntity.html",[154,1.389,8202,5.245]],["body/entities/FileEntity.html",[0,0.12,3,0.008,4,0.008,5,0.009,7,0.148,26,2.312,27,0.532,30,0.001,31,0.52,32,0.17,33,0.628,47,0.914,49,4.195,55,1.993,83,2.841,95,0.127,96,1.537,97,1.481,99,0.577,101,0.009,103,0,104,0,105,0.364,112,0.44,119,1.496,133,1.994,138,2.313,143,2.974,144,4.286,145,3.255,154,1.164,155,1.162,160,5.978,172,4.039,173,1.035,174,2.199,180,0.62,181,0.963,182,1.131,236,1.801,280,5.733,349,1.01,357,2.719,376,1.481,377,1.543,406,2.194,407,4.035,408,2.194,409,4.035,437,0.469,480,2.54,486,2.75,490,1.266,519,1.772,529,1.016,556,2.958,570,5.13,603,0.732,662,2.249,708,1.426,766,1.987,823,4.86,839,1.787,990,1.217,1717,1.704,1723,4.212,1732,3.016,1778,1.397,1984,1.938,2044,1.381,2566,1.589,2670,4.711,3366,2.839,3600,2.857,3632,2.649,4323,4.826,4326,4.035,4332,3.883,4333,2.123,4336,2.985,4341,2.985,4342,1.573,4404,2.146,4677,1.827,4856,6.81,5094,2.664,5111,1.923,5932,3.109,5935,1.893,5936,5.176,5937,2.543,5938,4.909,5943,2.452,5945,2.543,6441,2.693,6448,2.277,6516,6.191,6740,2.985,7000,2.412,7295,2.595,8197,6.81,8199,6.978,8202,4.395,8253,7.284,10348,3.116,10411,3.291,10412,6.699,10413,6.699,10414,6.355,10415,7.695,10416,7.284,10417,6.067,10418,6.978,10419,7.695,10420,7.695,10421,7.695,10422,3.558,10423,3.558,10424,7.695,10425,3.558,10426,4.29,10427,3.558,10428,3.558,10429,3.558,10430,3.558,10431,3.558,10432,3.558,10433,3.558,10434,3.558,10435,7.393,10436,3.558,10437,7.284,10438,3.558,10439,8.324,10440,3.558,10441,3.558,10442,3.558,10443,3.558,10444,5.322,10445,3.558,10446,3.558,10447,3.558,10448,3.558,10449,5.322,10450,3.558,10451,2.496,10452,2.653,10453,3.291,10454,3.291,10455,6.342,10456,5.322,10457,3.291,10458,8.448,10459,3.291,10460,3.291,10461,3.291,10462,2.543,10463,6.699,10464,4.395,10465,5.322,10466,5.322,10467,5.322,10468,3.291,10469,3.291,10470,3.291,10471,4.29,10472,3.291,10473,3.291,10474,3.291,10475,5.862,10476,6.699,10477,3.291,10478,3.291,10479,2.985,10480,5.322,10481,3.291,10482,3.291,10483,3.291,10484,3.291,10485,3.291,10486,3.291,10487,5.322,10488,3.291,10489,5.322,10490,2.719,10491,5.322,10492,3.291,10493,2.595,10494,3.291,10495,3.291,10496,3.291,10497,3.291,10498,2.719,10499,2.793,10500,3.291,10501,3.291,10502,3.291,10503,5.322,10504,3.291]],["title/interfaces/FileEntityProps.html",[105,0.702,10455,6.012]],["body/interfaces/FileEntityProps.html",[0,0.13,3,0.008,4,0.008,5,0.01,7,0.152,26,2.631,30,0.001,31,0.575,32,0.175,33,0.663,47,0.955,49,3.599,55,2.245,83,3.451,95,0.131,96,1.633,97,1.597,99,0.622,101,0.009,103,0,104,0,105,0.393,107,0.901,112,0.468,119,2.19,133,1.33,143,2.787,144,4.134,145,2.833,154,1.236,172,4.004,173,1.116,174,2.336,180,0.669,181,1.038,182,1.22,236,1.792,280,6.538,349,1.045,357,2.931,376,3.616,377,3.766,406,2.366,407,4.287,408,2.366,409,4.287,437,0.506,490,1.365,519,1.882,529,1.095,556,3.015,570,4.697,603,0.789,662,2.366,708,1.537,766,2.143,823,5.378,839,1.898,990,1.313,1717,1.837,1723,4.804,1732,2.012,1778,1.507,1984,2.09,2044,1.489,2566,1.713,2670,4.629,3366,1.894,3600,3.035,3632,4.369,4332,4.084,4333,2.289,4336,3.219,4341,3.219,4342,1.696,4404,2.314,4677,1.969,5094,2.83,5111,2.073,5932,5.126,5935,2.042,5936,2.742,5937,2.742,5938,2.601,5943,2.644,5945,2.742,6441,2.861,6448,2.455,6516,6.851,7295,2.799,8197,7.536,8199,7.958,8202,2.931,8253,8.307,10348,3.36,10411,3.549,10412,3.549,10413,3.549,10414,7.248,10415,8.775,10416,8.307,10417,6.919,10418,7.958,10419,8.775,10420,8.775,10421,8.775,10424,9.348,10426,2.861,10435,8.181,10437,8.307,10439,8.581,10444,3.549,10449,3.549,10451,2.691,10452,2.861,10453,3.549,10454,3.549,10455,7.607,10456,8.775,10457,3.549,10458,8.775,10459,3.549,10460,3.549,10461,3.549,10462,2.742,10463,7.046,10464,4.669,10465,5.653,10466,5.653,10467,5.653,10468,3.549,10469,3.549,10470,3.549,10471,4.557,10472,3.549,10473,3.549,10474,3.549,10475,6.166,10476,7.046,10477,3.549,10478,3.549,10479,3.219,10480,5.653,10481,3.549,10482,3.549,10483,3.549,10484,3.549,10485,3.549,10486,3.549,10487,5.653,10488,3.549,10489,5.653,10490,2.931,10491,5.653,10492,3.549,10493,2.799,10494,3.549,10495,3.549,10496,3.549,10497,3.549,10498,2.931,10499,3.012,10500,3.549,10501,3.549,10502,3.549,10503,5.653,10504,3.549]],["title/classes/FileMetadata.html",[0,0.232,10505,5.557]],["body/classes/FileMetadata.html",[0,0.304,2,0.449,3,0.009,4,0.009,5,0.005,7,0.058,27,0.369,29,0.506,30,0.001,31,0.59,32,0.116,33,0.195,47,0.923,55,2.741,72,1.832,83,2.836,95,0.107,96,1.086,99,0.659,101,0.014,103,0,104,0,112,0.489,119,2.14,142,1.583,143,2.915,144,4.25,145,1.139,153,0.931,154,1.294,157,2.535,172,4.325,173,1.181,174,2.444,178,1.615,180,0.708,182,1.291,238,2.269,250,2.6,319,3.8,349,0.927,360,4.94,379,0.513,413,1.227,517,1.536,662,1.986,696,4.021,708,4.343,739,4.471,823,5.768,997,1.891,1105,4.876,1109,6.853,1110,7.453,1111,7.453,1125,5.468,1134,4.571,1147,2.962,1271,1.266,1288,2.213,1664,2.391,1823,4.886,2024,3.681,2044,1.577,2171,3.483,2255,3.023,2427,3.99,2494,4.268,2723,4.407,2784,1.923,2882,1.934,3122,1.753,3130,3.856,3625,3.189,3671,4.206,4745,4.147,5126,3.899,5384,4.571,5515,3.777,5541,3.99,5840,3.104,5841,3.104,5842,3.03,5843,3.104,5844,2.635,5850,3.03,5851,3.104,5863,6.042,5866,2.85,5867,3.104,5883,3.668,5884,3.104,5886,3.104,5894,2.85,5897,3.104,5899,3.104,5901,3.104,5903,3.104,5909,3.104,6441,3.702,6448,2.6,6679,2.904,6791,2.505,8555,2.8,10505,7.26,10506,3.408,10507,6.208,10508,8.281,10509,5.365,10510,6.394,10511,4.062,10512,4.062,10513,5.365,10514,5.365,10515,5.365,10516,3.408,10517,7.26,10518,3.408,10519,5.365,10520,5.365,10521,5.365,10522,3.189,10523,3.408,10524,3.104,10525,5.177,10526,6.634,10527,6.609,10528,3.408,10529,6.634,10530,6.772,10531,5.177,10532,5.02,10533,5.365,10534,5.02,10535,5.365,10536,4.664,10537,5.365,10538,5.02,10539,5.365,10540,5.177,10541,5.365,10542,5.365,10543,3.189,10544,3.408,10545,6.042,10546,3.189,10547,2.85,10548,3.408,10549,3.408,10550,3.408,10551,3.408,10552,3.408,10553,3.408,10554,3.408,10555,3.408,10556,3.408,10557,3.408,10558,3.408,10559,3.408,10560,3.408,10561,3.408,10562,3.408,10563,3.408,10564,3.408,10565,3.408,10566,3.408,10567,3.408,10568,3.408,10569,3.408,10570,3.408,10571,3.408,10572,3.408,10573,3.408,10574,3.408,10575,3.408,10576,3.408,10577,3.408,10578,3.408,10579,3.408,10580,3.408,10581,3.408,10582,3.408,10583,3.408,10584,3.408,10585,3.408,10586,3.408,10587,3.408,10588,3.408,10589,3.408,10590,3.408,10591,3.408,10592,3.408,10593,3.408,10594,3.408,10595,3.408,10596,3.408,10597,3.408,10598,3.408,10599,3.408,10600,3.408,10601,3.408,10602,3.408,10603,3.408,10604,3.408,10605,3.408,10606,3.408,10607,3.408,10608,3.408]],["title/classes/FileParamBuilder.html",[0,0.232,6558,6.012]],["body/classes/FileParamBuilder.html",[0,0.311,2,1.014,3,0.02,4,0.02,5,0.01,7,0.132,8,1.381,26,2.637,27,0.378,29,0.725,30,0.001,31,0.522,32,0.119,33,0.44,35,1.115,95,0.147,99,1.489,101,0.014,103,0.001,104,0.001,107,2.155,349,0.949,413,3.741,437,1.502,454,5.274,3366,6.113,3600,6.615,3632,4.226,4266,3.847,5933,5.274,6419,5.332,6441,4.296,6529,8.489,6531,9.724,6532,8.489,6535,10.537,6558,9.975,10609,10.537,10610,11.39,10611,11.982,10612,7.699,10613,9.176,10614,9.176,10615,9.176]],["title/classes/FileParams.html",[0,0.232,6481,4.731]],["body/classes/FileParams.html",[0,0.459,2,0.728,3,0.014,4,0.02,5,0.013,7,0.095,26,2.52,27,0.271,30,0.001,32,0.155,39,1.801,47,0.966,95,0.151,99,1.069,101,0.021,103,0,104,0,105,0.674,112,0.701,119,1.892,138,1.179,143,1.461,147,4.95,148,2.041,149,4.382,150,1.481,151,6.113,153,1.51,154,1.333,245,3.594,247,2.831,248,4.939,249,4.451,348,4.608,808,4.899,809,6.248,819,3.316,839,3.27,852,3.068,988,2.871,990,2.254,1079,3.892,1147,2.001,1203,5.861,1204,4.334,1205,4.334,1262,2.299,2739,4.772,2922,5.041,3632,3.035,4266,2.226,5826,6.569,5933,3.051,6088,6.735,6419,4.288,6432,6.024,6438,6.248,6467,4.542,6468,4.622,6469,4.622,6472,7.98,6475,4.542,6476,8.26,6477,7.98,6478,7.98,6479,4.622,6480,4.542,6481,6.312,6482,4.622,6483,4.468,6484,6.209,6485,4.398,6486,4.468,6487,4.542,6488,4.468,6489,4.468,6490,4.217,6491,4.622,6492,4.622,6493,4.622,6494,4.217,6495,4.217,6496,4.334,6497,4.398,6498,4.622,10616,6.59,10617,6.59]],["title/classes/FilePermissionEntity.html",[0,0.232,10435,5.557]],["body/classes/FilePermissionEntity.html",[0,0.241,2,0.787,3,0.016,4,0.016,5,0.008,7,0.102,10,4.769,26,1.967,27,0.534,29,0.563,30,0.001,31,0.405,32,0.142,33,0.341,49,4.159,95,0.14,96,2.581,97,2.964,99,1.155,101,0.015,103,0.001,104,0.001,105,0.729,112,0.739,119,2.429,138,2.267,143,2.924,144,3.144,145,3.295,160,3.977,172,4.222,173,2.07,181,2.614,236,1.16,379,0.899,381,2.413,480,3.27,486,3.54,556,2.89,685,4.914,839,3,1678,7.167,1679,7.846,1778,2.797,2562,4.925,6740,5.974,10435,7.819,10618,11.061,10619,6.587,10620,10.294,10621,10.874,10622,10.294,10623,9.659,10624,7.12,10625,7.12,10626,7.12,10627,10.874,10628,7.12,10629,7.12,10630,6.587,10631,6.587,10632,6.587,10633,6.587,10634,8.459,10635,6.236,10636,8.459,10637,6.236,10638,8.459,10639,6.236,10640,8.459,10641,6.236]],["title/interfaces/FilePermissionEntityProps.html",[105,0.702,10622,6.012]],["body/interfaces/FilePermissionEntityProps.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,10,5.093,26,2.455,30,0.001,32,0.167,33,0.641,49,3.824,95,0.144,96,2.693,97,3.157,99,1.231,101,0.016,103,0.001,104,0.001,105,0.776,107,1.782,112,0.771,119,2.868,143,2.674,144,3.281,145,2.825,172,4.032,173,2.206,181,2.052,236,1.236,556,2.965,685,5.248,839,3.13,1678,7.654,1679,8.379,1778,2.979,2562,5.138,10435,6.14,10618,6.364,10619,7.017,10620,10.994,10621,11.613,10622,9.912,10627,11.613,10630,7.017,10631,7.017,10632,7.017,10633,7.017,10634,8.826,10635,6.643,10636,8.826,10637,6.643,10638,8.826,10639,6.643,10640,8.826,10641,6.643]],["title/entities/FileRecord.html",[154,1.389,6437,4.14]],["body/entities/FileRecord.html",[0,0.271,3,0.007,4,0.007,5,0.008,7,0.144,26,2.409,27,0.458,30,0.001,31,0.595,32,0.148,33,0.384,34,0.914,39,0.913,47,0.855,49,4.103,55,1.415,83,2.912,95,0.124,96,1.461,97,1.391,99,0.542,101,0.016,103,0,104,0,105,0.71,112,0.531,119,2.069,133,2.778,138,1.991,143,2.221,144,2.877,145,1.532,153,0.766,154,2.114,155,1.091,172,3.849,173,0.972,174,2.09,178,1.328,180,0.582,181,1.479,182,1.062,226,0.488,236,1.856,239,0.783,347,2.503,349,1.348,358,2.441,360,2.769,376,1.391,377,1.449,437,1.56,490,2.469,519,2.468,529,0.954,556,2.462,565,3.262,570,4.278,654,2.084,662,3.905,696,1.297,708,1.339,739,2.359,747,3.987,755,3.595,823,5.05,839,3.111,988,2.382,990,2.373,994,2.389,1064,3.706,1223,3.907,1361,5.128,1726,2.337,1819,3.768,1926,1.254,1986,1.935,1987,3.706,2044,3.111,2220,1.917,2396,3.136,2562,2.787,2647,3.027,2670,3.671,2680,1.935,2686,1.507,2696,1.556,2883,1.485,3122,1.442,3171,1.765,3366,2.698,3380,2.303,3632,4.612,3742,1.9,3895,4.077,4266,3.383,4276,2.553,4278,2.111,4326,2.344,4332,2.931,4342,1.477,4343,1.954,4833,1.866,4856,5.173,5146,1.851,5158,1.935,5932,3.749,5933,5.008,5935,2.909,5936,4.958,5937,2.389,5938,5.433,5939,2.389,5940,5.846,5941,2.492,5942,2.138,5943,2.303,5945,2.389,5947,2.492,6419,5.334,6437,4.833,6438,4.854,6439,3.907,6440,5.271,6448,2.138,6456,2.265,6459,5.06,6465,5.271,6760,2.038,6988,2.553,6989,3.987,10347,2.492,10417,5.06,10451,2.344,10464,2.553,10490,4.177,10493,2.438,10498,2.553,10642,2.705,10643,4.292,10644,6.292,10645,5.616,10646,3.342,10647,7.155,10648,3.342,10649,3.091,10650,3.342,10651,3.342,10652,3.091,10653,3.091,10654,3.342,10655,3.342,10656,3.342,10657,3.091,10658,3.342,10659,6.591,10660,3.342,10661,3.342,10662,2.705,10663,2.553,10664,4.292,10665,2.492,10666,3.987,10667,3.987,10668,3.987,10669,2.111,10670,4.425,10671,4.425,10672,4.425,10673,4.425,10674,4.425,10675,4.425,10676,4.292,10677,5.433,10678,4.425,10679,2.553,10680,4.077,10681,2.492,10682,4.177,10683,2.553,10684,4.177,10685,5.446,10686,2.389,10687,2.623,10688,2.438,10689,2.438,10690,2.705,10691,2.705,10692,2.553,10693,2.492,10694,2.705,10695,2.705,10696,2.705,10697,2.705,10698,2.705,10699,2.705,10700,2.705,10701,2.705,10702,7.681,10703,2.705,10704,2.705,10705,4.425,10706,2.705,10707,2.705,10708,4.425,10709,4.425,10710,4.425,10711,2.705,10712,2.705,10713,2.705,10714,2.705,10715,2.705,10716,2.705,10717,2.705,10718,4.425,10719,5.616,10720,2.623,10721,2.705,10722,4.425,10723,2.623,10724,2.705,10725,4.425,10726,2.705,10727,5.616,10728,5.616,10729,2.623,10730,5.616,10731,2.705,10732,2.705,10733,2.705,10734,2.705,10735,2.705,10736,2.705,10737,2.705,10738,2.623,10739,2.705,10740,2.705,10741,2.705,10742,2.705,10743,2.705,10744,2.705,10745,2.705,10746,2.705,10747,2.705]],["title/classes/FileRecordFactory.html",[0,0.232,10748,6.35]],["body/classes/FileRecordFactory.html",[0,0.165,2,0.539,3,0.011,4,0.011,5,0.008,7,0.07,8,0.893,27,0.538,29,1.034,30,0.001,31,0.719,32,0.172,33,0.596,34,1.483,35,1.482,47,0.517,49,1.852,55,2.362,59,3.267,95,0.126,101,0.008,103,0,104,0,112,0.564,120,3.122,133,2.553,140,2.681,153,2.034,154,2.146,155,2.405,177,1.373,180,1.284,236,1.728,271,4.687,319,3.122,349,0.762,379,0.616,382,3.867,413,2.225,437,1.17,447,7.181,448,4.525,449,5.473,452,4.08,453,5.473,454,5.648,455,4.08,456,4.08,457,4.08,458,4.013,459,4.494,460,4.914,461,6.442,462,5.779,463,7.018,464,2.726,469,2.703,470,4.08,471,2.726,472,5.145,473,5.3,474,4.207,475,5.006,476,4.046,477,2.703,478,2.56,479,4.11,480,3.316,481,2.638,482,2.598,483,2.703,484,5.074,485,2.726,486,3.59,487,4.834,488,2.703,489,7.087,490,4.242,491,6.6,492,2.726,493,4.353,494,2.703,495,2.726,496,2.703,497,2.726,498,2.703,499,3.046,500,2.854,501,2.703,502,6.076,503,2.726,504,2.703,505,4.08,506,3.835,507,4.08,508,2.726,509,2.618,510,2.598,511,2.169,512,2.703,513,2.703,514,2.703,515,2.726,516,2.726,517,1.845,518,2.703,519,1.503,520,2.726,521,2.917,522,2.703,523,2.726,524,2.775,525,2.8,526,2.854,527,2.883,823,2.598,988,2.127,1217,2.75,1231,3.084,1361,2.638,3632,2.248,4188,5.537,4266,1.649,5932,2.638,5933,2.26,6437,2.944,6438,2.681,6465,3.211,6990,3.73,7266,4.275,8898,3.011,10367,4.516,10417,3.561,10659,5.494,10684,3.73,10748,8.209,10749,4.881,10750,9.883,10751,4.881,10752,4.275,10753,6.452,10754,4.516,10755,4.881,10756,4.881,10757,4.881]],["title/classes/FileRecordListResponse.html",[0,0.232,6466,5.119]],["body/classes/FileRecordListResponse.html",[0,0.371,2,0.669,3,0.013,4,0.013,5,0.007,7,0.087,27,0.477,29,0.479,30,0.001,31,0.573,32,0.169,33,0.556,34,1.443,47,0.905,55,2.842,56,6.104,59,2.659,70,6.375,83,1.762,95,0.13,101,0.017,103,0,104,0,112,0.661,138,1.961,149,3.874,150,1.361,154,1.226,180,1.753,245,3.505,247,2.603,284,3.744,379,0.765,382,3.275,404,3.474,556,1.49,815,7.815,816,6.752,817,6.289,819,3.049,821,4.657,822,2.936,823,4.595,824,2.149,825,4.251,826,5.599,827,5,828,3.985,829,3.132,830,4.251,831,4.251,833,5.455,834,4.703,839,3.124,1229,4.906,1233,4.757,1262,2.114,1361,3.275,2044,3.351,2782,6.354,2922,4.817,3632,2.791,5932,3.275,5933,2.806,5942,3.878,6419,4.042,6422,4.045,6427,4.906,6428,4.906,6429,4.906,6430,4.906,6431,4.757,6432,5.679,6433,5.084,6434,9.097,6437,5.207,6438,6.02,6439,8.282,6440,6.615,6441,2.837,6442,9.244,6443,5.084,6444,4.906,6445,5.084,6446,3.275,6447,5.084,6448,3.878,6449,5.084,6450,5.084,6451,5.084,6452,4.757,6453,4.906,6454,5.084,6455,5.084,6456,4.108,6457,4.906,6458,4.906,6459,4.42,6460,5.084,6461,5.084,6462,4.906,6463,5.084,6464,4.519,6465,3.985,6466,6.439,10758,6.06,10759,6.06]],["title/classes/FileRecordMapper.html",[0,0.232,10760,6.35]],["body/classes/FileRecordMapper.html",[0,0.246,2,0.802,3,0.016,4,0.016,5,0.008,7,0.104,8,1.187,27,0.456,29,0.875,30,0.001,31,0.63,32,0.143,33,0.531,35,1.345,55,2.738,56,5.708,59,3.014,70,5.961,95,0.117,101,0.011,103,0.001,104,0.001,154,1.469,236,1.803,347,2.62,349,1.145,413,4.053,437,1.562,556,1.785,739,3.133,790,3.653,816,6.454,824,3.472,1203,6.263,6419,5.547,6437,7.987,6440,4.775,6442,9.225,6466,8.256,6485,8.256,10350,10.377,10677,4.922,10686,6.995,10720,5.7,10723,7.683,10729,5.7,10760,9.054,10761,7.26,10762,9.787,10763,10.242,10764,9.054,10765,9.787,10766,7.26,10767,9.94,10768,6.716,10769,7.26,10770,9.054,10771,7.26,10772,6.716,10773,6.716,10774,6.358,10775,7.26,10776,6.716,10777,5.093,10778,9.787,10779,11.071,10780,11.071,10781,7.26,10782,7.26,10783,7.26,10784,11.071,10785,7.26]],["title/classes/FileRecordParams.html",[0,0.232,6472,4.582]],["body/classes/FileRecordParams.html",[0,0.456,2,0.701,3,0.014,4,0.02,5,0.01,7,0.091,26,2.61,27,0.425,30,0.001,32,0.163,39,1.734,47,0.946,95,0.15,99,1.029,101,0.021,103,0,104,0,105,0.649,112,0.682,119,1.843,138,1.845,143,1.407,147,4.82,148,1.965,149,4.31,150,1.425,151,5.952,153,1.454,154,1.283,245,3.578,247,2.725,248,4.879,249,4.377,348,3.191,808,4.84,809,6.145,839,3.204,852,2.953,988,2.764,990,2.17,1079,3.746,1147,1.926,1203,5.707,1204,4.172,1205,4.172,1262,2.213,2739,4.675,2921,3.746,2922,5.358,3632,4.75,4266,3.484,5663,6.146,5826,6.436,5933,4.775,6088,6.642,6419,5.238,6432,7.359,6438,6.715,6467,4.372,6468,4.449,6469,4.449,6472,8.161,6475,4.372,6476,8.161,6477,7.848,6478,7.848,6479,4.449,6480,4.372,6481,4.372,6482,4.449,6483,4.3,6484,6.046,6485,4.234,6486,4.3,6487,4.372,6488,4.3,6489,4.3,6490,4.059,6491,4.449,6492,4.449,6493,4.449,6494,4.059,6495,4.059,6496,4.172,6497,4.234,6498,4.449,10786,6.343,10787,6.343,10788,6.343,10789,6.343]],["title/injectables/FileRecordRepo.html",[539,0.921,10790,6.012]],["body/injectables/FileRecordRepo.html",[0,0.155,3,0.01,4,0.01,5,0.005,7,0.066,8,0.852,10,2.85,12,3.152,18,3.511,26,2.792,27,0.526,29,0.998,30,0.001,31,0.718,32,0.163,33,0.605,34,1.6,35,1.533,36,2.872,40,2.208,47,0.599,49,2.665,56,2.208,58,2.973,59,2.947,95,0.123,98,2.736,99,0.744,101,0.007,103,0,104,0,124,2.322,154,1.421,155,2.293,180,1.224,226,0.67,227,1.9,236,1.773,262,3.081,349,1.239,376,1.908,382,2.859,437,1.733,479,4.584,490,4.678,539,0.943,541,1.101,603,2.24,608,2.709,679,6.5,685,2.937,686,3.218,687,4.214,711,2.736,712,2.765,713,2.736,714,2.765,715,3.16,716,2.736,717,2.765,718,2.458,721,2.861,739,4.698,741,3.108,743,3.108,1519,2.606,1815,3.015,2093,3.957,2395,2.708,3632,5.218,4266,3.233,4743,2.422,5558,4.983,6132,4.067,6134,4.841,6419,5.725,6437,7.502,6861,2.765,7150,7.79,7179,3.344,7180,3.344,7222,3.503,10686,5.02,10790,6.151,10791,4.584,10792,8.538,10793,7.024,10794,8.538,10795,8.538,10796,7.024,10797,6.498,10798,7.024,10799,7.024,10800,4.584,10801,9.923,10802,4.584,10803,7.024,10804,4.584,10805,4.584,10806,4.584,10807,4.584,10808,4.584,10809,7.024,10810,4.584,10811,6.498,10812,4.584,10813,7.024,10814,4.584,10815,7.024,10816,4.584,10817,4.584,10818,4.584,10819,8.538,10820,4.584,10821,4.584,10822,8.538,10823,4.584,10824,4.584,10825,4.241,10826,4.584,10827,4.584,10828,4.584,10829,4.584]],["title/classes/FileRecordResponse.html",[0,0.232,6442,5.119]],["body/classes/FileRecordResponse.html",[0,0.357,2,0.616,3,0.012,4,0.012,5,0.006,7,0.08,27,0.542,29,0.441,30,0.001,31,0.638,32,0.173,33,0.46,34,1.763,47,0.947,55,2.528,56,5.082,70,5.308,83,2.365,95,0.126,101,0.016,103,0,104,0,112,0.622,138,2.328,149,4.064,150,1.253,154,1.129,180,1.418,245,3.563,247,2.396,284,3.186,379,0.704,404,3.273,815,5.92,816,4.431,817,5.507,823,5.109,833,5.138,834,4.431,839,2.982,1229,4.515,1233,4.379,1262,3.349,1361,5.188,2044,3.157,2779,3.987,2782,6.065,2921,5.669,2922,5.608,3632,4.421,5932,5.188,5933,4.445,5942,3.569,6419,6.218,6422,3.723,6427,4.515,6428,4.515,6429,4.515,6430,4.515,6431,4.379,6432,8.736,6433,4.68,6434,8.806,6437,6.765,6438,6.64,6439,9.177,6440,7.377,6441,2.611,6442,8.365,6443,6.824,6444,4.515,6445,4.68,6446,3.014,6447,4.68,6448,3.569,6449,4.68,6450,4.68,6451,4.68,6452,4.379,6453,4.515,6454,4.68,6455,4.68,6456,3.781,6457,4.515,6458,4.515,6459,4.069,6460,4.68,6461,4.68,6462,4.515,6463,6.824,6464,7.159,6465,6.313,6466,4.16,10830,5.578,10831,5.578,10832,5.578,10833,5.578,10834,5.578,10835,5.578,10836,5.578,10837,5.578,10838,5.578,10839,5.578,10840,5.578,10841,5.578]],["title/classes/FileRecordScope.html",[0,0.232,10801,6.012]],["body/classes/FileRecordScope.html",[0,0.216,2,0.704,3,0.014,4,0.014,5,0.007,7,0.091,8,1.085,26,2.691,27,0.544,29,0.994,30,0.001,31,0.716,32,0.169,33,0.603,34,1.065,35,1.528,47,0.726,49,2.418,95,0.133,96,1.703,97,2.653,99,1.034,101,0.01,103,0,104,0,112,0.685,119,2.136,124,4.531,143,1.984,154,1.289,180,1.56,227,2.641,236,1.457,310,3.88,349,1.221,382,3.528,437,0.84,480,2.489,486,2.695,519,1.963,593,3.333,603,2.519,1223,4.555,2350,6.106,3632,2.935,4266,2.153,4543,5.159,5558,5.315,5938,4.321,5940,4.649,5944,5.347,6242,5.972,6243,5.972,6244,5.972,6249,5.972,6250,5.972,6251,4.321,6252,4.254,6253,4.321,6254,4.321,6263,4.254,6264,5.972,6265,4.321,6266,4.254,6267,4.321,6268,4.254,6269,7.484,6419,5.732,6437,3.843,6465,5.885,6484,6.066,8499,5.003,10417,4.649,10801,11.812,10842,12.244,10843,8.947,10844,8.947,10845,8.947,10846,7.836,10847,8.947,10848,8.947,10849,6.373,10850,8.947,10851,5.581,10852,8.947,10853,8.947,10854,5.896,10855,7.836,10856,6.373,10857,8.947,10858,5.581,10859,5.581,10860,5.896]],["title/classes/FileRecordSecurityCheck.html",[0,0.232,10659,5.119]],["body/classes/FileRecordSecurityCheck.html",[0,0.243,2,0.388,3,0.008,4,0.008,5,0.006,7,0.147,26,2.441,27,0.4,29,0.278,30,0.001,31,0.582,32,0.117,33,0.344,34,0.951,39,0.96,47,0.865,49,3.442,55,1.161,83,3.097,95,0.127,96,1.521,97,1.462,99,0.57,101,0.016,103,0,104,0,105,0.734,112,0.549,119,2.113,133,1.973,138,1.623,143,1.83,144,2.336,145,0.984,154,1.835,172,3.932,173,1.021,174,2.176,178,1.396,180,0.612,181,1.942,182,1.116,226,0.513,236,1.953,239,0.823,347,3.273,349,1.359,358,1.568,360,2.883,376,2.988,377,3.112,379,0.443,381,1.19,437,1.581,480,2.523,486,2.732,490,2.555,519,2.542,529,1.003,556,2.514,565,2.096,570,5.091,654,1.71,662,3.945,696,1.363,708,1.407,739,2.457,747,2.562,755,2.31,823,4.393,839,3.309,988,1.53,990,2.455,994,2.51,1064,3.859,1223,5.9,1361,4.461,1726,2.434,1819,2.42,1926,1.318,1986,2.034,1987,3.859,2044,3.204,2220,2.015,2396,2.015,2562,2.902,2647,1.945,2670,3.781,2680,2.034,2686,1.584,2696,1.635,2883,1.56,3122,1.516,3171,1.855,3366,1.733,3380,2.42,3632,4.71,3742,1.996,3895,2.619,4266,3.455,4276,2.683,4278,2.219,4332,3.052,4342,1.552,4343,2.054,4833,1.961,5146,1.945,5158,2.034,5932,3.879,5933,4.736,5935,1.869,5936,2.51,5937,2.51,5938,3.859,5939,2.51,5940,4.152,5941,2.619,5942,2.247,5943,2.42,5945,2.51,5947,2.619,6419,4.788,6437,4.328,6438,4.533,6439,4.069,6440,5.966,6448,2.247,6456,2.381,6459,5.235,6465,3.744,6760,2.141,6988,2.683,6989,4.152,10347,2.619,10417,2.562,10451,2.463,10464,2.683,10490,4.349,10493,2.562,10498,2.683,10642,2.843,10643,2.757,10644,4.469,10645,2.843,10647,6.682,10659,6.765,10662,2.843,10663,2.683,10664,4.469,10665,2.619,10666,4.152,10667,4.152,10668,4.152,10669,2.219,10670,4.608,10671,4.608,10672,4.608,10673,4.608,10674,4.608,10675,4.608,10676,6.48,10677,6.584,10678,5.81,10679,4.349,10680,4.245,10681,2.619,10682,4.349,10683,2.683,10684,4.349,10685,5.635,10686,2.51,10687,2.757,10688,2.562,10689,2.562,10690,2.843,10691,2.843,10692,2.683,10693,2.619,10694,2.843,10695,2.843,10696,2.843,10697,2.843,10698,2.843,10699,2.843,10700,2.843,10701,2.843,10702,7.862,10703,2.843,10704,2.843,10705,4.608,10706,2.843,10707,2.843,10708,4.608,10709,4.608,10710,4.608,10711,2.843,10712,2.843,10713,2.843,10714,2.843,10715,2.843,10716,2.843,10717,2.843,10718,4.608,10719,5.81,10720,2.757,10721,2.843,10722,4.608,10723,2.757,10724,2.843,10725,4.608,10726,2.843,10727,5.81,10728,5.81,10729,2.757,10730,5.81,10731,2.843,10732,2.843,10733,2.843,10734,2.843,10735,2.843,10736,2.843,10737,2.843,10738,2.757,10739,2.843,10740,2.843,10741,2.843,10742,2.843,10743,2.843,10744,2.843,10745,2.843,10746,2.843,10747,2.843,10861,5.692,10862,3.512,10863,3.512,10864,3.512,10865,3.512]],["title/classes/FileResponseBuilder.html",[0,0.232,10866,6.012]],["body/classes/FileResponseBuilder.html",[0,0.321,2,1.047,3,0.021,4,0.021,5,0.014,7,0.136,8,1.409,27,0.39,29,0.749,30,0.001,31,0.765,32,0.123,33,0.454,35,1.151,47,0.882,95,0.138,101,0.015,103,0.001,104,0.001,105,0.97,284,2.862,349,0.98,413,3.795,437,1.249,454,5.379,662,2.943,3601,3.813,6419,5.439,6505,8.766,6519,9.188,10337,5.844,10339,7.439,10350,10.175,10866,10.175,10867,11.617,10868,9.475,10869,8.264,10870,10.175]],["title/classes/FileSecurityCheckEntity.html",[0,0.232,10439,5.557]],["body/classes/FileSecurityCheckEntity.html",[0,0.251,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,27,0.528,29,0.585,30,0.001,31,0.422,32,0.155,33,0.536,47,0.874,83,3.473,95,0.133,96,1.979,101,0.015,103,0.001,104,0.001,105,0.758,112,0.759,138,2.228,172,4.209,173,2.153,181,2.684,236,1.946,347,4.31,376,4.655,377,4.849,379,0.935,381,2.509,480,3.464,486,3.751,556,2.749,570,7.366,839,3.474,1223,8.537,1778,2.909,1986,4.289,1987,6.724,2562,5.057,10439,8.029,10451,5.195,10452,9.762,10618,10.982,10677,8.098,10679,7.578,10680,7.396,10681,5.523,10682,7.578,10683,5.659,10871,6.851,10872,10.461,10873,9.918,10874,7.405,10875,7.405,10876,7.405,10877,11.05,10878,9.175,10879,7.405]],["title/interfaces/FileSecurityCheckEntityProps.html",[105,0.702,10872,6.012]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,32,0.154,33,0.636,47,0.947,83,3.132,95,0.142,96,2.245,101,0.017,103,0.001,104,0.001,105,0.86,107,1.973,112,0.824,172,4.052,173,2.442,181,2.273,236,1.755,347,4.68,376,3.496,377,3.642,556,2.923,570,7.333,839,3.346,1223,9.27,1778,3.299,1986,4.864,1987,7.303,2562,5.492,10439,6.8,10451,5.892,10452,6.264,10618,7.047,10677,8.792,10679,6.418,10680,8.033,10681,6.264,10682,8.231,10683,6.418,10871,7.77,10872,10.414,10877,11.998,10878,7.77]],["title/controllers/FileSecurityController.html",[259,2.624,10880,6.012]],["body/controllers/FileSecurityController.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,8,1.251,27,0.425,29,0.816,30,0.001,31,0.587,32,0.149,33,0.495,35,1.254,47,0.915,95,0.155,100,2.673,101,0.012,103,0.001,104,0.001,124,6.433,138,1.847,141,5.726,150,1.767,177,1.465,223,3.273,226,1.149,236,1.281,259,3.945,262,2.878,324,3.983,333,3.347,337,4.094,345,2.507,349,0.813,437,1.037,608,2.392,1218,2.973,1230,7.275,1233,6.174,1364,5.736,2764,3.723,4081,4.968,6419,5.393,6441,3.681,6485,8.164,6863,5.1,6864,6.366,6865,4.692,6887,6.597,10452,5.864,10767,9.665,10880,9.039,10881,11.52,10882,7.863,10883,10.32,10884,10.32,10885,7.863,10886,9.265,10887,7.863,10888,7.863,10889,7.863,10890,7.863,10891,7.863,10892,11.52,10893,10.658,10894,7.863,10895,7.863,10896,7.863,10897,7.863,10898,6.887,10899,7.863,10900,7.863,10901,7.863,10902,7.863,10903,7.863,10904,7.863,10905,7.863]],["title/injectables/FileSystemAdapter.html",[539,0.921,10906,5.759]],["body/injectables/FileSystemAdapter.html",[0,0.153,3,0.01,4,0.01,5,0.014,7,0.065,8,0.842,27,0.502,29,0.891,30,0.001,31,0.642,32,0.151,33,0.54,35,1.48,36,2.694,47,0.98,95,0.122,101,0.007,103,0,104,0,112,0.532,153,2.177,226,0.66,262,2.935,274,7.016,333,4.798,348,5.853,349,1.119,358,2.017,360,6.639,379,1.068,437,1.427,539,0.932,541,1.086,590,4.284,603,1.741,608,2.375,686,3.182,843,4.872,1456,4.568,1678,4.235,1679,4.636,1731,5.18,1732,3.642,2088,4.505,2205,6.788,2218,6.426,2255,3.631,2357,3.296,2368,4.388,2396,2.592,2653,3.547,2830,6.942,2837,6.662,2882,5.901,3307,3.063,3534,6.426,3893,5.453,6441,3.252,8047,5.827,8070,8.668,10906,5.827,10907,11.466,10908,11.466,10909,4.518,10910,9.478,10911,6.946,10912,6.946,10913,6.946,10914,8.461,10915,8.461,10916,6.946,10917,8.461,10918,8.461,10919,6.946,10920,6.946,10921,4.518,10922,5.827,10923,10.763,10924,6.946,10925,4.518,10926,3.948,10927,8.318,10928,10.25,10929,6.946,10930,6.083,10931,5.307,10932,8.786,10933,11.633,10934,6.946,10935,4.518,10936,3.452,10937,8.461,10938,4.518,10939,6.426,10940,10.012,10941,8.461,10942,4.518,10943,7.828,10944,7.828,10945,8.786,10946,9.497,10947,6.946,10948,4.518,10949,6.426,10950,6.426,10951,5.307,10952,8.461,10953,4.518,10954,6.946,10955,4.518,10956,4.518,10957,6.946,10958,4.518,10959,3.791,10960,6.426,10961,4.518,10962,4.518,10963,4.518,10964,8.461,10965,4.518,10966,4.518,10967,4.518,10968,4.518,10969,4.518,10970,6.946,10971,4.518,10972,4.518,10973,3.547,10974,4.518,10975,4.518,10976,4.518]],["title/modules/FileSystemModule.html",[201,1.848,10977,5.759]],["body/modules/FileSystemModule.html",[0,0.328,3,0.021,4,0.021,5,0.013,30,0.001,95,0.14,101,0.015,103,0.001,104,0.001,201,3.418,203,3.525,204,3.781,205,3.888,206,3.872,207,3.856,208,4.695,209,4.817,218,4.723,219,3.81,220,3.723,226,1.418,10906,12.044,10907,8.975,10908,8.975,10977,11.68,10978,9.701,10979,9.701,10980,9.701,10981,9.701,10982,9.701]],["title/classes/FileUrlParams.html",[0,0.232,6480,4.731]],["body/classes/FileUrlParams.html",[0,0.456,2,0.699,3,0.014,4,0.02,5,0.01,7,0.091,26,2.487,27,0.424,30,0.001,32,0.162,33,0.427,39,1.728,47,0.96,95,0.149,99,1.026,101,0.021,103,0,104,0,105,0.647,112,0.681,119,1.839,138,1.842,143,1.402,147,4.809,148,1.959,149,4.304,150,1.421,151,5.939,153,1.449,154,1.279,245,3.577,247,2.716,248,4.875,249,4.371,348,3.181,808,4.835,809,6.136,819,5.18,839,3.198,852,2.944,988,3.877,990,2.163,1079,6.081,1147,1.92,1203,5.694,1204,4.159,1205,4.159,1262,3.592,2739,4.668,2922,4.931,3632,2.912,4266,2.136,5826,7.348,5933,2.928,6088,6.634,6419,5.231,6432,7.349,6438,6.136,6467,4.358,6468,4.436,6469,4.436,6472,7.86,6475,4.358,6476,8.153,6477,7.837,6478,7.837,6479,4.436,6480,6.133,6481,4.358,6482,4.436,6483,4.287,6484,6.033,6485,4.221,6486,4.287,6487,4.358,6488,4.287,6489,4.287,6490,4.046,6491,4.436,6492,4.436,6493,4.436,6494,4.046,6495,4.046,6496,4.159,6497,4.221,6498,4.436,10983,8.898,10984,6.323,10985,6.323,10986,6.323,10987,6.323]],["title/modules/FilesModule.html",[201,1.848,10988,5.759]],["body/modules/FilesModule.html",[0,0.304,3,0.02,4,0.02,5,0.01,30,0.001,95,0.161,101,0.014,103,0.001,104,0.001,201,3.301,203,3.261,204,3.497,205,3.596,206,3.581,207,3.567,208,4.535,209,3.405,214,6.284,218,4.501,219,3.525,220,3.444,225,4.465,226,1.311,1341,2.878,2487,4.74,2764,4.248,8160,9.837,8165,11.324,8169,7.859,8193,10.927,8194,11.324,8213,8.302,10988,11.925,10989,8.974,10990,8.974,10991,8.974,10992,8.974]],["title/injectables/FilesRepo.html",[539,0.921,8193,5.557]],["body/injectables/FilesRepo.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,8,0.995,10,3.33,12,3.683,18,4.103,26,2.581,27,0.522,29,0.983,30,0.001,31,0.708,32,0.161,33,0.596,34,1.372,35,1.474,36,2.715,40,2.72,49,3.668,55,2.4,56,2.72,58,6.882,83,2.811,95,0.144,96,2.193,97,2.351,99,0.916,101,0.009,103,0,104,0,154,1.661,155,2.68,173,1.642,177,1.052,180,1.431,226,0.825,236,1.337,262,2.984,349,1.097,361,3.21,379,0.713,382,3.17,437,1.639,479,4.807,490,2.921,539,1.102,541,1.357,608,2.24,662,3.937,679,6.962,685,3.431,686,3.76,687,4.772,711,3.37,712,3.406,713,3.37,714,3.406,715,3.892,716,3.37,717,3.406,718,3.028,723,4.037,741,3.829,1723,2.86,1778,2.218,2310,4.12,2311,6.032,2315,5.987,2353,3.829,3659,4.572,4381,6.4,4741,3.77,6130,4.315,6441,5.506,8168,9.294,8179,7.188,8193,6.644,8199,4.738,8202,8.109,8580,4.12,10414,4.315,10416,4.946,10426,4.212,10437,4.946,10620,4.946,10993,5.647,10994,8.207,10995,8.207,10996,8.207,10997,5.647,10998,8.207,10999,5.647,11000,5.647,11001,8.207,11002,5.647,11003,5.647,11004,8.207,11005,5.647,11006,5.647,11007,7.592,11008,4.572,11009,8.207,11010,5.647,11011,5.647,11012,7.188,11013,5.224,11014,5.647,11015,5.647,11016,5.647,11017,5.647,11018,5.647,11019,5.647]],["title/injectables/FilesService.html",[539,0.921,11020,6.35]],["body/injectables/FilesService.html",[0,0.251,3,0.016,4,0.016,5,0.008,7,0.106,8,1.204,26,2.833,27,0.513,29,0.985,30,0.001,31,0.709,32,0.161,33,0.597,35,1.452,36,2.851,39,3.267,95,0.142,99,1.204,101,0.012,103,0.001,104,0.001,154,1.501,155,3.242,177,1.382,226,1.084,262,3.054,345,2.365,349,1.326,379,0.936,437,1.309,539,1.333,541,1.782,608,2.77,696,4.64,2487,5.912,7047,6.224,8193,9.677,8202,5.669,11020,9.186,11021,7.419,11022,9.93,11023,9.93,11024,9.93,11025,9.93,11026,7.419,11027,9.93,11028,7.419,11029,9.93,11030,7.419,11031,9.93,11032,7.419,11033,9.93,11034,7.419,11035,9.93,11036,11.058,11037,9.93,11038,7.419,11039,9.93,11040,9.93,11041,7.419]],["title/modules/FilesStorageAMQPModule.html",[201,1.848,11042,6.012]],["body/modules/FilesStorageAMQPModule.html",[0,0.305,3,0.02,4,0.02,5,0.01,30,0.001,95,0.158,101,0.014,103,0.001,104,0.001,201,3.308,203,3.275,204,3.512,205,3.612,206,3.597,207,3.583,208,4.544,209,3.42,214,6.291,218,4.514,219,3.54,220,3.459,225,4.477,226,1.317,259,3.446,1232,6.887,1341,2.891,3600,4.477,6419,4.22,6441,4.22,6671,9.313,11042,12.456,11043,9.013,11044,9.013,11045,9.013,11046,10.939,11047,11.834,11048,8.339,11049,6.323,11050,8.339]],["title/modules/FilesStorageApiModule.html",[201,1.848,11051,5.759]],["body/modules/FilesStorageApiModule.html",[0,0.285,3,0.018,4,0.018,5,0.009,30,0.001,95,0.163,101,0.013,103,0.001,104,0.001,201,3.205,203,3.058,204,3.28,205,3.373,206,3.359,207,3.346,208,4.402,209,3.194,218,4.322,219,3.306,220,3.23,222,5.253,223,4.49,225,4.287,226,1.23,259,3.218,964,4.874,1232,6.431,1380,9.001,1797,9.49,2764,3.985,3600,4.181,3998,7.199,6419,3.94,6441,3.94,6671,9.151,10880,10.424,10893,12.283,11046,10.749,11049,5.904,11050,7.787,11051,11.926,11052,8.417,11053,8.417,11054,8.417,11055,11.902,11056,7.061,11057,6.431,11058,6.431]],["title/injectables/FilesStorageClientAdapterService.html",[539,0.921,6547,4.906]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.242,3,0.021,4,0.016,5,0.011,7,0.103,8,1.174,26,2.397,27,0.485,29,0.931,30,0.001,31,0.67,32,0.152,33,0.564,35,1.334,36,2.717,95,0.157,99,1.159,100,2.429,101,0.011,103,0.001,104,0.001,107,1.678,141,3.345,177,1.331,226,1.044,262,2.953,333,4.121,345,2.278,349,1.136,379,0.902,437,1.672,539,1.299,541,1.717,603,1.47,608,2.545,631,3.643,824,3.895,1341,2.292,2312,4.013,2313,5.364,3002,4.844,3600,6.716,3632,3.291,6418,5.46,6419,5.759,6441,3.345,6531,9.241,6533,9.876,6534,6.61,6547,6.92,6573,5.329,10612,5.995,11059,11.381,11060,7.145,11061,7.838,11062,8.479,11063,8.957,11064,10.981,11065,9.876,11066,7.145,11067,9.682,11068,7.145,11069,9.682,11070,7.145,11071,9.682,11072,7.145,11073,6.61,11074,7.145,11075,7.145,11076,12.683,11077,7.145,11078,7.145,11079,9.682,11080,7.145]],["title/classes/FilesStorageClientMapper.html",[0,0.232,10612,5.759]],["body/classes/FilesStorageClientMapper.html",[0,0.204,2,0.667,3,0.013,4,0.013,5,0.007,7,0.087,8,1.045,27,0.495,29,0.951,30,0.001,31,0.721,32,0.164,33,0.577,34,1.44,35,1.462,47,0.705,95,0.13,99,0.98,100,3.414,101,0.009,103,0,104,0,107,1.419,154,2.215,236,1.783,349,1.352,413,4.188,437,1.669,529,2.459,604,4.126,824,3.883,1515,6.158,2220,5.761,2684,4.585,2686,3.886,2883,3.828,3600,6.741,3632,2.783,5933,3.989,6192,4.616,6418,8.365,6419,5.798,6422,4.033,6423,10.39,6431,4.743,6438,6.953,6442,4.506,6466,4.506,6573,9.747,8898,3.726,9752,5.291,10342,10.622,10609,11.457,10611,10.128,10612,7.228,11081,6.042,11082,8.615,11083,8.615,11084,8.615,11085,8.615,11086,8.615,11087,8.615,11088,8.615,11089,6.042,11090,8.615,11091,6.042,11092,8.615,11093,6.042,11094,8.615,11095,6.042,11096,8.615,11097,6.042,11098,8.615,11099,6.042,11100,10.947,11101,6.042,11102,6.042,11103,6.042,11104,6.042,11105,6.042,11106,6.042,11107,6.042,11108,6.042,11109,6.042,11110,6.042,11111,6.042,11112,6.042,11113,8.615,11114,6.042,11115,6.042,11116,6.042]],["title/modules/FilesStorageClientModule.html",[201,1.848,3592,5.119]],["body/modules/FilesStorageClientModule.html",[0,0.282,3,0.018,4,0.018,5,0.009,30,0.001,95,0.158,101,0.013,103,0.001,104,0.001,201,3.189,203,3.027,204,3.246,205,3.338,206,3.325,207,3.311,208,4.381,209,4.494,214,6.165,218,4.294,219,3.272,220,3.197,225,4.259,226,1.217,1341,2.672,3043,5.08,3044,4.693,3592,10.66,3600,5.883,6419,3.9,6540,11.805,6547,10.057,6559,7.707,6587,9.659,6593,7.707,11065,11.109,11073,7.707,11117,8.33,11118,8.33,11119,8.33,11120,8.33,11121,8.33,11122,7.707,11123,7.707,11124,9.912]],["title/injectables/FilesStorageConsumer.html",[539,0.921,11047,6.012]],["body/injectables/FilesStorageConsumer.html",[0,0.192,3,0.012,4,0.021,5,0.006,7,0.081,8,0.999,26,2.166,27,0.438,29,0.841,30,0.001,31,0.606,32,0.138,33,0.51,35,1.178,36,2.524,39,1.552,95,0.155,96,1.518,99,0.921,100,1.93,101,0.009,103,0,104,0,138,1.735,173,1.651,177,1.807,226,0.83,262,2.802,349,1.003,379,1.04,437,1.554,521,2.248,539,1.106,541,1.364,556,2.384,603,2.189,608,2.618,631,2.896,662,3.943,766,3.172,816,5.796,824,3.774,996,2.736,997,2.644,998,2.704,999,2.857,1000,3.119,1025,4.212,1107,5.283,1185,6.052,1187,7.642,1224,3.983,1225,3.683,1341,1.821,1616,7.263,1832,3.119,1953,4.143,1954,4.059,2312,4.019,2313,4.849,2431,3.914,2739,3.736,3865,7.075,4784,5.254,6419,5.289,6472,7.102,6489,7.213,7133,6.379,8054,8.13,8898,3.502,10369,6.913,10686,5.89,11047,7.217,11061,8.614,11062,8.494,11124,5.254,11125,11.298,11126,5.679,11127,9.698,11128,5.679,11129,9.886,11130,10.199,11131,5.679,11132,5.254,11133,8.972,11134,9.066,11135,10.32,11136,9.698,11137,5.679,11138,5.254,11139,5.679,11140,5.679,11141,5.679,11142,7.623,11143,9.843,11144,11.298,11145,4.235,11146,5.254,11147,4.458,11148,4.339,11149,4.339,11150,4.974,11151,5.679,11152,5.679,11153,8.24,11154,5.679,11155,8.24,11156,5.679,11157,5.679,11158,8.24,11159,8.24,11160,5.679,11161,5.679,11162,5.679,11163,5.679]],["title/classes/FilesStorageMapper.html",[0,0.232,11150,6.012]],["body/classes/FilesStorageMapper.html",[0,0.29,2,0.662,3,0.013,4,0.013,5,0.007,7,0.086,8,1.038,27,0.494,29,0.949,30,0.001,31,0.683,32,0.164,33,0.575,35,1.458,55,2.623,56,5.253,59,2.637,70,5.486,95,0.143,101,0.009,103,0,104,0,105,0.613,154,1.212,226,0.875,236,1.879,271,2.223,349,1.241,413,4.183,437,1.629,529,1.709,790,3.013,816,5.94,824,3.037,1141,5.54,1142,3.737,1363,4.368,1664,2.239,1846,7.009,2647,4.741,3255,5.409,3548,4.848,3632,2.758,3860,4.368,4266,2.023,5933,2.773,6419,5.782,6437,8.043,6438,5.988,6442,7.452,6453,4.848,6458,4.848,6466,7.452,6472,7.699,6483,7.392,6484,4.06,6486,7.82,6863,6.48,6864,9.338,6887,5.024,6956,5.024,10686,6.119,10763,9.244,10764,7.92,10768,5.54,10770,7.92,10772,5.54,10773,5.54,10774,5.245,10776,5.54,10869,7.171,10870,5.245,11150,7.498,11164,12.352,11165,5.988,11166,8.561,11167,7.183,11168,8.561,11169,8.561,11170,8.561,11171,5.988,11172,7.183,11173,5.988,11174,5.988,11175,5.988,11176,8.561,11177,5.988,11178,8.561,11179,5.988,11180,5.988,11181,5.54,11182,5.988,11183,5.988,11184,5.988,11185,5.988,11186,5.54,11187,5.988,11188,5.245,11189,5.988,11190,5.988,11191,5.988,11192,5.988,11193,4.848,11194,5.988,11195,5.988,11196,5.988,11197,5.988,11198,5.988,11199,5.988,11200,5.988,11201,5.988]],["title/modules/FilesStorageModule.html",[201,1.848,11046,5.557]],["body/modules/FilesStorageModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,32,0.083,47,0.832,55,1.311,87,3.253,95,0.165,96,2.404,99,1.042,101,0.01,103,0,104,0,119,1.327,143,1.424,154,1.3,155,2.097,173,1.868,201,2.796,203,2.334,204,2.503,205,2.574,206,2.563,207,2.553,208,4.161,209,3.94,214,4.189,218,3.605,219,2.523,220,2.465,225,4.472,226,0.939,236,1.046,239,1.505,292,3.253,358,2.868,437,1.369,490,3.202,506,3.344,511,2.854,521,2.543,560,2.639,573,6.099,598,3.72,687,4.441,762,4.225,996,3.094,997,2.99,998,3.058,999,3.232,1076,4.287,1077,3.961,1168,5.389,1181,3.917,1183,5.2,1185,4.008,1187,4.166,1196,4.506,1201,5.389,1232,4.908,1341,2.06,1519,3.651,1726,2.747,1971,2.99,2079,2.84,2080,3.17,2081,3.058,2082,4.11,2487,3.393,2681,3.444,3601,2.585,4727,5.942,4956,4.427,5573,4.355,5624,4.355,6419,3.007,6437,5.426,6441,3.007,6475,4.427,6513,4.008,8898,3.961,10337,3.961,10462,4.591,10659,6.709,10790,10.751,11046,11.093,11129,11.331,11130,11.331,11202,6.423,11203,6.423,11204,6.423,11205,6.423,11206,8.611,11207,6.709,11208,6.709,11209,4.685,11210,6.874,11211,4.591,11212,4.591,11213,6.431,11214,7.548,11215,5.389,11216,4.591,11217,6.563,11218,6.563,11219,6.563,11220,4.591,11221,4.427,11222,5.625,11223,5.389,11224,6.423,11225,6.423,11226,6.423,11227,5.625,11228,6.423,11229,6.423,11230,6.423,11231,5.389,11232,6.874,11233,4.79,11234,4.79,11235,4.685,11236,5.2,11237,4.908,11238,5.043,11239,5.942]],["title/injectables/FilesStorageProducer.html",[539,0.921,11065,5.759]],["body/injectables/FilesStorageProducer.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.034,26,2.214,27,0.508,29,1.015,30,0.001,31,0.702,32,0.166,33,0.591,35,1.455,36,2.565,47,0.841,55,1.215,95,0.147,99,0.966,101,0.009,103,0,104,0,107,1.398,141,3.991,177,1.856,180,1.486,226,0.87,262,2.911,349,1.03,379,1.076,382,2.975,437,1.313,448,5.117,479,3.142,519,1.834,539,1.144,541,1.43,584,8.11,598,3.448,603,1.225,608,2.308,824,4.374,1107,6.523,1185,3.715,1187,3.861,1210,4.819,1211,8.93,1218,3.223,1224,4.176,1225,3.861,1341,1.909,1616,7.762,2312,4.128,2313,4.956,3600,5.716,3865,8.735,3982,6.902,4018,4.44,6419,5.388,8898,3.672,11059,10.647,11061,6.902,11062,7.466,11063,7.887,11065,7.152,11132,7.887,11134,6.358,11138,7.887,11145,6.358,11147,4.674,11148,4.549,11149,4.549,11240,5.953,11241,10.046,11242,7.466,11243,7.466,11244,5.953,11245,8.537,11246,5.953,11247,5.953,11248,8.525,11249,8.537,11250,5.953,11251,5.214,11252,5.507,11253,5.214,11254,5.507,11255,5.214,11256,5.507,11257,4.995,11258,5.507,11259,5.953,11260,5.953,11261,5.953,11262,5.953,11263,5.953,11264,5.953,11265,5.953,11266,5.953,11267,5.953,11268,5.953,11269,5.953]],["title/modules/FilesStorageTestModule.html",[201,1.848,11270,6.012]],["body/modules/FilesStorageTestModule.html",[0,0.246,3,0.016,4,0.016,5,0.008,8,0.882,27,0.299,29,0.575,30,0.001,31,0.414,32,0.094,33,0.349,35,0.884,59,2.24,95,0.162,99,1.18,101,0.011,103,0.001,104,0.001,154,1.472,155,2.375,201,3.192,203,2.643,204,2.834,205,2.914,206,2.903,207,2.891,208,4.385,209,2.76,214,5.936,218,3.926,219,2.857,220,2.791,223,4.613,225,4.92,226,1.063,349,0.752,413,2.959,437,1.461,490,3.488,1170,5.305,1171,6.753,1174,7.396,1232,7.487,1341,2.333,1380,8.644,1752,7.248,2531,3.368,2963,3.814,3600,5.504,6419,4.587,6437,5.909,6441,3.405,6671,8.788,8898,4.486,11049,5.102,11051,10.697,11213,7.004,11270,12.449,11271,7.273,11272,7.273,11273,8.682,11274,9.301,11275,6.37,11276,8.842,11277,7.273,11278,5.305,11279,6.102,11280,7.307]],["title/classes/FilterImportUserParams.html",[0,0.232,11281,5.759]],["body/classes/FilterImportUserParams.html",[0,0.315,2,1.377,3,0.015,4,0.015,5,0.008,7,0.097,27,0.526,30,0.001,32,0.169,33,0.662,47,0.939,95,0.161,101,0.017,103,0,104,0,112,0.712,119,1.923,138,2.285,143,2.063,147,5.029,148,2.088,149,5.014,150,1.515,247,2.897,248,4.811,249,5.092,276,4.621,361,6.057,651,5.133,652,5.133,809,6.62,839,3.569,852,3.139,1475,6.527,1903,6.12,2406,5.197,2417,5.739,3135,5.955,3136,5.29,4381,5.612,4565,5.87,5515,5.496,5590,7.085,11281,7.807,11282,12.041,11283,5.657,11284,7.474,11285,7.344,11286,6.743,11287,6.743,11288,9.857,11289,6.743,11290,6.743,11291,6.743,11292,6.743,11293,6.743,11294,11.152,11295,6.238,11296,6.743,11297,6.743,11298,6.743,11299,11.152,11300,6.743,11301,6.743,11302,9.305,11303,4.82,11304,6.497,11305,6.743,11306,6.743]],["title/classes/FilterNewsParams.html",[0,0.232,11307,5.557]],["body/classes/FilterNewsParams.html",[0,0.356,2,0.895,3,0.018,4,0.018,5,0.009,7,0.116,27,0.481,30,0.001,32,0.151,33,0.63,34,1.759,47,0.869,95,0.147,99,1.314,101,0.013,103,0.001,104,0.001,112,0.805,119,2.174,138,2.091,147,5.686,148,2.508,149,4.765,150,1.82,151,7.022,153,2.939,248,4.199,249,4.84,253,3.997,808,4.165,839,2.516,852,3.77,993,5.876,2739,5.608,2773,6.92,2918,5.642,2919,5.642,7099,7.579,7105,7.651,7106,7.539,7149,7.52,7281,7.093,7283,8.197,7285,7.492,7290,7.492,7292,7.916,7295,7.674,7301,7.492,11307,8.517,11308,12.371,11309,9.46,11310,7.093,11311,8.26,11312,8.827,11313,8.098,11314,8.098,11315,7.492,11316,7.846,11317,8.098]],["title/classes/FilterUserParams.html",[0,0.232,11318,5.759]],["body/classes/FilterUserParams.html",[0,0.398,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,31,0.722,32,0.125,33,0.564,47,0.826,95,0.14,101,0.015,103,0.001,104,0.001,112,0.901,138,1.732,148,2.998,149,4.533,150,2.175,248,4.697,249,4.604,274,7.098,480,3.274,651,5.669,652,5.669,809,6.463,4381,7.098,4565,5.308,11282,10.887,11283,8.12,11288,8.954,11318,9.874,11319,9.678]],["title/classes/ForbiddenLoggableException.html",[0,0.232,1851,5.389]],["body/classes/ForbiddenLoggableException.html",[0,0.287,2,0.936,3,0.019,4,0.019,5,0.009,7,0.122,8,1.313,26,2.562,27,0.446,29,0.67,30,0.001,31,0.482,32,0.155,33,0.406,35,1.029,39,3.263,47,0.838,95,0.155,99,1.374,101,0.013,103,0.001,104,0.001,131,4.529,177,2.224,180,1.888,182,2.692,191,4.614,226,1.237,284,2.558,349,0.876,379,1.367,437,1.117,603,2.456,687,6.21,754,7.418,1025,4.287,1107,4.614,1147,3.289,1338,5.528,1343,6.249,1670,6.854,1673,5.223,1851,8.501,2530,7.123,8829,6.55,9276,5.351,9283,4.952,9284,5.164,11320,11.937,11321,6.856,11322,7.835,11323,8.469,11324,7.106,11325,7.106,11326,8.469,11327,8.469,11328,8.469]],["title/classes/ForbiddenOperationError.html",[0,0.232,288,5.759]],["body/classes/ForbiddenOperationError.html",[0,0.262,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,27,0.545,29,0.611,30,0.001,31,0.44,32,0.178,33,0.548,35,0.939,47,0.911,55,1.577,59,3.143,95,0.121,101,0.012,103,0.001,104,0.001,112,0.781,138,2.26,177,2.556,180,1.779,182,2.457,226,1.129,288,8.561,347,2.789,379,0.975,382,3.876,821,5.626,824,2.742,951,5.348,988,5.293,990,4.439,1025,5,1269,8.38,1270,7.59,1271,3.785,1272,7.31,1276,5.013,1277,4.317,1278,5.013,1279,5.013,1280,5.013,1281,5.013,1282,5.013,1283,4.661,1284,4.394,1285,6.068,1290,4.883,1691,8.011,4699,6.257,8262,6.918,11329,10.204,11330,7.729,11331,7.729,11332,7.729,11333,8.261,11334,7.15]],["title/controllers/FwuLearningContentsController.html",[259,2.624,11335,5.759]],["body/controllers/FwuLearningContentsController.html",[0,0.256,3,0.017,4,0.017,5,0.008,7,0.109,8,1.22,27,0.312,29,0.599,30,0.001,31,0.431,32,0.13,33,0.363,35,0.92,36,2.156,95,0.157,101,0.012,103,0.001,104,0.001,137,4.725,138,1.355,141,5.641,143,1.679,150,1.701,177,1.411,223,3.151,226,1.106,236,1.64,259,2.894,261,3.626,262,2.496,271,4.197,333,4.284,337,3.941,338,4.029,343,4.06,345,2.414,349,0.783,360,3.834,437,1.491,529,2.161,608,1.754,824,4.45,1181,4.616,1226,3.647,1284,4.304,1363,5.523,2079,3.347,2080,3.737,2081,3.605,2255,3.848,2963,3.97,3548,6.129,3940,4.265,6863,8.136,6864,6.129,6865,4.518,6881,6.129,6887,6.352,10886,8.79,10898,6.631,11335,8.444,11336,7.902,11337,10.126,11338,10.065,11339,7.571,11340,8.444,11341,7.571,11342,10.554,11343,10.065,11344,7.571,11345,9.154,11346,6.631,11347,6.631,11348,7.571,11349,7.571,11350,7.571,11351,7.571,11352,7.571,11353,7.571,11354,8.64,11355,7.571,11356,7.571,11357,7.571,11358,7.004,11359,7.004,11360,7.004,11361,6.631,11362,7.571,11363,7.004,11364,7.004,11365,7.571,11366,7.571,11367,7.571,11368,7.571,11369,7.571]],["title/modules/FwuLearningContentsModule.html",[201,1.848,11370,6.012]],["body/modules/FwuLearningContentsModule.html",[0,0.222,3,0.014,4,0.014,5,0.007,30,0.001,32,0.085,47,0.46,87,3.316,94,4.529,95,0.165,96,2.437,99,1.062,101,0.01,103,0,104,0,143,1.452,155,2.138,173,1.904,201,2.824,203,2.379,204,2.551,205,2.624,206,2.613,207,2.602,208,3.88,209,2.484,214,5.75,218,3.654,219,2.571,220,2.512,223,3.795,225,3.624,226,0.957,236,1.066,239,2.458,276,3.954,292,3.316,358,2.923,437,0.863,490,3.245,511,2.909,521,2.592,573,6.181,598,3.792,644,4.245,687,4.5,762,4.306,964,3.792,996,3.154,997,3.048,998,3.117,999,3.294,1076,4.37,1077,4.038,1341,2.1,1380,8.373,1519,3.722,1726,2.8,1752,7.02,1971,3.048,2531,3.032,2681,3.511,3601,2.634,3998,6.086,4956,4.513,5573,4.439,5624,4.439,6513,4.086,6671,8.512,8898,4.038,9006,5.007,10337,4.038,10462,4.68,11049,4.593,11206,8.663,11207,6.8,11208,6.8,11209,4.776,11210,6.967,11211,4.68,11212,4.68,11216,8.525,11217,6.651,11218,6.651,11219,6.651,11220,4.68,11221,4.513,11223,5.493,11231,5.493,11232,6.967,11233,4.883,11234,4.883,11235,4.776,11236,5.3,11237,5.003,11238,5.14,11239,6.057,11335,8.801,11336,5.14,11337,9.364,11340,5.493,11345,9.998,11346,5.734,11347,5.734,11370,12.266,11371,6.547,11372,6.547,11373,6.547,11374,6.057,11375,6.547,11376,6.086,11377,6.057,11378,6.057,11379,6.057,11380,5.734]],["title/modules/FwuLearningContentsTestModule.html",[201,1.848,11381,6.012]],["body/modules/FwuLearningContentsTestModule.html",[0,0.221,3,0.014,4,0.014,5,0.007,8,0.793,27,0.269,29,0.517,30,0.001,31,0.372,32,0.085,33,0.313,35,0.794,59,2.013,94,4.524,95,0.165,99,1.061,101,0.01,103,0,104,0,155,2.134,201,3.052,203,2.375,204,2.547,205,2.619,206,2.609,207,2.598,208,4.408,209,2.48,214,5.747,218,3.65,219,2.567,220,2.508,223,4.719,225,4.738,226,0.955,239,2.134,276,3.949,349,0.676,413,2.751,437,1.382,490,3.242,598,3.785,644,4.24,964,3.785,1170,4.768,1171,6.277,1174,6.996,1341,2.096,1380,8.368,1752,7.017,1971,3.043,2531,3.027,3601,2.63,3998,6.079,6513,4.079,6671,8.508,8898,4.031,9006,5.002,10337,4.031,11049,4.585,11056,5.484,11212,4.672,11216,8.52,11220,4.672,11221,4.505,11223,5.484,11231,5.484,11273,8.361,11274,9.004,11275,5.725,11276,8.454,11278,4.768,11280,6.792,11335,8.794,11336,7.15,11337,9.943,11340,5.484,11345,9.993,11346,5.725,11347,5.725,11374,8.425,11376,6.079,11378,6.047,11379,6.047,11380,5.725,11381,12.382,11382,6.537,11383,6.537,11384,6.537,11385,6.174,11386,6.537,11387,5.725,11388,4.995,11389,5.725]],["title/injectables/FwuLearningContentsUc.html",[539,0.921,11345,5.557]],["body/injectables/FwuLearningContentsUc.html",[0,0.29,3,0.019,4,0.019,5,0.01,7,0.123,8,1.324,27,0.449,29,0.863,30,0.001,31,0.621,32,0.141,33,0.523,35,1.042,47,0.937,59,2.642,95,0.15,101,0.013,103,0.001,104,0.001,177,1.598,226,1.253,262,2.651,349,0.887,360,4.344,379,1.378,437,1.131,539,1.465,541,2.061,603,2.246,608,1.988,639,4.037,824,3.872,1074,8.341,1218,3.242,1341,2.751,2312,4.524,2313,5.76,3002,5.814,3601,3.451,10337,5.289,11336,9.427,11337,10.644,11340,7.195,11345,8.837,11354,9.658,11380,7.511,11390,12.008,11391,8.576,11392,9.721,11393,9.22,11394,8.576,11395,8.576,11396,8.576,11397,8.576,11398,8.576,11399,8.576]],["title/interfaces/GetFile.html",[105,0.702,6519,4.815]],["body/interfaces/GetFile.html",[3,0.018,4,0.018,5,0.012,7,0.118,30,0.001,32,0.167,33,0.652,47,1.019,55,2.626,95,0.098,101,0.02,103,0.001,104,0.001,105,1.349,107,1.925,112,0.811,284,3.887,360,5.37,556,2.607,1215,7.068,1217,4.618,1361,4.43,2094,5.055,5838,7.129,6441,4.964,6508,6.112,6509,6.112,6510,6.435,6511,6.263,6512,6.263,6513,5.115,6514,6.112,6515,5.557,6516,5.557,6517,5.557,6518,5.557,6519,7.438,6520,7.664,6521,7.495,6522,7.495,6523,5.979,6524,8.102,6525,8.102,6526,6.112]],["title/interfaces/GetFileResponse.html",[105,0.702,10869,4.515]],["body/interfaces/GetFileResponse.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,31,0.722,32,0.176,33,0.659,47,1.01,55,2.46,95,0.144,101,0.017,103,0.001,104,0.001,105,1.123,107,2.032,112,0.84,154,1.75,284,3.83,348,4.352,790,4.352,1215,6.963,1217,4.873,5838,7.274,6419,4.049,6437,7.27,6490,7.714,6520,7.82,6521,7.647,6522,7.647,10869,7.218,11354,6.609,11400,8.002,11401,7.002,11402,7.575,11403,6.45,11404,6.309]],["title/interfaces/GetFileResponse-1.html",[105,0.584,708,2.287,10869,3.754]],["body/interfaces/GetFileResponse-1.html",[0,0.386,3,0.015,4,0.015,5,0.007,7,0.095,30,0.001,31,0.682,32,0.165,33,0.622,34,1.109,47,1.001,55,2.328,95,0.126,101,0.019,103,0,104,0,105,1.081,107,1.558,112,0.704,150,1.49,180,1.156,245,3.453,271,3.921,284,3.619,319,3.898,1105,3.316,1125,6.441,1150,3.878,1215,6.581,1217,3.737,1218,2.507,1271,2.066,1820,5.548,1821,6.237,2024,3.088,2171,6.528,2236,4.838,2255,2.536,2297,4.497,2784,3.14,3130,5.548,5833,8.042,5838,6.875,5847,4.653,5854,4.741,5883,3.805,5890,4.741,5891,4.741,5896,4.741,5948,6.576,6441,4.307,6520,7.39,6521,7.227,6522,7.227,7287,5.434,7536,4.653,10530,5.548,10869,6.051,11405,4.302,11406,5.068,11407,7.03,11408,8.071,11409,7.03,11410,6.711,11411,7.03,11412,5.068,11413,5.068,11414,5.068,11415,5.068,11416,5.068,11417,5.068,11418,4.946,11419,6.237,11420,4.653,11421,5.068,11422,5.068,11423,4.571,11424,6.861,11425,4.838,11426,5.068,11427,5.068,11428,5.068,11429,5.068,11430,5.068,11431,7.878,11432,4.838,11433,5.068]],["title/classes/GetFwuLearningContentParams.html",[0,0.232,11342,6.012]],["body/classes/GetFwuLearningContentParams.html",[0,0.401,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.402,30,0.001,32,0.127,47,0.831,95,0.141,101,0.015,103,0.001,104,0.001,112,0.906,138,1.748,148,3.027,150,2.195,245,3.036,248,4.724,250,7.575,809,6.501,11336,9.293,11337,10.392,11342,10.367,11434,11.837,11435,9.771,11436,12.734,11437,9.771,11438,10.951,11439,11.837,11440,9.771,11441,9.771,11442,9.771]],["title/classes/GetH5PContentParams.html",[0,0.232,11443,5.119]],["body/classes/GetH5PContentParams.html",[0,0.442,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,26,2.012,27,0.407,30,0.001,32,0.128,33,0.474,47,0.918,95,0.152,99,1.195,101,0.02,103,0.001,104,0.001,112,0.756,138,1.768,148,2.281,150,1.655,154,1.49,245,3.6,247,3.164,248,4.451,249,3.866,271,4.139,808,5.066,809,7.028,839,3.702,852,3.429,1105,5.575,1108,7.417,1150,7.483,1218,3.735,2024,3.429,2171,5.383,2921,4.35,2922,5.953,3632,3.392,4260,9.366,4263,8.521,5663,5.076,5833,7.233,5883,4.225,5930,8.08,5933,3.41,7299,6.699,10530,4.442,11405,7.233,11443,7.369,11444,5.782,11445,7.365,11446,7.365,11447,7.365,11448,7.758,11449,5.493,11450,5.493,11451,5.493,11452,5.628,11453,5.782,11454,5.493,11455,5.782]],["title/classes/GetH5PEditorParams.html",[0,0.232,11450,5.119]],["body/classes/GetH5PEditorParams.html",[0,0.443,2,0.817,3,0.016,4,0.016,5,0.008,7,0.106,26,2.017,27,0.408,30,0.001,32,0.128,47,0.919,95,0.152,99,1.199,101,0.02,103,0.001,104,0.001,112,0.758,138,1.772,148,2.29,150,1.661,154,1.496,245,3.602,247,3.176,248,4.459,249,3.875,271,4.147,808,5.071,809,7.035,839,3.707,852,3.442,1105,5.585,1108,7.426,1150,7.491,1218,3.745,2024,3.442,2171,5.396,2921,4.366,2922,5.96,3632,3.404,4260,9.372,4263,8.537,5663,5.095,5833,7.246,5883,4.241,5930,8.092,5933,3.423,7299,6.716,10530,4.458,11405,7.246,11443,5.513,11444,5.803,11448,7.777,11449,5.513,11450,7.387,11451,5.513,11452,5.648,11453,5.803,11454,5.513,11455,5.803,11456,7.392,11457,6.838,11458,7.392]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.232,11449,5.119]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.445,2,0.835,3,0.017,4,0.017,5,0.008,7,0.108,26,2.047,27,0.311,30,0.001,32,0.098,47,0.905,95,0.153,99,1.226,101,0.02,103,0.001,104,0.001,112,0.769,138,1.352,148,2.341,150,1.698,154,1.529,245,3.612,247,3.246,248,4.508,249,3.933,271,4.193,808,5.104,809,7.08,839,3.74,852,3.518,1105,5.025,1108,7.481,1150,7.041,1218,3.8,2024,3.518,2171,5.476,2921,4.463,2922,6.004,3632,3.48,4260,9.404,4263,8.632,5833,7.326,5883,4.335,5930,8.163,5933,3.499,7299,6.815,10530,4.557,11405,6.52,11443,5.636,11444,5.933,11448,7.892,11449,7.497,11450,5.636,11451,5.636,11452,5.774,11453,5.933,11454,5.636,11455,5.933,11457,6.991,11459,7.557]],["title/interfaces/GetH5PFileResponse.html",[105,0.702,11423,4.731]],["body/interfaces/GetH5PFileResponse.html",[0,0.386,3,0.015,4,0.015,5,0.007,7,0.095,30,0.001,31,0.682,32,0.165,33,0.622,34,1.109,47,1.001,55,2.328,95,0.126,101,0.019,103,0,104,0,105,1.081,107,1.558,112,0.704,150,1.49,180,1.156,245,3.453,271,3.921,284,3.619,319,3.898,1105,3.316,1125,6.441,1150,3.878,1215,6.581,1217,3.737,1218,2.507,1271,2.066,1820,5.548,1821,6.237,2024,3.088,2171,6.528,2236,4.838,2255,2.536,2297,4.497,2784,3.14,3130,5.548,5833,8.042,5838,6.875,5847,4.653,5854,4.741,5883,3.805,5890,4.741,5891,4.741,5896,4.741,5948,6.576,6441,4.307,6520,7.39,6521,7.227,6522,7.227,7287,5.434,7536,4.653,10530,5.548,10869,4.362,11405,4.302,11406,5.068,11407,7.03,11408,8.071,11409,7.03,11410,6.711,11411,7.03,11412,5.068,11413,5.068,11414,5.068,11415,5.068,11416,5.068,11417,5.068,11418,4.946,11419,6.237,11420,4.653,11421,5.068,11422,5.068,11423,6.341,11424,6.861,11425,4.838,11426,5.068,11427,5.068,11428,5.068,11429,5.068,11430,5.068,11431,7.878,11432,4.838,11433,5.068]],["title/interfaces/GetH5pFileResponse.html",[105,0.702,11423,4.731]],["body/interfaces/GetH5pFileResponse.html",[0,0.28,3,0.018,4,0.018,5,0.013,7,0.119,30,0.001,31,0.735,32,0.171,33,0.653,47,1,55,2.697,95,0.127,101,0.018,103,0.001,104,0.001,105,1.092,107,1.945,112,0.817,284,3.993,829,4.28,834,4.51,1105,4.139,1147,2.515,1215,7.26,1217,4.665,1361,4.475,2044,3.214,2190,5.231,3601,3.332,5838,7.407,6421,6.946,6456,5.613,6520,7.694,6521,7.787,6522,7.787,10332,6.946,10337,5.106,10338,6.946,10339,6.5,10340,6.703,11405,5.37,11423,7.356,11460,8.64,11461,6.327]],["title/interfaces/GetLibraryFile.html",[105,0.702,11461,5.245]],["body/interfaces/GetLibraryFile.html",[0,0.291,3,0.019,4,0.019,5,0.013,7,0.123,30,0.001,31,0.622,32,0.173,33,0.524,47,0.973,55,2.724,95,0.13,101,0.019,103,0.001,104,0.001,105,1.119,107,2.019,112,0.836,120,4.632,284,4.032,829,4.443,834,4.682,1105,4.296,1147,2.61,1215,7.332,1217,4.842,1361,4.645,2044,3.336,2190,5.43,3601,3.458,5838,7.493,6421,7.211,6456,5.827,6520,5.301,6521,7.877,6522,7.877,10332,7.211,10337,5.301,10338,7.211,10339,6.747,10340,6.958,11405,5.574,11423,5.924,11460,8.849,11461,8.352]],["title/interfaces/GetLibraryFile-1.html",[105,0.584,708,2.287,11461,4.361]],["body/interfaces/GetLibraryFile-1.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.178,33,0.561,47,0.887,55,2.751,95,0.114,101,0.015,103,0.001,104,0.001,105,0.981,107,2.252,112,0.895,120,4.958,284,3.972,829,4.956,1105,4.792,1215,7.222,1217,5.401,2190,6.057,5838,7.544,6521,7.931,6522,7.931,11461,8.941,11462,9.587,11463,9.587]],["title/classes/GetMetaTagDataBody.html",[0,0.232,11464,6.012]],["body/classes/GetMetaTagDataBody.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,47,0.835,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,138,1.761,142,3.835,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,245,3.049,1262,4.457,2232,6.698,8704,7.82,11464,10.413,11465,9.085,11466,8.673,11467,11.889,11468,9.842,11469,9.842,11470,9.842]],["title/interfaces/GlobalConstants.html",[105,0.702,11471,6.35]],["body/interfaces/GlobalConstants.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.163,33,0.631,47,0.992,95,0.114,101,0.015,103,0.001,104,0.001,105,0.981,107,2.252,112,0.895,437,1.543,1262,3.345,1822,5.721,11217,9.837,11218,9.837,11219,9.837,11471,11.684,11472,9.587,11473,11.701,11474,9.587,11475,11.701]],["title/classes/GlobalErrorFilter.html",[0,0.232,8910,5.759]],["body/classes/GlobalErrorFilter.html",[0,0.163,2,0.532,3,0.011,4,0.011,5,0.005,7,0.069,8,0.884,27,0.5,29,0.939,30,0.001,31,0.692,32,0.154,33,0.569,35,1.442,95,0.152,100,1.638,101,0.007,103,0,104,0,105,0.493,177,0.898,226,0.704,236,1.878,340,2.335,345,1.536,349,1.228,379,0.608,437,1.748,479,4.09,519,3.024,521,1.907,556,1.184,603,2.806,604,2.997,645,3.514,646,3.444,824,4.626,951,4.596,990,4.461,996,2.321,997,2.243,998,2.294,1025,3.887,1147,2.215,1195,9.05,1218,2.757,1226,3.514,1227,3.444,1242,5.306,1266,4.945,1269,6.055,1271,3.058,1283,7.696,1292,4.22,1295,3.514,1338,5.737,1341,1.545,2092,4.22,2312,3.023,3002,3.266,3368,3.9,3730,7.502,3965,6.389,4541,2.875,4699,3.9,4858,5.309,6865,2.875,8816,3.9,8865,8.237,8883,3.9,8895,3.9,8910,6.12,8933,8.237,10156,4.457,11145,6.565,11146,4.457,11476,12.389,11477,4.457,11478,8.803,11479,7.294,11480,7.294,11481,7.294,11482,7.294,11483,7.294,11484,9.818,11485,7.294,11486,4.818,11487,6.748,11488,11.527,11489,4.818,11490,7.294,11491,4.818,11492,7.294,11493,4.818,11494,7.294,11495,4.818,11496,7.294,11497,4.818,11498,7.294,11499,4.818,11500,4.818,11501,7.294,11502,4.818,11503,4.818,11504,6.12,11505,4.818,11506,4.818,11507,4.818,11508,4.818,11509,4.818,11510,4.818,11511,4.818,11512,4.818,11513,4.818,11514,4.818,11515,4.818,11516,4.818,11517,4.818,11518,4.818,11519,4.818,11520,4.818,11521,4.818,11522,4.818,11523,4.818,11524,4.818,11525,4.818,11526,7.294,11527,4.818,11528,4.818,11529,4.818,11530,7.294,11531,4.818,11532,4.818,11533,4.818,11534,4.818,11535,4.818,11536,4.818,11537,4.818,11538,4.818,11539,4.818]],["title/classes/GlobalValidationPipe.html",[0,0.232,11540,6.012]],["body/classes/GlobalValidationPipe.html",[0,0.39,2,0.87,3,0.017,4,0.017,5,0.009,27,0.324,30,0.001,32,0.149,95,0.123,100,4.321,101,0.012,103,0.001,104,0.001,112,0.603,138,1.849,142,3.07,143,2.892,145,2.209,148,3.201,153,1.806,180,1.801,182,2.505,226,1.151,236,1.283,245,2.021,271,2.924,283,7.112,284,2.38,310,3.417,340,3.818,358,4.614,379,1.455,472,5.38,480,2.875,486,3.112,511,3.5,517,2.978,578,4.804,760,6.02,766,4.4,828,5.182,990,2.695,1082,7.706,1121,5.042,1124,6.9,1131,10.668,1133,6.02,1157,7.289,1181,6.301,1266,5.341,1289,7.838,1297,5.182,1304,4.653,1728,5.182,1832,4.327,2000,5.928,2095,5.341,2171,4.292,2424,4.653,2739,4.685,3309,4.978,3519,6.797,3526,5.876,4654,8.366,5284,4.978,6688,7.249,8816,6.378,9425,5.747,11540,9.05,11541,10.334,11542,7.879,11543,10.668,11544,7.879,11545,8.113,11546,7.879,11547,7.879,11548,7.879,11549,7.879,11550,6.9,11551,7.879,11552,6.9,11553,7.879,11554,7.289,11555,7.879,11556,7.879,11557,7.879,11558,6.378]],["title/classes/GridElement.html",[0,0.232,7716,5.389]],["body/classes/GridElement.html",[0,0.174,2,0.343,3,0.007,4,0.007,5,0.003,7,0.122,8,0.624,26,2.494,27,0.509,29,0.832,30,0.001,31,0.599,32,0.162,33,0.556,34,1.814,35,1.408,39,1.406,47,0.884,55,2.47,83,0.903,95,0.078,101,0.016,103,0,104,0,105,0.318,112,0.394,119,1.892,120,2.18,181,1.392,191,2.803,192,1.987,226,0.454,236,1.653,349,1.359,379,0.392,381,1.743,404,3.418,405,2.759,413,3.436,437,1.733,480,1.833,486,0.935,519,3.629,529,1.881,556,2.384,603,2.46,696,2.975,708,2.64,739,3.307,849,1.719,975,4.728,1080,4.904,1147,1.563,1271,3.544,1553,5.034,1568,3.292,1739,4.466,1942,4.536,2297,2.105,2501,1.495,2647,2.849,2668,7.444,2680,1.798,2681,1.665,2723,2.14,2784,3.628,2804,4.521,3261,2.315,3458,2.178,3631,3.292,3725,7.127,3797,3.211,4969,1.915,6612,2.605,6719,2.105,6761,9.642,6765,3.753,6845,3.546,7077,5.282,7623,5.478,7646,2.265,7647,2.719,7649,2.719,7652,2.719,7653,2.605,7654,7.683,7656,2.513,7663,4.506,7669,2.719,7673,2.719,7676,2.719,7677,7.683,7679,9.102,7682,5.855,7684,2.719,7685,7.127,7688,2.719,7690,2.719,7692,2.719,7694,2.719,7696,2.719,7698,2.719,7701,2.719,7703,4.506,7704,2.315,7705,7.44,7706,6.711,7707,5.77,7708,7.44,7709,5.77,7710,4.506,7711,7.44,7712,4.506,7713,5.77,7714,2.719,7715,3.837,7716,9.615,7717,5.77,7718,4.506,7719,2.719,7720,4.506,7721,2.719,7722,4.506,7723,2.719,7724,4.506,7725,4.506,7726,4.506,7727,4.506,7728,4.506,7729,2.719,7730,4.506,7731,2.605,7732,4.506,7733,2.719,7734,2.14,7735,4.506,7736,2.719,7737,2.719,7738,2.719,7739,4.506,7740,2.513,7741,2.719,7742,4.506,7743,2.719,7744,2.372,7745,2.719,7746,2.719,7747,2.719,7748,2.719,7749,2.719,7750,2.719,7751,2.719,7752,2.719,7753,2.719,7754,4.506,7755,4.506,7756,2.605,7757,5.77,7758,2.719,7759,4.506,7760,2.719,7761,2.719,7762,2.719,7763,2.719,7764,2.719,7765,2.719,7766,2.719,7767,2.719,7768,2.719,7769,2.719,7770,2.719,7771,2.719,7772,2.719,7773,2.719,7774,2.719,7775,2.719,7776,2.719,7777,2.719,7778,2.719,7779,2.719,7780,2.719,7781,2.719,7782,2.719,7783,4.506,7784,2.719,7785,2.719,7786,2.719,7787,4.506,7788,4.506,7789,2.719,7790,2.719,7791,2.719,7792,2.719,7793,2.719,7794,2.719,7795,2.719,7796,5.77,7797,2.719,7798,2.719,11559,4.76,11560,5.145,11561,5.145,11562,5.145,11563,5.145,11564,4.76,11565,4.76,11566,4.76,11567,3.104,11568,3.104,11569,3.104,11570,3.104,11571,3.104,11572,3.104,11573,2.872,11574,3.104,11575,3.104,11576,3.104,11577,3.104,11578,3.104,11579,3.104,11580,3.104,11581,3.104,11582,3.104,11583,3.104,11584,3.104,11585,3.104]],["title/classes/Group.html",[0,0.232,975,3.346]],["body/classes/Group.html",[0,0.234,2,0.765,3,0.015,4,0.015,5,0.008,7,0.099,8,1.149,26,1.93,27,0.553,29,0.749,30,0.001,31,0.715,32,0.17,33,0.454,34,1.158,35,1.412,47,0.816,83,2.756,95,0.138,99,1.124,101,0.015,103,0.001,104,0.001,105,0.709,112,0.725,119,2.233,133,2.401,180,1.884,239,2.532,349,1.299,381,3.212,382,2.832,448,3.846,479,3.493,519,3.579,528,3.556,556,2.33,662,2.944,686,4.342,696,2.689,975,5.665,1661,5.34,1664,2.59,1665,5.066,1668,6.827,1747,4.133,2538,6.066,2795,4.492,2813,4.492,3122,5.015,3123,6.408,3142,7.674,4265,8.769,4276,5.292,4303,5.811,5321,5.607,7322,6.184,8964,8.257,8995,8.722,11586,6.408,11587,9.479,11588,10.75,11589,8.879,11590,8.769,11591,9.831,11592,6.926,11593,6.926,11594,8.769,11595,6.926,11596,6.926,11597,6.926,11598,6.926,11599,6.926,11600,6.926,11601,6.926,11602,5.438,11603,6.926,11604,5.607,11605,5.811,11606,5.811,11607,6.408,11608,6.408,11609,6.408,11610,6.066,11611,6.408,11612,6.408,11613,5.811,11614,6.408]],["title/modules/GroupApiModule.html",[201,1.848,11615,5.557]],["body/modules/GroupApiModule.html",[0,0.27,3,0.018,4,0.018,5,0.009,30,0.001,95,0.164,101,0.012,103,0.001,104,0.001,201,3.122,203,2.896,204,3.106,205,3.194,206,3.181,207,3.169,208,4.289,209,3.025,218,4.173,219,3.131,220,3.059,222,4.975,223,4.335,225,4.139,226,1.165,259,3.047,654,2.394,1420,9.758,1421,9.178,1439,6.453,1440,5.592,1752,7.438,1963,4.491,2531,3.691,2764,3.774,3593,7.979,3603,4.011,4479,10.978,5434,8.373,11615,11.638,11616,7.971,11617,7.971,11618,7.971,11619,10.593,11620,12.105,11621,7.971,11622,10.157,11623,7.971,11624,7.971]],["title/controllers/GroupController.html",[259,2.624,11622,6.012]],["body/controllers/GroupController.html",[0,0.344,2,0.968,3,0.014,4,0.014,5,0.007,7,0.089,8,1.063,27,0.361,29,0.693,30,0.001,31,0.499,32,0.178,33,0.42,34,1.034,35,1.065,36,2.371,95,0.156,99,1.004,100,2.104,101,0.01,103,0,104,0,138,1.568,150,1.39,177,1.153,223,2.576,226,0.904,239,1.45,247,2.659,259,2.366,261,2.964,262,2.678,270,6.117,271,3.777,294,6.41,304,5.725,310,4.799,319,3.714,333,3.73,335,6.137,336,7.783,337,3.222,338,3.293,343,3.319,345,1.973,346,5.23,347,4.377,349,0.906,437,1.459,556,2.155,608,2.031,631,3.155,662,3.768,822,4.247,824,3.926,836,7.763,975,4.961,1283,7.315,1284,3.518,1618,4.341,1944,3.697,2764,2.93,2933,4.514,2963,3.245,3779,3.655,4379,9.692,4387,5.01,4429,8.537,4508,9.692,4706,6.04,6722,6.01,6861,5.285,7336,4.729,9687,8.238,9743,5.42,10179,9.414,11620,9.414,11622,7.676,11625,6.189,11626,10.175,11627,6.189,11628,9.414,11629,6.189,11630,11.067,11631,8.764,11632,11.067,11633,6.189,11634,6.189,11635,6.189,11636,9.692,11637,6.189,11638,6.189,11639,6.189,11640,6.189,11641,6.189,11642,7.095,11643,8.537,11644,5.42,11645,6.189,11646,6.189,11647,8.108,11648,6.189,11649,6.189,11650,6.189,11651,7.676,11652,7.676,11653,6.189,11654,6.189,11655,6.189,11656,6.189,11657,6.189,11658,6.189]],["title/classes/GroupDomainMapper.html",[0,0.232,11659,6.012]],["body/classes/GroupDomainMapper.html",[0,0.186,2,0.606,3,0.012,4,0.012,5,0.006,7,0.079,8,0.974,27,0.479,29,0.92,30,0.001,31,0.702,32,0.16,33,0.558,34,1.343,35,1.415,39,1.5,48,2.628,95,0.125,96,1.467,97,2.284,99,0.89,101,0.009,103,0,104,0,154,2.118,236,1.815,239,1.883,276,3.485,349,1.204,381,1.859,405,2.943,413,4.135,437,1.659,556,2.862,644,2.555,655,4.07,975,5.433,988,3.502,1778,2.155,2311,7.271,3122,3.469,3134,2.527,3346,7.736,4342,2.426,4446,3.424,4447,4.308,4544,7.594,4748,4.092,5161,3.72,6763,7.807,8709,3.384,8964,4.193,8995,8.79,9000,9.443,9006,3.014,9480,7.039,11589,4.193,11591,9.773,11604,9.021,11605,4.604,11606,4.604,11610,4.806,11659,7.039,11660,12.028,11661,5.487,11662,8.037,11663,8.037,11664,9.509,11665,8.037,11666,8.037,11667,8.037,11668,5.487,11669,8.475,11670,8.037,11671,5.487,11672,8.037,11673,5.487,11674,5.487,11675,5.487,11676,8.037,11677,9.684,11678,5.487,11679,8.037,11680,5.487,11681,4.604,11682,7.466,11683,5.487,11684,7.435,11685,7.039,11686,5.487,11687,5.487,11688,8.328,11689,8.037,11690,8.037,11691,5.487,11692,4.806,11693,5.487,11694,5.487,11695,5.487,11696,8.037,11697,5.487,11698,5.487,11699,5.487,11700,8.037,11701,5.487,11702,5.487,11703,5.487,11704,5.487,11705,5.487,11706,5.487,11707,5.487,11708,5.487,11709,5.487,11710,4.604,11711,5.487,11712,5.487,11713,5.487,11714,5.487,11715,5.487,11716,5.487]],["title/entities/GroupEntity.html",[154,1.389,6763,5.119]],["body/entities/GroupEntity.html",[0,0.363,3,0.015,4,0.015,5,0.008,7,0.098,26,1.914,27,0.516,30,0.001,31,0.658,32,0.174,33,0.6,34,1.144,47,0.754,95,0.153,96,1.829,101,0.017,103,0.001,104,0.001,105,0.7,112,0.72,138,2.24,143,2.897,144,4.076,154,1.902,155,2.235,172,3.355,173,1.99,174,3.594,178,2.721,180,1.193,181,1.852,182,2.176,404,2.754,405,5.042,578,4.174,644,5.642,839,3.592,975,4.584,1732,4.93,2044,2.657,2501,3.297,2566,3.056,3122,4.99,4326,7.533,4332,6.2,4333,4.084,4342,3.026,4404,4.128,5094,4.354,5161,7.839,6722,4.043,6763,7.012,6772,3.856,7000,4.64,8971,5.374,8972,5.995,8995,7.839,9000,9.514,11669,7.612,11677,9.514,11681,9.7,11682,9.514,11688,10.126,11692,5.995,11717,6.332,11718,6.845,11719,6.845,11720,6.845,11721,6.845,11722,6.845,11723,6.845,11724,6.332,11725,6.332,11726,4.801,11727,6.332,11728,5.743,11729,6.332,11730,6.332,11731,6.332,11732,6.332]],["title/interfaces/GroupEntityProps.html",[105,0.702,11669,5.557]],["body/interfaces/GroupEntityProps.html",[0,0.369,3,0.015,4,0.015,5,0.008,7,0.101,26,2.383,30,0.001,31,0.697,32,0.178,33,0.631,34,1.956,47,0.822,95,0.154,96,1.883,101,0.017,103,0.001,104,0.001,105,0.721,107,1.655,112,0.734,143,2.595,144,3.549,154,1.94,172,2.996,173,2.049,174,3.666,178,2.801,180,1.228,181,1.907,182,2.24,404,2.835,405,5.143,578,4.296,644,5.881,839,3.387,975,4.676,1732,3.695,2044,2.735,2501,3.394,2566,3.146,3122,5.284,4332,6.276,4333,4.205,4342,3.115,4404,4.25,5094,4.441,5161,8.3,6722,4.162,6763,5.255,6772,3.97,8971,5.532,8972,6.171,8995,8.3,9000,9.916,11669,8.827,11677,9.916,11681,10.272,11682,9.916,11688,10.722,11692,6.171,11717,6.519,11724,6.519,11725,6.519,11726,4.943,11727,6.519,11728,5.912,11729,6.519,11730,6.519,11731,6.519,11732,6.519]],["title/classes/GroupIdParams.html",[0,0.232,11636,6.012]],["body/classes/GroupIdParams.html",[0,0.405,2,1.098,3,0.022,4,0.022,5,0.011,7,0.143,27,0.409,30,0.001,32,0.129,34,1.999,47,0.84,95,0.142,101,0.015,103,0.001,104,0.001,112,0.915,138,1.778,142,4.66,143,2.652,144,3.235,145,3.353,148,3.078,150,2.233,245,3.067,808,4.734,4382,8.338,6058,8.338,7715,9.567,11636,10.474,11733,11.959,11734,9.194]],["title/modules/GroupModule.html",[201,1.848,11619,5.557]],["body/modules/GroupModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.15,101,0.015,103,0.001,104,0.001,201,3.383,203,3.443,204,3.693,205,3.797,206,3.782,207,3.766,208,4.647,209,4.767,218,4.655,219,3.722,220,3.636,226,1.384,560,3.893,2487,5.005,11619,11.411,11735,9.475,11736,9.475,11737,9.475,11738,12.009,11739,11.476,11740,9.475]],["title/interfaces/GroupNameIdTuple.html",[105,0.702,11741,5.759]],["body/interfaces/GroupNameIdTuple.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,31,0.566,32,0.155,39,2.716,47,1.007,101,0.019,103,0.001,104,0.001,105,1.224,107,2.334,112,0.915,121,6.537,123,8.338,135,5.551,653,5.102,4266,3.357,5866,6.971,5953,6.834,6722,5.87,11741,10.763,11742,9.194,11743,11.659]],["title/interfaces/GroupProps.html",[105,0.702,11604,5.557]],["body/interfaces/GroupProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.104,26,2.414,30,0.001,31,0.705,32,0.181,33,0.635,34,1.982,47,0.93,83,3.707,95,0.141,99,1.18,101,0.015,103,0.001,104,0.001,105,0.744,107,1.708,112,0.75,119,2.025,133,2.521,180,1.932,239,1.704,349,1.318,519,3.018,528,3.734,556,2.409,696,2.823,975,5.402,1661,6.243,1664,2.719,1665,4.079,1747,4.34,2538,6.37,3122,5.342,3142,7.932,4303,6.102,5321,5.888,7322,5.215,8964,9.457,8995,9.198,11586,6.728,11588,6.728,11589,9.457,11590,6.728,11591,9.956,11594,6.728,11604,7.932,11605,9.948,11606,9.948,11607,6.728,11608,6.728,11609,6.728,11610,6.37,11611,6.728,11612,6.728,11613,6.102,11614,6.728]],["title/injectables/GroupRepo.html",[539,0.921,11739,5.759]],["body/injectables/GroupRepo.html",[0,0.172,3,0.011,4,0.011,5,0.006,7,0.073,8,0.923,10,3.087,12,3.414,18,3.803,26,2.558,27,0.484,29,0.929,30,0.001,31,0.669,32,0.16,33,0.563,34,1.688,35,1.377,36,2.767,40,3.665,47,0.639,48,4.836,49,1.933,95,0.14,96,1.362,97,2.121,99,0.827,101,0.008,103,0,104,0,143,1.13,145,1.428,154,2.377,155,2.484,177,0.949,226,0.745,236,1.913,239,1.783,262,2.991,345,1.625,349,1.319,379,0.643,381,3.422,437,1.786,539,1.021,541,1.224,593,4.222,608,2.798,655,3.853,662,4.208,975,6.218,1665,4.718,1778,2.001,2311,5.74,2323,6.549,2359,5.55,2364,5.244,2366,8.423,2378,4.275,2394,6.663,2501,2.455,3122,2.199,3134,2.347,3341,3.455,3346,4.54,3365,6.663,3407,3.894,4266,2.57,4489,6.663,4496,6.663,5161,3.455,6763,9.204,7322,5.374,8498,4.714,8995,3.455,9509,4.463,9516,6.663,11604,9.176,11659,4.463,11669,6.159,11681,4.275,11684,4.714,11739,6.383,11744,5.095,11745,7.039,11746,6.663,11747,5.095,11748,5.095,11749,7.039,11750,5.095,11751,5.095,11752,7.039,11753,5.095,11754,5.095,11755,5.095,11756,5.095,11757,10.098,11758,10.098,11759,10.098,11760,7.608,11761,5.095,11762,5.095,11763,5.095,11764,7.608,11765,9.105,11766,5.095,11767,5.095,11768,5.095,11769,5.095,11770,5.095]],["title/classes/GroupResponse.html",[0,0.232,11643,5.759]],["body/classes/GroupResponse.html",[0,0.265,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,27,0.546,29,0.618,30,0.001,31,0.695,32,0.179,33,0.608,34,1.92,47,0.914,95,0.145,101,0.012,103,0.001,104,0.001,112,0.787,138,2.329,149,4.884,150,1.757,245,3.402,379,0.987,404,3.146,556,1.922,564,2.442,819,3.934,839,2.429,975,5.601,1058,5.974,2044,3.035,2566,3.491,2921,4.618,3122,4.958,8971,6.138,8995,7.788,9010,9.638,11589,8.778,11643,10.636,11728,6.559,11771,7.818,11772,9.005,11773,10.281,11774,7.818,11775,7.818,11776,7.818,11777,11.729,11778,7.818,11779,10.239,11780,7.818,11781,7.818,11782,7.818,11783,7.818,11784,6.847,11785,6.847,11786,7.233,11787,6.847,11788,7.233,11789,7.233]],["title/classes/GroupResponseMapper.html",[0,0.232,11644,6.012]],["body/classes/GroupResponseMapper.html",[0,0.232,2,0.759,3,0.015,4,0.015,5,0.008,7,0.099,8,1.143,27,0.443,29,0.851,30,0.001,31,0.691,32,0.157,33,0.516,34,1.798,35,1.307,47,0.482,48,3.289,55,2.557,56,5.578,59,2.903,70,5.826,95,0.138,99,1.114,100,2.335,101,0.011,103,0.001,104,0.001,236,1.976,239,1.609,276,2.978,349,1.113,413,4.006,437,1.6,556,1.688,603,2.214,651,3.308,652,3.308,655,3.478,782,4.098,822,5.611,824,3.343,988,2.992,1618,4.817,1778,2.697,3122,2.964,4387,9.374,4390,5.762,4391,5.762,4392,4.584,4393,5.762,4415,10.18,4417,4.395,4429,10.18,4544,6.705,8964,5.248,8995,4.656,9010,7.906,9702,6.015,11589,5.248,11642,9.374,11643,10.18,11644,8.254,11685,6.015,11777,6.354,11779,7.906,11790,11.578,11791,10.759,11792,9.424,11793,9.424,11794,6.868,11795,6.354,11796,9.424,11797,9.424,11798,6.868,11799,6.868,11800,9.424,11801,6.868,11802,6.868,11803,6.868,11804,9.424,11805,6.868,11806,6.868,11807,6.868,11808,6.868,11809,6.868,11810,6.868,11811,6.868,11812,6.868,11813,6.868,11814,6.868,11815,6.868,11816,6.868,11817,6.868,11818,6.868,11819,6.868,11820,6.868,11821,6.868,11822,6.868,11823,6.868,11824,6.868,11825,6.868,11826,6.868,11827,6.868]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.232,11828,6.012]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.306,2,0.998,3,0.02,4,0.02,5,0.01,7,0.13,8,1.368,27,0.464,29,0.714,30,0.001,31,0.514,32,0.117,33,0.433,35,1.098,95,0.134,101,0.014,103,0.001,104,0.001,177,1.683,239,2.117,276,5.333,284,2.728,345,2.88,349,0.934,379,1.14,975,4.404,1025,3.576,1147,3.426,1218,3.415,1338,5.695,1339,6.357,1341,2.897,1343,6.397,1519,5.135,3083,6.457,7275,5.638,8829,6.403,8830,6.646,8980,6.03,11828,9.878,11829,12.298,11830,9.034,11831,9.034,11832,10.427,11833,9.034,11834,10.435,11835,9.034,11836,9.034,11837,6.59,11838,9.034,11839,9.034,11840,9.034]],["title/injectables/GroupRule.html",[539,0.921,1765,5.759]],["body/injectables/GroupRule.html",[0,0.27,3,0.018,4,0.018,5,0.009,7,0.115,8,1.264,27,0.478,29,0.918,30,0.001,31,0.661,32,0.159,33,0.557,35,1.267,95,0.152,99,1.296,101,0.012,103,0.001,104,0.001,119,2.705,131,4.404,143,1.771,177,1.488,226,1.167,239,3.205,345,2.546,349,1.078,379,1.008,437,1.375,539,1.399,541,1.919,604,3.282,662,4.067,975,6.593,1147,2.426,1665,5.551,1670,6.703,1697,8.17,1735,7.503,1765,8.747,1875,6.762,1879,6.507,1886,5.331,3411,6.959,3412,5.415,3415,6.858,3418,5.415,3419,7.069,3420,5.956,6238,5.709,11841,7.987,11842,7.987,11843,7.987,11844,7.987,11845,7.987,11846,10.426]],["title/injectables/GroupService.html",[539,0.921,11738,5.759]],["body/injectables/GroupService.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.032,10,3.452,12,3.818,18,4.253,26,2.735,27,0.519,29,0.996,30,0.001,31,0.717,32,0.166,33,0.604,34,1.815,35,1.497,36,2.899,40,4.098,47,0.698,48,5.201,95,0.142,99,0.963,101,0.009,103,0,104,0,177,1.106,226,0.867,236,0.967,239,1.391,262,3.089,345,1.892,349,1.237,379,0.749,437,1.577,529,1.694,539,1.142,541,1.426,593,3.704,608,2.855,655,3.006,662,4.346,975,6.88,1147,1.803,1750,7.137,1778,2.331,2487,3.135,2531,2.749,4266,2.005,4489,7.451,4496,7.451,4539,4.024,4540,4.164,4541,3.542,6722,5.025,7322,5.779,11738,7.137,11739,10.036,11745,7.87,11746,7.451,11749,7.87,11752,7.87,11847,5.936,11848,8.507,11849,5.936,11850,5.936,11851,8.507,11852,5.936,11853,5.936,11854,5.936,11855,5.936,11856,5.936,11857,8.507,11858,5.936,11859,8.507,11860,5.936,11861,8.507,11862,5.936,11863,5.936,11864,5.936,11865,5.936,11866,8.507,11867,5.936,11868,5.936]],["title/classes/GroupUcMapper.html",[0,0.232,11869,6.35]],["body/classes/GroupUcMapper.html",[0,0.403,2,0.721,3,0.014,4,0.014,5,0.007,7,0.094,8,1.103,27,0.431,29,0.828,30,0.001,31,0.721,32,0.164,33,0.502,34,1.75,35,1.272,59,2.802,95,0.147,99,1.059,100,2.219,101,0.01,103,0,104,0,236,1.706,349,1.083,413,3.961,437,1.571,662,3.253,696,2.533,975,6.476,1058,6.951,1440,4.578,1778,2.563,2426,4.498,3122,2.817,3134,4.823,3175,4.233,3548,5.283,4338,5.475,4387,10.618,4390,7.632,4391,7.632,4392,7.562,4393,7.632,4394,8.416,4402,5.716,4417,6.702,4544,7.145,4548,6.038,4549,6.038,4660,3.584,7322,6.34,8995,4.425,10258,4.356,10259,4.356,11376,7.562,11642,9.644,11784,7.967,11785,5.716,11787,5.716,11869,8.416,11870,11.329,11871,6.526,11872,9.097,11873,10.472,11874,9.097,11875,9.097,11876,6.526,11877,6.526,11878,11.329,11879,11.145,11880,7.562,11881,6.526,11882,9.097,11883,11.329,11884,6.526,11885,6.526,11886,6.526,11887,6.526,11888,6.526,11889,6.526,11890,9.097,11891,6.526,11892,6.526,11893,6.526,11894,9.097,11895,6.526,11896,6.526,11897,6.526,11898,6.526,11899,6.526,11900,6.526,11901,6.526,11902,6.526,11903,6.526]],["title/classes/GroupUser.html",[0,0.232,11591,5.245]],["body/classes/GroupUser.html",[0,0.327,2,1.067,3,0.021,4,0.021,5,0.011,7,0.139,26,2.751,27,0.522,29,0.763,30,0.001,31,0.55,32,0.164,33,0.463,39,3.462,95,0.115,99,1.567,101,0.015,103,0.001,104,0.001,112,0.899,181,3.18,191,5.26,192,6.179,379,1.219,381,3.272,4748,9.448,11591,10.324,11904,13.183,11905,8.932,11906,11.752,11907,9.655,11908,8.456,11909,8.456]],["title/classes/GroupUserEntity.html",[0,0.232,11677,5.389]],["body/classes/GroupUserEntity.html",[0,0.305,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,27,0.506,29,0.713,30,0.001,31,0.513,32,0.159,33,0.432,95,0.134,96,2.409,101,0.017,103,0.001,104,0.001,105,0.922,112,0.862,138,2.015,173,2.621,181,3.048,239,3.276,276,6.061,379,1.138,381,3.054,1718,5.436,2130,6.575,2562,5.743,5094,5.689,7000,7.636,7825,6.323,11677,8.843,11910,10.798,11911,7.562,11912,11.272,11913,11.263,11914,9.013,11915,6.575,11916,6.887]],["title/interfaces/GroupUserEntityProps.html",[105,0.702,11912,6.012]],["body/interfaces/GroupUserEntityProps.html",[0,0.32,3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.15,95,0.138,96,2.526,101,0.018,103,0.001,104,0.001,105,0.967,107,2.22,112,0.888,173,2.749,181,2.558,239,3.339,276,6.179,1718,5.701,2130,6.896,2562,5.915,5094,5.812,7825,6.631,11677,7.422,11910,7.931,11911,7.931,11912,10.992,11915,6.896,11916,7.223]],["title/classes/GroupUserResponse.html",[0,0.232,11779,5.759]],["body/classes/GroupUserResponse.html",[0,0.291,2,0.951,3,0.019,4,0.019,5,0.01,7,0.124,27,0.538,29,0.681,30,0.001,31,0.49,32,0.169,33,0.413,34,2.011,47,0.938,95,0.13,99,1.397,101,0.013,103,0.001,104,0.001,112,0.838,138,2.265,150,1.935,239,2.018,245,3.523,276,5.217,379,1.087,404,3.466,528,4.422,651,5.796,652,5.796,839,2.675,2130,6.283,2921,5.087,3174,5.749,3175,5.586,4660,7.177,10079,5.749,10081,5.749,11779,10.965,11917,13.357,11918,6.973,11919,9.183,11920,10.945,11921,8.613,11922,8.613,11923,8.613,11924,8.613]],["title/interfaces/GroupUsers.html",[105,0.702,11925,5.119]],["body/interfaces/GroupUsers.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.544,47,0.978,55,2.535,101,0.021,103,0.001,104,0.001,105,1.41,107,2.17,112,0.875,119,1.909,284,2.79,347,3.334,479,3.405,986,5.992,991,6.264,1025,3.658,3122,5.603,4600,6.264,6722,5.457,11925,8.53,11926,7.059,11927,6.89,11928,6.89,11929,7.059,11930,8.563,11931,7.059,11932,7.059,11933,6.89,11934,7.059,11935,6.739,11936,6.89,11937,7.059,11938,6.89]],["title/classes/GroupValidPeriodEntity.html",[0,0.232,11682,5.389]],["body/classes/GroupValidPeriodEntity.html",[0,0.312,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.511,29,0.729,30,0.001,31,0.525,32,0.161,33,0.442,83,3.951,95,0.11,96,2.463,101,0.018,103,0.001,104,0.001,105,0.943,112,0.874,138,2.044,172,4.166,173,2.68,181,3.091,379,1.163,381,3.124,578,7.91,2562,5.824,8709,8.001,8973,8.073,8974,8.073,8975,8.073,8976,8.073,11682,8.967,11910,10.884,11939,8.528,11940,11.361,11941,11.422,11942,9.218]],["title/interfaces/GroupValidPeriodEntityProps.html",[105,0.702,11940,6.012]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.331,3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.153,83,4.091,95,0.116,96,2.611,101,0.018,103,0.001,104,0.001,105,1,107,2.295,112,0.906,172,3.978,173,2.841,181,2.644,578,5.958,2562,6.036,8709,8.361,8973,8.558,8974,8.558,8975,8.558,8976,8.558,11682,7.671,11910,8.198,11939,9.04,11940,11.153]],["title/interfaces/GroupfoldersCreated.html",[105,0.702,11938,5.119]],["body/interfaces/GroupfoldersCreated.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,2.17,47,0.955,55,2.722,101,0.021,103,0.001,104,0.001,105,1.41,107,2.17,112,0.875,119,1.909,284,2.79,347,3.334,479,3.405,986,5.992,991,6.264,1025,3.658,3122,3.987,4600,6.264,6722,5.457,11925,6.89,11926,7.059,11927,6.89,11928,6.89,11929,7.059,11930,8.563,11931,7.059,11932,7.059,11933,6.89,11934,7.059,11935,6.739,11936,6.89,11937,7.059,11938,8.53]],["title/interfaces/GroupfoldersFolder.html",[105,0.702,11936,5.119]],["body/interfaces/GroupfoldersFolder.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.544,47,0.955,55,2.722,101,0.021,103,0.001,104,0.001,105,1.41,107,2.17,112,0.875,119,1.909,284,2.79,347,3.334,479,3.405,986,5.992,991,6.264,1025,3.658,3122,3.987,4600,6.264,6722,5.457,11925,6.89,11926,7.059,11927,6.89,11928,6.89,11929,7.059,11930,8.563,11931,7.059,11932,7.059,11933,6.89,11934,7.059,11935,6.739,11936,8.53,11937,9.92,11938,6.89]],["title/classes/GuardAgainst.html",[0,0.232,11943,6.012]],["body/classes/GuardAgainst.html",[0,0.288,2,0.941,3,0.019,4,0.019,5,0.01,7,0.122,8,1.318,27,0.351,29,0.86,30,0.001,31,0.485,32,0.141,33,0.409,35,1.321,101,0.013,103,0.001,104,0.001,153,1.953,333,4.628,349,0.881,413,3.616,479,4.909,480,3.85,529,2.433,556,3.275,593,4.962,938,6.296,1218,3.222,2251,10.209,4541,7.525,4752,9.122,8580,7.931,11943,9.522,11944,10.872,11945,8.522,11946,10.872,11947,10.872,11948,13.027,11949,8.522,11950,10.058,11951,8.308,11952,8.536,11953,9.522,11954,10.872]],["title/entities/H5PContent.html",[154,1.389,5934,5.119]],["body/entities/H5PContent.html",[0,0.256,3,0.011,4,0.017,5,0.006,7,0.144,26,2.387,27,0.466,30,0.001,32,0.146,47,0.945,49,4.447,95,0.128,96,2.024,97,2.108,99,0.822,101,0.016,103,0,104,0,105,0.518,112,0.58,138,2.023,143,2.965,144,4.352,154,1.532,155,1.653,172,4.382,173,1.472,174,2.895,178,2.013,180,0.883,182,1.61,236,1.478,349,0.938,379,0.639,654,2.275,839,2.818,1105,5.859,1108,3.022,1125,3.088,1147,1.538,1218,2.863,1271,1.577,2024,2.358,2171,6.16,2255,4.481,2562,3.861,2670,4.156,2696,2.358,2784,2.397,3130,3.054,3366,3.738,3473,3.022,3632,4.178,4266,3.064,4326,3.552,4332,4.061,4359,3.49,4543,4.099,4856,5.648,5146,2.804,5830,8.725,5831,9.489,5832,4.435,5833,5.883,5834,4.435,5835,4.435,5836,4.248,5837,3.552,5838,2.905,5839,4.248,5840,3.869,5841,3.869,5842,3.776,5843,3.869,5844,3.284,5845,4.435,5846,4.435,5847,3.552,5848,4.435,5849,4.435,5850,3.776,5851,3.869,5852,4.435,5853,4.435,5854,3.62,5858,6.632,5860,6.632,5863,7.692,5866,3.552,5867,3.869,5883,4.344,5884,3.869,5885,7.945,5886,3.869,5887,4.435,5888,3.869,5889,4.435,5890,3.62,5891,3.62,5892,4.435,5893,4.435,5894,3.552,5895,4.435,5896,3.62,5897,3.869,5898,4.435,5899,3.869,5900,4.435,5901,3.869,5902,4.435,5903,3.869,5904,4.435,5905,4.435,5906,4.435,5907,4.435,5908,4.435,5909,3.869,5910,4.435,5911,4.435,5912,4.435,5913,4.435,5914,4.435,5915,4.435,5916,4.435,5917,4.435,5918,4.435,5919,4.435,5920,4.435,5921,4.435,5922,4.435,5923,4.435,5924,4.435,5925,4.435,5926,4.435,5927,4.435,5928,4.248,5929,4.435,5930,6.825,5931,6.131,5932,4.902,5933,5.236,5934,5.648,5935,4.03,5936,6.484,5937,3.62,5938,6.15,5939,3.62,5940,6.617,5941,3.776,5942,3.24,5943,3.49,5944,4.248,5945,3.62,5946,4.435,5947,3.776,5948,3.62,10649,4.685,10657,4.685,11955,5.064,11956,5.064,11957,5.064,11958,4.685,11959,5.064,11960,5.064,11961,5.064]],["title/classes/H5PContentFactory.html",[0,0.232,11962,6.35]],["body/classes/H5PContentFactory.html",[0,0.167,2,0.545,3,0.011,4,0.011,5,0.006,7,0.071,8,0.901,27,0.534,29,1.036,30,0.001,31,0.71,32,0.172,33,0.598,34,1.493,35,1.486,47,0.522,49,1.872,55,2.371,59,3.283,95,0.106,101,0.008,103,0,104,0,112,0.568,120,3.147,133,2.574,140,2.71,143,1.647,153,2.047,154,2.156,155,2.425,177,1.384,180,1.295,236,1.736,271,4.627,319,3.147,349,0.51,379,0.623,382,3.875,413,2.243,437,0.651,447,7.194,448,4.544,449,5.503,452,4.113,453,5.503,454,5.665,455,4.113,456,4.113,457,4.113,458,4.046,459,4.524,460,4.946,461,6.737,462,5.806,463,7.031,464,2.756,469,2.733,470,4.113,471,2.756,472,5.174,473,5.329,474,4.23,475,5.033,476,4.079,477,2.733,478,2.588,479,4.127,480,3.327,481,2.667,482,2.626,483,2.733,484,5.102,485,2.756,486,3.602,487,4.866,488,2.733,489,6.903,490,4.256,491,6.622,492,2.756,493,4.381,494,2.733,495,2.756,496,2.733,497,2.756,498,2.733,499,3.08,500,2.886,501,2.733,502,6.101,503,2.756,504,2.733,505,4.113,506,3.867,507,4.113,508,2.756,509,2.646,510,2.626,511,2.192,512,2.733,513,2.733,514,2.733,515,2.756,516,2.756,517,1.865,518,2.733,519,1.52,520,2.756,521,2.941,522,2.733,523,2.756,524,2.805,526,2.886,1108,2.945,1271,2.314,2171,2.688,2255,1.887,3632,2.273,4188,5.574,4266,1.667,5830,6.013,5839,4.14,5842,3.68,5844,4.817,5847,3.462,5850,3.68,5866,3.462,5930,3.346,5931,3.995,5932,2.667,5933,2.285,5934,3.68,7549,7.411,10530,2.976,11311,3.874,11962,8.263,11963,4.565,11964,4.935,11965,4.565,11966,4.565,11967,4.935,11968,4.935,11969,4.935,11970,4.935,11971,4.935,11972,4.935,11973,4.565,11974,4.935]],["title/classes/H5PContentMapper.html",[0,0.232,11975,6.35]],["body/classes/H5PContentMapper.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,8,1.399,27,0.386,29,0.74,30,0.001,31,0.533,32,0.149,33,0.449,35,1.138,95,0.149,101,0.015,103,0.001,104,0.001,154,1.895,226,1.369,236,1.879,349,0.969,413,3.775,437,1.521,529,2.674,1105,5.766,1664,3.502,1846,8.768,2647,5.187,3255,7.288,5930,8.844,6863,8.107,11167,9.678,11172,9.678,11188,8.203,11193,7.583,11975,10.671,11976,10.671,11977,8.665,11978,9.366,11979,9.366,11980,9.366]],["title/classes/H5PContentMetadata.html",[0,0.232,11431,5.119]],["body/classes/H5PContentMetadata.html",[0,0.389,2,0.747,3,0.015,4,0.015,5,0.008,7,0.097,27,0.439,29,0.535,30,0.001,31,0.608,32,0.149,33,0.324,34,1.131,47,0.987,55,1.903,95,0.127,101,0.019,103,0,104,0,105,1.092,112,0.714,138,1.669,150,1.52,180,1.179,245,3.52,271,3.962,284,2.817,319,3.952,379,0.854,1105,5.751,1125,6.508,1150,3.956,1215,5.862,1217,3.811,1218,2.557,1271,3.325,1820,5.625,1821,6.323,2024,3.15,2171,6.796,2236,4.935,2255,2.586,2297,4.586,2784,3.203,3130,5.625,5833,8.448,5838,5.351,5847,7.487,5854,6.667,5883,3.881,5890,4.836,5891,4.836,5896,4.836,5948,6.667,6441,4.366,6520,5.752,6521,5.625,6522,5.625,7287,5.508,7536,4.745,10530,5.625,10869,4.449,11405,7.461,11406,5.169,11407,7.127,11408,8.156,11409,7.127,11410,6.803,11411,7.127,11412,5.169,11413,5.169,11414,5.169,11415,5.169,11416,5.169,11417,5.169,11418,5.045,11419,6.323,11420,4.745,11421,5.169,11422,5.169,11423,4.663,11424,6.955,11425,4.935,11426,5.169,11427,5.169,11428,5.169,11429,5.169,11430,5.169,11431,8.58,11432,4.935,11433,5.169,11981,6.765,11982,6.765,11983,6.765]],["title/interfaces/H5PContentParentParams.html",[105,0.702,11984,6.012]],["body/interfaces/H5PContentParentParams.html",[0,0.285,3,0.019,4,0.019,5,0.009,7,0.121,26,2.835,30,0.001,31,0.48,32,0.163,34,1.41,47,0.836,95,0.142,99,1.368,101,0.017,103,0.001,104,0.001,105,0.863,107,1.981,112,0.826,119,2.462,154,1.707,404,3.394,528,4.33,653,4.33,1105,4.216,1147,2.562,1512,5.263,2024,3.927,2044,3.274,2566,3.766,3632,5.786,4266,4.386,4343,4.932,5883,4.839,5930,8.804,5933,5.817,10083,6.152,11919,7.076,11984,10.434,11985,7.803,11986,7.803,11987,10.434,11988,7.387,11989,7.803,11990,7.803,11991,7.803,11992,7.803,11993,7.803,11994,7.076,11995,7.803,11996,7.803,11997,7.803,11998,7.803,11999,7.803,12000,7.803,12001,7.803,12002,7.803,12003,7.803,12004,7.803,12005,7.803,12006,6.29,12007,7.803,12008,7.803]],["title/injectables/H5PContentRepo.html",[539,0.921,12009,5.759]],["body/injectables/H5PContentRepo.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.135,10,3.797,12,4.2,18,4.678,26,2.607,27,0.537,29,0.988,30,0.001,31,0.711,32,0.162,33,0.599,34,1.564,35,1.555,36,2.869,95,0.137,99,1.103,101,0.011,103,0,104,0,154,1.894,155,3.056,180,1.631,226,0.993,262,3.082,349,1.25,382,3.444,437,0.896,479,4.984,539,1.256,541,1.633,608,1.576,679,7.344,685,3.913,686,4.287,687,5.282,708,2.725,711,4.057,712,4.1,713,4.057,714,4.1,716,4.057,717,5.644,718,3.646,723,4.86,740,5.195,1105,6.044,1150,6.742,2255,2.599,2374,5.504,5934,9.016,12009,7.852,12010,12.09,12011,6.799,12012,9.359,12013,9.359,12014,11.529,12015,9.359,12016,6.799,12017,9.359,12018,6.799,12019,9.359,12020,6.799,12021,6.799,12022,9.359,12023,6.799,12024,6.799]],["title/interfaces/H5PContentResponse.html",[105,0.702,11424,5.119]],["body/interfaces/H5PContentResponse.html",[0,0.394,3,0.015,4,0.015,5,0.008,7,0.1,30,0.001,31,0.54,32,0.163,34,1.16,47,0.99,55,1.936,95,0.129,101,0.019,103,0.001,104,0.001,105,1.107,107,1.63,112,0.726,120,4.021,150,1.559,180,1.209,245,3.481,271,4.667,284,2.866,319,4.021,1105,3.468,1125,7.666,1150,4.057,1215,5.94,1217,3.909,1218,2.623,1271,2.161,1820,5.723,1821,6.434,2024,3.23,2171,6.633,2236,5.061,2255,2.652,2297,4.704,2784,3.285,3130,5.723,5833,8.499,5838,5.444,5847,4.867,5854,4.959,5883,3.98,5890,4.959,5891,4.959,5896,4.959,5948,6.783,6441,4.443,6520,5.853,6521,5.723,6522,5.723,7287,5.605,7536,4.867,10530,7.344,10869,4.563,11405,4.5,11406,5.301,11407,7.251,11408,8.264,11409,7.251,11410,6.922,11411,7.251,11412,5.301,11413,5.301,11414,5.301,11415,5.301,11416,5.301,11417,5.301,11418,5.174,11419,6.434,11420,4.867,11421,5.301,11422,5.301,11423,4.782,11424,8.066,11425,5.061,11426,5.301,11427,5.301,11428,5.301,11429,5.301,11430,5.301,11431,8.066,11432,5.061,11433,5.301]],["title/controllers/H5PEditorController.html",[259,2.624,12025,5.759]],["body/controllers/H5PEditorController.html",[0,0.099,3,0.006,4,0.006,5,0.011,7,0.042,8,0.593,27,0.469,29,0.9,30,0.001,31,0.67,32,0.174,33,0.546,34,0.818,35,1.383,36,1.048,47,0.624,55,1.676,59,1.506,95,0.13,100,0.993,101,0.005,103,0,104,0,120,3.126,137,1.823,138,1.997,141,4.97,143,1.085,150,0.656,223,1.216,226,0.427,236,1.537,259,1.117,261,1.399,262,2.973,270,6.564,271,4.427,278,5.002,282,4.604,284,1.905,287,3.217,294,6.964,310,4.29,319,1.238,324,5.208,333,3.496,335,2.95,336,6.417,337,1.521,338,1.555,340,1.416,343,1.567,345,0.931,346,1.743,347,3.57,349,1.198,413,2.481,437,1.572,519,0.9,603,1.298,608,2.383,708,1.96,739,2.111,824,4.11,829,1.51,1082,2.179,1104,6.462,1105,5.792,1118,2.559,1125,5.008,1138,5.973,1160,6.462,1218,4.123,1226,2.356,1266,3.316,1284,1.661,2094,1.802,2190,1.846,2255,3.14,2424,5.247,2530,2.919,2680,2.833,2933,2.131,2935,5.502,2937,2.232,2938,2.232,2962,1.646,2963,1.532,3130,4.953,3548,5.107,5174,3.568,5823,6.462,5838,5.097,6441,3.845,6521,6.578,6522,4.45,6679,3.496,6863,6.886,6864,2.365,6865,2.919,6881,3.96,8902,3.737,10886,8.582,10898,5.525,10936,2.232,11358,2.703,11359,2.703,11360,4.525,11361,7.193,11363,2.703,11364,2.703,11410,4.602,11425,4.602,11432,5.991,11443,7.036,11449,5.502,11450,5.502,11451,5.502,11454,7.036,11461,3.737,12025,4.104,12026,11.586,12027,2.922,12028,4.891,12029,6.309,12030,4.891,12031,7.378,12032,4.891,12033,4.891,12034,4.891,12035,4.891,12036,6.309,12037,6.309,12038,6.309,12039,4.891,12040,2.922,12041,2.922,12042,2.922,12043,2.922,12044,4.891,12045,2.922,12046,2.922,12047,4.891,12048,2.922,12049,2.922,12050,4.891,12051,2.922,12052,2.922,12053,4.891,12054,2.922,12055,2.922,12056,2.922,12057,2.922,12058,2.922,12059,6.462,12060,4.891,12061,2.922,12062,2.922,12063,2.922,12064,2.922,12065,2.922,12066,4.891,12067,2.922,12068,2.922,12069,2.922,12070,2.922,12071,2.922,12072,4.891,12073,4.891,12074,2.922,12075,2.922,12076,2.922,12077,2.922,12078,2.922,12079,2.922,12080,2.922,12081,4.891,12082,2.922,12083,4.891,12084,4.891,12085,4.891,12086,2.703,12087,2.922,12088,5.525,12089,2.559,12090,2.922,12091,2.922,12092,2.922,12093,2.922,12094,2.922,12095,2.088,12096,2.922,12097,2.922,12098,2.922,12099,7.378,12100,2.703,12101,2.922,12102,2.922,12103,2.922,12104,2.922,12105,2.922,12106,2.922,12107,2.922,12108,4.891,12109,2.922,12110,2.922,12111,2.922,12112,2.922,12113,6.309,12114,6.309,12115,2.922,12116,2.922,12117,2.922,12118,2.559,12119,2.922,12120,4.891,12121,2.922,12122,2.922,12123,2.922,12124,2.922,12125,2.922,12126,4.891,12127,2.922,12128,4.891,12129,4.891,12130,2.922,12131,4.891,12132,2.922,12133,2.922,12134,4.891,12135,2.922,12136,2.922,12137,2.922,12138,4.284,12139,2.922,12140,4.525,12141,2.922,12142,2.922,12143,2.922,12144,2.922,12145,2.922,12146,2.922,12147,2.922,12148,2.922,12149,4.891,12150,4.891,12151,4.891,12152,4.525,12153,4.525,12154,7.378,12155,4.891,12156,4.891,12157,2.922,12158,2.922,12159,4.891,12160,2.922,12161,2.922]],["title/classes/H5PEditorModelContentResponse.html",[0,0.232,11425,5.007]],["body/classes/H5PEditorModelContentResponse.html",[0,0.376,2,0.689,3,0.014,4,0.014,5,0.007,7,0.089,27,0.515,29,0.493,30,0.001,31,0.582,32,0.162,33,0.299,34,1.042,47,0.981,55,1.798,95,0.122,101,0.019,103,0,104,0,105,1.046,112,0.674,138,2.176,150,1.401,180,1.536,245,3.555,271,4.348,284,2.661,319,3.734,379,0.787,382,3.052,1105,5.856,1125,6.231,1150,3.647,1215,5.612,1217,3.513,1218,2.357,1271,1.943,1820,5.314,1821,5.974,2024,2.903,2171,6.808,2236,4.549,2255,3.906,2297,4.228,2784,2.952,3130,5.314,5833,8.106,5838,5.055,5847,4.374,5854,4.457,5883,3.578,5890,4.457,5891,4.457,5896,4.457,5948,6.298,6441,4.125,6520,5.434,6521,5.314,6522,5.314,7287,5.204,7536,4.374,10530,6.697,10869,4.102,11405,7.597,11406,4.765,11407,6.733,11408,8.951,11409,7.808,11410,8.87,11411,7.808,11412,4.765,11413,4.765,11414,4.765,11415,4.765,11416,4.765,11417,4.765,11418,7.62,11419,5.974,11420,7.168,11421,4.765,11422,7.808,11423,4.298,11424,8.281,11425,6.428,11426,4.765,11427,4.765,11428,4.765,11429,4.765,11430,4.765,11431,7.62,11432,4.549,11433,4.765,12138,5.462,12162,6.236,12163,6.236,12164,6.236,12165,6.236,12166,6.236,12167,6.236,12168,6.236]],["title/classes/H5PEditorModelResponse.html",[0,0.232,11410,5.007]],["body/classes/H5PEditorModelResponse.html",[0,0.386,2,0.733,3,0.015,4,0.015,5,0.007,7,0.095,27,0.47,29,0.524,30,0.001,31,0.601,32,0.155,33,0.318,34,1.109,47,0.985,55,1.877,95,0.126,101,0.019,103,0,104,0,105,1.081,112,0.704,138,1.89,150,1.49,180,1.156,245,3.531,271,3.921,284,2.779,319,3.898,379,0.837,1105,5.99,1125,6.441,1150,3.878,1215,5.801,1217,3.737,1218,2.507,1271,2.066,1820,5.548,1821,6.237,2024,3.088,2171,6.528,2236,4.838,2255,2.536,2297,4.497,2784,3.14,3130,5.548,5833,8.042,5838,5.278,5847,4.653,5854,4.741,5883,3.805,5890,4.741,5891,4.741,5896,4.741,5948,6.576,6441,4.307,6520,5.674,6521,5.548,6522,5.548,7287,5.434,7536,4.653,10530,5.548,10869,4.362,11405,7.772,11406,5.068,11407,7.03,11408,9.156,11409,8.071,11410,7.705,11411,8.071,11412,5.068,11413,5.068,11414,5.068,11415,5.068,11416,5.068,11417,5.068,11418,7.878,11419,6.237,11420,7.41,11421,5.068,11422,8.071,11423,4.571,11424,6.861,11425,4.838,11426,5.068,11427,5.068,11428,5.068,11429,5.068,11430,5.068,11431,7.878,11432,4.838,11433,5.068,12138,5.809,12169,6.633,12170,6.633,12171,6.633,12172,6.633]],["title/modules/H5PEditorModule.html",[201,1.848,12173,5.759]],["body/modules/H5PEditorModule.html",[0,0.195,3,0.013,4,0.013,5,0.006,30,0.001,32,0.075,47,0.406,87,2.925,95,0.165,96,2.229,99,0.937,101,0.009,103,0,104,0,154,1.169,155,1.886,173,1.679,201,2.636,203,2.099,204,2.251,205,2.314,206,2.305,207,2.296,208,3.966,209,2.191,218,3.343,219,2.268,220,2.216,223,4.076,225,3.892,226,0.844,236,0.941,239,1.354,292,2.925,437,1.414,490,2.969,511,2.566,521,2.287,560,2.373,573,5.655,598,3.345,687,4.117,762,3.799,996,2.782,997,2.689,998,2.75,999,2.906,1076,3.855,1077,3.562,1105,2.887,1125,3.522,1341,1.852,1380,8.035,1519,3.283,1694,3.562,1726,2.47,1797,8.472,1820,3.483,1971,2.689,2312,4.912,2487,3.051,2681,3.097,2963,3.029,3593,7.227,3601,2.324,3603,2.906,4677,2.965,4956,3.981,5624,3.916,5934,6.221,6671,8.169,8898,3.562,10337,3.562,10462,4.128,10524,6.374,11049,4.051,11057,4.413,11058,4.413,11206,8.314,11207,6.221,11208,6.221,11209,4.213,11210,6.374,11211,4.128,11212,4.128,11213,6.999,11216,8.13,11217,6.085,11218,6.085,11219,6.085,11220,4.128,11221,3.981,11223,4.846,11232,6.374,11233,4.307,11234,4.307,11235,4.213,11236,4.676,12009,9.944,12025,8.215,12088,10.38,12089,5.058,12173,11.994,12174,5.776,12175,5.776,12176,5.776,12177,10.965,12178,9.944,12179,10.965,12180,9.595,12181,9.944,12182,5.343,12183,5.776,12184,5.776,12185,5.776,12186,6.374,12187,5.343,12188,7.717,12189,5.058,12190,7.717,12191,7.717,12192,7.717,12193,5.343]],["title/modules/H5PEditorTestModule.html",[201,1.848,12194,6.012]],["body/modules/H5PEditorTestModule.html",[0,0.196,3,0.013,4,0.013,5,0.006,8,0.701,27,0.238,29,0.457,30,0.001,31,0.329,32,0.075,33,0.277,35,0.703,59,1.781,95,0.165,99,0.938,101,0.009,103,0,104,0,154,1.17,155,1.889,201,2.889,203,2.102,204,2.254,205,2.318,206,2.308,207,2.299,208,4.209,209,2.195,214,5.521,218,3.346,219,2.272,220,2.219,223,4.467,225,4.523,226,0.845,259,2.211,349,0.598,413,2.522,437,1.292,490,2.972,560,2.377,1105,4.174,1125,5.092,1170,4.219,1171,5.755,1174,6.541,1341,1.855,1376,9.309,1380,8.039,1797,8.476,2487,3.055,2963,3.033,3130,5.036,3593,7.23,3601,2.327,3603,2.91,4677,2.969,5934,6.227,6671,8.173,8898,3.567,10337,3.567,11049,4.057,11057,4.419,11058,4.419,11213,5.969,11216,8.134,11273,7.982,11274,8.65,11275,5.066,11276,8.003,11278,4.219,11279,4.853,11280,6.227,12009,9.948,12025,8.222,12088,10.385,12089,5.066,12173,9.948,12177,10.97,12178,9.948,12179,10.97,12180,9.6,12181,9.948,12182,7.725,12187,5.351,12188,7.725,12189,5.066,12190,7.725,12191,7.725,12192,7.725,12193,5.351,12194,12.63,12195,5.784,12196,5.784,12197,5.784,12198,5.784,12199,5.066,12200,5.784]],["title/classes/H5PErrorMapper.html",[0,0.232,12201,6.35]],["body/classes/H5PErrorMapper.html",[0,0.333,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,8,1.442,27,0.405,29,0.778,30,0.001,31,0.56,32,0.127,33,0.472,35,1.196,95,0.142,101,0.015,103,0.001,104,0.001,226,1.438,236,1.603,349,1.018,662,3.968,990,3.367,1105,5.943,2024,4.582,3730,7.521,5883,5.646,11976,10.999,12201,10.999,12202,9.842,12203,11.889,12204,11.889,12205,13.269,12206,9.842,12207,9.842,12208,9.842]],["title/classes/H5PSaveResponse.html",[0,0.232,11432,5.007]],["body/classes/H5PSaveResponse.html",[0,0.388,2,0.741,3,0.015,4,0.015,5,0.008,7,0.096,27,0.438,29,0.53,30,0.001,31,0.605,32,0.148,33,0.322,34,1.55,47,0.989,55,1.892,95,0.127,101,0.019,103,0,104,0,105,1.088,112,0.71,138,1.659,150,1.507,180,1.169,245,3.49,271,3.945,284,2.801,319,3.929,379,0.847,819,3.376,1105,5.731,1125,6.48,1150,6.214,1215,5.837,1217,3.78,1218,2.536,1271,2.09,1820,5.593,1821,6.287,2024,3.124,2171,7.189,2236,4.894,2255,2.565,2297,6.287,2784,3.176,3130,5.593,5833,8.431,5838,5.32,5847,4.706,5854,4.796,5883,3.849,5890,4.796,5891,4.796,5896,4.796,5948,6.629,6441,4.341,6520,5.719,6521,5.593,6522,5.593,7287,5.477,7536,4.706,10530,5.593,10869,4.413,11405,7.435,11406,5.127,11407,7.086,11408,8.12,11409,7.086,11410,6.765,11411,7.086,11412,5.127,11413,5.127,11414,5.127,11415,5.127,11416,5.127,11417,5.127,11418,5.003,11419,6.287,11420,4.706,11421,5.127,11422,5.127,11423,4.624,11424,6.916,11425,4.894,11426,5.127,11427,5.127,11428,5.127,11429,5.127,11430,5.127,11431,8.974,11432,6.765,11433,5.127,12209,6.709,12210,6.709,12211,6.709]],["title/classes/H5PTemporaryFileFactory.html",[0,0.232,12212,6.35]],["body/classes/H5PTemporaryFileFactory.html",[0,0.162,2,0.53,3,0.011,4,0.011,5,0.008,7,0.069,8,0.881,27,0.536,29,1.03,30,0.001,31,0.704,32,0.171,33,0.593,34,1.467,35,1.475,47,0.51,55,2.348,59,3.242,95,0.104,101,0.007,103,0,104,0,112,0.556,120,3.08,133,2.519,140,2.634,153,2.012,154,2.13,155,2.373,159,5.617,177,1.354,180,1.267,236,1.595,239,1.124,271,4.667,302,5.706,319,3.08,349,0.752,379,0.605,382,3.853,413,2.195,437,1.388,447,7.159,448,4.494,449,5.424,452,4.025,453,5.424,454,5.62,455,4.025,456,4.025,457,4.025,458,3.96,459,4.446,460,4.861,461,6.56,462,5.734,463,6.995,464,2.678,469,2.655,470,4.025,471,2.678,472,5.099,473,5.252,474,4.169,475,4.961,476,3.992,477,2.655,478,2.514,479,4.082,480,3.298,481,2.592,482,2.552,483,2.655,484,5.028,485,2.678,486,3.57,487,4.782,488,2.655,489,7.059,490,4.219,491,6.564,492,2.678,493,4.306,494,2.655,495,2.678,496,2.655,497,2.678,498,2.655,499,2.993,500,2.804,501,2.655,502,6.034,503,2.678,504,2.655,505,4.025,506,3.784,507,4.025,508,2.678,509,2.571,510,2.552,511,2.13,512,2.655,513,2.655,514,2.655,515,2.678,516,2.678,517,1.813,518,2.655,519,1.477,520,2.678,521,2.878,522,2.655,523,2.678,525,2.751,526,2.804,527,2.832,823,2.552,1636,3.428,2368,3.03,5826,2.993,6987,9.738,6988,3.664,6989,5.302,6990,7.484,7734,3.305,8171,3.882,8172,4.436,10508,6.707,10753,6.366,11963,6.724,11965,4.436,11966,4.436,12186,3.664,12212,8.12,12213,4.795,12214,9.794,12215,4.795,12216,4.023,12217,4.023,12218,3.882,12219,4.795,12220,4.795,12221,4.023,12222,4.795]],["title/entities/H5pEditorTempFile.html",[154,1.389,12186,5.245]],["body/entities/H5pEditorTempFile.html",[0,0.252,3,0.016,4,0.016,5,0.013,7,0.107,27,0.514,30,0.001,31,0.567,32,0.162,47,0.901,55,2.288,83,3.733,95,0.133,96,1.99,99,1.208,101,0.015,103,0.001,104,0.001,105,0.762,112,0.762,138,2.232,154,2.014,155,2.431,159,8.215,172,4.293,173,2.165,174,3.805,178,2.96,180,1.298,182,2.367,197,5.553,360,5.042,379,0.94,823,6.832,1105,6.417,1125,4.54,1147,2.261,2024,3.467,2424,5.879,3130,7.905,5826,8.011,5831,10.392,5883,4.272,6448,4.765,10507,7.815,10508,9.809,10522,5.846,10927,6.521,10951,7.606,12186,7.606,12216,8.351,12221,10.77,12223,6.889,12224,7.446,12225,7.446,12226,7.446,12227,8.718,12228,9.209,12229,9.209,12230,7.446,12231,7.446,12232,8.718,12233,6.889,12234,6.889]],["title/classes/H5pFileDto.html",[0,0.232,11460,5.557]],["body/classes/H5pFileDto.html",[0,0.284,2,0.928,3,0.018,4,0.018,5,0.015,7,0.121,27,0.516,29,0.664,30,0.001,31,0.738,32,0.162,33,0.403,47,0.969,55,2.559,95,0.128,101,0.018,103,0.001,104,0.001,105,1.102,112,0.824,284,3.917,379,1.06,829,4.342,834,4.576,1105,6.483,1147,3.271,1215,7.122,1217,4.732,1361,6.426,2044,3.26,2190,5.307,3601,3.38,5838,6.179,6421,7.047,6456,5.694,6520,5.18,6521,6.496,6522,6.496,10332,9.037,10337,5.18,10338,7.047,10339,6.594,10340,6.8,11405,8.411,11423,5.789,11460,10.499,11461,6.418,12235,8.399,12236,8.399,12237,8.399,12238,8.399]],["title/interfaces/HtmlMailContent.html",[105,0.702,1370,5.119]],["body/interfaces/HtmlMailContent.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,31,0.502,32,0.144,33,0.533,47,1.014,77,5.643,101,0.014,103,0.001,104,0.001,105,1.396,107,2.071,112,0.85,180,2.294,1150,5.156,1356,8.285,1357,6.738,1358,9.071,1359,8.489,1360,6.738,1361,4.766,1362,8.285,1363,6.433,1364,6.433,1365,9.523,1366,6.738,1367,8.285,1368,10.057,1369,10.057,1370,9.071,1371,6.774,1372,6.576,1373,6.576,1374,6.738,1375,6.738]],["title/injectables/HydraOauthUc.html",[539,0.921,12239,5.759]],["body/injectables/HydraOauthUc.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.931,27,0.486,29,0.803,30,0.001,31,0.578,32,0.147,33,0.487,35,1.115,36,2.439,39,1.41,47,0.979,55,1.872,56,2.486,59,2.365,95,0.152,99,0.837,100,2.611,101,0.008,103,0,104,0,105,0.528,112,0.588,119,1.066,133,1.788,143,1.144,177,2.258,226,0.754,236,1.494,262,2.734,278,3.498,310,2.238,347,3.31,349,0.949,379,0.969,437,1.555,448,3.722,480,2.552,486,2.763,521,2.043,529,2.192,539,1.031,541,1.24,603,2.665,608,2.808,696,2.981,710,5.293,790,2.596,824,2.724,951,5.331,990,3.896,996,2.486,997,2.402,998,2.457,1079,3.048,1226,2.486,1341,1.655,1478,7.038,1694,4.737,1781,7.202,1970,7.765,1982,3.62,2079,2.281,2080,2.547,2081,2.457,2312,3.802,2313,4.631,3940,2.907,4009,6.218,6390,4.519,6391,4.519,7379,7.263,9361,4.774,10369,4.329,12239,6.443,12240,12.119,12241,5.16,12242,9.173,12243,9.173,12244,10.161,12245,7.68,12246,9.173,12247,7.68,12248,4.519,12249,8.701,12250,9.895,12251,5.16,12252,7.68,12253,5.16,12254,5.16,12255,5.16,12256,10.161,12257,7.68,12258,5.16,12259,7.105,12260,5.16,12261,5.16,12262,5.16,12263,5.949,12264,6.443,12265,4.774,12266,5.49,12267,4.774,12268,4.519,12269,5.602,12270,4.774,12271,4.519,12272,5.16,12273,4.519,12274,9.4,12275,7.68,12276,7.105,12277,5.16,12278,5.16,12279,5.16,12280,7.68,12281,7.696,12282,5.16,12283,5.16,12284,5.16,12285,5.16,12286,5.16,12287,7.68,12288,4.774,12289,4.519,12290,4.329,12291,5.16,12292,5.16,12293,4.329,12294,5.16,12295,5.16,12296,5.16,12297,7.68,12298,5.16,12299,5.16]],["title/classes/HydraRedirectDto.html",[0,0.232,12264,5.759]],["body/classes/HydraRedirectDto.html",[0,0.3,2,0.978,3,0.019,4,0.019,5,0.01,7,0.127,27,0.554,29,0.7,30,0.001,31,0.504,32,0.174,33,0.425,47,0.782,55,2.273,95,0.133,101,0.014,103,0.001,104,0.001,112,0.853,181,3.014,379,1.118,381,3.001,824,4.323,1014,7.17,1970,8.712,1982,6.213,4009,9.867,6388,10.225,12264,11.057,12281,10.225,12288,11.275,12289,10.674,12290,10.225,12300,8.856,12301,8.856,12302,8.856,12303,8.856,12304,8.856,12305,8.856,12306,8.856,12307,8.193,12308,8.856,12309,8.856,12310,8.856,12311,8.856,12312,8.856,12313,8.856,12314,8.856,12315,8.856,12316,8.856]],["title/injectables/HydraSsoService.html",[539,0.921,12250,5.759]],["body/injectables/HydraSsoService.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.065,8,0.847,27,0.465,29,0.858,30,0.001,31,0.618,32,0.146,33,0.521,35,1.25,36,2.615,47,0.95,95,0.156,99,0.739,100,1.548,101,0.007,103,0,104,0,112,0.535,177,2.106,226,0.665,227,1.887,236,1.553,238,2.543,262,2.64,292,2.306,310,1.975,349,1.064,360,2.306,379,0.882,437,1.716,448,3.45,480,1.267,486,1.372,519,1.403,529,1.3,539,0.938,541,1.094,556,1.119,569,3.255,603,2.512,608,1.619,639,2.144,708,1.825,951,2.132,963,7.928,964,2.637,966,2.995,1195,6.675,1226,2.194,1262,1.589,1341,1.46,1391,3.255,1394,3.988,1459,3.988,1486,2.842,1515,3.255,1568,2.914,1781,3.575,1820,2.746,1970,3.255,1982,3.194,2079,2.013,2080,2.248,2081,2.168,2091,3.396,2244,5.339,2245,3.82,2274,4.213,2279,3.988,2312,3.524,2313,4.346,2548,2.353,3940,2.565,4009,9.15,4581,3.396,4673,6.956,4677,2.338,4957,6.675,5558,2.847,5643,2.291,6388,10.033,6390,6.12,6391,6.12,6863,6.185,7373,5.211,7379,3.255,7431,4.901,7456,6.185,7528,2.777,8800,3.396,9343,3.087,9382,3.194,9825,6.956,9854,3.686,12250,5.862,12259,4.213,12263,7.04,12264,8.63,12265,4.213,12274,6.464,12281,9.785,12289,3.988,12290,9.108,12307,4.213,12317,4.554,12318,6.987,12319,6.987,12320,6.987,12321,6.987,12322,4.554,12323,7.446,12324,4.554,12325,6.987,12326,6.987,12327,4.554,12328,6.987,12329,4.554,12330,6.987,12331,4.554,12332,6.987,12333,4.554,12334,4.554,12335,6.987,12336,4.554,12337,4.554,12338,3.479,12339,4.554,12340,5.862,12341,3.82,12342,4.554,12343,4.554,12344,3.396,12345,3.396,12346,3.396,12347,3.479,12348,4.554,12349,4.554,12350,4.554,12351,4.554,12352,6.987,12353,4.554,12354,4.554,12355,4.554,12356,4.554,12357,6.987,12358,4.554,12359,4.554,12360,3.82,12361,4.213,12362,4.554,12363,4.554,12364,8,12365,4.554,12366,4.554,12367,4.554,12368,6.987,12369,4.554,12370,4.554,12371,4.554,12372,6.987,12373,4.554,12374,4.554,12375,4.554,12376,4.554,12377,4.554,12378,4.554,12379,4.554,12380,4.554,12381,4.554,12382,4.554,12383,4.554,12384,4.554,12385,4.554,12386,6.987,12387,4.554,12388,4.554,12389,4.554,12390,6.987,12391,3.139,12392,4.554,12393,4.554,12394,3.039,12395,3.82,12396,3.139,12397,4.554,12398,4.554,12399,3.139,12400,4.554,12401,4.554,12402,2.808,12403,4.554,12404,4.554,12405,3.575,12406,3.087,12407,4.554,12408,4.554,12409,4.554]],["title/interfaces/IAccountConfig.html",[105,0.702,12410,6.012]],["body/interfaces/IAccountConfig.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,55,2.668,101,0.016,103,0.001,104,0.001,105,1.064,107,2.442,112,0.94,119,2.702,221,9.617,1637,11.833,12410,10.758,12411,7.048,12412,12.499]],["title/interfaces/IBbbSettings.html",[105,0.702,2199,5.557]],["body/interfaces/IBbbSettings.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.167,47,0.999,101,0.019,103,0.001,104,0.001,105,1.025,107,2.352,112,0.919,437,1.32,1195,10.477,1998,5.212,2196,10.804,2197,11.688,2199,9.724,2202,8.769,12413,10.012,12414,8.769,12415,10.012]],["title/interfaces/ICalendarEvent.html",[105,0.702,3980,5.759]],["body/interfaces/ICalendarEvent.html",[3,0.023,4,0.023,5,0.012,7,0.148,30,0.001,32,0.169,47,0.859,101,0.016,103,0.001,104,0.001,105,1.056,107,2.423,112,0.936,120,5.182,284,4.071,346,6.156,1080,6.602,3970,7.111,3980,10.26,3987,8.352,3990,7.883,12416,10.317,12417,10.317]],["title/interfaces/IClassEntityProps.html",[105,0.702,4335,5.759]],["body/interfaces/IClassEntityProps.html",[0,0.278,2,0.625,3,0.012,4,0.027,5,0.006,7,0.174,26,2.162,30,0.001,31,0.642,32,0.171,33,0.659,34,1.775,47,0.955,49,5.279,55,2.167,62,6.661,95,0.134,96,2.196,97,2.354,99,0.918,101,0.013,103,0,104,0,105,0.579,107,1.328,112,0.74,133,1.96,143,2.812,144,4.049,154,1.662,172,4.076,173,1.644,174,3.141,178,2.248,180,0.986,181,1.53,182,1.798,236,0.921,404,2.275,405,4.405,480,1.573,529,1.614,556,3.166,603,1.164,708,2.266,2044,2.195,4266,3.81,4267,7.912,4268,8.618,4269,8.583,4270,8.618,4271,7.434,4272,8.618,4273,8.618,4316,4.125,4317,5.232,4325,9.238,4332,4.405,4333,3.375,4334,5.232,4335,8.909,4336,4.745,4337,9.824,4338,6.892,4339,5.232,4340,5.232,4341,4.745,4342,2.5,4343,3.307,4344,4.217,4345,7.6,4346,4.44,4347,5.232,4348,5.232,4349,7.6,4350,5.232,4351,7.6,4352,5.232,4353,5.232,4354,6.45,4355,4.217,4356,7.6,4357,5.232,4358,6.277,4359,3.898,4360,7.6,4361,5.232]],["title/interfaces/ICleanOptions.html",[105,0.702,12418,5.557]],["body/interfaces/ICleanOptions.html",[0,0.161,3,0.01,4,0.01,5,0.005,7,0.068,10,1.93,30,0.001,32,0.062,33,0.346,36,2.458,47,0.507,52,3.48,53,3.469,55,2.341,70,4.394,72,3.258,78,8.818,95,0.116,101,0.007,103,0,104,0,105,0.894,107,1.117,112,0.553,118,3.043,119,0.983,142,4.087,145,3.315,153,2.876,177,1.627,179,4.751,208,1.759,236,1.177,239,1.115,262,2.726,310,2.062,333,3.718,349,0.903,359,2.868,379,0.6,413,1.436,437,1.383,486,3.159,490,4.085,529,1.358,556,1.776,562,3.278,568,5.589,595,2.933,600,2.968,603,2.007,608,2.806,696,2.804,697,6.371,708,2.895,710,6.02,845,3.634,934,2.868,938,4.183,990,1.627,1288,2.591,1341,1.525,1512,5.45,1519,4.106,1645,5.671,1794,3.043,1822,4.31,1832,2.612,2079,2.102,2096,3.734,2312,1.971,2313,3.292,2406,2.656,2836,5.744,3122,5.103,3505,4.821,3513,3.278,3514,8.965,3515,6.626,3516,2.838,5564,3.547,6132,7.533,6680,3.734,7275,2.968,7292,3.043,7576,8.014,8050,6.126,8059,8.014,8384,3.278,8794,3.634,10777,5.067,11952,3.734,12418,7.07,12419,2.754,12420,2.933,12421,3.99,12422,3.99,12423,7.657,12424,6.06,12425,6.513,12426,3.734,12427,3.734,12428,6.06,12429,3.99,12430,3.99,12431,8.491,12432,3.99,12433,3.99,12434,5.848,12435,5.519,12436,3.99,12437,3.634,12438,3.734,12439,3.99,12440,3.99,12441,3.99,12442,8.799,12443,3.469,12444,3.99,12445,3.99,12446,7.327,12447,3.128,12448,5.921,12449,3.4,12450,4.979,12451,3.547,12452,3.99,12453,3.99,12454,3.99,12455,8.183,12456,3.99,12457,3.99,12458,3.99,12459,8.183,12460,3.99,12461,3.99,12462,3.99,12463,8.183,12464,8.183,12465,3.734,12466,3.99,12467,3.99,12468,3.99,12469,3.469,12470,3.85,12471,5.269,12472,3.99,12473,3.99,12474,3.99,12475,3.99,12476,3.99,12477,5.163,12478,3.734,12479,3.734,12480,3.99,12481,3.99,12482,3.99,12483,3.99,12484,3.99,12485,3.99,12486,3.99,12487,3.99,12488,3.99,12489,3.99,12490,3.99,12491,3.85]],["title/interfaces/ICollaborativeStorageStrategy.html",[105,0.702,4616,5.557]],["body/interfaces/ICollaborativeStorageStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.116,8,1.277,27,0.51,29,0.979,30,0.001,31,0.705,32,0.16,33,0.594,35,1.504,36,2.907,47,0.821,95,0.125,100,4.209,101,0.013,103,0.001,104,0.001,105,1.197,107,1.906,153,2.414,274,7.466,276,5.072,301,7.032,333,3.454,1723,5.335,2000,6.043,3970,5.593,4600,8.698,4610,8.528,4611,8.528,4613,8.528,4614,8.528,4616,8.528,4619,8.528,4620,9.568,4622,7.726,4623,8.528,4627,8.528,4633,6.2,4635,6.371,4636,6.808,4655,10.023,4656,6.569,12492,8.114,12493,10.534,12494,9.226,12495,8.114,12496,8.114,12497,8.114,12498,9.746,12499,8.114,12500,10.534]],["title/interfaces/ICollectionFilePath.html",[105,0.702,12501,6.35]],["body/interfaces/ICollectionFilePath.html",[0,0.09,3,0.006,4,0.02,5,0.009,7,0.038,10,1.081,27,0.11,30,0.001,31,0.444,32,0.059,33,0.283,35,1.029,36,1.935,47,0.889,55,0.924,83,1.316,95,0.134,96,0.712,97,1.109,99,0.432,101,0.012,103,0,104,0,105,0.273,107,0.626,112,0.346,119,0.935,143,1.004,155,0.87,177,1.296,209,1.011,225,1.059,226,0.389,236,0.961,262,2.188,274,1.607,284,2.728,285,1.753,301,1.779,316,1.44,319,1.918,333,3.317,348,2.277,349,1.301,360,2.293,361,2.573,379,0.336,437,1.753,461,1.44,480,0.741,521,1.055,524,4.429,529,0.761,539,0.608,556,0.655,561,2.466,569,1.905,573,1.807,584,3.881,598,1.543,603,2.589,608,2.969,639,1.255,646,1.905,651,2.181,652,2.181,653,2.324,685,2.467,696,1.757,708,2.787,741,1.807,933,2.507,938,1.543,990,0.912,996,1.284,997,1.241,998,1.269,999,1.341,1000,1.464,1001,1.837,1002,1.807,1218,2.23,1336,2.334,1341,0.855,1475,1.869,1491,1.558,1503,6.934,1717,5.575,1739,1.227,1818,1.779,1821,4,1822,5.913,1888,4.632,2000,1.529,2079,1.178,2080,1.315,2081,1.269,2082,1.705,2088,1.728,2190,1.684,2255,1.019,2311,2.573,2312,1.105,2313,2.063,2357,1.944,2362,2.092,2396,1.529,2417,2.792,2443,5.421,2830,5.055,2837,3.175,2882,4.719,2958,1.574,3030,2.236,3134,2.085,3346,1.59,3519,2.977,3528,2.466,3565,3.665,3885,4.95,3887,2.466,3888,2.466,3892,7.696,3894,1.837,3896,4.188,3903,7.911,4266,0.9,4381,3.558,4509,2.158,4606,3.964,4706,1.837,5126,5.165,5584,2.036,5826,1.663,6441,3.966,6563,2.334,6614,3.021,6683,3.175,7149,1.905,7292,2.897,7376,2.158,7456,1.728,7549,1.988,7734,1.837,8042,2.158,8043,2.092,8046,8.855,8047,5.836,8050,5.466,8053,3.376,8070,4.794,8071,5.167,8085,10.456,8109,4.777,8115,6.435,8197,4.4,8245,2.466,8246,2.466,8800,3.376,8801,3.964,9006,4.652,9382,1.869,9825,4.304,9854,2.158,10144,1.705,10527,1.625,10538,2.092,10906,4.95,10923,4.188,10926,3.354,10936,4.508,10940,2.466,10945,8.794,10949,2.466,11008,3.665,11278,1.944,11303,1.905,12361,2.466,12501,7.836,12502,2.665,12503,2.466,12504,2.466,12505,2.665,12506,2.665,12507,7.792,12508,5.9,12509,3.964,12510,8.471,12511,5.9,12512,6.955,12513,2.665,12514,2.665,12515,2.466,12516,2.665,12517,2.665,12518,2.665,12519,2.334,12520,2.665,12521,4.526,12522,2.665,12523,8.471,12524,4.526,12525,4.526,12526,2.665,12527,2.665,12528,2.665,12529,2.466,12530,2.665,12531,2.665,12532,6.955,12533,2.665,12534,2.665,12535,2.665,12536,2.665,12537,2.665,12538,2.665,12539,2.665,12540,2.665,12541,2.665,12542,2.665,12543,5.9,12544,2.665,12545,6.955,12546,2.665,12547,2.665,12548,1.663,12549,2.665,12550,4.526,12551,4.526,12552,2.665,12553,2.665,12554,2.665,12555,4.526,12556,2.665,12557,2.665,12558,2.665,12559,4.526,12560,3.964,12561,4.526,12562,4.526,12563,2.665,12564,2.665,12565,2.665,12566,2.665,12567,2.665,12568,2.665,12569,2.665,12570,2.665,12571,2.665,12572,2.665,12573,2.665,12574,6.955,12575,2.665,12576,3.798,12577,4.95,12578,2.665,12579,4.526,12580,4.526,12581,2.665,12582,4.526,12583,2.665,12584,4.526,12585,2.665,12586,2.665,12587,2.665,12588,5.9,12589,2.665,12590,2.665,12591,2.092,12592,2.466,12593,2.665,12594,2.665,12595,2.665,12596,3.302,12597,2.236,12598,2.665,12599,2.665,12600,2.665,12601,2.665,12602,2.665,12603,4.526,12604,2.665,12605,2.665,12606,2.665,12607,2.665,12608,2.665,12609,2.665,12610,2.665,12611,2.665,12612,3.665,12613,2.665,12614,2.665,12615,2.665,12616,2.665,12617,1.988,12618,2.665,12619,2.665,12620,2.665,12621,2.665,12622,2.665,12623,4.526,12624,2.665,12625,2.665,12626,5.9,12627,2.665,12628,2.665,12629,2.665,12630,2.665,12631,2.334,12632,2.665,12633,2.665,12634,3.665,12635,3.665,12636,3.665,12637,2.665,12638,5.458,12639,2.665,12640,2.466,12641,2.334,12642,2.665,12643,2.665,12644,2.665,12645,3.964,12646,2.665,12647,2.665,12648,2.665,12649,2.665,12650,2.665,12651,2.665,12652,2.665,12653,2.665,12654,5.9,12655,2.665,12656,2.665,12657,2.665,12658,2.665,12659,2.665,12660,4.526,12661,3.376,12662,4.526,12663,2.665,12664,4.188,12665,4.526,12666,2.665,12667,4.526,12668,5.9,12669,2.665,12670,2.334,12671,2.466,12672,2.665,12673,2.665,12674,2.466,12675,1.988,12676,2.466,12677,2.665,12678,2.665,12679,2.665,12680,2.665,12681,2.665,12682,2.665]],["title/interfaces/ICommonCartridgeConfig.html",[105,0.702,12683,6.012]],["body/interfaces/ICommonCartridgeConfig.html",[3,0.023,4,0.023,5,0.012,7,0.152,30,0.001,32,0.137,101,0.016,103,0.001,104,0.001,105,1.086,107,2.493,112,0.952,119,2.725,5199,6.883,5200,6.883,12683,10.89,12684,10.613,12685,12.583]],["title/interfaces/ICommonCartridgeElement.html",[105,0.702,5226,4.515]],["body/interfaces/ICommonCartridgeElement.html",[3,0.023,4,0.023,5,0.012,7,0.15,8,1.496,27,0.431,30,0.001,35,1.273,101,0.016,103,0.001,104,0.001,105,1.072,107,2.461,988,5.377,1121,8.668,5098,7.701,5199,8.003,5200,8.003,5226,8.116,12686,10.476,12687,10.476]],["title/interfaces/ICommonCartridgeFile.html",[105,0.702,5267,5.389]],["body/interfaces/ICommonCartridgeFile.html",[3,0.022,4,0.022,5,0.011,7,0.145,8,1.467,27,0.498,30,0.001,35,1.47,47,0.85,101,0.016,103,0.001,104,0.001,105,1.037,107,2.381,119,2.5,2255,5.123,5098,8.074,5199,8.39,5200,8.39,5267,9.5,5268,10.848,12688,10.137,12689,10.137,12690,10.137]],["title/interfaces/ICommonCartridgeFileBuilder.html",[105,0.702,5202,5.557]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.289,3,0.013,4,0.013,5,0.013,7,0.085,8,1.034,27,0.41,29,0.674,30,0.001,31,0.485,32,0.129,33,0.409,35,1.21,36,2.134,47,0.763,95,0.147,101,0.017,103,0,104,0,105,0.872,107,1.398,177,2.35,236,2.122,262,1.314,345,1.898,349,1.238,379,0.751,381,3.375,437,1.579,454,5.329,490,2.119,603,2.537,1121,3.81,1147,2.589,1271,2.656,1312,5.529,1732,4.47,1942,4.164,2063,6.752,3222,5.455,5098,8.013,5110,4.674,5111,4.607,5112,5.876,5122,9.422,5134,6.665,5139,6.693,5141,6.693,5149,6.902,5153,6.959,5155,4.819,5161,5.78,5199,7.053,5200,7.053,5201,4.995,5202,9.694,5203,7.819,5204,6.514,5205,7.152,5206,7.887,5207,7.887,5209,7.152,5213,8.356,5215,8.356,5216,9.694,5218,9.982,5219,8.356,5222,4.819,5223,4.819,5224,4.549,5225,4.255,5226,6.551,5227,4.036,5228,6.693,5229,6.902,5230,4.674,5231,6.094,5232,4.674,5233,7.152,5234,4.819,5235,4.995,5236,4.995,5237,4.995,5238,9.123,5239,4.995,5240,7.152,5241,4.995,5242,4.995,5243,7.152,5244,4.995,5245,4.995,5246,4.995,5247,4.995,5248,4.995,5249,4.995,5250,4.995,5251,4.995,5252,4.995,5253,4.995,5254,4.995,5255,4.819,5256,4.995,5257,4.995,5258,4.995,5259,4.995,5260,4.995,5261,4.995,5262,4.995,5263,4.995,12691,5.953,12692,5.953,12693,5.953]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[105,0.702,5218,5.557]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.299,3,0.014,4,0.014,5,0.011,7,0.09,8,1.07,27,0.257,29,0.494,30,0.001,31,0.356,32,0.114,33,0.299,35,0.759,36,1.89,47,0.78,95,0.149,101,0.017,103,0,104,0,105,0.903,107,1.467,177,2.379,236,2.144,262,1.379,345,1.991,349,1.258,379,0.788,381,2.989,437,1.604,454,4.085,490,2.223,603,2.573,1121,3.997,1147,2.679,1271,2.748,1312,5.721,1732,4.625,1942,4.276,2063,6.933,3222,5.645,5098,7.803,5110,4.903,5111,4.767,5112,6.08,5122,9.554,5134,6.788,5139,6.925,5141,6.925,5149,7.141,5153,7.111,5155,5.056,5161,5.98,5199,5.721,5200,5.721,5201,5.24,5202,8.996,5203,8.029,5204,6.74,5205,7.401,5209,7.401,5213,8.58,5215,7.401,5216,8.996,5218,10.338,5219,7.401,5222,5.056,5223,5.056,5224,4.772,5225,4.464,5226,6.726,5227,4.234,5228,6.925,5229,7.141,5230,4.903,5231,6.305,5232,4.903,5233,8.58,5234,5.056,5235,5.24,5236,5.24,5237,5.24,5238,9.323,5239,5.24,5240,7.401,5241,5.24,5242,5.24,5243,7.401,5244,5.24,5245,5.24,5246,5.24,5247,5.24,5248,5.24,5249,5.24,5250,5.24,5251,5.24,5252,5.24,5253,5.24,5254,5.24,5255,5.056,5256,5.24,5257,5.24,5258,5.24,5259,5.24,5260,5.24,5261,5.24,5262,5.24,5263,5.24,5368,8.161,12694,6.246]],["title/interfaces/IComponentEtherpadProperties.html",[105,0.702,12695,4.906]],["body/interfaces/IComponentEtherpadProperties.html",[0,0.155,3,0.01,4,0.01,5,0.005,7,0.137,26,2.101,30,0.001,31,0.4,32,0.141,47,0.966,55,2.105,95,0.146,96,1.225,101,0.02,103,0,104,0,105,1.196,107,1.077,112,0.537,119,1.451,143,1.893,144,1.492,145,1.969,153,2.495,154,1.421,172,3.223,173,1.333,174,2.685,175,2.047,178,1.822,180,0.799,181,1.24,182,1.457,226,0.67,236,1.559,239,1.074,316,3.796,349,1.305,437,1.664,474,1.951,529,2.005,556,1.727,563,4.191,603,1.445,604,1.884,662,1.424,696,1.78,742,2.518,839,1.424,1147,1.392,1218,1.733,1226,2.208,1262,3.952,1271,3.529,1664,1.714,1717,2.196,1739,3.235,1920,2.208,1926,3.872,1944,1.934,2044,1.78,2255,4.161,2670,3.911,2673,3.857,2677,2.518,2682,4.495,2683,2.708,2684,4.544,2686,3.851,2687,4.383,2696,2.134,2700,4.62,2804,3.738,2882,4.065,3366,4.214,3476,5.394,3495,6.103,3601,1.845,3629,3.216,3630,3.216,4119,4.148,4278,2.896,4342,2.027,4969,2.827,4973,2.896,4974,2.973,5094,2.123,5119,6.596,5130,3.277,5146,2.539,5153,4.495,5158,6.939,5170,3.277,5176,3.277,5181,3.277,5758,7.502,6614,5.699,6617,6.103,6735,2.973,6757,2.861,6767,6.094,6768,3.06,6769,4.62,6771,4.437,6809,4.495,6810,4.688,6835,4.762,7006,2.861,7007,3.06,8955,5.02,11385,4.762,12695,6.103,12696,3.344,12697,5.464,12698,3.344,12699,4.927,12700,6.786,12701,5.02,12702,3.277,12703,5.02,12704,5.02,12705,5.02,12706,3.344,12707,5.02,12708,3.06,12709,5.02,12710,5.02,12711,3.344,12712,3.344,12713,3.344,12714,3.216,12715,3.216,12716,3.344,12717,3.344,12718,3.344,12719,5.124,12720,5.989,12721,3.216,12722,5.124,12723,3.344,12724,3.344,12725,3.344,12726,3.16,12727,3.344,12728,3.344,12729,5.124,12730,3.344,12731,3.344,12732,6.981,12733,6.228,12734,3.277,12735,3.344,12736,3.344,12737,3.344,12738,3.344,12739,3.344,12740,3.344,12741,3.344,12742,3.344,12743,3.344,12744,3.344,12745,3.344,12746,3.16,12747,3.344,12748,3.344]],["title/interfaces/IComponentGeogebraProperties.html",[105,0.702,12705,4.906]],["body/interfaces/IComponentGeogebraProperties.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.138,26,2.116,30,0.001,31,0.405,32,0.125,47,0.953,55,2.12,95,0.146,96,1.245,101,0.02,103,0,104,0,105,1.202,107,1.094,112,0.544,119,1.469,143,1.912,144,1.516,145,1.993,153,1.976,154,1.439,172,3.246,173,1.354,174,2.718,175,2.08,178,1.851,180,0.812,181,1.26,182,1.481,226,0.681,236,1.572,239,1.092,316,3.842,349,1.31,437,1.67,474,1.983,529,2.03,556,1.748,563,4.242,603,1.463,604,1.914,662,1.447,696,1.808,742,2.558,839,1.447,1147,1.415,1218,1.761,1226,2.244,1262,3.366,1271,3.006,1664,1.741,1717,2.231,1739,3.274,1920,2.244,1926,3.899,1944,1.965,2044,1.808,2255,4.187,2670,3.95,2673,3.905,2677,2.558,2682,4.55,2683,2.751,2684,4.589,2686,3.889,2687,4.437,2696,2.169,2700,4.676,2804,3.784,2882,4.106,3366,4.256,3476,5.448,3495,6.163,3601,1.874,3629,3.267,3630,3.267,4119,4.199,4278,2.943,4342,2.059,4969,2.873,4973,2.943,4974,3.021,5094,2.157,5119,6.651,5130,3.329,5146,2.579,5153,4.55,5158,6.971,5170,3.329,5176,3.329,5181,3.329,5758,7.549,6614,5.755,6617,6.163,6735,3.021,6757,2.907,6767,6.137,6768,3.109,6769,4.676,6771,4.492,6809,4.55,6810,4.746,6835,4.82,7006,2.907,7007,3.109,8955,5.082,11385,4.82,12695,5.082,12696,3.398,12697,5.518,12698,3.398,12699,4.987,12700,6.835,12701,5.082,12702,3.329,12703,5.082,12704,5.082,12705,6.163,12706,7.039,12707,5.082,12708,3.109,12709,5.082,12710,5.082,12711,3.398,12712,3.398,12713,3.398,12714,3.267,12715,3.267,12716,3.398,12717,3.398,12718,3.398,12719,5.186,12720,6.048,12721,3.267,12722,5.186,12723,3.398,12724,3.398,12725,3.398,12726,3.21,12727,3.398,12728,3.398,12729,5.186,12730,3.398,12731,3.398,12732,7.039,12733,6.29,12734,3.329,12735,3.398,12736,3.398,12737,3.398,12738,3.398,12739,3.398,12740,3.398,12741,3.398,12742,3.398,12743,3.398,12744,3.398,12745,3.398,12746,3.21,12747,3.398,12748,3.398]],["title/interfaces/IComponentInternalProperties.html",[105,0.702,12710,4.906]],["body/interfaces/IComponentInternalProperties.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.138,26,2.116,30,0.001,31,0.405,32,0.125,47,0.953,55,2.12,95,0.146,96,1.245,101,0.02,103,0,104,0,105,1.202,107,1.094,112,0.544,119,1.469,143,1.912,144,1.516,145,1.993,153,1.976,154,1.439,172,3.246,173,1.354,174,2.718,175,2.08,178,1.851,180,0.812,181,1.26,182,1.481,226,0.681,236,1.572,239,1.092,316,3.842,349,1.31,437,1.67,474,1.983,529,2.03,556,1.748,563,4.242,603,1.463,604,1.914,662,1.447,696,1.808,742,2.558,839,1.447,1147,1.415,1218,1.761,1226,2.244,1262,3.975,1271,3.006,1664,1.741,1717,2.231,1739,3.274,1920,2.244,1926,3.899,1944,1.965,2044,1.808,2255,4.187,2670,3.95,2673,3.905,2677,2.558,2682,4.55,2683,2.751,2684,4.589,2686,3.889,2687,4.437,2696,2.169,2700,4.676,2804,3.784,2882,4.106,3366,4.256,3476,5.448,3495,6.163,3601,1.874,3629,3.267,3630,3.267,4119,4.199,4278,2.943,4342,2.059,4969,2.873,4973,2.943,4974,3.021,5094,2.157,5119,6.651,5130,3.329,5146,2.579,5153,4.55,5158,6.971,5170,3.329,5176,3.329,5181,3.329,5758,7.549,6614,5.755,6617,6.163,6735,3.021,6757,2.907,6767,6.137,6768,3.109,6769,4.676,6771,4.492,6809,4.55,6810,4.746,6835,4.82,7006,2.907,7007,3.109,8955,5.082,11385,4.82,12695,5.082,12696,3.398,12697,5.518,12698,3.398,12699,4.987,12700,6.835,12701,5.082,12702,3.329,12703,5.082,12704,5.082,12705,5.082,12706,3.398,12707,5.082,12708,3.109,12709,5.082,12710,6.163,12711,3.398,12712,3.398,12713,3.398,12714,3.267,12715,3.267,12716,3.398,12717,3.398,12718,3.398,12719,5.186,12720,6.048,12721,3.267,12722,5.186,12723,3.398,12724,3.398,12725,3.398,12726,3.21,12727,3.398,12728,3.398,12729,5.186,12730,3.398,12731,3.398,12732,7.039,12733,6.29,12734,3.329,12735,3.398,12736,3.398,12737,3.398,12738,3.398,12739,3.398,12740,3.398,12741,3.398,12742,3.398,12743,3.398,12744,3.398,12745,3.398,12746,3.21,12747,3.398,12748,3.398]],["title/interfaces/IComponentLernstoreProperties.html",[105,0.702,12707,4.906]],["body/interfaces/IComponentLernstoreProperties.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.138,26,2.114,30,0.001,31,0.404,32,0.142,47,0.943,55,2.118,95,0.146,96,1.242,101,0.02,103,0,104,0,105,1.201,107,1.092,112,0.543,119,1.466,120,3.007,143,1.909,144,1.513,145,1.99,153,1.973,154,1.436,172,3.243,173,1.351,174,2.713,175,2.075,178,1.847,180,0.81,181,1.257,182,1.477,226,0.679,236,1.57,239,1.089,316,3.836,349,1.309,437,1.669,474,1.978,529,2.026,556,1.745,563,4.235,603,1.46,604,1.91,662,1.444,696,1.804,742,2.552,839,1.444,1147,1.411,1218,1.757,1226,2.239,1262,3.362,1271,3.002,1664,1.737,1717,2.226,1739,3.269,1920,2.239,1926,3.895,1944,1.96,2044,1.804,2255,4.183,2670,3.945,2673,3.898,2677,2.552,2682,4.542,2683,2.745,2684,4.582,2686,3.883,2687,4.429,2696,2.164,2700,4.668,2804,3.777,2882,4.1,3366,4.25,3476,5.44,3495,6.155,3601,1.87,3629,3.26,3630,3.26,4119,4.192,4278,2.936,4342,2.054,4969,2.866,4973,2.936,4974,3.014,5094,2.152,5119,6.643,5130,3.322,5146,2.574,5153,6.643,5158,6.967,5170,3.322,5176,3.322,5181,3.322,5758,7.543,6614,5.747,6617,6.155,6735,3.014,6757,2.9,6767,6.131,6768,3.102,6769,4.668,6771,4.484,6809,4.542,6810,4.737,6835,4.812,7006,2.9,7007,3.102,8955,5.073,11385,4.812,12695,5.073,12696,3.39,12697,5.51,12698,3.39,12699,4.978,12700,6.828,12701,5.073,12702,3.322,12703,5.073,12704,5.073,12705,5.073,12706,3.39,12707,6.155,12708,3.102,12709,5.073,12710,5.073,12711,3.39,12712,3.39,12713,3.39,12714,3.26,12715,3.26,12716,3.39,12717,3.39,12718,3.39,12719,5.177,12720,6.04,12721,3.26,12722,5.177,12723,3.39,12724,3.39,12725,3.39,12726,3.203,12727,3.39,12728,3.39,12729,5.177,12730,3.39,12731,3.39,12732,7.03,12733,6.281,12734,3.322,12735,3.39,12736,3.39,12737,3.39,12738,3.39,12739,3.39,12740,3.39,12741,3.39,12742,3.39,12743,3.39,12744,3.39,12745,3.39,12746,3.203,12747,3.39,12748,3.39]],["title/interfaces/IComponentNexboardProperties.html",[105,0.702,12709,4.906]],["body/interfaces/IComponentNexboardProperties.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.137,26,2.093,30,0.001,31,0.397,32,0.146,47,0.971,55,2.098,95,0.145,96,1.216,101,0.02,103,0,104,0,105,1.193,107,1.068,112,0.534,119,1.443,143,1.884,144,1.481,145,1.957,153,2.487,154,1.413,172,3.212,173,1.323,174,2.669,175,2.031,178,1.808,180,0.793,181,1.231,182,1.446,226,0.665,236,1.552,239,1.066,316,3.773,349,1.303,437,1.661,474,1.936,529,1.993,556,1.716,563,4.166,603,1.436,604,1.869,662,1.413,696,1.766,742,2.498,839,1.413,1147,1.381,1218,1.719,1226,2.191,1262,3.941,1271,3.52,1664,1.701,1717,2.178,1739,3.215,1920,2.191,1926,3.858,1944,4.02,2044,1.766,2255,4.148,2670,3.892,2673,3.834,2677,2.498,2682,4.468,2683,2.686,2684,4.522,2686,3.832,2687,4.357,2696,2.118,2700,4.592,2804,3.715,2882,4.045,3366,4.194,3476,5.368,3495,6.073,3601,1.83,3629,3.191,3630,3.191,4119,4.123,4278,2.874,4342,2.011,4969,2.805,4973,2.874,4974,2.95,5094,2.106,5119,6.569,5130,3.251,5146,2.519,5153,4.468,5158,6.923,5170,3.251,5176,3.251,5181,3.251,5758,7.479,6614,5.671,6617,6.073,6735,2.95,6757,2.839,6767,6.072,6768,3.036,6769,4.592,6771,4.411,6809,4.468,6810,4.66,6835,4.733,7006,2.839,7007,3.036,8955,4.99,11385,4.733,12695,4.99,12696,3.318,12697,5.437,12698,3.318,12699,4.897,12700,6.762,12701,4.99,12702,3.251,12703,4.99,12704,4.99,12705,4.99,12706,3.318,12707,4.99,12708,3.036,12709,6.073,12710,4.99,12711,3.318,12712,3.318,12713,3.318,12714,3.191,12715,3.191,12716,3.318,12717,3.318,12718,3.318,12719,5.093,12720,5.96,12721,3.191,12722,5.093,12723,3.318,12724,3.318,12725,3.318,12726,3.135,12727,3.318,12728,3.318,12729,5.093,12730,3.318,12731,3.318,12732,6.952,12733,6.198,12734,3.251,12735,3.318,12736,3.318,12737,3.318,12738,3.318,12739,3.318,12740,3.318,12741,3.318,12742,3.318,12743,3.318,12744,3.318,12745,3.318,12746,3.135,12747,3.318,12748,3.318]],["title/interfaces/IComponentTextProperties.html",[105,0.702,12704,4.906]],["body/interfaces/IComponentTextProperties.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.138,26,2.116,30,0.001,31,0.405,32,0.125,47,0.953,55,2.12,95,0.146,96,1.245,101,0.02,103,0,104,0,105,1.202,107,1.094,112,0.544,119,1.469,143,1.912,144,1.516,145,1.993,153,1.976,154,1.439,172,3.246,173,1.354,174,2.718,175,2.08,178,1.851,180,0.812,181,1.26,182,1.481,226,0.681,236,1.572,239,1.092,316,3.842,349,1.31,437,1.67,474,1.983,529,2.03,556,1.748,563,4.242,603,1.463,604,1.914,662,1.447,696,1.808,742,2.558,839,1.447,1147,1.415,1218,1.761,1226,2.244,1262,3.366,1271,3.006,1664,1.741,1717,2.231,1739,3.274,1920,2.244,1926,3.899,1944,1.965,2044,1.808,2255,4.187,2670,3.95,2673,3.905,2677,2.558,2682,4.55,2683,2.751,2684,4.589,2686,3.889,2687,4.437,2696,2.169,2700,4.676,2804,3.784,2882,5.215,3366,4.256,3476,5.448,3495,6.163,3601,1.874,3629,3.267,3630,3.267,4119,4.199,4278,2.943,4342,2.059,4969,2.873,4973,2.943,4974,3.021,5094,2.157,5119,6.651,5130,3.329,5146,2.579,5153,4.55,5158,6.971,5170,3.329,5176,3.329,5181,3.329,5758,7.549,6614,5.755,6617,6.163,6735,3.021,6757,2.907,6767,6.137,6768,3.109,6769,4.676,6771,4.492,6809,4.55,6810,4.746,6835,4.82,7006,2.907,7007,3.109,8955,5.082,11385,4.82,12695,5.082,12696,3.398,12697,5.518,12698,3.398,12699,4.987,12700,6.835,12701,5.082,12702,3.329,12703,5.082,12704,6.163,12705,5.082,12706,3.398,12707,5.082,12708,3.109,12709,5.082,12710,5.082,12711,3.398,12712,3.398,12713,3.398,12714,3.267,12715,3.267,12716,3.398,12717,3.398,12718,3.398,12719,5.186,12720,6.048,12721,3.267,12722,5.186,12723,3.398,12724,3.398,12725,3.398,12726,3.21,12727,3.398,12728,3.398,12729,5.186,12730,3.398,12731,3.398,12732,7.039,12733,6.29,12734,3.329,12735,3.398,12736,3.398,12737,3.398,12738,3.398,12739,3.398,12740,3.398,12741,3.398,12742,3.398,12743,3.398,12744,3.398,12745,3.398,12746,3.21,12747,3.398,12748,3.398]],["title/interfaces/IContextExternalToolProperties.html",[105,0.702,6039,5.759]],["body/interfaces/IContextExternalToolProperties.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,29,0.995,30,0.001,32,0.168,33,0.58,47,0.941,55,2.47,95,0.15,96,2.046,101,0.016,103,0.001,104,0.001,105,0.784,107,1.798,112,0.776,131,2.905,143,2.249,144,2.492,154,2.052,172,3.934,173,2.226,174,3.877,178,3.043,180,1.335,181,2.072,182,2.434,564,3.781,654,2.3,1403,5.71,1732,4.015,2548,2.578,4332,5.438,4333,4.569,4858,7.594,5094,4.695,5453,7.437,5949,4.477,5953,6.464,5973,4.899,5974,5.277,5975,5.11,5976,5.585,5977,5.473,5978,5.71,6016,7.955,6024,5.585,6025,6.423,6026,6.198,6027,10.564,6029,11.028,6032,9.887,6034,9.185,6037,6.423,6038,4.965,6039,9.539,6040,7.083,6041,7.083,6042,7.083,6043,6.705,6044,6.423,6045,6.198,6046,6.423]],["title/interfaces/ICopyFileDO.html",[105,0.702,11148,5.245]],["body/interfaces/ICopyFileDO.html",[3,0.017,4,0.022,5,0.009,7,0.11,10,3.106,26,2.788,30,0.001,31,0.717,32,0.147,33,0.486,34,2.105,39,2.093,47,0.952,55,1.562,83,2.226,95,0.121,99,1.242,101,0.021,103,0.001,104,0.001,105,1.239,107,1.798,112,0.776,239,1.794,319,3.244,437,1.009,654,2.3,823,4.075,839,3.532,990,3.469,1064,6.875,1361,4.138,1926,2.873,2079,3.385,2080,3.779,2081,3.645,2480,4.522,2686,3.453,2696,3.565,2739,3.471,2883,3.401,3122,3.304,3171,4.044,3366,5.612,3380,5.277,3632,4.67,3742,4.352,3940,4.313,4266,2.586,4833,4.276,5146,4.24,5158,4.434,5932,4.138,5933,4.695,6422,8.079,6438,6.244,6440,6.669,6441,5.323,6464,5.71,6465,5.036,10666,7.397,10667,7.397,10668,7.397,10669,4.837,11134,5.71,11147,6.011,11148,7.748,11149,5.85,11245,6.011,11249,8.926,12749,6.423,12750,6.423,12751,6.423,12752,6.423,12753,6.423,12754,6.423]],["title/interfaces/ICopyFileDomainObjectProps.html",[105,0.702,6423,5.759]],["body/interfaces/ICopyFileDomainObjectProps.html",[3,0.021,4,0.021,5,0.013,7,0.14,26,2.836,30,0.001,31,0.752,32,0.165,33,0.566,34,2.209,47,0.892,95,0.116,99,1.578,101,0.015,103,0.001,104,0.001,105,0.995,107,2.284,112,0.903,133,3.37,556,3.124,1778,3.819,3600,4.83,6419,4.553,6422,8.821,6423,9.902,12755,8.997,12756,8.997]],["title/interfaces/ICopyFilesOfParentParams.html",[105,0.702,11245,5.389]],["body/interfaces/ICopyFilesOfParentParams.html",[3,0.017,4,0.028,5,0.009,7,0.11,10,3.118,26,2.731,30,0.001,31,0.579,32,0.147,34,1.699,39,3.313,47,0.928,55,1.568,83,2.235,95,0.121,99,1.247,101,0.021,103,0.001,104,0.001,105,1.241,107,1.805,112,0.778,239,1.801,319,3.256,437,1.013,654,2.308,823,4.09,839,3.538,990,3.478,1064,6.892,1361,4.153,1926,2.884,2079,3.397,2080,3.793,2081,3.659,2480,4.539,2686,3.466,2696,3.578,2739,5.496,2883,3.414,3122,3.317,3171,4.06,3366,5.622,3380,5.297,3632,4.682,3742,4.369,3940,4.33,4266,2.596,4833,4.292,5146,4.256,5158,4.451,5932,4.153,5933,4.707,6422,5.13,6438,6.256,6440,6.686,6441,5.333,6464,5.731,6465,5.055,10666,7.416,10667,7.416,10668,7.416,10669,4.855,11134,5.731,11147,6.034,11148,5.872,11149,5.872,11245,7.981,11249,10.372,12749,6.448,12750,6.448,12751,6.448,12752,6.448,12753,6.448,12754,6.448]],["title/interfaces/ICopyFilesRequestInfo.html",[105,0.702,6533,5.759]],["body/interfaces/ICopyFilesRequestInfo.html",[3,0.026,4,0.03,5,0.014,7,0.14,26,2.695,30,0.001,32,0.165,39,3.618,95,0.141,99,1.585,101,0.015,103,0.001,104,0.001,105,1,107,2.295,112,0.906,141,5.542,2739,6.001,3600,4.853,6419,4.574,6531,10.946,6533,9.931,12755,9.04,12757,8.558]],["title/interfaces/ICoreModuleConfig.html",[105,0.702,12758,5.759]],["body/interfaces/ICoreModuleConfig.html",[3,0.023,4,0.023,5,0.012,30,0.001,95,0.147,101,0.016,103,0.001,104,0.001,105,1.078,107,2.473,180,2.158,201,2.835,340,5.103,2312,4.364,12411,7.139,12758,10.384,12759,10.53,12760,11.029,12761,11.029]],["title/interfaces/ICourseGroupProperties.html",[105,0.702,7005,5.759]],["body/interfaces/ICourseGroupProperties.html",[0,0.24,3,0.016,4,0.016,5,0.008,7,0.182,26,2.388,30,0.001,31,0.698,32,0.168,33,0.461,39,1.936,47,0.861,62,4.183,95,0.159,96,1.893,101,0.015,103,0.001,104,0.001,105,0.985,107,1.664,112,0.837,154,1.947,172,3.007,173,2.06,174,3.679,175,3.162,178,2.815,180,1.235,181,1.917,182,2.252,236,1.154,239,2.749,349,0.732,437,0.934,519,2.182,556,1.741,644,5.09,654,2.891,662,2.99,766,3.956,915,4.968,975,3.453,990,2.423,1147,2.151,1309,4.102,1664,2.648,1717,3.392,1920,3.412,1926,5.152,2044,2.749,2396,4.063,2427,4.42,2670,5.008,2673,3.89,2677,3.89,2683,4.183,2685,4.968,2687,4.42,2700,4.659,2830,4.227,2883,3.147,3084,5.412,3452,4.882,4266,2.393,4342,3.131,5094,4.457,6401,5.561,6720,5.063,6725,7.749,6760,5.869,6767,4.183,6769,6.33,6770,4.368,6771,6.081,6772,3.991,6788,5.063,6792,4.42,6794,5.734,6809,4.533,6810,7.297,6847,5.734,6996,6.553,7005,9.172,7006,4.42,7007,4.728,7008,6.553,7009,6.553,7010,5.167,7011,6.553,7012,6.553,7013,6.553,7014,6.553,7015,6.553,7016,6.553]],["title/interfaces/ICourseProperties.html",[105,0.702,6773,5.557]],["body/interfaces/ICourseProperties.html",[0,0.197,2,1.016,3,0.008,4,0.008,5,0.004,7,0.148,26,2.105,30,0.001,31,0.559,32,0.164,33,0.636,34,1.221,39,1.997,47,0.903,62,2.129,83,3.454,95,0.141,96,0.964,101,0.011,103,0,104,0,105,0.369,107,0.847,112,0.445,119,1.201,143,2.385,144,2.993,145,1.011,153,2.252,154,1.176,168,3.335,172,3.361,173,1.048,174,2.223,175,1.61,178,1.433,180,0.628,181,0.976,182,1.146,236,1.752,239,2.784,253,1.779,316,1.948,348,2.925,349,1.331,379,0.455,404,1.451,413,1.756,437,1.697,473,1.933,486,2.201,490,1.283,519,1.791,528,1.851,529,1.66,556,2.416,565,3.469,603,1.725,644,4.576,651,2.801,652,2.801,654,2.761,662,3.542,708,1.445,726,3.025,839,2.269,915,2.529,1147,1.095,1226,2.801,1271,1.123,1664,1.348,1717,2.784,1726,2.486,1732,1.89,1820,2.174,1926,3.145,2024,1.678,2044,3.254,2670,4.503,2673,5.398,2677,4.012,2685,2.529,2687,2.25,3122,3.617,3174,2.406,3175,2.338,3346,2.151,3454,2.307,3751,2.577,3797,2.25,3821,3.824,3822,3.824,4119,2.129,4266,1.218,4267,5.125,4282,3.025,4316,6.706,4342,2.57,4417,6.289,4833,2.014,4969,2.223,5094,2.692,6624,2.689,6685,2.577,6717,3.157,6718,7.18,6719,6.663,6720,5.222,6721,6.137,6722,5.805,6723,2.485,6724,7.025,6725,6.209,6726,6.449,6727,7.169,6729,3.157,6731,3.157,6734,3.157,6735,2.338,6737,3.157,6739,8.052,6742,3.157,6744,3.157,6753,3.157,6757,2.25,6758,3.157,6759,3.157,6760,3.545,6761,4.156,6762,3.157,6763,6.856,6764,3.157,6765,4.241,6766,2.919,6767,3.434,6768,2.406,6769,3.824,6770,2.223,6771,3.673,6772,2.031,6773,5.915,6774,4.707,6775,3.157,6776,2.919,6777,2.577,6778,3.157,6779,3.157,6780,3.025,6781,2.689,6782,3.157,6783,3.157,6784,2.83,6785,3.157,6786,3.586,6787,10.272,6788,5.222,6789,2.919,6790,3.942,6791,2.223,6792,2.25,6793,2.174,6794,2.919,6795,3.157,6796,3.157,6797,5.092,6798,5.092,6799,5.092,6800,6.785,6801,4.707,6802,4.443,6803,5.092,6804,4.336,6805,4.443,6806,2.689,6807,3.157,6808,3.157,6809,2.307,6810,3.881,6811,3.157,6812,3.157,6813,3.157,6814,5.092,6815,3.157,6816,3.157,6817,3.157,6818,3.157,6819,3.157,6820,3.157,6821,3.157,6822,5.915,6823,6.399,6824,3.157,6825,3.157,6826,3.157,6827,3.157,6828,3.157,6829,2.63,6830,3.157,6831,3.157,6832,3.157,6833,3.157,6834,3.157,6835,2.444,6836,3.157,6837,3.025,6838,3.157,6839,6.399,6840,5.092,6841,3.157,6842,3.157,6843,2.919,6844,2.919,6845,2.485,6846,3.157,6847,5.915,6848,3.157,6849,3.157,6850,3.157,6851,3.157]],["title/interfaces/ICreateNews.html",[105,0.702,12762,5.557]],["body/interfaces/ICreateNews.html",[3,0.018,4,0.018,5,0.009,7,0.115,26,2.368,30,0.001,32,0.18,33,0.558,34,1.34,47,0.92,83,3.382,95,0.147,101,0.02,103,0.001,104,0.001,105,1.341,107,1.883,112,0.8,119,1.657,120,4.429,153,1.838,154,1.622,484,4.116,644,4.867,654,2.409,839,2.491,1271,3.839,1926,4.364,2255,4.711,2341,4.945,2739,5.795,3664,7.023,4622,5.004,4833,4.478,7096,6.374,7098,5.98,7099,7.543,7102,8.226,7105,6.238,7106,7.657,7283,8.158,10669,5.066,11309,6.492,12762,8.462,12763,7.418,12764,9.67,12765,7.418,12766,7.418,12767,7.418,12768,5.352,12769,6.727,12770,6.492]],["title/interfaces/ICurrentUser.html",[105,0.702,270,3.367]],["body/interfaces/ICurrentUser.html",[3,0.016,4,0.016,5,0.008,7,0.106,26,2.919,30,0.001,32,0.169,33,0.572,34,1.994,39,3.26,47,0.518,48,5.712,72,3.328,85,7.735,94,4.914,95,0.088,99,1.197,101,0.015,103,0.001,104,0.001,105,1.012,107,1.733,112,0.757,119,2.645,121,4.853,128,4.548,143,2.839,180,1.286,239,3.188,270,5.475,276,4.29,303,7.767,359,5.967,517,2.789,564,3.886,565,5.904,1002,6.708,2405,6.708,2424,5.843,3122,5.526,3134,4.557,3140,6.001,3308,6.604,4266,4.325,5160,6.507,5515,4.358,5550,4.853,5554,5.624,7273,9.655,7274,8.301,7275,4.605,7323,5.973,7325,5.503,7346,10.445,12771,6.826,12772,9.153,12773,5.973,12774,6.826,12775,6.826,12776,5.503]],["title/interfaces/IDashboardModelProperties.html",[105,0.702,7822,5.557]],["body/interfaces/IDashboardModelProperties.html",[0,0.325,3,0.015,4,0.015,5,0.008,7,0.176,30,0.001,32,0.141,33,0.46,34,2.198,39,2.621,47,0.887,49,2.674,55,2.388,95,0.146,96,2.563,97,2.933,101,0.018,103,0.001,104,0.001,105,0.981,107,1.655,112,0.734,143,2.418,144,2.294,154,2.206,172,3.656,173,2.049,174,4.168,178,3.812,180,1.672,181,1.907,182,3.049,236,1.562,239,3.125,379,0.889,404,3.859,405,3.779,556,1.732,1271,3.646,1717,4.593,1926,3.599,2418,7.953,2668,6.888,2670,4.394,2671,7.328,2673,5.267,2675,5.704,2677,3.87,2679,5.14,2683,4.162,2784,3.336,4333,4.205,5094,3.263,6757,4.397,6772,3.97,7112,4.57,7614,7.735,7799,9.188,7800,5.912,7801,9.475,7802,9.475,7810,7.764,7811,7.152,7812,5.912,7813,8.046,7814,5.912,7815,5.912,7816,5.912,7817,5.912,7818,5.912,7819,5.704,7820,5.912,7821,5.912,7822,8.827,7823,8.931,7824,5.912,7825,4.943,7826,5.912,7827,5.912,7828,5.912,7829,5.912,7830,5.912]],["title/interfaces/IDashboardRepo.html",[105,0.702,7995,5.759]],["body/interfaces/IDashboardRepo.html",[0,0.323,3,0.015,4,0.015,5,0.008,7,0.101,8,1.159,9,3.338,26,2.743,27,0.448,29,0.86,30,0.001,31,0.619,32,0.141,33,0.521,34,1.597,35,1.321,36,2.886,39,3.192,49,2.66,95,0.139,96,1.873,97,2.918,99,1.137,101,0.015,103,0.001,104,0.001,105,0.717,107,1.646,154,1.418,177,1.781,226,1.024,236,1.142,239,1.643,262,2.578,349,1.304,437,1.756,448,2.844,511,3.114,539,1.283,608,2.991,631,3.574,679,4.021,1147,2.129,1726,2.997,2311,5.432,2353,4.752,3346,4.183,7077,4.831,7614,7.968,7646,9.2,7682,7.302,7811,5.228,7891,7.503,7913,8.37,7972,6.139,7976,5.503,7977,6.485,7978,8.841,7979,8.37,7980,8.841,7982,10.059,7984,9.523,7986,6.485,7988,10.059,7990,6.485,7991,6.485,7992,8.841,7993,6.485,7994,6.139,7995,9.123,7996,5.356,7997,8.841,7998,6.485,7999,8.841,8000,6.485,8001,10.059,8002,6.485,8003,8.841,8004,6.485,8005,6.485,12777,7.01,12778,7.01,12779,7.01]],["title/interfaces/IEncryptionService.html",[105,0.702,9825,5.007]],["body/interfaces/IEncryptionService.html",[3,0.021,4,0.021,5,0.011,7,0.139,8,1.427,27,0.485,29,0.93,30,0.001,31,0.67,32,0.152,33,0.564,35,1.43,47,0.999,101,0.02,103,0.001,104,0.001,105,0.99,107,2.273,284,3.555,437,1.552,8800,7.218,8801,8.476,9825,8.585,12780,9.678,12781,10.307,12782,9.874,12783,10.887,12784,9.678,12785,10.887,12786,9.678,12787,9.678,12788,9.678]],["title/interfaces/IEntity.html",[105,0.702,2411,5.389]],["body/interfaces/IEntity.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.152,34,2.204,47,0.889,49,5.002,83,3.417,95,0.14,96,2.58,97,4.019,101,0.02,103,0.001,104,0.001,105,1.296,107,2.268,112,0.899,180,2.048,376,4.019,377,4.187,644,5.471,654,2.9,742,7.24,2411,10.349,6760,5.887,11726,6.773,12789,8.456,12790,8.101]],["title/interfaces/IEntityWithSchool.html",[105,0.702,6760,4.185]],["body/interfaces/IEntityWithSchool.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.127,34,1.633,47,0.686,49,4.491,83,3.442,95,0.141,96,2.611,97,4.067,101,0.02,103,0.001,104,0.001,105,1.303,107,2.295,112,0.906,180,2.22,376,4.067,377,4.237,644,6.162,654,3.976,742,5.366,2411,10.392,6760,7.218,11726,6.854,12789,8.558,12790,8.198]],["title/interfaces/IEntityWithTimestamps.html",[105,0.702,12790,5.759]],["body/interfaces/IEntityWithTimestamps.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.152,34,1.606,47,0.675,49,4.446,83,3.991,95,0.139,96,2.568,97,4,101,0.02,103,0.001,104,0.001,105,1.294,107,2.257,112,0.897,180,2.204,376,5.479,377,5.707,644,5.456,654,2.886,742,5.278,2411,10.333,6760,5.86,11726,6.741,12789,8.416,12790,9.831]],["title/interfaces/IError.html",[105,0.702,8895,5.557]],["body/interfaces/IError.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.156,33,0.576,47,0.904,55,2.626,101,0.019,103,0.001,104,0.001,105,1.229,107,2.352,112,0.919,180,2.094,347,4.815,479,3.69,990,4.403,1025,5.403,8895,10.418,11145,7.467,12791,8.769,12792,9.262]],["title/interfaces/IErrorType.html",[105,0.702,3917,6.012]],["body/interfaces/IErrorType.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.182,47,1,101,0.016,103,0.001,104,0.001,105,1.032,107,2.369,112,0.923,177,2.405,1271,4.167,1290,8.452,3917,10.567,12793,10.086,12794,10.086]],["title/interfaces/IExternalToolPseudonymEntityProps.html",[105,0.702,9465,5.759]],["body/interfaces/IExternalToolPseudonymEntityProps.html",[0,0.283,3,0.018,4,0.018,5,0.009,7,0.12,26,2.55,30,0.001,32,0.162,33,0.515,34,2.093,39,3.623,47,0.879,49,5.233,95,0.149,96,2.871,97,3.482,99,1.357,101,0.017,103,0.001,104,0.001,105,0.856,107,1.965,112,0.908,154,2.174,168,6.808,172,3.912,173,2.432,174,4.107,178,3.325,180,1.458,181,2.263,182,2.659,191,4.557,192,5.353,404,3.366,405,5.761,564,2.613,593,3.116,2548,3.618,4333,4.991,9314,7.28,9457,5.979,9458,7.738,9459,7.738,9460,7.501,9465,9.957,9466,5.583,9467,6.772,9468,7.018,9469,6.102,9470,6.567]],["title/interfaces/IFederalStateProperties.html",[105,0.702,6704,5.759]],["body/interfaces/IFederalStateProperties.html",[0,0.346,3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,31,0.739,32,0.168,33,0.49,47,0.988,55,1.58,83,3.774,95,0.122,96,2.07,101,0.018,103,0.001,104,0.001,105,0.792,107,1.819,112,0.782,143,2.266,144,3.722,145,2.864,154,2.067,172,3.798,173,2.252,174,3.906,175,3.457,178,3.078,180,1.35,181,2.095,182,2.462,376,5.061,377,5.272,406,4.776,407,5.432,408,4.776,409,5.432,1732,4.061,2044,3.966,2562,5.209,4332,5.479,4342,3.423,5992,7.184,6008,5.093,6694,11.105,6695,6.782,6696,6.782,6697,6.782,6698,6.782,6699,6.782,6704,9.593,6705,11.069,6706,11.069,6707,6.782,6708,6.782,6709,6.782,6710,6.782,6711,6.782,6712,6.782,6713,5.337,6714,6.782,6715,6.782,6716,6.079]],["title/interfaces/IFileDO.html",[105,0.702,11149,5.245]],["body/interfaces/IFileDO.html",[3,0.016,4,0.021,5,0.008,7,0.102,10,2.879,26,2.577,30,0.001,31,0.699,32,0.173,33,0.462,34,2.051,39,1.939,47,0.989,55,2.233,83,3.182,95,0.115,99,1.151,101,0.02,103,0.001,104,0.001,105,1.201,107,1.667,112,0.737,239,1.663,319,3.007,437,0.935,654,2.131,823,6.246,839,3.399,990,3.297,1064,6.533,1361,6.343,1926,2.662,2079,3.137,2080,3.502,2081,3.378,2480,4.191,2686,3.2,2696,3.303,2739,3.217,2883,3.152,3122,3.062,3171,3.748,3366,5.401,3380,4.89,3632,5.652,3742,4.033,3940,3.997,4266,2.397,4833,3.963,5146,3.929,5158,4.109,5932,6.343,5933,5.683,6422,4.736,6438,6.74,6440,7.72,6441,5.122,6464,8.753,6465,7.72,10666,7.029,10667,7.029,10668,7.029,10669,4.483,11134,5.291,11147,5.57,11148,5.422,11149,7.363,11245,5.57,11249,8.59,12749,5.953,12750,5.953,12751,5.953,12752,5.953,12753,5.953,12754,5.953]],["title/interfaces/IFileDomainObjectProps.html",[105,0.702,10342,5.759]],["body/interfaces/IFileDomainObjectProps.html",[3,0.021,4,0.021,5,0.011,7,0.138,26,2.829,30,0.001,31,0.749,32,0.17,34,2.2,47,0.888,95,0.139,99,1.559,101,0.015,103,0.001,104,0.001,105,0.983,107,2.257,112,0.897,133,3.331,1778,3.774,3600,4.773,3632,6.062,5933,6.094,6419,4.499,6438,7.228,8898,5.927,10342,9.831,12756,8.89,12795,8.89]],["title/interfaces/IFileRecordParams.html",[105,0.702,11249,5.389]],["body/interfaces/IFileRecordParams.html",[3,0.017,4,0.022,5,0.009,7,0.11,10,3.118,26,2.79,30,0.001,31,0.579,32,0.147,34,1.699,39,2.1,47,0.928,55,1.568,83,2.235,95,0.121,99,1.247,101,0.021,103,0.001,104,0.001,105,1.241,107,1.805,112,0.778,239,1.801,319,3.256,437,1.013,654,2.308,823,4.09,839,3.538,990,3.478,1064,6.892,1361,4.153,1926,2.884,2079,3.397,2080,3.793,2081,3.659,2480,4.539,2686,3.466,2696,3.578,2739,3.484,2883,3.414,3122,3.317,3171,4.06,3366,5.622,3380,5.297,3632,5.806,3742,4.369,3940,4.33,4266,4.095,4833,4.292,5146,4.256,5158,4.451,5932,4.153,5933,5.838,6422,5.13,6438,6.924,6440,6.686,6441,5.333,6464,5.731,6465,5.055,10666,7.416,10667,7.416,10668,7.416,10669,4.855,11134,5.731,11147,6.034,11148,5.872,11149,5.872,11245,6.034,11249,9.517,12749,6.448,12750,6.448,12751,6.448,12752,6.448,12753,6.448,12754,6.448]],["title/interfaces/IFileRecordProperties.html",[105,0.702,10684,5.245]],["body/interfaces/IFileRecordProperties.html",[0,0.246,3,0.008,4,0.008,5,0.006,7,0.148,26,2.652,30,0.001,31,0.63,32,0.147,33,0.4,34,0.964,39,0.976,47,0.887,49,3.471,55,1.7,83,3.117,95,0.128,96,1.542,97,1.486,99,0.579,101,0.016,103,0,104,0,105,0.743,107,0.839,112,0.555,119,2.128,133,1.999,143,1.848,144,2.363,145,1.001,154,1.851,172,3.762,173,1.038,174,2.205,178,1.419,180,0.622,181,1.561,182,1.135,226,0.522,236,1.894,239,0.837,347,2.619,349,1.362,358,1.594,360,2.922,376,1.486,377,1.548,437,1.588,490,2.583,519,2.567,529,1.019,556,2.531,565,2.131,570,4.476,654,1.733,662,3.958,696,1.386,708,1.431,739,2.49,747,2.604,755,2.348,823,5.48,839,3.199,988,1.556,990,2.483,994,2.552,1064,3.911,1223,4.123,1361,5.565,1726,2.467,1819,2.461,1926,1.34,1986,2.068,1987,3.911,2044,3.235,2220,2.048,2396,2.048,2562,2.941,2647,1.977,2670,3.818,2680,2.068,2686,1.61,2696,1.662,2883,1.586,3122,1.541,3171,1.886,3366,1.762,3380,2.461,3632,5.236,3742,2.03,3895,2.663,4266,3.84,4276,2.728,4278,2.256,4332,3.093,4342,1.578,4343,2.088,4833,1.994,5146,1.977,5158,2.068,5932,5.288,5933,5.264,5935,1.9,5936,2.552,5937,2.552,5938,3.911,5939,2.552,5940,4.208,5941,2.663,5942,2.285,5943,2.461,5945,2.552,5947,2.663,6419,1.671,6437,4.377,6438,5.374,6439,4.123,6440,5.482,6448,2.285,6456,2.421,6459,5.295,6465,6.017,6760,2.177,6988,2.728,6989,4.208,10347,2.663,10417,2.604,10451,2.504,10464,2.728,10490,4.408,10493,2.604,10498,2.728,10642,2.89,10643,2.803,10644,4.529,10645,2.89,10647,8.336,10659,6.215,10662,2.89,10663,2.728,10664,4.529,10665,2.663,10666,4.208,10667,4.208,10668,4.208,10669,2.256,10670,4.67,10671,4.67,10672,4.67,10673,4.67,10674,4.67,10675,4.67,10676,4.529,10677,5.65,10678,4.67,10679,2.728,10680,4.302,10681,2.663,10682,4.408,10683,2.728,10684,5.546,10685,5.698,10686,2.552,10687,2.803,10688,2.604,10689,2.604,10690,2.89,10691,2.89,10692,2.728,10693,2.663,10694,2.89,10695,2.89,10696,2.89,10697,2.89,10698,2.89,10699,2.89,10700,2.89,10701,2.89,10702,7.922,10703,2.89,10704,2.89,10705,4.67,10706,2.89,10707,2.89,10708,4.67,10709,4.67,10710,4.67,10711,2.89,10712,2.89,10713,2.89,10714,2.89,10715,2.89,10716,2.89,10717,2.89,10718,4.67,10719,5.876,10720,2.803,10721,2.89,10722,4.67,10723,2.803,10724,2.89,10725,4.67,10726,2.89,10727,5.876,10728,5.876,10729,2.803,10730,5.876,10731,2.89,10732,2.89,10733,2.89,10734,2.89,10735,2.89,10736,2.89,10737,2.89,10738,2.803,10739,2.89,10740,2.89,10741,2.89,10742,2.89,10743,2.89,10744,2.89,10745,2.89,10746,2.89,10747,2.89]],["title/interfaces/IFileRecordSecurityCheckProperties.html",[105,0.702,10676,5.389]],["body/interfaces/IFileRecordSecurityCheckProperties.html",[0,0.252,3,0.008,4,0.008,5,0.007,7,0.15,26,2.474,30,0.001,31,0.566,32,0.11,33,0.477,34,0.992,39,1.011,47,0.893,49,3.535,55,1.211,83,2.892,95,0.129,96,1.587,97,1.54,99,0.6,101,0.016,103,0,104,0,105,0.761,107,0.869,112,0.569,119,2.159,133,2.058,143,1.887,144,2.42,145,1.037,154,1.885,172,3.797,173,1.076,174,2.27,178,1.471,180,0.645,181,1.606,182,1.176,226,0.541,236,1.913,239,0.867,347,3.588,349,1.37,358,1.652,360,3.007,376,1.54,377,1.605,437,1.602,490,2.646,519,2.621,529,1.056,556,2.569,565,2.208,570,4.586,654,1.783,662,3.986,696,1.436,708,1.483,739,2.562,747,2.699,755,2.434,823,4.528,839,3.246,988,1.612,990,2.544,994,2.645,1064,4.025,1223,6.659,1361,4.598,1726,2.539,1819,2.55,1926,1.388,1986,2.143,1987,4.025,2044,3.303,2220,2.123,2396,2.123,2562,3.027,2647,2.049,2670,3.898,2680,2.143,2686,1.669,2696,1.723,2883,1.644,3122,1.597,3171,1.955,3366,1.826,3380,2.55,3632,4.812,3742,2.103,3895,2.76,4266,3.529,4276,2.827,4278,2.338,4332,3.184,4342,1.636,4343,2.164,4833,2.067,5146,2.049,5158,2.143,5932,4.018,5933,4.838,5935,1.969,5936,2.645,5937,2.645,5938,4.025,5939,2.645,5940,4.331,5941,2.76,5942,2.368,5943,2.55,5945,2.645,5947,2.76,6419,1.732,6437,4.484,6438,4.673,6439,4.244,6440,6.541,6448,2.368,6456,2.509,6459,5.424,6465,3.905,6760,2.256,6988,2.827,6989,4.331,10347,2.76,10417,2.699,10451,2.596,10464,2.827,10490,4.537,10493,2.699,10498,2.827,10642,2.996,10643,2.905,10644,4.661,10645,2.996,10647,6.888,10659,6.345,10662,2.996,10663,2.827,10664,4.661,10665,2.76,10666,4.331,10667,4.331,10668,4.331,10669,2.338,10670,4.806,10671,4.806,10672,4.806,10673,4.806,10674,4.806,10675,4.806,10676,5.837,10677,7.084,10678,4.806,10679,2.827,10680,4.428,10681,2.76,10682,4.537,10683,2.827,10684,4.537,10685,5.837,10686,2.645,10687,2.905,10688,2.699,10689,2.699,10690,2.996,10691,2.996,10692,2.827,10693,2.76,10694,2.996,10695,2.996,10696,2.996,10697,2.996,10698,2.996,10699,2.996,10700,2.996,10701,2.996,10702,8.051,10703,2.996,10704,2.996,10705,4.806,10706,2.996,10707,2.996,10708,4.806,10709,4.806,10710,4.806,10711,2.996,10712,2.996,10713,2.996,10714,2.996,10715,2.996,10716,2.996,10717,2.996,10718,4.806,10719,6.019,10720,2.905,10721,2.996,10722,4.806,10723,2.905,10724,2.996,10725,4.806,10726,2.996,10727,6.019,10728,6.019,10729,2.905,10730,6.019,10731,2.996,10732,2.996,10733,2.996,10734,2.996,10735,2.996,10736,2.996,10737,2.996,10738,2.905,10739,2.996,10740,2.996,10741,2.996,10742,2.996,10743,2.996,10744,2.996,10745,2.996,10746,2.996,10747,2.996]],["title/interfaces/IFileRequestInfo.html",[105,0.702,6531,5.389]],["body/interfaces/IFileRequestInfo.html",[3,0.022,4,0.022,5,0.011,7,0.141,26,2.843,30,0.001,32,0.165,95,0.142,99,1.597,101,0.015,103,0.001,104,0.001,105,1.007,107,2.312,112,0.91,141,4.608,3600,4.889,3632,6.111,4266,4.482,5933,6.144,6419,4.608,6438,7.287,6531,9.334,8898,6.07,12757,8.62,12795,9.105]],["title/interfaces/IFileStorageConfig.html",[105,0.702,12796,6.35]],["body/interfaces/IFileStorageConfig.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,32,0.152,47,0.924,55,2.825,95,0.14,101,0.02,103,0.001,104,0.001,105,0.834,107,1.914,112,0.808,119,2.562,180,1.841,437,1.694,1232,6.225,1971,3.793,2079,3.602,2080,4.021,2081,3.879,2082,5.213,2094,5.025,2425,5.213,3601,3.278,6419,3.814,6513,7.314,6514,6.076,6515,5.523,6516,5.523,6517,5.523,6518,5.523,10337,5.025,11049,5.715,12448,5.523,12758,9.832,12796,10.842,12797,8.147,12798,12.846,12799,12.846,12800,12.846,12801,10.842,12802,9.771,12803,6.596,12804,7.537,12805,6.596,12806,8.147,12807,10.562,12808,6.835,12809,7.537,12810,10.562,12811,8.147,12812,7.135,12813,7.537,12814,8.147,12815,8.147,12816,8.147,12817,8.147,12818,8.147,12819,8.147,12820,8.147]],["title/interfaces/IFilesStorageClientConfig.html",[105,0.702,11257,5.759]],["body/interfaces/IFilesStorageClientConfig.html",[3,0.023,4,0.023,5,0.012,7,0.151,30,0.001,32,0.136,55,2.682,101,0.016,103,0.001,104,0.001,105,1.078,107,2.473,112,0.947,3600,6.148,3601,4.237,6419,4.93,11257,10.384,12411,7.139,12808,11.383,12821,10.53]],["title/interfaces/IFindOptions.html",[105,0.702,7150,4.185]],["body/interfaces/IFindOptions.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.164,33,0.633,55,2.401,56,4.662,70,4.87,101,0.02,103,0.001,104,0.001,105,1.204,107,2.273,112,0.901,484,4.969,721,6.04,839,3.006,2093,7.433,3676,9.874,6861,7.957,7150,7.176,9501,10.081,9688,10.358,11008,9.528,12822,8.954,12823,8.954]],["title/interfaces/IGridElement.html",[105,0.702,7679,5.759]],["body/interfaces/IGridElement.html",[0,0.192,3,0.008,4,0.008,5,0.004,7,0.13,8,0.689,26,2.354,27,0.421,29,0.652,30,0.001,31,0.469,32,0.15,33,0.395,34,1.622,35,1.242,39,1.553,47,0.865,55,2.541,83,1.019,95,0.085,101,0.017,103,0,104,0,105,0.359,107,0.823,112,0.435,119,2.005,181,0.949,191,3.096,192,2.243,226,0.512,236,1.734,349,1.384,381,1.188,404,3.647,405,3.048,413,2.49,437,1.765,474,3.51,480,1.581,519,3.745,529,2.046,556,2.027,603,2.425,696,3.201,708,2.873,739,3.559,849,1.941,975,4.418,1080,5.277,1147,1.065,1271,3.184,1553,5.478,1568,3.637,1739,3.798,1942,4.725,2297,2.377,2501,1.689,2647,3.148,2668,7.14,2680,2.03,2681,1.88,2723,2.416,2784,3.904,2804,4.823,3261,2.614,3458,2.459,3631,3.637,3725,7.603,3797,3.547,4969,2.162,6612,2.941,6719,2.377,6761,9.484,6765,4.146,6845,3.918,7077,5.683,7623,5.894,7646,2.557,7647,3.07,7649,3.07,7652,3.07,7653,2.941,7654,8.141,7656,2.838,7663,4.978,7669,3.07,7673,3.07,7676,3.07,7677,8.141,7679,9.482,7682,6.301,7684,3.07,7685,7.603,7688,3.07,7690,3.07,7692,3.07,7694,3.07,7696,3.07,7698,3.07,7701,3.07,7703,4.978,7704,2.614,7705,7.937,7706,7.222,7707,4.978,7708,7.937,7709,6.278,7710,4.978,7711,7.937,7712,4.978,7713,6.278,7714,3.07,7715,4.239,7716,9.254,7717,3.07,7718,4.978,7719,3.07,7720,4.978,7721,3.07,7722,4.978,7723,3.07,7724,3.07,7725,3.07,7726,3.07,7727,3.07,7728,4.978,7729,3.07,7730,4.978,7731,2.941,7732,4.978,7733,3.07,7734,2.416,7735,4.978,7736,3.07,7737,3.07,7738,3.07,7739,4.978,7740,2.838,7741,3.07,7742,4.978,7743,3.07,7744,2.679,7745,3.07,7746,3.07,7747,3.07,7748,3.07,7749,3.07,7750,3.07,7751,3.07,7752,3.07,7753,3.07,7754,4.978,7755,4.978,7756,2.941,7757,6.278,7758,3.07,7759,4.978,7760,3.07,7761,3.07,7762,3.07,7763,3.07,7764,3.07,7765,3.07,7766,3.07,7767,3.07,7768,3.07,7769,3.07,7770,3.07,7771,3.07,7772,3.07,7773,3.07,7774,3.07,7775,3.07,7776,3.07,7777,3.07,7778,3.07,7779,3.07,7780,3.07,7781,3.07,7782,3.07,7783,4.978,7784,3.07,7785,3.07,7786,3.07,7787,4.978,7788,4.978,7789,3.07,7790,3.07,7791,3.07,7792,3.07,7793,3.07,7794,3.07,7795,3.07,7796,6.278,7797,3.07,7798,3.07,11559,5.258,11564,5.258,11565,5.258,11566,5.258,11573,3.243,12824,3.506,12825,3.506,12826,3.506,12827,3.506,12828,3.506,12829,3.506,12830,3.506]],["title/interfaces/IH5PContentProperties.html",[105,0.702,5931,5.557]],["body/interfaces/IH5PContentProperties.html",[0,0.265,3,0.012,4,0.017,5,0.006,7,0.148,26,2.678,30,0.001,32,0.149,47,0.951,49,3.904,95,0.131,96,2.092,97,2.204,99,0.859,101,0.016,103,0,104,0,105,0.542,107,1.244,112,0.599,143,2.986,144,4.384,154,1.584,172,4.401,173,1.54,174,2.993,178,2.105,180,0.923,182,1.683,236,1.517,349,0.963,379,0.668,654,1.59,839,2.893,1105,2.647,1108,3.159,1125,3.228,1147,1.608,1218,2.959,1271,1.649,2024,2.465,2171,6.479,2255,4.668,2562,3.991,2670,4.267,2696,2.465,2784,2.507,3130,3.193,3366,2.613,3473,3.159,3632,5.294,4266,3.883,4332,4.198,4359,3.649,4543,4.286,5146,2.932,5830,9.306,5831,4.286,5832,4.637,5833,6.04,5834,4.637,5835,4.637,5836,4.442,5837,3.714,5838,3.037,5839,4.442,5840,4.046,5841,4.046,5842,3.948,5843,4.046,5844,3.434,5845,4.637,5846,4.637,5847,3.714,5848,4.637,5849,4.637,5850,3.948,5851,4.046,5852,4.637,5853,4.637,5854,3.784,5858,6.856,5860,6.856,5863,7.863,5866,3.714,5867,4.046,5883,4.491,5884,4.046,5885,6.856,5886,4.046,5887,4.637,5888,4.046,5889,4.637,5890,3.784,5891,3.784,5892,4.637,5893,4.637,5894,3.714,5895,4.637,5896,3.784,5897,4.046,5898,4.637,5899,4.046,5900,4.637,5901,4.046,5902,4.637,5903,4.046,5904,4.637,5905,4.637,5906,4.637,5907,4.637,5908,4.637,5909,4.046,5910,4.637,5911,4.637,5912,4.637,5913,4.637,5914,4.637,5915,4.637,5916,4.637,5917,4.637,5918,4.637,5919,4.637,5920,4.637,5921,4.637,5922,4.637,5923,4.637,5924,4.637,5925,4.637,5926,4.637,5927,4.637,5928,4.442,5929,4.637,5930,7.444,5931,7.54,5932,6.212,5933,5.507,5934,3.948,5935,2.818,5936,3.784,5937,3.784,5938,3.589,5939,3.784,5940,3.862,5941,3.948,5942,3.388,5943,3.649,5944,4.442,5945,3.784,5946,4.637,5947,3.948,5948,3.784]],["title/interfaces/IIdentityManagementConfig.html",[105,0.702,12831,5.759]],["body/interfaces/IIdentityManagementConfig.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.167,101,0.016,103,0.001,104,0.001,105,1.037,107,2.381,112,0.926,119,2.944,12419,5.87,12831,10.153,12832,7.958,12833,10.137,12834,12.396,12835,12.396,12836,12.396]],["title/interfaces/IImportUserProperties.html",[105,0.702,12837,5.759]],["body/interfaces/IImportUserProperties.html",[0,0.162,3,0.011,4,0.011,5,0.005,7,0.069,30,0.001,31,0.414,32,0.172,33,0.594,47,0.974,49,1.822,95,0.132,96,1.283,101,0.015,103,0,104,0,105,0.744,107,1.128,112,0.848,119,2.025,128,2.964,143,2.63,144,2.368,145,1.346,154,1.472,168,6.042,172,3.705,173,1.396,174,2.781,175,2.143,178,1.908,180,0.837,181,1.299,182,1.526,220,1.842,236,0.782,239,3.054,250,3.072,349,0.752,359,2.895,361,4.993,437,1.158,490,1.709,517,1.815,529,1.37,556,1.788,564,1.5,593,2.71,603,0.988,644,4.903,651,5.073,652,5.073,653,5.91,654,3.647,655,5.613,696,3.41,708,1.924,839,3.044,975,2.341,1147,1.458,1678,5.356,1726,2.053,1903,4.785,2207,2.895,2235,4.205,2418,6.407,2419,4.028,2668,4.596,2670,4.825,2671,5.559,2679,3.502,2747,4.205,2958,2.835,3134,4.85,3140,2.415,4266,1.622,4271,7.002,4354,3.769,4355,3.58,4370,5.2,4660,2.637,5094,4.067,5662,5.103,6238,3.432,6760,4.436,6770,2.961,6772,2.705,6792,2.996,7112,3.114,7119,2.865,7120,2.961,7734,3.309,7825,5.103,9006,5.784,9007,3.58,9008,3.769,10079,3.205,10080,3.502,10081,3.205,10082,3.502,10083,3.502,10084,3.887,10258,3.205,10259,3.205,10931,3.668,11284,7.387,11285,6.054,11303,3.432,11304,2.927,11312,4.028,11911,4.028,11915,3.502,12837,7.369,12838,4.441,12839,8.047,12840,9.061,12841,7.14,12842,8.972,12843,8.268,12844,3.668,12845,4.205,12846,4.205,12847,4.441,12848,4.028,12849,3.432,12850,4.441,12851,4.441,12852,4.441,12853,4.441,12854,4.441,12855,4.441,12856,4.441,12857,4.441,12858,6.104,12859,4.441,12860,6.104,12861,4.028,12862,5.89,12863,4.441,12864,4.441,12865,4.441,12866,3.887,12867,3.668,12868,4.441,12869,4.441,12870,4.441,12871,4.441,12872,4.028,12873,4.028,12874,5.559,12875,6.371,12876,4.441,12877,4.441,12878,4.441,12879,3.887,12880,6.104,12881,4.441]],["title/interfaces/IImportUserScope.html",[105,0.702,12882,5.557]],["body/interfaces/IImportUserScope.html",[2,1.386,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,31,0.478,32,0.177,33,0.681,47,0.994,95,0.1,101,0.018,103,0.001,104,0.001,105,1.102,107,1.973,112,0.824,119,2.457,250,8.026,276,5.439,361,4.775,651,6.247,652,6.247,839,2.609,1475,7.556,1903,7.084,4381,5.066,6772,4.732,11284,8.798,11285,8.645,11303,6.004,11304,5.122,12843,9.847,12882,8.72,12883,7.77,12884,10.523,12885,7.77,12886,6.8]],["title/interfaces/IInterceptorConfig.html",[105,0.702,12760,5.759]],["body/interfaces/IInterceptorConfig.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,55,2.852,101,0.016,103,0.001,104,0.001,105,1.064,107,2.442,112,0.94,12411,7.048,12760,10.306,12805,10.938,12808,11.335,12887,10.396]],["title/interfaces/IJsonAccount.html",[105,0.702,12888,6.012]],["body/interfaces/IJsonAccount.html",[3,0.021,4,0.021,5,0.011,7,0.135,30,0.001,32,0.182,33,0.555,39,3.571,47,1,48,6.258,51,6.409,87,6.618,101,0.015,103,0.001,104,0.001,105,0.963,107,2.21,112,0.885,120,5.537,742,7.176,12419,5.449,12420,5.803,12888,10.131,12889,8.705,12890,9.41,12891,10.702]],["title/interfaces/IJsonUser.html",[105,0.702,12892,6.012]],["body/interfaces/IJsonUser.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.178,47,1,101,0.015,103,0.001,104,0.001,105,1,107,2.295,112,0.906,120,5.016,651,6.376,652,6.376,653,6.795,742,7.269,12419,5.659,12420,6.026,12889,9.04,12891,9.04,12892,10.367,12893,9.771]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[105,0.702,12894,5.759]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.157,47,0.976,101,0.019,103,0.001,104,0.001,105,1.04,107,2.387,112,0.927,437,1.34,2079,4.492,2220,5.83,12419,5.885,12420,6.267,12894,10.168,12895,10.162,12896,10.162,12897,12.407,12898,12.407,12899,8.9,12900,10.162]],["title/interfaces/IKeycloakSettings.html",[105,0.702,12901,5.759]],["body/interfaces/IKeycloakSettings.html",[3,0.021,4,0.021,5,0.011,7,0.137,30,0.001,32,0.177,47,1.006,51,4.67,87,5.901,101,0.018,103,0.001,104,0.001,105,0.974,107,2.236,112,0.892,120,4.937,437,1.255,2195,7.457,5643,6.771,8244,9.784,12394,6.354,12414,8.338,12419,5.513,12420,5.871,12901,9.775,12902,9.52,12903,11.006,12904,7.987,12905,9.52]],["title/interfaces/ILearnroom.html",[105,0.702,6761,4.906]],["body/interfaces/ILearnroom.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.131,95,0.121,101,0.019,103,0.001,104,0.001,105,1.238,107,2.381,112,0.926,474,5.151,519,3.727,2501,4.883,2682,6.487,4973,6.404,4974,6.574,6761,8.65,6765,8.827,6843,10.848,12906,9.378]],["title/interfaces/ILearnroomElement.html",[105,0.702,2682,4.393]],["body/interfaces/ILearnroomElement.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,95,0.119,101,0.019,103,0.001,104,0.001,105,1.226,107,2.34,112,0.917,474,5.671,519,3.689,2501,4.799,2682,7.664,4973,8.417,4974,8.641,6761,7.121,6765,8.736,6843,8.066,12906,9.217]],["title/interfaces/ILegacyLogger.html",[105,0.702,12907,6.012]],["body/interfaces/ILegacyLogger.html",[3,0.016,4,0.016,5,0.008,7,0.107,8,1.211,27,0.515,29,0.988,30,0.001,31,0.711,32,0.166,33,0.599,35,1.519,39,2.046,47,1.006,59,3.96,72,4.506,101,0.015,102,5.06,103,0.001,104,0.001,105,0.766,107,1.759,131,5.338,141,3.505,236,1.627,271,2.779,310,3.247,519,4.201,556,1.841,591,4.218,990,3.847,1025,4.948,1218,4.962,1262,2.612,1295,7.288,2312,4.141,5573,6.773,8384,6.886,12907,8.75,12908,12.857,12909,7.487,12910,8.75,12911,8.75,12912,9.243,12913,7.487,12914,9.243,12915,10.402,12916,7.487,12917,9.243,12918,10.507,12919,7.487,12920,9.243,12921,7.487,12922,9.243,12923,7.487]],["title/interfaces/ILessonParent.html",[105,0.702,6769,4.515]],["body/interfaces/ILessonParent.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.138,8,0.861,26,2.229,27,0.192,30,0.001,31,0.404,32,0.112,35,0.565,47,0.943,55,2.119,95,0.146,96,1.243,101,0.02,103,0,104,0,105,1.202,107,1.093,119,1.468,143,1.911,144,1.515,145,1.991,153,1.975,154,1.437,172,3.245,173,1.353,174,2.716,175,2.077,178,1.849,180,0.811,181,1.259,182,1.479,226,0.68,236,1.571,239,1.09,316,3.839,349,1.309,437,1.669,474,1.98,529,2.028,556,1.746,563,4.239,603,1.462,604,1.912,662,1.445,696,1.806,742,2.555,839,1.445,1147,1.413,1218,1.759,1226,2.241,1262,3.364,1271,3.004,1664,1.739,1717,2.228,1739,3.272,1920,2.241,1926,3.897,1944,1.963,2044,1.806,2255,4.185,2670,3.947,2673,3.901,2677,2.555,2682,4.546,2683,2.748,2684,4.586,2686,3.886,2687,4.433,2696,2.166,2700,4.672,2804,3.78,2882,4.103,3366,4.253,3476,5.444,3495,6.159,3601,1.872,3629,3.264,3630,3.264,4119,4.195,4278,2.939,4342,2.057,4969,2.869,4973,2.939,4974,3.017,5094,2.154,5119,6.647,5130,3.326,5146,2.576,5153,4.546,5158,6.969,5170,3.326,5176,3.326,5181,3.326,5758,7.546,6614,5.751,6617,6.159,6735,3.017,6757,2.904,6767,6.134,6768,3.106,6769,5.667,6771,4.488,6809,6.646,6810,4.741,6835,4.816,7006,2.904,7007,3.106,8955,5.077,11385,4.816,12695,5.077,12696,3.394,12697,5.514,12698,3.394,12699,4.983,12700,6.831,12701,5.077,12702,3.326,12703,5.077,12704,5.077,12705,5.077,12706,3.394,12707,5.077,12708,3.106,12709,5.077,12710,5.077,12711,3.394,12712,3.394,12713,3.394,12714,3.264,12715,3.264,12716,3.394,12717,3.394,12718,3.394,12719,5.182,12720,6.044,12721,3.264,12722,5.182,12723,3.394,12724,3.394,12725,3.394,12726,3.207,12727,3.394,12728,3.394,12729,5.182,12730,3.394,12731,3.394,12732,7.034,12733,6.285,12734,3.326,12735,3.394,12736,3.394,12737,3.394,12738,3.394,12739,3.394,12740,3.394,12741,3.394,12742,3.394,12743,3.394,12744,3.394,12745,3.394,12746,3.207,12747,3.394,12748,3.394,12924,4.653]],["title/interfaces/ILessonProperties.html",[105,0.702,12699,4.815]],["body/interfaces/ILessonProperties.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.134,26,2.063,30,0.001,31,0.577,32,0.157,33,0.514,47,0.946,55,2.279,95,0.144,96,1.177,101,0.019,103,0,104,0,105,1.181,107,1.035,112,0.521,119,1.936,143,1.847,144,1.434,145,1.91,153,1.909,154,1.378,172,3.166,173,1.281,174,2.604,175,1.967,178,1.751,180,0.768,181,1.192,182,1.401,226,0.644,236,1.526,239,1.032,316,3.681,349,1.293,437,1.648,474,1.875,529,1.945,556,1.675,563,4.065,603,1.402,604,1.81,662,1.369,696,1.71,742,2.42,839,1.369,1147,1.338,1218,1.665,1226,2.122,1262,3.269,1271,2.919,1664,1.647,1717,2.11,1739,3.137,1920,2.122,1926,4.54,1944,1.858,2044,1.71,2255,4.095,2670,3.815,2673,3.741,2677,2.42,2682,4.359,2683,2.602,2684,4.432,2686,3.756,2687,4.251,2696,2.051,2700,4.48,2804,5.392,2882,3.965,3366,4.111,3476,6.768,3495,5.953,3601,1.773,3629,3.09,3630,3.09,4119,4.023,4278,2.783,4342,1.948,4969,2.717,4973,2.783,4974,2.857,5094,2.04,5119,7.384,5130,3.149,5146,2.44,5153,4.359,5158,6.858,5170,3.149,5176,3.149,5181,3.149,5758,7.384,6614,5.559,6617,5.953,6735,2.857,6757,2.749,6767,7.145,6768,2.941,6769,4.48,6771,4.304,6809,4.359,6810,4.547,6835,4.618,7006,2.749,7007,2.941,8955,4.869,11385,6.869,12695,4.869,12696,3.214,12697,6.484,12698,3.214,12699,5.842,12700,7.589,12701,4.869,12702,3.149,12703,4.869,12704,4.869,12705,4.869,12706,3.214,12707,4.869,12708,2.941,12709,4.869,12710,4.869,12711,3.214,12712,3.214,12713,3.214,12714,3.09,12715,3.09,12716,3.214,12717,3.214,12718,3.214,12719,4.969,12720,5.842,12721,3.09,12722,4.969,12723,3.214,12724,3.214,12725,3.214,12726,3.037,12727,3.214,12728,3.214,12729,4.969,12730,3.214,12731,3.214,12732,6.836,12733,6.075,12734,3.149,12735,3.214,12736,3.214,12737,3.214,12738,3.214,12739,3.214,12740,3.214,12741,3.214,12742,3.214,12743,3.214,12744,3.214,12745,3.214,12746,3.037,12747,3.214,12748,3.214]],["title/interfaces/ILoggerConfig.html",[105,0.702,12761,5.759]],["body/interfaces/ILoggerConfig.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.927,101,0.016,103,0.001,104,0.001,105,1.089,107,2.499,112,0.953,12411,7.214,12761,10.448,12803,11.02,12925,10.64]],["title/interfaces/IMaterialProperties.html",[105,0.702,12926,5.389]],["body/interfaces/IMaterialProperties.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,30,0.001,32,0.174,33,0.558,47,1.022,95,0.113,96,1.854,101,0.018,103,0.001,104,0.001,105,1.107,107,1.63,112,0.726,153,2.791,154,1.92,172,4.241,173,2.017,174,3.628,175,3.098,180,1.209,181,1.877,182,2.206,238,3.875,1262,4.248,1271,3.793,1717,3.323,2784,3.285,3601,4.9,3631,4.44,5844,7.897,5894,4.867,6446,3.75,6790,4.704,6791,4.279,7385,4.383,12697,4.44,12700,4.563,12708,8.128,12926,8.491,12927,5.821,12928,9.858,12929,9.858,12930,9.56,12931,9.858,12932,9.858,12933,9.858,12934,5.821,12935,5.061,12936,5.821,12937,5.821,12938,5.617,12939,5.821,12940,5.821,12941,5.821,12942,5.821,12943,5.821,12944,5.821,12945,5.821,12946,5.821,12947,5.821,12948,5.821,12949,5.821,12950,5.821]],["title/interfaces/IMigrationOptions.html",[105,0.702,12434,5.557]],["body/interfaces/IMigrationOptions.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.067,10,1.89,30,0.001,32,0.112,33,0.525,36,2.441,47,0.677,52,3.425,53,3.398,55,2.325,70,5.511,72,3.207,78,8.782,95,0.115,101,0.007,103,0,104,0,105,0.882,107,1.094,112,0.544,118,2.981,119,1.782,142,4.049,145,3.293,153,2.862,177,1.607,179,4.676,208,1.723,236,1.158,239,1.092,262,2.712,310,4.184,333,3.67,349,0.892,359,2.809,379,0.588,413,1.407,437,1.37,486,3.13,490,4.055,529,1.33,556,1.748,562,3.21,568,5.518,595,2.873,600,2.907,603,1.985,608,2.79,696,2.76,697,6.29,708,2.849,710,5.943,845,3.559,934,2.809,938,4.117,990,1.594,1288,2.537,1341,1.494,1512,5.381,1519,4.041,1645,5.582,1794,2.981,1822,4.242,1832,2.558,2079,2.059,2096,3.657,2312,1.93,2313,3.24,2406,2.601,2836,5.671,3122,5.07,3505,4.746,3513,3.21,3514,8.928,3515,6.565,3516,2.779,5564,3.474,6132,7.502,6680,3.657,7275,2.907,7292,2.981,7576,7.94,8050,6.048,8059,7.94,8384,3.21,8794,3.559,10777,4.987,11952,3.657,12418,5.756,12419,2.697,12420,2.873,12421,3.908,12422,3.908,12423,3.657,12424,5.965,12425,6.43,12426,3.657,12427,3.657,12428,5.965,12429,3.908,12430,3.908,12431,8.413,12432,3.908,12433,3.908,12434,6.98,12435,7.94,12436,3.908,12437,3.559,12438,3.657,12439,3.908,12440,3.908,12441,3.908,12442,8.718,12443,3.398,12444,3.908,12445,3.908,12446,7.234,12447,3.064,12448,5.846,12449,3.329,12450,4.9,12451,3.474,12452,3.908,12453,3.908,12454,3.908,12455,8.095,12456,3.908,12457,3.908,12458,3.908,12459,8.095,12460,3.908,12461,3.908,12462,3.908,12463,8.095,12464,8.095,12465,3.657,12466,3.908,12467,3.908,12468,3.908,12469,3.398,12470,3.771,12471,5.186,12472,3.908,12473,3.908,12474,3.908,12475,3.908,12476,3.908,12477,5.082,12478,3.657,12479,3.657,12480,3.908,12481,3.908,12482,3.908,12483,3.908,12484,3.908,12485,3.908,12486,3.908,12487,3.908,12488,3.908,12489,3.908,12490,3.908,12491,3.771]],["title/interfaces/INameMatch.html",[105,0.702,12886,5.557]],["body/interfaces/INameMatch.html",[2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,30,0.001,31,0.743,32,0.149,33,0.553,47,0.97,95,0.112,101,0.019,103,0.001,104,0.001,105,1.18,107,2.2,112,0.883,119,1.935,250,5.994,276,4.062,361,6.557,651,6.021,652,6.021,839,2.909,1475,8.091,1903,7.587,4381,6.957,6772,5.277,11284,6.57,11285,6.456,11303,6.695,11304,5.711,12843,9.056,12882,7.583,12883,8.665,12884,9.678,12885,8.665,12886,9.338]],["title/interfaces/INewsProperties.html",[105,0.702,7101,5.389]],["body/interfaces/INewsProperties.html",[0,0.328,3,0.01,4,0.024,5,0.005,7,0.158,9,3.415,26,2.508,30,0.001,31,0.408,32,0.166,33,0.565,34,0.788,47,0.934,83,2.823,95,0.14,96,2.321,101,0.016,103,0,104,0,105,0.482,107,1.107,112,0.799,143,2.44,144,3.582,154,2.113,172,3.574,173,1.37,174,2.742,175,2.104,180,1.692,181,2.626,182,1.498,236,1.415,239,2.83,349,0.487,355,5.486,358,3.877,381,1.597,403,4.85,413,1.423,459,4.398,521,3.438,563,5.792,643,2.114,644,5.489,654,3.541,655,5.29,839,2.228,996,4.183,997,4.519,998,4.135,999,4.369,1000,4.769,1271,3.427,1289,4.423,1664,1.762,1717,3.435,1723,2.386,1739,3.303,1815,3.099,1832,2.588,1926,2.691,2255,4.206,2565,4.936,2670,3.978,2683,2.783,2739,5.826,2784,2.231,3452,3.248,3454,3.015,3455,3.305,3457,3.368,3458,3.305,3459,3.514,3473,2.812,3606,3.194,3631,3.015,4266,1.592,4358,3.6,4359,3.248,4500,3.437,5094,4.021,5174,3.437,5747,8.026,5932,2.547,5935,5.855,6683,3.305,6770,2.906,6772,2.655,6793,2.842,7006,2.941,7093,3.514,7094,3.815,7096,4.373,7097,3.815,7098,7.789,7099,5.632,7100,3.815,7101,8.98,7102,6.972,7103,7.239,7104,7.789,7105,6.565,7106,7.516,7107,3.815,7108,5.127,7109,3.815,7110,3.6,7111,3.6,7112,4.652,7113,3.815,7114,3.6,7115,3.6,7116,3.815,7117,3.514,7118,3.815,7119,2.812,7120,2.906,7121,3.6,7122,3.815,7123,3.815,7124,6.818,7125,3.815,7126,7.03,7127,3.815,7128,3.815,7129,5.48,7130,3.6,7131,6.091,7132,3.699,7133,4.717,7134,3.6,7135,3.437,7136,3.6,7137,3.815]],["title/interfaces/INewsScope.html",[105,0.702,12770,5.557]],["body/interfaces/INewsScope.html",[3,0.018,4,0.018,5,0.009,7,0.118,26,2.393,30,0.001,32,0.178,33,0.632,34,1.37,47,0.744,83,2.383,95,0.148,101,0.02,103,0.001,104,0.001,105,1.349,107,1.925,112,0.811,119,2.429,120,4.493,153,1.878,154,1.658,484,4.208,644,4.936,654,2.462,839,2.546,1271,2.553,1926,4.41,2255,3.133,2341,5.055,2739,5.835,3664,9.286,4622,5.115,4833,4.578,7096,6.465,7098,6.112,7099,7.623,7102,5.471,7105,6.327,7106,7.563,7283,8.717,10669,5.178,11309,10.061,12762,6.635,12763,7.583,12764,7.583,12765,7.583,12766,7.583,12767,7.583,12768,5.471,12769,6.876,12770,8.584]],["title/interfaces/IPagination.html",[105,0.702,9501,5.245]],["body/interfaces/IPagination.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.164,33,0.633,55,2.805,56,6.356,70,6.638,101,0.02,103,0.001,104,0.001,105,1.204,107,2.273,112,0.901,484,4.969,721,6.04,839,3.006,2093,5.453,3676,9.874,6861,5.837,7150,5.901,9501,9.69,9688,9.239,11008,9.528,12822,8.954,12823,8.954]],["title/interfaces/IParentInfo.html",[105,0.702,10685,5.389]],["body/interfaces/IParentInfo.html",[0,0.253,3,0.008,4,0.008,5,0.007,7,0.15,26,2.593,30,0.001,31,0.567,32,0.111,34,0.997,39,1.017,47,0.854,49,3.544,55,1.217,83,2.899,95,0.13,96,1.594,97,1.549,99,0.604,101,0.016,103,0,104,0,105,0.764,107,0.874,112,0.571,119,2.164,133,2.067,143,1.893,144,2.429,145,1.043,154,1.89,172,3.802,173,1.082,174,2.28,178,1.479,180,0.649,181,1.614,182,1.183,226,0.544,236,1.916,239,0.872,347,2.693,349,1.371,358,1.661,360,3.02,376,1.549,377,1.613,437,1.605,490,2.656,519,2.629,529,1.062,556,2.574,565,2.22,570,4.602,654,1.791,662,3.99,696,1.444,708,1.491,739,2.574,747,2.714,755,2.447,823,4.542,839,3.253,988,1.621,990,2.553,994,2.659,1064,4.043,1223,4.262,1361,4.613,1726,2.55,1819,2.564,1926,1.396,1986,2.155,1987,4.043,2044,3.313,2220,2.134,2396,2.134,2562,3.04,2647,2.06,2670,3.91,2680,2.155,2686,1.678,2696,1.732,2883,1.653,3122,1.606,3171,1.965,3366,1.836,3380,2.564,3632,5.304,3742,2.115,3895,2.775,4266,3.89,4276,2.843,4278,2.351,4332,3.198,4342,1.645,4343,2.176,4833,2.078,5146,2.06,5158,2.155,5932,4.033,5933,5.332,5935,1.98,5936,2.659,5937,2.659,5938,4.043,5939,2.659,5940,4.35,5941,2.775,5942,2.381,5943,2.564,5945,2.659,5947,2.775,6419,1.742,6437,4.501,6438,5.475,6439,4.262,6440,5.614,6448,2.381,6456,2.522,6459,5.444,6465,3.922,6760,2.269,6988,2.843,6989,4.35,10347,2.775,10417,2.714,10451,2.61,10464,2.843,10490,4.556,10493,2.714,10498,2.843,10642,3.012,10643,2.921,10644,4.682,10645,3.012,10647,6.91,10659,6.365,10662,3.012,10663,2.843,10664,4.682,10665,2.775,10666,4.35,10667,4.35,10668,4.35,10669,2.351,10670,4.828,10671,4.828,10672,4.828,10673,4.828,10674,4.828,10675,4.828,10676,4.682,10677,5.787,10678,4.828,10679,2.843,10680,4.447,10681,2.775,10682,4.556,10683,2.843,10684,4.556,10685,6.701,10686,2.659,10687,2.921,10688,2.714,10689,2.714,10690,3.012,10691,3.012,10692,2.843,10693,2.775,10694,3.012,10695,3.012,10696,3.012,10697,3.012,10698,3.012,10699,3.012,10700,3.012,10701,3.012,10702,8.07,10703,3.012,10704,3.012,10705,4.828,10706,3.012,10707,3.012,10708,4.828,10709,4.828,10710,4.828,10711,3.012,10712,3.012,10713,3.012,10714,3.012,10715,3.012,10716,3.012,10717,3.012,10718,4.828,10719,6.041,10720,2.921,10721,3.012,10722,4.828,10723,2.921,10724,3.012,10725,4.828,10726,3.012,10727,6.041,10728,6.041,10729,2.921,10730,6.041,10731,3.012,10732,3.012,10733,3.012,10734,3.012,10735,3.012,10736,3.012,10737,3.012,10738,2.921,10739,3.012,10740,3.012,10741,3.012,10742,3.012,10743,3.012,10744,3.012,10745,3.012,10746,3.012,10747,3.012]],["title/interfaces/IRelatedResourceProperties.html",[105,0.702,12932,5.557]],["body/interfaces/IRelatedResourceProperties.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,30,0.001,32,0.131,33,0.581,47,1.015,95,0.121,96,2.05,101,0.019,103,0.001,104,0.001,105,1.165,107,1.802,112,0.777,153,2.327,154,2.054,172,4.314,173,2.231,174,3.881,175,3.425,180,1.337,181,2.076,182,2.438,238,4.284,1262,3.542,1271,3.163,1717,3.674,2784,3.632,3601,4.085,3631,4.909,5844,6.585,5894,5.381,6446,4.146,6790,5.2,6791,4.731,7385,4.846,12697,4.909,12700,5.045,12708,6.777,12926,7.971,12927,6.436,12928,8.22,12929,8.22,12930,7.971,12931,8.22,12932,9.806,12933,9.213,12934,6.436,12935,5.596,12936,10.162,12937,10.162,12938,6.21,12939,6.436,12940,6.436,12941,6.436,12942,6.436,12943,6.436,12944,6.436,12945,6.436,12946,6.436,12947,6.436,12948,6.436,12949,6.436,12950,6.436]],["title/interfaces/IRepoLoader.html",[105,0.702,12951,6.012]],["body/interfaces/IRepoLoader.html",[0,0.217,3,0.014,4,0.014,5,0.007,7,0.092,26,1.83,30,0.001,32,0.146,33,0.431,36,1.374,49,2.433,95,0.15,99,1.04,101,0.01,103,0,104,0,105,0.656,107,1.506,112,0.688,119,2.144,133,4.102,143,1.993,177,2.493,217,6.78,226,0.937,227,2.658,236,1.464,262,1.416,349,0.929,379,0.809,437,1.185,529,1.831,539,1.206,564,2.004,603,2.8,608,2.083,1427,7.277,1661,5.063,1746,5.255,1747,3.827,1803,8.826,1804,6.855,1805,7.394,1806,5.192,1807,8.384,1808,8.59,1809,7.886,1810,7.749,1830,4.678,1846,7.277,2487,7.379,2518,7.15,2647,4.977,3255,4.052,3602,4.159,4741,7.901,5444,5.38,5979,9.102,6324,3.955,12951,9.846,12952,5.933,12953,10.401,12954,5.192,12955,5.933,12956,5.933,12957,5.933,12958,5.933,12959,5.933,12960,5.933,12961,5.933,12962,5.933,12963,5.933,12964,5.933,12965,5.933,12966,5.933,12967,5.933,12968,5.933,12969,5.933,12970,5.933,12971,5.933,12972,5.933,12973,5.933,12974,5.933,12975,5.933,12976,5.933,12977,5.933,12978,5.933,12979,5.933,12980,5.933,12981,5.933,12982,5.933,12983,5.933,12984,5.933,12985,5.933,12986,8.314]],["title/interfaces/IRetryOptions.html",[105,0.702,12431,5.557]],["body/interfaces/IRetryOptions.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.068,10,1.91,30,0.001,32,0.093,33,0.465,36,2.449,47,0.503,52,3.452,53,3.433,55,2.463,70,4.366,72,3.232,78,8.8,95,0.115,101,0.007,103,0,104,0,105,0.888,107,1.105,112,0.548,118,3.012,119,0.972,142,4.068,145,3.304,153,2.869,177,1.617,179,4.713,208,1.741,236,1.167,239,1.103,262,2.719,310,2.041,333,3.694,349,0.897,359,2.838,379,0.594,413,1.421,437,1.376,486,3.144,490,4.07,529,1.344,556,1.762,562,3.244,568,5.553,595,2.903,600,2.937,603,1.996,608,2.798,696,2.782,697,6.33,708,2.872,710,5.981,845,3.596,934,2.838,938,4.15,990,1.61,1288,2.564,1341,1.509,1512,5.415,1519,4.073,1645,5.626,1794,3.012,1822,4.276,1832,2.585,2079,2.081,2096,3.695,2312,1.951,2313,3.266,2406,2.629,2836,5.707,3122,5.087,3505,4.783,3513,3.244,3514,8.947,3515,6.595,3516,2.808,5564,3.51,6132,7.517,6680,3.695,7275,2.937,7292,3.012,7576,7.977,8050,6.087,8059,7.977,8384,3.244,8794,3.596,10777,5.027,11952,3.695,12418,5.801,12419,2.726,12420,2.903,12421,3.949,12422,3.949,12423,3.695,12424,6.012,12425,6.471,12426,3.695,12427,3.695,12428,6.012,12429,3.949,12430,3.949,12431,8.903,12432,8.139,12433,8.139,12434,5.801,12435,5.476,12436,3.949,12437,3.596,12438,3.695,12439,3.949,12440,3.949,12441,3.949,12442,8.758,12443,3.433,12444,3.949,12445,3.949,12446,7.28,12447,3.095,12448,5.883,12449,3.364,12450,4.939,12451,3.51,12452,3.949,12453,3.949,12454,3.949,12455,8.139,12456,3.949,12457,3.949,12458,3.949,12459,8.139,12460,3.949,12461,3.949,12462,3.949,12463,8.139,12464,8.139,12465,3.695,12466,3.949,12467,3.949,12468,3.949,12469,3.433,12470,3.81,12471,5.227,12472,3.949,12473,3.949,12474,3.949,12475,3.949,12476,3.949,12477,5.122,12478,3.695,12479,3.695,12480,3.949,12481,3.949,12482,3.949,12483,3.949,12484,3.949,12485,3.949,12486,3.949,12487,3.949,12488,3.949,12489,3.949,12490,3.949,12491,3.81]],["title/interfaces/IRoleProperties.html",[105,0.702,12987,6.012]],["body/interfaces/IRoleProperties.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,30,0.001,31,0.728,32,0.151,33,0.591,47,0.735,95,0.139,96,2.147,101,0.016,103,0.001,104,0.001,105,1.071,107,1.887,112,0.801,154,2.355,168,6.004,172,3.637,173,2.336,174,4.001,175,3.587,178,3.194,180,1.4,181,2.174,182,2.554,236,1.896,276,5.546,349,0.831,437,1.535,529,2.294,643,5.739,662,2.496,827,4.653,1717,3.848,1723,6.858,2044,3.119,2673,4.412,2677,5.748,3140,6.598,4119,4.745,4342,3.552,4660,7.024,7399,6.504,10471,7.806,10499,8.217,12987,10.195,12988,7.433,12989,6.741,12990,6.504,12991,6.741,12992,6.504,12993,7.433,12994,6.741,12995,7.433,12996,9.683,12997,7.433,12998,8.781,12999,6.504]],["title/interfaces/ISchoolExternalToolProperties.html",[105,0.702,13000,5.759]],["body/interfaces/ISchoolExternalToolProperties.html",[0,0.276,3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,32,0.161,33,0.507,55,2.532,95,0.153,96,2.182,101,0.016,103,0.001,104,0.001,105,0.835,107,1.917,112,0.809,143,2.345,154,2.14,172,3.304,173,2.374,174,4.043,178,3.245,180,1.423,181,2.209,182,2.595,564,3.665,644,6.131,654,3.861,1732,4.281,2548,4.328,4332,5.671,4333,4.871,5094,5.432,5453,7.592,5977,5.835,5978,6.088,6026,6.609,6032,10.063,6034,5.955,6037,6.849,6038,5.294,6792,5.094,6793,4.923,7502,5.094,9219,9.188,11726,5.726,12862,6.609,13000,9.842,13001,7.552,13002,11.258,13003,7.552,13004,7.552,13005,7.552,13006,7.552,13007,7.552]],["title/interfaces/ISchoolProperties.html",[105,0.702,13008,5.389]],["body/interfaces/ISchoolProperties.html",[0,0.308,3,0.011,4,0.011,5,0.006,7,0.131,30,0.001,31,0.615,32,0.167,33,0.656,47,0.956,83,2.936,95,0.135,96,1.362,101,0.017,102,2.581,103,0,104,0,105,0.521,107,1.197,112,0.697,119,2.342,128,2.076,133,1.766,143,2.946,144,4.29,145,2.133,154,1.539,172,4.035,173,1.482,175,2.275,178,2.025,180,0.888,181,1.379,182,1.62,236,0.83,261,2.44,556,1.253,593,1.898,644,2.372,655,5.741,742,5.546,839,1.583,992,3.574,1717,2.44,1723,2.581,2044,1.978,2351,5.158,2562,4.642,2670,5.381,2673,2.798,2677,4.178,2678,5.973,3135,4.869,3136,4.325,4332,4.08,4342,2.253,4392,7.212,4409,3.894,4410,5.973,4580,7.074,5094,4.216,6713,7.812,6721,7.212,6735,3.305,6786,4.692,6805,5.814,6806,3.8,7119,3.041,7120,4.692,8989,6.827,8993,3.8,8994,6.159,9006,5.934,9007,3.8,10327,7.455,10669,3.219,10926,6.677,11376,7.566,12405,5.973,13008,7.148,13009,4.275,13010,8.257,13011,7.882,13012,7.448,13013,7.724,13014,8.759,13015,4.125,13016,4.125,13017,4.275,13018,4.125,13019,4.275,13020,4.275,13021,6.383,13022,4.275,13023,4.275,13024,4.275,13025,4.275,13026,4.275,13027,4.275,13028,4.275,13029,4.275,13030,7.371,13031,4.275,13032,4.275,13033,7.371,13034,4.275,13035,4.275,13036,4.275,13037,3.574,13038,5.973,13039,3.8,13040,4.125,13041,4.275,13042,6.383,13043,3.894,13044,4.275,13045,4.275,13046,6.159,13047,4.125,13048,3.642,13049,4.275]],["title/interfaces/ISchoolYearProperties.html",[105,0.702,13050,6.012]],["body/interfaces/ISchoolYearProperties.html",[0,0.308,3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,31,0.756,32,0.16,47,0.906,83,4.037,95,0.135,96,2.43,101,0.018,103,0.001,104,0.001,105,0.931,107,2.136,112,0.867,154,2.292,172,4.033,173,2.644,175,4.06,178,3.615,180,1.585,181,2.461,182,2.891,1147,2.762,2044,3.53,2351,7.679,4342,4.02,6724,9.494,6801,7.362,6802,6.949,11376,6.07,13050,11.307,13051,8.413,13052,11.144,13053,7.63,13054,8.413,13055,8.413]],["title/interfaces/IScopeInfo.html",[105,0.702,13056,5.557]],["body/interfaces/IScopeInfo.html",[3,0.022,4,0.022,5,0.011,7,0.141,26,2.697,30,0.001,32,0.171,47,0.995,95,0.117,99,1.589,101,0.015,103,0.001,104,0.001,105,1.002,107,2.301,112,0.907,1271,4.127,1998,5.099,2021,8.591,10112,10.724,13056,9.597,13057,9.062,13058,9.795,13059,13.247]],["title/interfaces/IServerConfig.html",[105,0.702,601,5.389]],["body/interfaces/IServerConfig.html",[3,0.017,4,0.017,5,0.009,7,0.112,30,0.001,32,0.174,47,0.946,52,4.959,55,2.346,95,0.158,101,0.018,103,0.001,104,0.001,105,0.802,107,1.84,112,0.788,119,2.621,180,1.794,437,1.357,599,5.714,600,4.888,601,9.027,839,2.433,934,6.208,1231,4.949,1437,5.985,1637,6.86,1971,4.793,2079,3.463,2080,3.866,2081,3.73,2082,5.013,2090,7.247,3600,3.891,3601,3.152,3603,3.941,5098,4.888,11049,5.495,11257,9.647,12410,10.071,12412,9.524,12448,6.979,12469,7.509,12683,10.071,12685,7.247,12758,9.647,12803,6.342,12804,7.247,12805,6.342,12808,6.572,12809,7.247,12831,9.647,12834,7.247,12835,7.247,12836,7.247,13060,7.833,13061,9.309,13062,12.686,13063,12.686,13064,7.833,13065,10.294,13066,7.833,13067,7.247,13068,7.833,13069,7.833,13070,7.833,13071,7.833,13072,7.247,13073,7.833,13074,6.572,13075,7.833,13076,7.833,13077,5.399]],["title/interfaces/IShareTokenProperties.html",[105,0.702,13078,5.759]],["body/interfaces/IShareTokenProperties.html",[0,0.24,3,0.016,4,0.016,5,0.008,7,0.157,26,2.719,30,0.001,32,0.164,33,0.607,34,1.186,49,5.067,83,3.413,95,0.146,96,2.575,97,2.954,101,0.015,103,0.001,104,0.001,105,0.726,107,1.667,112,0.737,124,6.216,131,2.692,143,2.426,144,3.562,154,1.95,159,7.853,172,3.834,173,2.063,174,3.684,178,2.82,180,1.237,181,1.92,182,2.256,187,5.422,188,5.953,197,5.291,198,5.953,236,1.57,349,0.996,490,2.525,556,2.369,696,2.754,839,3.399,2670,4.414,3366,3.502,3392,5.744,3632,5.652,4333,4.234,4858,7.401,4864,5.953,5933,5.683,5938,4.81,5939,5.072,5942,4.541,5943,4.89,6016,7.754,6044,5.953,6045,5.744,6046,5.953,6723,4.89,10347,5.291,10418,5.953,10493,5.176,10692,5.422,13078,9.18,13079,6.564,13080,6.564,13081,9.935,13082,8.459,13083,9.635,13084,6.564,13085,4.736,13086,4.667,13087,6.564,13088,6.564]],["title/interfaces/IStorageProviderProperties.html",[105,0.702,13089,6.012]],["body/interfaces/IStorageProviderProperties.html",[0,0.29,3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,32,0.169,33,0.523,47,1.006,95,0.143,96,2.287,101,0.017,103,0.001,104,0.001,105,0.876,107,2.01,112,0.834,143,1.898,144,2.786,154,2.206,172,4.075,173,2.489,174,4.167,175,3.821,178,3.402,180,1.492,181,2.316,182,2.721,2670,3.921,6515,8.843,6517,8.843,6518,9.041,8197,6.383,12509,7.496,13089,10.506,13090,7.918,13091,12.067,13092,9.146,13093,7.918,13094,7.918,13095,7.918,13096,7.918,13097,7.918,13098,7.918,13099,7.918,13100,7.918,13101,7.918]],["title/interfaces/ISubmissionProperties.html",[105,0.702,13102,5.759]],["body/interfaces/ISubmissionProperties.html",[0,0.167,3,0.011,4,0.011,5,0.006,7,0.153,26,2.168,30,0.001,32,0.168,33,0.615,34,0.823,47,0.858,55,2.025,62,2.907,72,2.22,95,0.142,96,1.316,101,0.011,103,0,104,0,105,0.504,107,1.156,112,0.76,119,2.679,143,2.201,144,3.231,145,2.078,154,1.5,168,4.253,172,3.496,173,1.431,174,2.834,175,2.198,178,1.957,180,0.858,181,1.332,182,1.565,226,0.719,236,1.453,239,2.965,349,1.236,437,1.741,528,2.527,529,1.405,556,2.193,603,1.526,644,5.209,654,3.198,662,3.476,766,2.749,915,3.453,938,2.851,951,2.305,1226,3.572,1664,1.841,1717,2.358,1816,3.393,1818,3.286,1824,3.519,1832,2.704,2670,4.878,2673,2.704,2677,2.704,2686,5.783,2687,3.072,2883,3.294,3136,6.6,3454,3.15,3455,3.453,3742,2.798,3819,7.218,3824,7.218,3832,6.22,3834,6.22,4266,1.663,5094,3.433,5932,4.007,6767,7.358,6768,3.286,6770,3.036,6772,2.773,6788,3.519,6792,3.072,6793,2.969,7112,3.193,7292,3.15,9432,8.136,12714,3.453,12715,3.453,12720,5.201,12721,3.453,12935,7.767,13102,7.483,13103,4.554,13104,9.85,13105,9.742,13106,4.311,13107,4.554,13108,4.554,13109,4.554,13110,4.554,13111,4.554,13112,4.554,13113,3.985,13114,4.554,13115,4.554,13116,4.554,13117,4.13,13118,4.554,13119,4.554,13120,4.554,13121,4.554,13122,4.554,13123,4.554,13124,9.85,13125,4.554,13126,4.554,13127,4.554,13128,4.554,13129,4.554,13130,4.554,13131,9.183,13132,4.554,13133,6.651,13134,3.985,13135,10.351,13136,6.859,13137,4.13,13138,6.859,13139,4.311,13140,3.591,13141,3.865,13142,4.554,13143,4.554,13144,4.554,13145,4.554,13146,6.859,13147,6.859,13148,4.554,13149,4.554,13150,4.554,13151,4.554,13152,6.651,13153,3.985,13154,4.13,13155,6.859]],["title/interfaces/ISystemProperties.html",[105,0.702,13156,5.245]],["body/interfaces/ISystemProperties.html",[0,0.318,3,0.01,4,0.01,5,0.005,7,0.064,26,1.395,30,0.001,32,0.166,33,0.626,47,1.017,83,2.433,95,0.112,96,1.186,101,0.016,103,0,104,0,105,0.454,107,1.043,112,0.524,119,0.917,133,1.539,143,3.004,144,4.409,145,1.245,153,1.017,154,1.693,172,4.438,173,1.291,174,2.619,175,1.982,177,0.827,178,1.765,180,0.774,181,1.201,182,1.411,276,1.925,511,1.972,570,2.738,578,2.707,839,2.599,950,2.738,1262,3.749,1371,2.707,1454,3.173,1486,2.77,1664,1.66,2021,2.879,2046,3.311,2562,3.494,2566,1.982,4332,3.675,4370,4.898,4404,2.677,4677,3.518,5558,1.809,5643,3.448,5953,5.22,5973,2.841,5974,3.06,6446,3.703,7385,2.805,7472,3.01,7528,4.178,9006,2.438,9343,3.01,10327,2.92,10926,2.524,12263,8.003,12344,3.311,12345,3.311,12346,3.311,12347,3.392,12391,3.06,12394,2.963,12396,3.06,12399,3.06,12402,2.738,12406,3.01,12447,2.92,12867,3.392,13048,3.173,13156,6.394,13157,3.594,13158,6.787,13159,9.001,13160,8.656,13161,6.424,13162,7.132,13163,6.688,13164,2.963,13165,2.963,13166,3.594,13167,4.723,13168,5.11,13169,3.485,13170,5.11,13171,3.392,13172,3.392,13173,3.392,13174,3.392,13175,3.485,13176,3.392,13177,3.392,13178,3.392,13179,3.485,13180,5.11,13181,3.485,13182,3.392,13183,3.485,13184,3.392,13185,3.392,13186,3.392,13187,3.485,13188,4.723,13189,3.594,13190,3.594,13191,3.594,13192,3.594,13193,3.594,13194,3.594,13195,3.594,13196,3.594,13197,3.594,13198,3.594,13199,3.594,13200,3.594,13201,3.485,13202,3.594,13203,3.594,13204,3.594,13205,3.594,13206,3.594,13207,3.594,13208,3.594,13209,3.594,13210,3.594,13211,3.594,13212,3.594,13213,3.594,13214,3.594,13215,3.594,13216,3.594,13217,3.594,13218,3.594,13219,3.311,13220,3.594,13221,3.594,13222,3.594,13223,3.594,13224,3.594,13225,3.594,13226,3.594,13227,3.594,13228,3.594,13229,3.594,13230,3.594,13231,3.594,13232,3.594,13233,3.594,13234,3.392,13235,3.594,13236,3.311,13237,3.485,13238,3.392,13239,3.485,13240,3.392,13241,3.392,13242,3.485,13243,3.392,13244,3.485,13245,3.392,13246,3.238,13247,3.238,13248,3.238,13249,3.311,13250,3.392,13251,3.594,13252,3.392,13253,3.594,13254,3.594,13255,3.594,13256,3.594,13257,3.594,13258,3.392,13259,3.485,13260,3.392,13261,3.485]],["title/interfaces/ITargetGroupProperties.html",[105,0.702,12933,5.557]],["body/interfaces/ITargetGroupProperties.html",[0,0.255,3,0.017,4,0.017,5,0.008,7,0.108,30,0.001,32,0.146,33,0.618,47,1.017,95,0.12,96,2.016,101,0.019,103,0.001,104,0.001,105,1.155,107,1.772,112,0.768,153,2.301,154,2.031,172,4.302,173,2.193,174,3.838,175,3.368,180,1.315,181,2.041,182,2.398,238,6.72,1262,3.503,1271,3.128,1717,3.612,2784,3.571,3601,4.04,3631,4.827,5844,6.512,5894,5.291,6446,4.076,6790,5.114,6791,4.652,7385,4.765,12697,4.827,12700,4.961,12708,6.702,12926,7.882,12927,6.328,12928,8.128,12929,8.128,12930,7.882,12931,8.128,12932,9.137,12933,9.741,12934,10.095,12935,8.777,12936,6.328,12937,6.328,12938,6.106,12939,6.328,12940,6.328,12941,6.328,12942,6.328,12943,6.328,12944,6.328,12945,6.328,12946,6.328,12947,6.328,12948,6.328,12949,6.328,12950,6.328]],["title/interfaces/ITask.html",[105,0.702,13262,5.389]],["body/interfaces/ITask.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,31,0.706,32,0.17,33,0.651,47,0.972,55,2.391,83,3.827,95,0.097,99,1.322,101,0.019,103,0.001,104,0.001,105,1.315,107,1.914,112,0.808,119,2.72,153,2.842,180,2.043,239,2.746,603,1.676,644,4.917,654,2.447,1920,5.088,1926,4.398,2684,5.621,2696,3.793,2883,4.692,3286,6.455,3289,6.41,3742,4.631,3796,8.041,3815,5.438,3819,5.523,3820,5.715,3821,5.358,3822,5.358,3823,5.823,3824,5.523,5121,6.44,5935,4.336,8184,5.213,13262,10.085,13263,6.596,13264,9.045,13265,6.076,13266,6.076,13267,5.823,13268,6.076,13269,5.943]],["title/interfaces/ITaskCreate.html",[105,0.702,13266,5.119]],["body/interfaces/ITaskCreate.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,31,0.486,32,0.155,33,0.605,47,0.98,55,2.445,83,3.166,95,0.102,99,1.386,101,0.02,103,0.001,104,0.001,105,1.334,107,2.006,112,0.833,119,2.754,153,1.957,180,2.2,239,2.809,603,1.757,644,5.069,654,2.565,1920,6.28,1926,4.497,2684,5.794,2696,3.976,2883,4.837,3286,5.668,3289,4.415,3742,4.855,3796,5.539,3815,5.701,3819,5.79,3820,5.991,3821,5.617,3822,5.617,3823,6.105,3824,5.79,5121,7.948,5935,4.545,8184,5.465,13262,10.234,13263,6.914,13264,6.23,13265,6.369,13266,8.119,13267,6.105,13268,6.369,13269,6.23]],["title/interfaces/ITaskParent.html",[105,0.702,6771,4.337]],["body/interfaces/ITaskParent.html",[0,0.184,3,0.007,4,0.007,5,0.004,7,0.167,8,0.66,26,1.927,27,0.137,30,0.001,31,0.189,32,0.135,34,0.91,35,0.404,47,0.702,55,1.111,83,2.563,95,0.141,96,0.889,101,0.014,103,0,104,0,105,0.557,107,0.781,112,0.611,119,2.351,143,2.463,144,3.082,145,3.255,153,0.762,154,1.102,172,3.373,173,0.967,174,2.081,175,1.485,178,1.322,180,0.58,181,0.9,182,1.057,226,0.486,236,1.699,239,2.812,347,3.606,349,1.354,437,1.815,474,1.415,517,1.257,519,2.461,528,1.707,529,1.554,556,1.964,578,2.028,593,1.239,603,2.502,604,2.237,644,3.218,654,0.999,662,3.607,696,2.113,708,3.202,739,1.435,766,1.857,827,1.926,915,2.333,1147,1.01,1218,1.257,1226,1.602,1456,2.187,1717,1.592,1726,1.422,1739,2.507,1822,3.249,1920,3.849,1926,3.308,1948,4.765,1986,1.926,2044,1.291,2443,2.128,2670,4.038,2673,2.99,2677,1.826,2682,3.484,2683,1.964,2684,2.897,2685,2.333,2686,4.869,2696,1.548,2700,5.798,2883,3.916,3136,1.89,3286,2.834,3289,2.814,3366,4.672,3454,2.128,3742,5.681,3744,2.79,3796,2.157,3815,5.884,3819,3.691,3820,6.183,3821,5.255,3822,6.226,3823,6.766,3824,3.691,3835,6.469,4119,1.964,4266,1.123,4278,2.101,4342,1.47,4973,2.101,4974,2.157,5094,2.521,5121,2.028,5935,1.77,6718,4.614,6757,2.075,6760,3.32,6771,4.367,6772,1.873,6784,2.611,6788,2.377,6790,2.254,6791,2.051,6792,2.075,6793,2.005,6809,5.113,7006,2.075,7007,2.22,7080,2.611,7112,2.157,7117,2.48,8184,5.113,8621,2.426,10144,2.128,11726,2.333,12726,2.292,12746,2.292,12879,2.692,13113,2.692,13133,5.959,13134,2.692,13152,5.959,13153,2.692,13264,2.426,13267,3.892,13268,2.48,13269,2.426,13270,2.912,13271,3.325,13272,2.912,13273,2.79,13274,2.912,13275,2.912,13276,2.912,13277,2.912,13278,2.912,13279,6.054,13280,5.596,13281,5.427,13282,2.912,13283,2.912,13284,2.79,13285,2.912,13286,2.912,13287,2.912,13288,2.79,13289,8.291,13290,2.912,13291,2.541,13292,2.692,13293,4.768,13294,6.998,13295,4.408,13296,6.998,13297,2.912,13298,2.912,13299,2.912,13300,4.768,13301,2.912,13302,2.912,13303,2.912,13304,2.912,13305,2.912,13306,2.912,13307,2.912,13308,2.912,13309,2.912,13310,2.912,13311,2.912,13312,2.912,13313,4.768,13314,2.912,13315,2.912,13316,2.541,13317,2.912,13318,2.912,13319,2.912,13320,2.912,13321,2.912,13322,2.912,13323,4.768,13324,2.912,13325,2.912,13326,4.768,13327,2.912,13328,4.768,13329,2.611,13330,2.79,13331,2.912,13332,6.998,13333,6.054,13334,4.568,13335,2.692,13336,6.054,13337,2.912,13338,6.054,13339,2.79,13340,4.768,13341,2.912,13342,2.912,13343,2.912,13344,6.054,13345,2.912,13346,4.768,13347,2.79,13348,2.912,13349,2.912,13350,6.998,13351,2.912,13352,2.912,13353,2.912,13354,2.912,13355,2.912,13356,2.912,13357,2.912,13358,4.768,13359,2.912,13360,2.912,13361,4.768,13362,2.912,13363,2.912,13364,2.912,13365,2.912,13366,2.79,13367,2.912,13368,6.998,13369,2.912,13370,2.912,13371,2.912,13372,2.912,13373,2.912,13374,2.912,13375,2.912,13376,2.912,13377,2.912,13378,2.912]],["title/interfaces/ITaskProperties.html",[105,0.702,13267,4.906]],["body/interfaces/ITaskProperties.html",[3,0.017,4,0.017,5,0.009,7,0.109,30,0.001,31,0.433,32,0.177,33,0.673,47,0.907,55,2.311,83,2.934,95,0.09,99,1.233,101,0.019,103,0.001,104,0.001,105,1.285,107,1.785,112,0.772,119,2.868,153,1.742,180,2.104,239,3.088,603,2.483,644,5.619,654,3.625,1920,4.861,1926,5.02,2684,6.422,2696,5.619,2883,5.361,3286,5.253,3289,3.928,3742,6.86,3796,4.928,3815,5.072,3819,5.152,3820,5.33,3821,4.998,3822,4.998,3823,5.432,3824,5.152,5121,6.152,5935,6.422,8184,7.723,13262,9.861,13263,6.152,13264,5.543,13265,5.667,13266,5.667,13267,7.212,13268,9,13269,8.803]],["title/interfaces/ITaskStatus.html",[105,0.702,3815,4.582]],["body/interfaces/ITaskStatus.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,31,0.465,32,0.174,47,0.925,55,2.802,83,3.075,95,0.097,99,1.324,101,0.019,103,0.001,104,0.001,105,1.315,107,1.917,112,0.809,119,2.899,153,1.871,180,2.045,239,2.749,603,1.68,644,4.924,654,2.452,1920,5.094,1926,4.402,2684,5.628,2696,3.801,2883,4.698,3286,5.506,3289,4.22,3742,4.64,3796,5.294,3815,7.059,3819,8.413,3820,8.704,3821,8.161,3822,8.161,3823,8.87,3824,8.413,5121,6.448,5935,4.344,8184,5.224,13262,9.742,13263,6.609,13264,5.955,13265,6.088,13266,6.088,13267,5.835,13268,6.088,13269,5.955]],["title/interfaces/ITaskUpdate.html",[105,0.702,13265,5.119]],["body/interfaces/ITaskUpdate.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,31,0.486,32,0.155,33,0.605,47,0.98,55,2.445,83,3.166,95,0.102,99,1.386,101,0.02,103,0.001,104,0.001,105,1.334,107,2.006,112,0.833,119,2.754,153,1.957,180,2.2,239,2.809,603,1.757,644,5.069,654,2.565,1920,6.28,1926,4.497,2684,5.794,2696,3.976,2883,4.837,3286,5.668,3289,4.415,3742,4.855,3796,5.539,3815,5.701,3819,5.79,3820,5.991,3821,5.617,3822,5.617,3823,6.105,3824,5.79,5121,7.948,5935,4.545,8184,5.465,13262,10.234,13263,6.914,13264,6.23,13265,8.119,13266,6.369,13267,6.105,13268,6.369,13269,6.23]],["title/interfaces/ITeamProperties.html",[105,0.702,13379,5.389]],["body/interfaces/ITeamProperties.html",[0,0.33,3,0.016,4,0.016,5,0.008,7,0.104,30,0.001,31,0.703,32,0.126,33,0.468,39,1.974,47,0.83,62,4.265,72,3.257,95,0.147,96,2.606,101,0.018,103,0.001,104,0.001,105,0.998,107,1.696,112,0.746,143,1.601,154,1.973,172,3.046,173,2.1,174,3.728,175,3.224,178,2.87,180,1.259,181,2.639,182,2.296,191,6.015,236,1.176,239,3.1,276,5.517,349,1.142,480,3.071,517,4.174,603,1.486,644,5.924,654,2.929,1732,3.787,2044,2.803,2130,5.268,2562,5.629,2670,3.308,3606,4.896,4266,2.439,4332,5.229,4342,3.192,4343,6.456,4346,8.668,5094,5.717,6770,4.454,6772,4.068,6793,4.355,7096,4.403,7133,4.75,10688,5.268,10689,5.268,11915,5.268,11916,5.518,12768,4.82,13379,8.668,13380,6.059,13381,9.007,13382,9.455,13383,5.669,13384,7.894,13385,6.059,13386,6.059,13387,6.059,13388,6.059,13389,6.059,13390,5.669,13391,6.059,13392,6.059]],["title/interfaces/ITeamUserProperties.html",[105,0.702,13384,5.557]],["body/interfaces/ITeamUserProperties.html",[0,0.328,3,0.016,4,0.016,5,0.008,7,0.103,30,0.001,31,0.552,32,0.142,39,1.956,47,0.681,62,4.227,72,3.228,95,0.147,96,2.591,101,0.018,103,0.001,104,0.001,105,0.992,107,1.681,112,0.742,143,1.587,154,1.961,172,3.028,173,2.081,174,3.706,175,3.196,178,2.845,180,1.248,181,2.623,182,2.275,191,5.987,236,1.166,239,3.244,276,5.919,349,1.137,480,3.058,517,4.155,603,1.473,644,6.146,654,3.697,1732,3.753,2044,2.779,2130,5.221,2562,5.604,2670,3.279,3606,4.853,4266,2.418,4332,5.198,4342,3.164,4343,6.427,4346,8.629,5094,5.7,6770,4.414,6772,4.033,6793,4.317,7096,4.365,7133,4.708,10688,5.221,10689,5.221,11915,5.221,11916,5.469,12768,4.778,13379,7.61,13380,6.005,13381,7.071,13382,9.071,13383,5.619,13384,8.898,13385,6.005,13386,6.005,13387,6.005,13388,6.005,13389,6.005,13390,5.619,13391,6.005,13392,6.005]],["title/interfaces/ITemporaryFileProperties.html",[105,0.702,12216,5.759]],["body/interfaces/ITemporaryFileProperties.html",[0,0.271,3,0.018,4,0.018,5,0.013,7,0.115,30,0.001,31,0.456,32,0.165,47,0.95,55,2.513,83,3.934,95,0.138,96,2.139,99,1.298,101,0.016,103,0.001,104,0.001,105,0.819,107,1.88,112,0.799,154,2.112,159,8.538,172,4.092,173,2.327,174,3.991,178,3.181,180,1.395,182,2.544,197,5.968,360,4.053,379,1.01,823,7.1,1105,4,1125,4.88,1147,2.431,2024,3.726,2424,4.727,3130,6.296,5826,8.326,5831,6.479,5883,4.591,6448,5.121,10507,8.196,10508,10.194,10522,6.283,10927,7.009,10951,6.115,12186,6.115,12216,9.748,12221,11.193,12223,7.404,12227,7.009,12228,7.404,12229,7.404,12232,9.143,12233,7.404,12234,7.404]],["title/interfaces/IToolFeatures.html",[105,0.702,9054,5.245]],["body/interfaces/IToolFeatures.html",[0,0.301,3,0.02,4,0.02,5,0.01,7,0.128,30,0.001,32,0.171,47,0.899,55,2.613,95,0.106,101,0.019,103,0.001,104,0.001,105,0.91,107,2.089,112,0.855,119,2.933,413,2.687,437,1.173,486,2.679,1650,5.012,2079,3.932,2080,4.391,2081,4.235,3940,5.012,9054,9.331,9056,8.536,9329,11.557,9362,11.557,12411,6.031,13393,12.208,13394,12.208,13395,12.208,13396,8.229,13397,7.463,13398,8.229,13399,8.229,13400,8.229,13401,8.229,13402,7.463]],["title/interfaces/IToolLaunchParams.html",[105,0.702,2606,5.557]],["body/interfaces/IToolLaunchParams.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.164,95,0.15,101,0.015,103,0.001,104,0.001,105,0.983,107,2.257,112,0.897,131,3.646,564,3.95,654,2.886,1650,5.414,1898,7.521,1899,7.25,1901,6.279,2587,8.062,2606,9.486,2627,6.966,2651,6.414,13403,8.89,13404,9.61]],["title/interfaces/IToolLaunchStrategy.html",[105,0.702,13405,6.012]],["body/interfaces/IToolLaunchStrategy.html",[3,0.02,4,0.02,5,0.01,7,0.131,8,1.375,26,2.631,27,0.467,29,0.897,30,0.001,31,0.646,32,0.147,33,0.544,35,1.378,36,2.43,39,2.491,95,0.147,99,1.479,101,0.014,103,0.001,104,0.001,105,0.933,107,2.141,271,4.583,1650,6.957,1664,3.408,2548,3.069,2587,10.36,2601,9.933,2602,9.933,2606,10.46,2629,9.873,2634,7.983,2635,9.933,2639,9.007,2651,8.625,2652,7.983,13403,11.423,13405,9.933,13406,9.114,13407,9.114,13408,11.342,13409,9.114]],["title/interfaces/IUserConfig.html",[105,0.702,13061,5.557]],["body/interfaces/IUserConfig.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.927,101,0.016,103,0.001,104,0.001,105,1.089,107,2.499,112,0.953,12411,7.214,13061,10.082,13067,12.594,13410,10.64]],["title/interfaces/IUserProperties.html",[105,0.702,13411,5.557]],["body/interfaces/IUserProperties.html",[0,0.171,3,0.011,4,0.011,5,0.006,7,0.187,30,0.001,32,0.17,33,0.648,34,0.842,47,0.989,83,3.747,95,0.128,96,1.347,101,0.014,103,0,104,0,105,0.772,107,1.183,112,0.896,119,2.075,143,2.889,144,4.241,154,1.83,168,2.891,172,4.2,173,1.465,174,2.884,175,2.25,178,2.003,180,0.878,181,1.363,182,1.602,236,1.473,239,1.181,276,4.663,349,0.521,437,1.192,529,1.438,644,5.255,651,5.437,652,5.437,653,5.795,654,3.615,655,5.717,662,1.565,827,2.918,839,1.565,988,4.375,1108,6.417,1147,1.53,1717,2.413,1723,4.581,1724,4.413,2670,4.143,2673,2.767,2677,4.144,3122,2.175,3140,6.055,4119,2.976,4260,7.291,4266,1.702,4271,7.131,4354,3.956,4355,3.758,5094,3.494,5888,3.85,6760,4.6,6770,3.108,6792,3.144,6793,3.039,7119,3.007,7120,3.108,7549,5.627,10079,3.363,10080,3.676,10081,3.363,10082,3.676,10083,3.676,10084,4.079,10414,8.217,10475,4.079,10479,4.227,12634,4.079,12635,4.079,12636,4.079,12872,4.227,12989,4.227,12990,4.079,12991,4.227,12992,4.079,12994,4.227,12998,6.33,12999,4.079,13012,7.412,13038,3.956,13039,3.758,13383,3.956,13411,7.322,13412,4.661,13413,8.443,13414,8.217,13415,8.02,13416,8.443,13417,6.98,13418,6.98,13419,6.98,13420,4.227,13421,4.227,13422,4.661,13423,4.661,13424,4.227,13425,4.661,13426,4.227,13427,4.661,13428,4.227,13429,4.661,13430,4.661,13431,6.98]],["title/interfaces/IVideoConferenceSettings.html",[105,0.702,13432,6.012]],["body/interfaces/IVideoConferenceSettings.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,32,0.166,47,0.898,95,0.117,101,0.018,103,0.001,104,0.001,105,1.01,107,2.317,112,0.911,119,2.642,437,1.301,1181,8.097,1998,5.136,2014,8.198,2199,10.751,8542,5.559,12414,8.641,13432,10.428,13433,9.866,13434,11.63,13435,9.127,13436,9.866]],["title/classes/IdParams.html",[0,0.232,13437,6.012]],["body/classes/IdParams.html",[0,0.401,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.403,30,0.001,32,0.127,34,2.268,47,0.832,95,0.141,101,0.015,103,0.001,104,0.001,112,0.907,135,6.621,138,1.753,142,4.62,143,2.629,144,3.859,145,3.323,148,3.034,150,2.201,153,2.245,245,3.04,248,4.731,257,7.305,3601,4.77,5554,6.739,13437,10.382,13438,9.795,13439,9.795]],["title/interfaces/IdToken.html",[105,0.702,121,4.515]],["body/interfaces/IdToken.html",[3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,31,0.735,32,0.175,33,0.676,39,3.529,47,1.015,101,0.018,103,0.001,104,0.001,105,1.159,107,2.136,112,0.867,121,7.449,123,7.63,135,5.079,653,6.628,4266,4.361,5866,9.056,5953,4.669,6722,7.625,11741,10.832,11742,8.413,11743,7.965]],["title/classes/IdTokenCreationLoggableException.html",[0,0.232,13440,6.012]],["body/classes/IdTokenCreationLoggableException.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,27,0.452,29,0.684,30,0.001,31,0.492,32,0.142,33,0.415,34,1.446,35,1.051,39,3.465,47,0.939,59,2.664,95,0.131,101,0.013,103,0.001,104,0.001,124,6.422,135,6.733,177,2.045,180,1.913,182,2.75,191,4.712,226,1.264,284,2.612,292,4.381,345,2.758,349,0.894,379,1.092,437,1.14,603,1.78,1025,4.773,1147,3.333,1226,5.807,1338,5.582,1341,2.774,1343,6.298,2548,2.913,3526,9.456,5640,8.002,5643,6.065,8024,6.609,8829,6.276,9283,5.058,9284,5.274,13167,5.962,13440,9.612,13441,12.055,13442,8.649,13443,8.649,13444,8.649,13445,8.649,13446,7.257,13447,8.002]],["title/injectables/IdTokenService.html",[539,0.921,13448,5.759]],["body/injectables/IdTokenService.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.023,27,0.445,29,0.854,30,0.001,31,0.699,32,0.14,33,0.518,34,0.981,35,1.2,36,2.314,39,2.306,47,0.955,95,0.152,99,0.952,101,0.009,103,0,104,0,105,0.6,121,3.859,124,4.273,135,6.391,177,2.013,226,0.857,227,2.432,236,0.956,239,1.977,262,2.631,349,1.117,379,1.065,437,1.619,528,4.331,529,1.675,539,1.132,541,1.41,556,2.813,603,2.672,608,2.761,653,3.012,1726,2.509,1810,8.462,1834,4.194,1901,2.914,2548,2.841,2617,7.549,2627,4.191,3526,4.376,3603,2.952,4266,1.982,4657,5.139,4659,5.139,4679,4.606,4822,7.251,4841,4.75,5554,3.335,5643,6.177,5866,6.93,5953,3.012,6722,5.835,7096,7.266,7322,6.09,7431,5.918,7521,3.662,7996,4.483,9077,4.922,9460,5.721,10188,8.462,10276,4.606,11741,9.601,11743,5.139,12006,4.376,12768,6.594,13440,5.139,13448,7.078,13449,10.587,13450,5.428,13451,8.437,13452,8.437,13453,8.437,13454,5.867,13455,9.647,13456,5.867,13457,8.437,13458,5.867,13459,8.437,13460,5.867,13461,8.437,13462,5.867,13463,5.867,13464,5.867,13465,5.867,13466,4.75,13467,5.139,13468,8.437,13469,5.428,13470,5.428,13471,5.867,13472,5.867,13473,5.867,13474,5.867,13475,8.437,13476,5.867,13477,5.867,13478,5.867,13479,5.867,13480,5.867,13481,7.805]],["title/modules/IdentityManagementModule.html",[201,1.848,616,5.389]],["body/modules/IdentityManagementModule.html",[0,0.274,3,0.018,4,0.018,5,0.009,30,0.001,95,0.163,101,0.013,103,0.001,104,0.001,201,3.143,203,2.937,204,3.15,205,3.239,206,3.226,207,3.213,208,3.886,209,4.43,218,4.21,219,3.174,220,3.101,225,4.176,226,1.181,568,5.172,583,10.976,600,6.557,616,10.999,636,6.144,964,4.681,2836,8.13,3998,7.013,8111,7.477,8112,8.815,8796,9.581,8913,8.029,12419,4.681,12832,6.345,13482,8.082,13483,8.082,13484,8.082,13485,10.311,13486,10.633,13487,10.644,13488,7.477,13489,8.815,13490,6.543,13491,7.079,13492,8.082,13493,8.815,13494,10.507,13495,8.815]],["title/classes/IdentityManagementOauthService.html",[0,0.232,13487,5.389]],["body/classes/IdentityManagementOauthService.html",[0,0.252,2,0.824,3,0.016,4,0.016,5,0.008,7,0.107,8,1.208,9,6.49,27,0.462,29,0.59,30,0.001,31,0.425,32,0.097,33,0.358,35,1.656,36,2.751,47,0.936,51,5.876,78,9.319,87,6.505,94,5.95,95,0.089,101,0.012,103,0.001,104,0.001,143,2.21,145,2.794,153,1.71,274,6.011,333,4.242,556,2.45,600,7.476,938,6.937,986,6.464,990,2.552,1461,6.991,1478,7.148,1971,6.282,2251,6.039,2417,7.699,5554,7.67,8244,7.433,11953,8.729,12419,6.937,12449,8.563,12832,9.405,13487,7.824,13496,6.901,13497,11.082,13498,11.082,13499,9.22,13500,7.46,13501,7.46,13502,9.22,13503,7.46,13504,5.7,13505,7.46]],["title/classes/IdentityManagementService.html",[0,0.232,583,5.557]],["body/classes/IdentityManagementService.html",[0,0.127,2,0.414,3,0.008,4,0.008,5,0.004,7,0.054,8,0.727,9,6.566,27,0.485,29,0.949,30,0.001,31,0.703,32,0.158,33,0.575,34,2.15,35,1.595,36,2.829,39,2.732,47,0.978,51,4.202,55,1.223,56,1.804,59,1.846,70,1.884,85,7.075,87,6.258,94,7.016,95,0.045,98,2.234,99,0.608,101,0.009,103,0,104,0,119,0.774,153,2.645,179,7.174,236,1.395,239,2.704,263,5.25,264,5.25,273,4.58,280,5.905,284,1.81,292,3.036,305,6.317,330,7.518,333,5.429,480,3.339,481,3.239,490,3.558,517,3.779,543,3.031,556,1.842,583,4.852,593,2.233,600,5.346,685,2.506,813,4.204,993,6.703,1270,4.915,1461,4.204,1731,6.389,1732,3.143,1821,7.395,2368,3.787,2830,5.112,2836,5.635,2837,7.652,2958,5.06,4119,6.443,4606,5.25,4751,4.706,8113,3.28,12419,6.95,12560,5.25,12576,7.187,12832,9.422,13506,5.545,13507,5.545,13508,5.545,13509,5.545,13510,7.925,13511,6.933,13512,6.933,13513,5.545,13514,5.545,13515,5.545,13516,9.712,13517,3.745,13518,10.908,13519,5.994,13520,3.745,13521,5.545,13522,3.745,13523,8.567,13524,5.545,13525,5.545,13526,3.745,13527,5.545,13528,5.994,13529,3.745,13530,5.545,13531,7.925,13532,3.745,13533,3.745,13534,3.464,13535,10.091,13536,3.745,13537,8.67,13538,11.689,13539,3.464,13540,7.925,13541,3.745,13542,5.994,13543,3.745,13544,5.994,13545,3.745,13546,2.94]],["title/entities/ImportUser.html",[154,1.389,12849,4.906]],["body/entities/ImportUser.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.063,27,0.513,30,0.001,31,0.385,32,0.167,33,0.447,47,0.939,49,1.654,95,0.127,96,1.165,101,0.014,103,0,104,0,105,0.691,112,0.816,119,1.709,128,2.752,138,2.231,143,2.802,144,3.033,145,1.894,154,1.367,155,1.423,168,5.784,172,3.947,173,1.267,174,2.583,175,1.946,178,1.732,180,0.76,181,1.179,182,1.386,220,1.673,236,0.71,239,2.995,250,2.789,349,0.699,359,2.629,361,5.297,437,1.091,480,2.301,486,2.491,490,1.551,517,2.554,529,1.244,556,2.034,564,1.362,593,2.516,603,0.897,644,3.851,651,4.489,652,4.489,653,5.476,654,3.454,655,5.106,696,3.211,708,1.747,839,2.894,975,2.125,1147,1.324,1678,6.148,1726,1.864,1903,4.443,2207,2.629,2235,3.817,2418,7.355,2419,3.657,2668,5.226,2670,5.097,2671,7.12,2679,3.179,2747,3.817,2958,3.99,3134,4.291,3140,3.399,4266,2.282,4271,6.37,4354,3.422,4355,3.25,4370,4.829,4660,2.394,4856,3.25,5094,3.83,5662,6.536,6238,3.115,6748,3.817,6760,4.119,6770,2.688,6772,2.456,6792,2.72,7000,4.58,7112,4.381,7119,2.601,7120,2.688,7734,3.004,7825,4.739,9006,4.543,9007,3.25,9008,3.422,10079,2.909,10080,3.179,10081,2.909,10082,3.179,10083,3.179,10084,3.528,10258,2.909,10259,2.909,10931,3.33,11284,6.536,11285,5.701,11303,3.115,11304,2.658,11312,5.668,11911,3.657,11915,3.179,11958,4.032,12837,5.668,12838,11.689,12839,7.12,12840,8.786,12841,6.317,12842,8.162,12843,7.315,12844,3.33,12845,3.817,12846,3.817,12847,4.032,12848,3.657,12849,4.829,12850,4.032,12851,4.032,12852,4.032,12853,4.032,12854,4.032,12855,4.032,12856,4.032,12857,4.032,12858,5.668,12859,4.032,12860,5.668,12861,3.657,12862,7.543,12863,4.032,12864,4.032,12865,4.032,12866,3.528,12867,3.33,12868,4.032,12869,4.032,12870,4.032,12871,4.032,12872,5.668,12873,3.657,12874,7.12,12875,7.245,12876,4.032,12877,6.25,12878,4.032,12879,3.528,12880,5.668,12881,4.032,13547,4.358,13548,4.358,13549,4.358,13550,4.358,13551,4.358,13552,4.358,13553,4.358,13554,6.755,13555,4.358,13556,4.358,13557,4.358,13558,4.358,13559,4.358]],["title/controllers/ImportUserController.html",[259,2.624,13560,6.012]],["body/controllers/ImportUserController.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.063,8,0.825,10,1.786,27,0.475,29,0.912,30,0.001,31,0.657,32,0.149,33,0.553,35,1.401,36,2.795,56,4.512,59,1.355,70,4.712,95,0.141,99,0.714,100,1.496,101,0.007,103,0,104,0,119,1.72,138,2.064,150,0.989,177,1.268,223,1.832,226,0.643,236,1.109,239,1.031,247,1.891,259,1.682,261,2.108,262,3.012,270,6.715,271,3.974,294,6.912,310,5.245,324,4.215,333,3.987,334,2.854,337,2.291,338,2.342,343,2.36,345,1.403,349,1.047,437,1.745,490,3.334,603,0.906,608,2.673,739,3.592,816,3.708,824,4.29,836,7.832,1218,1.664,2941,7.043,2962,2.479,2963,2.308,4565,5.34,5558,4.363,6132,3.942,6861,7.294,7150,5.075,9687,6.738,11281,7.858,11318,7.858,12849,3.146,13560,5.961,13561,11.839,13562,4.401,13563,4.401,13564,6.806,13565,8.323,13566,8.323,13567,8.323,13568,6.806,13569,8.323,13570,8.323,13571,8.323,13572,4.401,13573,6.806,13574,4.401,13575,4.401,13576,7.858,13577,4.401,13578,4.401,13579,6.806,13580,4.401,13581,4.401,13582,10.593,13583,6.806,13584,4.401,13585,4.401,13586,6.297,13587,4.401,13588,4.401,13589,8.203,13590,6.806,13591,4.401,13592,4.401,13593,8.665,13594,6.806,13595,4.401,13596,4.401,13597,8.203,13598,6.806,13599,4.401,13600,3.854,13601,4.401,13602,4.401,13603,3.692,13604,4.071,13605,3.854,13606,8.665,13607,3.854,13608,4.071,13609,3.692,13610,3.563,13611,5.71,13612,4.401,13613,4.401,13614,3.563,13615,3.854,13616,4.401,13617,4.401,13618,4.401,13619,4.401,13620,5.71,13621,4.401,13622,4.401,13623,4.401,13624,4.401,13625,8.323,13626,4.401,13627,8.323,13628,4.401,13629,4.401,13630,4.401,13631,4.401,13632,4.401,13633,4.401,13634,4.401,13635,4.071,13636,4.401,13637,4.401,13638,4.401,13639,4.401,13640,4.401,13641,4.401,13642,4.401]],["title/classes/ImportUserFactory.html",[0,0.232,13643,6.35]],["body/classes/ImportUserFactory.html",[0,0.16,2,0.522,3,0.01,4,0.01,5,0.005,7,0.068,8,0.872,27,0.535,29,1.036,30,0.001,31,0.713,32,0.172,33,0.601,34,1.455,35,1.469,47,0.611,55,2.337,59,3.222,95,0.131,99,0.767,101,0.007,103,0,104,0,112,0.55,120,3.047,133,2.492,140,2.597,145,1.326,153,1.994,154,2.117,155,2.348,177,1.34,180,1.254,239,2.833,271,4.652,319,3.047,349,0.744,379,0.597,382,3.841,413,2.172,437,0.948,447,7.142,448,4.47,449,5.385,452,3.982,453,5.385,454,5.598,455,3.982,456,3.982,457,3.982,458,3.918,459,4.408,460,4.819,461,6.19,462,5.699,463,6.977,464,2.641,469,2.618,470,3.982,471,2.641,472,5.062,473,5.215,474,4.139,475,4.925,476,3.949,477,2.618,478,3.771,479,4.06,480,3.283,481,2.555,482,2.516,483,2.618,484,4.992,485,2.641,486,3.555,487,4.741,488,2.618,489,7.037,490,4.201,491,6.536,492,2.641,493,4.269,494,2.618,495,2.641,496,2.618,497,2.641,498,2.618,499,2.951,500,2.765,501,2.618,502,6.002,503,2.641,504,2.618,505,3.982,506,3.744,507,3.982,508,2.641,509,2.536,510,2.516,511,2.101,512,2.618,513,2.618,514,2.618,515,2.641,516,2.641,517,1.787,518,2.618,519,1.456,520,2.641,521,3.445,522,2.618,523,2.641,525,2.713,526,2.765,527,2.793,570,2.916,651,2.278,652,2.278,653,2.427,654,1.42,655,2.395,996,2.278,997,2.201,998,2.251,999,2.379,1000,2.597,1001,3.259,1218,1.787,3134,2.178,3927,6.298,4271,2.987,4660,2.597,6985,3.712,6986,3.828,6995,3.712,10259,3.156,10451,3.317,11284,3.317,12837,3.967,12839,3.613,12840,5.495,12841,3.206,12842,7.872,12843,5.646,12849,3.38,13643,8.051,13644,7.191,13645,4.728,13646,7.191,13647,4.728,13648,6.653,13649,4.141,13650,4.728,13651,4.728,13652,4.728,13653,4.728,13654,4.728,13655,4.728,13656,4.141,13657,4.728]],["title/classes/ImportUserListResponse.html",[0,0.232,13609,5.759]],["body/classes/ImportUserListResponse.html",[0,0.339,2,0.948,3,0.013,4,0.013,5,0.007,7,0.086,27,0.475,29,0.475,30,0.001,31,0.488,32,0.171,33,0.554,34,1.004,47,0.811,55,2.784,56,5.785,59,2.642,70,6.042,94,2.983,95,0.143,101,0.013,103,0,104,0,112,0.657,119,1.241,128,2.447,138,1.954,143,2.219,145,1.684,148,1.86,149,3.305,150,1.349,153,2.897,180,1.495,181,1.625,239,2.963,245,3.3,247,2.58,248,4.357,253,2.964,276,2.604,284,3.488,319,2.545,361,3.414,379,0.758,382,3.262,506,3.127,521,2.378,556,1.476,564,3.608,593,2.237,651,4.133,652,4.133,654,1.804,808,3.396,815,7.624,816,6.542,817,4.922,819,3.022,821,4.634,822,2.91,823,3.196,824,2.13,825,4.213,826,5.564,827,4.968,828,3.95,829,3.105,830,4.213,831,4.213,833,3.794,834,3.272,839,1.866,996,2.893,997,2.796,998,2.86,999,3.022,1000,3.298,1512,3.748,1664,2.245,1739,2.766,1824,4.293,1994,4.213,2918,3.221,2919,3.221,3134,5.028,3135,3.843,3136,3.414,3140,3.022,4381,3.622,4565,3.869,5126,3.662,5590,3.704,10079,4.009,10080,4.381,10081,4.009,10082,4.381,10926,4.877,11284,4.213,11285,4.139,11303,4.293,11304,3.662,11316,4.479,11918,4.862,12548,3.748,12839,4.589,12841,4.072,12860,5.039,12861,5.039,13609,7.198,13610,10.234,13658,7.514,13659,6.006,13660,6.006,13661,7.858,13662,5.556,13663,7.648,13664,5.556,13665,5.556,13666,5.039,13667,5.039,13668,5.039,13669,5.039,13670,5.556,13671,5.556,13672,7.937,13673,5.556,13674,4.862,13675,5.556,13676,5.556,13677,4.715,13678,5.556]],["title/classes/ImportUserMapper.html",[0,0.232,13600,6.012]],["body/classes/ImportUserMapper.html",[0,0.222,2,0.724,3,0.014,4,0.014,5,0.007,7,0.094,8,1.107,27,0.432,29,0.83,30,0.001,31,0.598,32,0.136,33,0.503,35,1.276,95,0.151,99,1.064,100,3.859,101,0.01,103,0,104,0,143,2.024,226,0.958,236,1.487,239,2.139,276,2.844,310,2.844,340,3.178,349,1.174,413,3.966,437,1.573,486,1.975,529,1.872,556,2.581,593,3.911,651,3.159,652,3.159,739,3.94,783,5.098,790,3.299,1309,5.286,1931,4.143,2680,5.286,3049,8.023,4565,5.12,5310,4.377,7312,5.743,9655,8.444,9684,8.444,9687,7.39,9688,8.913,9743,5.743,11281,9.524,11284,4.6,11285,4.52,12839,5.011,12841,4.446,12849,8.832,12882,9.19,13576,9.524,13600,7.994,13603,5.502,13605,7.994,13610,9.19,13635,6.067,13674,5.309,13679,11.352,13680,9.128,13681,9.128,13682,6.558,13683,6.558,13684,9.128,13685,6.558,13686,5.148,13687,6.067,13688,5.502,13689,5.743,13690,6.558,13691,6.558,13692,6.558,13693,6.558,13694,6.558,13695,6.558,13696,6.558,13697,6.558,13698,6.558,13699,6.558,13700,6.558,13701,6.558,13702,6.067,13703,9.128,13704,6.558,13705,6.558,13706,6.067,13707,6.558,13708,6.558,13709,6.067,13710,6.558,13711,6.558,13712,6.558,13713,6.558,13714,6.558,13715,6.558,13716,6.558,13717,6.558,13718,6.558,13719,6.558,13720,6.558,13721,6.558,13722,6.558,13723,6.558,13724,6.558,13725,6.558]],["title/classes/ImportUserMatchMapper.html",[0,0.232,13688,5.759]],["body/classes/ImportUserMatchMapper.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,8,1.334,27,0.453,29,0.87,30,0.001,31,0.626,32,0.142,33,0.528,35,1.337,95,0.131,99,1.409,101,0.013,103,0.001,104,0.001,310,3.767,349,1.355,361,7.448,413,4.043,486,2.616,529,2.48,790,4.37,1309,6.373,1931,5.488,4381,5.239,4565,5.448,11294,11.748,12842,10.837,12884,10.134,13688,9.233,13726,8.686,13727,11.004,13728,11.004,13729,11.004,13730,8.686,13731,11.004,13732,8.686,13733,10.579,13734,8.686,13735,8.036,13736,8.686,13737,8.036,13738,8.686,13739,8.036,13740,6.819,13741,8.686,13742,8.686,13743,8.686,13744,8.686]],["title/modules/ImportUserModule.html",[201,1.848,13745,5.557]],["body/modules/ImportUserModule.html",[0,0.258,3,0.017,4,0.017,5,0.009,30,0.001,52,3.668,94,3.782,95,0.159,101,0.012,103,0.001,104,0.001,201,3.252,203,2.766,204,2.967,205,3.051,206,3.038,207,3.026,208,4.193,209,3.833,213,9.234,214,6.015,217,7.791,218,4.048,219,2.99,220,2.922,223,4.205,225,4.016,226,1.112,227,3.155,239,1.784,564,2.378,622,9.424,636,4.452,654,2.287,1341,2.442,1427,9.062,1694,4.695,1752,7.343,1794,4.872,1963,4.289,2232,4.289,2668,4.81,2830,4.543,3122,3.286,4565,3.434,5434,8.267,8052,5.977,11545,5.977,13560,9.93,13606,11.951,13607,6.668,13608,7.043,13745,11.638,13746,7.613,13747,7.613,13748,7.613,13749,11.314,13750,7.613,13751,7.613,13752,7.613,13753,7.613,13754,5.247]],["title/injectables/ImportUserRepo.html",[539,0.921,13749,6.012]],["body/injectables/ImportUserRepo.html",[0,0.172,3,0.011,4,0.011,5,0.006,7,0.073,8,0.922,10,3.084,12,3.411,18,3.8,26,2.055,27,0.508,29,0.954,30,0.001,31,0.687,32,0.156,33,0.579,34,1.521,35,1.466,36,2.766,40,3.662,49,1.931,56,2.452,58,3.301,59,2.341,94,3.775,95,0.135,96,2.031,97,2.118,98,3.037,99,0.826,101,0.008,103,0,104,0,143,1.129,154,1.03,155,2.482,173,1.48,180,1.325,226,0.744,236,1.482,239,2.891,262,3.006,276,2.207,310,3.945,349,1.117,382,3.015,437,1.627,479,4.699,480,1.416,486,1.533,490,4.296,529,1.453,539,1.02,541,1.223,593,4.496,603,1.872,605,4.708,608,2.721,644,5.466,654,3.031,679,6.735,685,3.178,686,3.482,687,4.491,711,3.037,712,3.069,713,3.037,714,3.069,716,3.037,717,3.069,718,2.729,723,3.638,741,3.45,1512,4.744,1821,3.45,2093,4.282,2350,5.96,3122,2.196,3140,3.824,3452,3.508,3927,6.657,5126,3.103,5558,3.097,6132,4.402,6134,3.508,6861,3.069,7149,6.503,7150,7.159,7160,5.669,7178,6.657,7179,3.712,7180,3.712,12848,6.377,12849,8.098,12882,8.17,13702,4.708,13740,3.995,13749,6.657,13755,5.089,13756,7.601,13757,9.098,13758,9.098,13759,7.601,13760,7.601,13761,5.089,13762,5.089,13763,5.089,13764,5.089,13765,5.089,13766,5.089,13767,7.601,13768,5.089,13769,6.657,13770,5.089,13771,7.968,13772,5.089,13773,5.089,13774,5.089,13775,5.089,13776,5.089,13777,5.089,13778,5.089,13779,5.089,13780,5.089,13781,5.089,13782,5.089,13783,5.089,13784,5.089,13785,5.089,13786,5.089,13787,5.089,13788,5.089,13789,5.089,13790,5.089,13791,5.089,13792,7.601,13793,5.089,13794,7.601,13795,5.089,13796,5.089,13797,5.089,13798,5.089,13799,5.089,13800,5.089]],["title/classes/ImportUserResponse.html",[0,0.232,13610,5.557]],["body/classes/ImportUserResponse.html",[0,0.322,2,1.05,3,0.012,4,0.012,5,0.006,7,0.079,27,0.518,29,0.434,30,0.001,31,0.541,32,0.171,33,0.456,34,1.343,47,0.898,55,1.94,56,3.872,70,4.044,94,3.992,95,0.143,101,0.012,103,0,104,0,112,0.615,119,1.661,128,3.274,138,2.207,143,2.321,145,2.253,148,1.7,149,3.096,150,1.233,153,2.884,180,0.957,181,2.175,239,3.13,245,3.227,247,2.357,248,4.178,253,2.708,257,7.092,276,2.38,284,2.427,319,3.405,361,5.406,379,0.693,381,1.859,480,1.527,486,1.653,506,2.857,521,2.172,564,3.996,593,2.044,651,5.368,652,5.368,654,1.648,808,3.182,815,4.957,816,2.989,817,3.148,821,4.403,833,3.467,834,2.989,839,2.496,996,2.643,997,2.555,998,2.613,999,2.761,1000,3.014,1277,3.065,1512,5.015,1664,2.052,1739,3.701,1824,3.922,1994,3.849,2918,4.31,2919,4.31,3134,5.54,3135,5.143,3136,4.568,3140,4.044,4381,4.847,4565,5.769,5126,4.9,5590,4.957,7291,5.076,10079,3.663,10080,4.003,10081,3.663,10082,4.003,10926,5.951,11284,6.67,11285,6.554,11303,5.745,11304,4.9,11316,5.994,11918,4.442,12548,5.015,12839,7.266,12841,6.447,12860,4.604,12861,4.604,13609,4.604,13610,9.986,13658,11.202,13661,8.748,13662,5.076,13663,8.514,13664,5.076,13665,5.076,13666,4.604,13667,4.604,13668,4.604,13669,4.604,13670,5.076,13671,5.076,13672,7.435,13673,5.076,13674,7.698,13675,7.435,13676,7.435,13677,4.308,13678,5.076,13801,5.487,13802,5.487,13803,5.487,13804,5.487,13805,5.487,13806,5.487,13807,5.487,13808,5.487,13809,5.487]],["title/classes/ImportUserScope.html",[0,0.232,13771,6.012]],["body/classes/ImportUserScope.html",[0,0.148,2,0.75,3,0.01,4,0.01,5,0.005,7,0.063,8,0.823,27,0.527,29,0.973,30,0.001,31,0.728,32,0.164,33,0.59,34,1.135,35,1.495,39,1.199,47,0.877,49,1.664,95,0.127,96,1.814,97,1.826,99,0.712,101,0.007,103,0,104,0,112,0.52,119,1.716,128,2.766,143,2.555,173,1.276,180,1.183,236,1.353,239,2.614,250,4.345,276,1.902,310,1.902,340,2.126,349,1.308,361,5.748,382,3.021,437,1.47,480,1.889,486,2.502,490,3.328,519,1.351,529,2.371,574,6.973,593,3.094,603,2.2,644,4.353,651,3.271,652,3.271,654,2.495,696,1.703,982,6.82,1309,5.856,1726,4.573,1728,6.149,1813,4.762,1903,2.885,1931,2.771,2340,5.639,2350,5.972,4266,1.482,4271,2.771,4370,4.853,4381,4.095,4660,5.873,4743,3.586,5310,5.544,5515,4.01,5541,5.835,5558,4.923,6242,4.532,6243,4.532,6244,4.532,6249,4.532,6250,4.532,6251,2.974,6252,2.928,6253,2.974,6254,2.974,6263,2.928,6264,4.532,6265,2.974,6266,2.928,6267,2.974,6268,2.928,6269,8.211,7149,4.853,10258,4.532,10259,4.532,11284,5.826,11285,3.023,11304,2.675,12839,3.352,12840,6.346,12841,5.631,12844,5.188,12849,3.136,12884,7.844,13686,3.444,13735,4.058,13737,4.058,13739,4.058,13740,5.33,13771,11.418,13810,4.387,13811,6.789,13812,6.789,13813,6.789,13814,6.789,13815,6.789,13816,6.789,13817,6.789,13818,6.789,13819,6.789,13820,6.789,13821,4.387,13822,6.789,13823,4.387,13824,6.789,13825,4.387,13826,6.789,13827,4.387,13828,6.281,13829,6.789,13830,4.387,13831,6.789,13832,4.387,13833,6.789,13834,4.387,13835,6.789,13836,4.387,13837,6.789,13838,4.387,13839,3.68,13840,4.058,13841,4.387,13842,4.058,13843,4.387,13844,4.387,13845,6.789,13846,4.387,13847,8.189,13848,8.65,13849,4.387,13850,6.789,13851,6.789,13852,6.789,13853,6.789,13854,4.387,13855,4.387,13856,4.387,13857,4.387,13858,4.387,13859,4.387,13860,4.387,13861,6.789,13862,4.387,13863,4.387,13864,5.496,13865,4.387,13866,4.387,13867,4.058]],["title/classes/ImportUserUrlParams.html",[0,0.232,13582,6.012]],["body/classes/ImportUserUrlParams.html",[0,0.394,2,1.052,3,0.021,4,0.021,5,0.011,7,0.137,27,0.392,30,0.001,32,0.123,34,1.947,47,0.818,95,0.139,101,0.015,103,0.001,104,0.001,112,0.892,133,4.038,138,1.703,142,4.54,143,2.584,144,3.793,145,3.266,148,2.949,150,2.139,153,2.182,239,3.074,245,2.988,250,7.456,563,6.952,564,3.64,808,4.612,3876,5.623,4565,5.255,12849,8.328,13582,10.204,13658,10.204,13674,10.192,13868,9.52,13869,9.52]],["title/interfaces/InlineAttachment.html",[105,0.702,1362,5.119]],["body/interfaces/InlineAttachment.html",[3,0.02,4,0.02,5,0.01,7,0.128,30,0.001,31,0.509,32,0.116,47,1.011,77,5.717,101,0.014,103,0.001,104,0.001,105,1.4,107,2.098,112,0.857,180,2.303,1150,7.502,1356,8.354,1357,6.827,1358,9.568,1359,10.096,1360,6.827,1361,4.829,1362,9.126,1363,6.517,1364,6.517,1365,9.126,1366,6.827,1367,8.354,1368,8.559,1369,8.559,1370,8.354,1371,6.83,1372,6.663,1373,6.663,1374,6.827,1375,6.827]],["title/entities/InstalledLibrary.html",[154,1.389,10524,5.245]],["body/entities/InstalledLibrary.html",[0,0.258,3,0.007,4,0.007,5,0.003,7,0.044,27,0.538,29,0.243,30,0.001,31,0.29,32,0.173,33,0.65,47,0.889,55,2.651,72,2.3,83,1.483,95,0.091,96,0.821,99,0.498,101,0.012,103,0,104,0,112,0.39,119,2.087,120,3.86,138,2.336,142,1.987,143,3.02,144,4.019,145,0.861,153,1.499,154,1.032,155,1.003,157,1.917,160,6.895,172,4.274,173,0.893,174,1.95,178,1.221,180,0.535,182,0.976,238,3.652,250,1.966,319,3.226,349,0.787,360,4.888,413,0.928,517,1.928,662,1.584,696,3.921,708,4.201,739,3.932,823,3.48,997,1.43,1105,6.559,1109,6.961,1110,7.375,1111,7.375,1125,4.642,1134,3.645,1147,2.312,1271,2.037,1288,2.778,1664,2.445,1823,3.897,2024,3.044,2044,1.192,2171,2.778,2255,2.91,2427,3.183,2494,3.404,2723,3.515,2784,1.454,2882,1.463,3122,2.201,3130,3.076,3625,2.411,3671,3.354,4745,3.307,5126,3.11,5384,3.645,5515,3.012,5541,3.183,5840,4.996,5841,4.996,5842,4.876,5843,4.996,5844,4.241,5850,4.876,5851,4.996,5863,4.996,5866,3.577,5867,3.897,5883,2.926,5884,2.347,5886,2.347,5894,2.155,5897,2.347,5899,2.347,5901,2.347,5903,2.347,5909,2.347,6441,3.954,6448,1.966,6679,3.645,6791,1.894,8555,2.117,10505,6.163,10506,2.577,10507,4.004,10508,4.996,10509,2.577,10513,4.279,10514,4.279,10515,4.279,10516,2.577,10517,7.813,10518,2.577,10519,4.279,10520,4.279,10521,4.279,10522,2.411,10523,2.577,10524,3.897,10525,6.163,10526,6.387,10527,6.16,10528,5.486,10529,5.486,10530,6.519,10531,4.129,10532,4.004,10533,4.279,10534,4.004,10535,4.279,10536,3.72,10537,4.279,10538,4.004,10539,4.279,10540,4.129,10541,4.279,10542,4.279,10543,4.004,10544,4.279,10545,6.453,10546,5.133,10547,3.577,10548,5.486,10549,5.486,10550,5.486,10551,5.486,10552,2.577,10553,5.486,10554,5.486,10555,5.486,10556,5.486,10557,2.577,10558,2.577,10559,2.577,10560,2.577,10561,2.577,10562,2.577,10563,2.577,10564,2.577,10565,2.577,10566,2.577,10567,2.577,10568,2.577,10569,2.577,10570,2.577,10571,2.577,10572,2.577,10573,2.577,10574,2.577,10575,2.577,10576,2.577,10577,2.577,10578,2.577,10579,2.577,10580,2.577,10581,2.577,10582,2.577,10583,2.577,10584,2.577,10585,2.577,10586,2.577,10587,2.577,10588,2.577,10589,2.577,10590,2.577,10591,2.577,10592,2.577,10593,2.577,10594,2.577,10595,2.577,10596,2.577,10597,2.577,10598,2.577,10599,2.577,10600,2.577,10601,2.577,10602,2.577,10603,2.577,10604,2.577,10605,2.577,10606,2.577,10607,2.577,10608,2.577,13870,3.072,13871,3.072,13872,3.072,13873,3.072,13874,3.072,13875,3.072,13876,3.072,13877,3.072,13878,3.072,13879,3.072,13880,3.072,13881,3.072,13882,3.072,13883,3.072,13884,3.072,13885,3.072,13886,3.072,13887,3.072,13888,3.072,13889,3.072,13890,3.072,13891,3.072,13892,3.072,13893,3.072,13894,3.072,13895,3.072]],["title/modules/InterceptorModule.html",[201,1.848,6676,5.759]],["body/modules/InterceptorModule.html",[0,0.295,3,0.019,4,0.019,5,0.01,30,0.001,95,0.151,101,0.014,103,0.001,104,0.001,153,1.999,201,2.971,203,3.17,208,3.226,226,1.275,236,1.421,284,3.333,340,4.227,349,0.902,437,1.15,493,6.239,517,4.171,584,8.365,598,5.052,636,6.452,637,6.236,639,4.107,1123,7.156,1726,3.73,1832,4.791,2220,6.33,2427,6.886,3519,7.257,4018,9.026,6676,9.258,6688,7.74,6689,10.6,6693,8.933,8909,6.666,8913,6.666,12095,6.236,12548,6.886,12760,7.319,13896,8.724,13897,8.933,13898,12.719,13899,9.258,13900,10.6,13901,8.07,13902,8.724]],["title/interfaces/IntrospectResponse.html",[105,0.702,13903,6.012]],["body/interfaces/IntrospectResponse.html",[3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,32,0.182,33,0.695,47,1.018,51,5.964,55,2.773,101,0.012,103,0.001,104,0.001,105,0.792,107,1.819,108,5.432,112,0.782,119,2.363,133,3.963,1391,8.691,5558,4.954,6410,8.691,7240,9.545,7242,9.545,7264,9.545,7265,9.545,12447,7.997,13903,8.948,13904,7.744,13905,11.248,13906,12.158,13907,12.158,13908,12.158,13909,12.158]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.232,13910,6.012]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.284,2,0.926,3,0.018,4,0.018,5,0.009,7,0.12,8,1.304,27,0.443,29,0.663,30,0.001,31,0.477,32,0.139,33,0.402,35,1.018,47,0.931,72,3.781,95,0.128,101,0.013,103,0.001,104,0.001,141,3.924,177,2.004,180,1.875,182,2.665,226,1.225,236,1.365,284,2.532,345,2.672,349,0.867,379,1.058,556,2.92,603,1.725,1025,3.318,1147,3.267,1338,5.501,1339,6.141,1341,2.688,1343,6.225,1778,3.292,1998,6.184,2021,7.704,2023,10.919,2680,6.879,3172,6.405,3308,5.595,8024,6.405,8829,6.184,8830,6.42,9276,5.296,9283,4.901,9284,5.111,9292,6.786,9293,6.786,11419,5.683,12776,8.859,13910,9.421,13911,11.879,13912,11.879,13913,8.382,13914,8.382,13915,7.341,13916,8.382,13917,8.382]],["title/classes/IservMapper.html",[0,0.232,13918,6.012]],["body/classes/IservMapper.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,27,0.452,29,0.868,30,0.001,31,0.686,32,0.142,33,0.526,35,1.333,95,0.131,99,1.403,100,2.94,101,0.013,103,0.001,104,0.001,236,1.788,349,1.135,413,4.039,651,4.167,652,4.167,653,4.44,655,5.558,1964,7.143,3140,4.352,4660,6.963,7322,6.964,8987,9.456,8989,5.465,10075,9.249,12841,8.596,13918,9.612,13919,12.055,13920,8.649,13921,10.153,13922,10.153,13923,10.975,13924,8.649,13925,7.002,13926,10.975,13927,8.649,13928,8.649,13929,8.002,13930,8.002,13931,8.649,13932,8.649,13933,8.649,13934,8.002]],["title/injectables/IservProvisioningStrategy.html",[539,0.921,13935,5.759]],["body/injectables/IservProvisioningStrategy.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,27,0.471,29,0.853,30,0.001,31,0.614,32,0.14,33,0.518,34,0.979,35,1.312,36,2.551,47,0.836,95,0.155,99,0.951,100,1.992,101,0.009,103,0,104,0,121,5.543,143,1.299,177,1.57,180,1.469,182,1.862,226,0.856,236,1.608,239,2.68,262,2.63,284,1.77,345,1.868,349,1.183,379,0.739,382,2.949,437,1.712,529,2.406,539,1.131,541,1.408,556,2.654,570,3.613,593,3.14,595,3.613,603,1.205,608,2.502,653,4.327,654,1.76,696,2.274,1443,4.369,1478,3.496,1503,4.274,1612,6.148,1958,4.743,1959,6.82,1961,5.543,1963,3.301,1964,4.748,2088,5.466,2220,3.361,3134,2.698,3603,2.948,4266,1.979,4660,5.421,4743,3.095,4822,7.248,6238,4.188,7322,4.485,7328,5.714,8980,3.911,8987,6.285,10075,6.148,11602,8.475,12266,6.024,12548,5.26,12841,5.714,12866,4.743,13161,7.524,13163,6.492,13164,3.911,13165,3.911,13918,5.131,13935,7.071,13936,5.859,13937,8.428,13938,6.44,13939,5.859,13940,6.823,13941,8.354,13942,5.859,13943,8.428,13944,5.859,13945,6.823,13946,8.051,13947,5.859,13948,5.859,13949,5.131,13950,6.44,13951,5.131,13952,5.42,13953,5.859,13954,5.859,13955,5.42,13956,9.871,13957,5.131,13958,5.42,13959,8.428,13960,5.859,13961,5.42,13962,5.859,13963,5.859,13964,5.859,13965,5.859,13966,5.859,13967,5.859,13968,5.859,13969,5.859,13970,6.823,13971,5.859,13972,7.071,13973,5.859,13974,6.823,13975,5.131,13976,5.42,13977,5.859,13978,5.859,13979,5.859,13980,5.859,13981,5.859,13982,5.859,13983,5.131]],["title/injectables/JwtAuthGuard.html",[539,0.921,13984,6.012]],["body/injectables/JwtAuthGuard.html",[0,0.358,3,0.023,4,0.023,5,0.012,30,0.001,95,0.148,101,0.016,103,0.001,104,0.001,180,2.164,226,1.547,539,1.666,541,2.543,1435,7.894,13984,10.873,13985,10.585,13986,10.585,13987,12.415,13988,9.793]],["title/interfaces/JwtConstants.html",[105,0.702,1444,5.759]],["body/interfaces/JwtConstants.html",[3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.166,39,2.458,47,0.981,85,7.295,95,0.107,101,0.017,103,0.001,104,0.001,105,0.92,107,2.112,112,0.861,120,4.766,143,1.994,437,1.483,567,9.851,1441,7.061,1444,10.789,1482,6.872,1484,8.32,1486,5.613,1488,7.545,1491,7.742,1623,6.707,1726,3.846,1779,5.484,2405,6.097,2830,5.367,6410,6.429,7240,7.061,7242,7.061,7264,7.061,7265,7.061,13989,8.994,13990,13.239,13991,11.248,13992,8.994,13993,8.994,13994,7.281,13995,7.545,13996,7.545,13997,8.994,13998,8.994,13999,8.994,14000,7.877,14001,8.994,14002,8.994]],["title/classes/JwtExtractor.html",[0,0.232,14003,6.012]],["body/classes/JwtExtractor.html",[0,0.296,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,27,0.361,29,0.693,30,0.001,31,0.63,32,0.113,33,0.42,35,1.064,47,0.894,95,0.144,101,0.014,103,0.001,104,0.001,124,6.142,141,5.677,316,5.98,349,1.144,413,3.663,437,1.155,521,4.38,593,4.122,996,5.33,997,5.151,998,5.268,999,6.102,1000,6.66,1001,8.358,1002,7.501,1013,6.878,1478,5.228,6865,5.228,12290,9.283,12364,9.283,14003,9.69,14004,10.236,14005,8.761,14006,11.064,14007,11.064,14008,8.761,14009,12.127,14010,6.878,14011,8.761,14012,11.064]],["title/interfaces/JwtPayload.html",[105,0.702,1612,5.007]],["body/interfaces/JwtPayload.html",[3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.171,39,2.925,47,1.006,48,3.981,55,2.7,85,5.392,101,0.017,103,0.001,104,0.001,105,1.095,107,1.953,112,0.819,119,2.211,128,3.387,180,1.865,239,1.948,359,5.014,511,3.693,765,5.392,1482,8.176,1486,6.678,1592,9.29,1612,7.806,1623,9.318,1726,5.343,1820,5.014,2405,7.255,3140,4.183,4266,2.808,5160,5.468,6410,8.931,7240,9.809,7242,9.809,7264,9.809,7265,9.809,7271,7.691,7272,7.691,7273,6.73,7274,6.975,7275,5.188,7276,7.691,7277,7.281,7278,9.372]],["title/injectables/JwtStrategy.html",[539,0.921,1423,6.012]],["body/injectables/JwtStrategy.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,27,0.418,29,0.802,30,0.001,31,0.577,32,0.131,33,0.486,35,0.93,36,2.172,85,4.965,95,0.161,101,0.012,103,0.001,104,0.001,105,0.784,145,2.146,177,1.427,180,1.768,182,2.434,226,1.119,236,1.247,239,1.794,262,2.51,270,3.756,276,3.32,294,5.102,345,2.441,349,0.792,379,0.966,437,1.337,472,3.986,529,2.186,539,1.361,541,1.839,579,4.106,608,1.774,631,3.904,938,6.585,990,2.619,1123,6.577,1242,4.138,1243,6.769,1423,8.881,1424,10.475,1435,5.71,1444,6.423,1445,6.705,1449,6.705,1478,7.223,1492,7.083,1612,8.829,1615,6.423,1616,6.406,1623,7.562,1726,3.274,1877,5.11,2837,5.371,3918,6.011,4608,5.191,5539,6.198,7310,5.71,10144,4.899,11550,6.705,12447,5.036,14003,6.705,14010,6.011,14013,7.656,14014,8.508,14015,7.656,14016,7.656,14017,10.14,14018,7.656,14019,6.423,14020,7.656,14021,6.198,14022,7.656,14023,7.656,14024,7.656,14025,7.656,14026,7.656,14027,7.656,14028,7.656,14029,7.656,14030,7.656,14031,7.656,14032,7.656,14033,7.656]],["title/classes/JwtTestFactory.html",[0,0.232,7255,6.012]],["body/classes/JwtTestFactory.html",[0,0.263,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,8,1.24,27,0.421,29,0.613,30,0.001,31,0.442,32,0.148,33,0.372,35,1.243,47,0.978,59,2.39,85,7.422,95,0.122,101,0.012,103,0.001,104,0.001,105,0.794,271,2.88,348,5.147,349,1.058,413,3.923,437,1.604,662,3.178,1441,6.091,1443,5.786,1466,6.509,1478,4.63,1482,5.928,1486,4.842,1611,7.462,1623,7.629,4597,7.817,6410,7.312,7238,10.656,7239,7.178,7240,8.031,7241,8.582,7242,8.031,7243,10.588,7244,10.61,7245,9.464,7246,7.178,7247,7.178,7248,7.178,7249,7.178,7250,8.959,7251,7.178,7252,9.464,7253,9.464,7254,7.178,7255,8.959,7256,10.656,7257,9.464,7258,9.464,7259,7.178,7260,7.178,7261,7.178,7262,7.178,7263,7.178,7264,6.091,7265,6.091,7266,6.795,7267,7.178,7268,7.178,7269,7.178,7270,7.178,14034,10.23,14035,7.758,14036,7.758]],["title/injectables/JwtValidationAdapter.html",[539,0.921,1424,5.557]],["body/injectables/JwtValidationAdapter.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.091,8,1.085,27,0.462,29,0.886,30,0.001,31,0.638,32,0.145,33,0.538,34,1.874,35,1.256,36,2.623,47,0.984,85,7.659,94,4.444,95,0.146,101,0.01,103,0,104,0,142,3.487,145,1.787,153,1.461,177,1.667,226,0.931,262,2.88,333,3.808,379,1.129,437,1.18,478,5.879,521,3.542,539,1.201,541,1.531,603,1.841,608,2.396,639,3,938,5.181,996,4.31,997,4.166,998,4.26,999,4.502,1000,4.914,1001,6.167,1136,7.836,1403,4.753,1424,7.243,1436,5.581,1478,7.659,1623,10.137,1643,5.232,1728,5.885,1779,3.886,1880,7.243,2427,6.997,3122,3.862,3893,7.024,3935,10.551,3939,5.581,3942,4.87,3944,5.581,3952,5.581,3953,9.271,3954,7.024,7278,7.836,10527,5.456,11550,7.836,12845,7.836,14004,10.925,14037,6.373,14038,8.947,14039,8.947,14040,8.947,14041,6.373,14042,6.373,14043,8.947,14044,8.947,14045,6.373,14046,8.947,14047,6.373,14048,8.947,14049,8.947,14050,8.947,14051,6.373,14052,6.373,14053,6.373,14054,6.373,14055,6.373,14056,8.947,14057,6.373,14058,6.373,14059,6.373,14060,8.947,14061,8.947,14062,6.373,14063,6.373,14064,6.373]],["title/classes/KeycloakAdministration.html",[0,0.232,14065,6.35]],["body/classes/KeycloakAdministration.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,27,0.358,30,0.001,47,0.994,51,5.398,87,6.432,95,0.131,101,0.013,103,0.001,104,0.001,112,0.842,119,2.274,413,3.648,480,2.416,486,3.315,2079,3.84,2080,4.287,2081,4.136,2195,6.255,2246,7.288,3940,4.894,5643,6.389,8244,8.207,12394,7.345,12411,5.889,12419,6.373,12420,6.787,12901,10.993,12903,9.233,12904,10.134,13074,9.233,13490,8.909,14065,10.181,14066,11.004,14067,11.004,14068,11.004,14069,11.004,14070,11.004,14071,11.004,14072,8.686,14073,6.819]],["title/modules/KeycloakAdministrationModule.html",[201,1.848,13485,5.389]],["body/modules/KeycloakAdministrationModule.html",[0,0.305,3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,95,0.158,101,0.014,103,0.001,104,0.001,201,3.308,203,3.275,204,3.512,205,3.612,206,3.597,207,3.583,208,4.544,209,4.662,218,4.514,219,3.54,220,3.459,223,3.752,226,1.317,568,5.768,636,5.271,1180,6.443,1971,4.196,2246,7.562,3601,4.532,11304,6.868,12419,5.22,12420,5.559,12904,9.45,13485,10.762,13490,7.297,14073,7.076,14074,9.013,14075,9.013,14076,9.013,14077,10.374,14078,9.013,14079,10.42,14080,6.722,14081,8.339,14082,8.339,14083,7.562,14084,7.562,14085,6.887,14086,9.013]],["title/injectables/KeycloakAdministrationService.html",[539,0.921,14077,5.007]],["body/injectables/KeycloakAdministrationService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.115,8,0.969,27,0.539,29,0.43,30,0.001,31,0.31,32,0.103,33,0.261,34,0.91,35,1.526,36,2.487,47,0.815,55,1.111,95,0.113,101,0.008,103,0,104,0,112,0.611,143,1.207,145,1.526,177,1.489,226,0.795,236,1.301,262,2.967,349,1.273,379,1.008,413,2.859,437,1.464,480,2.223,486,2.406,519,2.461,539,1.072,541,1.308,579,2.919,603,2.663,608,2.852,639,2.563,662,4.367,696,3.674,1242,2.942,1243,3.633,1634,7.391,1636,5.711,2079,2.406,2195,3.094,2246,4.567,3601,3.215,5643,2.739,7528,3.319,11304,4.872,12419,7.657,12420,8.155,12901,8.749,12903,4.567,12904,4.567,14073,4.273,14077,5.828,14079,9.647,14080,4.059,14081,5.036,14082,5.036,14087,10.104,14088,5.443,14089,9.465,14090,9.465,14091,10.428,14092,10.428,14093,10.428,14094,10.428,14095,10.428,14096,10.428,14097,10.428,14098,10.428,14099,10.428,14100,5.036,14101,9.465,14102,7.989,14103,7.391,14104,5.443,14105,5.443,14106,5.443,14107,5.443,14108,5.443,14109,5.443,14110,5.443,14111,5.443,14112,5.443,14113,7.989,14114,5.443,14115,5.443,14116,5.443,14117,5.443,14118,5.443,14119,5.443,14120,5.443,14121,7.989,14122,5.443,14123,5.443,14124,5.443,14125,7.989,14126,6.468,14127,7.989,14128,9.465,14129,5.036,14130,5.036,14131,5.443,14132,5.443,14133,5.036,14134,4.767,14135,5.443,14136,5.443,14137,5.443,14138,9.465,14139,7.989,14140,5.443]],["title/classes/KeycloakConfiguration.html",[0,0.232,14083,5.759]],["body/classes/KeycloakConfiguration.html",[0,0.331,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.403,30,0.001,32,0.127,95,0.117,101,0.015,103,0.001,104,0.001,112,0.907,413,3.85,480,2.725,486,3.571,2079,4.33,2220,5.619,12411,6.641,12419,6.865,12420,7.311,12894,10.695,12897,10.967,12898,10.967,14073,7.69,14083,9.946,14141,10.382,14142,12.748,14143,11.854,14144,11.854,14145,9.795,14146,8.578]],["title/modules/KeycloakConfigurationModule.html",[201,1.848,14147,5.759]],["body/modules/KeycloakConfigurationModule.html",[0,0.229,3,0.015,4,0.015,5,0.008,30,0.001,95,0.166,101,0.011,103,0,104,0,201,2.876,203,2.462,204,2.641,205,2.715,206,2.704,207,2.693,208,3.951,209,4.054,213,8.922,214,5.812,218,3.742,219,2.661,220,2.6,223,3.887,225,3.711,226,0.99,568,5.975,636,3.962,1180,4.844,1341,2.173,1421,8.756,1437,5.178,1440,4.753,1971,3.155,2079,2.996,2220,3.887,3513,4.67,3590,9.538,8796,9.105,9382,4.753,12419,3.924,12420,4.179,12425,9.309,12426,5.32,12427,5.32,12438,10.231,12899,8.178,13485,9.8,13490,5.486,13491,5.935,14073,5.32,14083,5.685,14084,8.963,14141,5.935,14146,5.935,14147,12.01,14148,6.776,14149,6.776,14150,6.776,14151,6.776,14152,11.435,14153,10.933,14154,10.473,14155,6.776,14156,9.356,14157,6.776,14158,6.776,14159,7.834,14160,6.269,14161,6.269,14162,6.269,14163,6.269,14164,6.776,14165,6.776,14166,5.685,14167,6.776]],["title/injectables/KeycloakConfigurationService.html",[539,0.921,14152,5.759]],["body/injectables/KeycloakConfigurationService.html",[0,0.091,3,0.006,4,0.006,5,0.003,7,0.038,8,0.551,10,1.844,27,0.465,29,0.785,30,0.001,31,0.602,32,0.129,33,0.476,34,1.813,35,1.372,36,2.419,47,0.857,59,0.825,74,2.168,95,0.132,101,0.004,103,0,104,0,128,1.091,143,1.883,145,2.19,153,0.614,168,1.536,177,1.3,179,1.761,226,0.391,239,1.387,262,2.873,280,3.132,305,2.632,333,1.934,349,0.808,359,1.615,360,3.957,379,0.573,437,1.755,521,3.771,539,0.61,541,0.643,564,0.836,568,3.788,584,5.954,591,4.402,598,1.55,601,2.102,602,2.168,603,2.689,608,3.135,631,3.557,662,3.084,685,2.475,696,1.039,708,2.372,739,1.961,839,0.832,996,4.589,997,4.435,998,4.536,1107,4.626,1181,1.633,1191,2.345,1820,2.741,1903,1.761,1971,3.953,2205,1.914,2232,1.508,2341,1.651,2406,2.538,2958,2.684,2962,2.56,3134,2.093,4081,1.692,4653,2.168,4677,1.374,5643,2.286,6132,4.524,6410,3.248,7241,4.967,7282,2.102,7530,3.315,7533,1.997,8177,2.477,9048,2.477,9428,2.046,10527,2.771,10545,4.524,11304,5.178,12293,6.555,12402,2.803,12419,6.65,12420,7.083,12773,4.793,12903,8.622,13158,6.627,13160,4.894,13236,1.997,13538,5.477,14077,5.089,14080,6.333,14085,2.046,14087,2.046,14126,8.32,14129,2.477,14130,2.477,14133,2.477,14134,2.345,14152,3.812,14159,7.595,14160,2.477,14161,2.477,14168,10.058,14169,4.544,14170,6.976,14171,6.976,14172,6.976,14173,6.976,14174,4.544,14175,4.544,14176,4.544,14177,6.976,14178,4.544,14179,4.544,14180,4.544,14181,4.544,14182,2.246,14183,7.595,14184,2.677,14185,3.812,14186,4.544,14187,2.677,14188,9.526,14189,2.677,14190,2.677,14191,2.677,14192,2.677,14193,4.544,14194,8.516,14195,2.677,14196,4.544,14197,2.677,14198,9.053,14199,4.544,14200,2.677,14201,2.677,14202,5.92,14203,4.544,14204,2.677,14205,5.92,14206,4.544,14207,8.491,14208,6.454,14209,2.677,14210,4.544,14211,5.92,14212,4.544,14213,2.677,14214,4.544,14215,2.677,14216,2.677,14217,2.677,14218,2.677,14219,2.677,14220,4.544,14221,2.677,14222,2.677,14223,2.477,14224,2.677,14225,2.168,14226,2.677,14227,2.477,14228,4.544,14229,9.788,14230,2.345,14231,3.98,14232,6.11,14233,5.92,14234,4.793,14235,5.92,14236,9,14237,4.544,14238,4.544,14239,7.813,14240,4.544,14241,7.813,14242,2.677,14243,8.491,14244,2.677,14245,2.677,14246,2.677,14247,4.544,14248,4.544,14249,4.544,14250,4.544,14251,2.677,14252,4.544,14253,2.477,14254,2.345,14255,2.677,14256,2.677,14257,5.185,14258,4.544,14259,4.544,14260,2.345,14261,2.677,14262,2.345,14263,2.477,14264,4.204,14265,2.477,14266,2.677,14267,2.677,14268,4.544,14269,4.544,14270,4.544,14271,3.472,14272,2.677,14273,2.677,14274,2.677,14275,2.677,14276,2.677,14277,2.677,14278,4.544,14279,2.677,14280,5.92,14281,5.92,14282,2.677,14283,5.92,14284,2.677,14285,5.92,14286,2.677,14287,2.677,14288,4.544,14289,2.677,14290,4.544,14291,4.544,14292,4.544,14293,6.976,14294,2.677,14295,2.677,14296,4.544,14297,2.677,14298,4.204,14299,2.677,14300,2.677,14301,5.92,14302,4.544,14303,5.92,14304,4.544,14305,2.677,14306,2.677,14307,4.544,14308,2.677,14309,4.544,14310,2.677,14311,2.677,14312,2.677,14313,2.677,14314,2.677,14315,2.677,14316,4.544,14317,4.544,14318,2.677,14319,2.677,14320,4.544,14321,2.677,14322,2.477,14323,2.677,14324,2.477,14325,4.544,14326,2.677,14327,2.677,14328,2.677,14329,2.677,14330,2.677,14331,2.677,14332,2.677,14333,2.677]],["title/injectables/KeycloakConfigurationUc.html",[539,0.921,12425,5.119]],["body/injectables/KeycloakConfigurationUc.html",[0,0.229,3,0.015,4,0.015,5,0.008,7,0.097,8,1.132,27,0.514,29,0.845,30,0.001,31,0.608,32,0.138,33,0.512,35,1.467,36,2.867,55,2.547,59,3.29,70,3.409,95,0.144,101,0.011,103,0,104,0,119,2.207,177,2.145,226,0.99,262,3.066,349,1.249,379,1.178,539,1.253,541,1.628,568,4.336,603,2.369,608,2.668,662,4.234,938,6.667,8050,8.076,9098,6.269,9115,6.269,10777,6.55,12419,7.407,12420,7.888,12423,5.32,12425,6.963,12435,8.797,12471,8.398,12477,6.674,14077,8.398,14084,8.963,14085,5.178,14087,5.178,14152,9.659,14153,10.731,14154,10.731,14162,6.269,14163,6.269,14166,5.685,14182,5.685,14185,7.834,14334,12.79,14335,10.683,14336,6.776,14337,6.776,14338,8.638,14339,6.776,14340,6.776,14341,9.337,14342,6.776,14343,6.776,14344,6.776,14345,6.776,14346,6.776,14347,6.776,14348,6.776,14349,6.776,14350,6.776,14351,6.776]],["title/classes/KeycloakConsole.html",[0,0.232,12438,5.389]],["body/classes/KeycloakConsole.html",[0,0.118,2,0.386,3,0.008,4,0.008,5,0.004,7,0.05,8,0.687,10,1.416,27,0.452,29,0.84,30,0.001,31,0.581,32,0.132,33,0.489,35,1.239,36,2.565,47,0.577,52,3.443,53,4.132,55,2.402,70,3.596,72,3.71,78,8.849,95,0.098,101,0.005,103,0,104,0,105,0.731,112,0.433,118,2.234,119,0.721,138,1.618,142,3.975,145,3.164,153,2.907,177,1.332,179,4.701,208,2.095,236,0.923,239,1.327,262,2.882,310,1.514,333,3.042,349,0.739,359,2.105,379,0.715,413,2.159,437,1.192,474,1.486,479,1.286,480,1.576,486,3.308,490,4.379,519,1.075,529,0.996,556,2.381,562,3.904,568,5.786,595,2.153,600,2.178,603,2.187,608,2.545,696,2.199,697,5.214,708,3.296,710,6.675,845,2.667,934,3.416,938,5.608,990,1.194,1288,1.902,1341,1.12,1512,6.043,1519,4.675,1645,4.447,1794,2.234,1822,4.908,1832,3.111,2079,2.504,2096,4.447,2312,2.962,2313,3.748,2406,3.163,2836,5.41,3122,5.081,3505,5.49,3510,7.32,3513,2.406,3514,8.664,3515,6.118,3516,2.083,5564,4.224,6132,7.28,6680,4.447,7275,2.178,7292,2.234,7576,7.795,8050,7.156,8059,7.795,8384,2.406,8794,2.667,10777,6.343,11952,2.741,12418,4.586,12419,6.536,12420,6.96,12421,9.469,12422,2.929,12423,2.741,12424,5.997,12425,7.608,12426,2.741,12427,2.741,12428,4.752,12429,2.929,12430,2.929,12431,8.892,12432,2.929,12433,2.929,12434,4.586,12435,4.328,12436,2.929,12437,2.667,12438,4.447,12439,2.929,12440,5.997,12441,4.752,12442,9.469,12443,4.132,12444,4.752,12445,4.752,12446,9.215,12447,3.725,12448,6.565,12449,4.049,12450,5.669,12451,4.224,12452,2.929,12453,2.929,12454,4.752,12455,6.9,12456,2.929,12457,2.929,12458,4.752,12459,6.9,12460,2.929,12461,2.929,12462,2.929,12463,6.9,12464,6.9,12465,4.447,12466,4.752,12467,2.929,12468,2.929,12469,4.132,12470,4.586,12471,6.596,12472,4.752,12473,2.929,12474,2.929,12475,2.929,12476,4.752,12477,6.463,12478,2.741,12479,2.741,12480,4.752,12481,2.929,12482,2.929,12483,2.929,12484,2.929,12485,2.929,12486,2.929,12487,4.752,12488,2.929,12489,2.929,12490,2.929,12491,4.586,14352,5.664,14353,3.491,14354,3.491,14355,3.491,14356,3.491,14357,3.491,14358,3.491,14359,3.491,14360,3.491,14361,3.491,14362,3.491,14363,3.491,14364,3.491]],["title/injectables/KeycloakIdentityManagementOauthService.html",[539,0.921,13493,5.759]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.192,3,0.012,4,0.012,5,0.006,7,0.081,8,0.997,27,0.485,29,0.65,30,0.001,31,0.468,32,0.138,33,0.394,35,1.291,36,2.522,47,0.916,51,4.034,87,5.716,95,0.151,101,0.009,103,0,104,0,112,0.629,143,1.256,177,1.98,180,1.433,182,1.8,226,0.827,236,0.922,262,2.801,284,2.484,349,1.217,379,1.038,382,2.893,437,1.601,519,2.533,539,1.104,541,1.361,556,2.612,568,3.624,579,3.037,584,7.989,591,3.191,598,3.28,600,7.043,603,2.499,608,2.244,639,2.666,653,2.907,824,2.917,951,2.651,963,8.52,964,3.28,965,6.284,966,3.725,1079,3.345,1191,4.96,1242,3.061,1243,3.78,1262,1.976,1391,4.048,1392,4.585,1393,4.96,1486,3.534,2255,2.165,2836,7.422,2962,3.191,4677,2.907,5554,3.219,5558,2.307,5643,4.872,7528,5.014,7530,4.131,8800,4.223,9343,3.839,9382,3.972,9825,7.751,9854,4.585,12323,8.48,12341,6.899,12391,3.903,12394,3.78,12395,4.751,12396,3.903,12399,3.903,12402,5.072,12406,6.565,12419,6.153,13487,9.242,13489,4.751,13493,6.899,13496,5.239,13497,9.83,13498,9.83,13499,7.608,13502,7.608,13504,8.119,14077,7.751,14085,4.327,14087,4.327,14225,4.585,14264,7.608,14265,5.239,14365,9.306,14366,9.683,14367,10.626,14368,5.663,14369,8.224,14370,8.224,14371,5.663,14372,5.663,14373,5.663,14374,5.663,14375,11.772,14376,5.663,14377,5.663,14378,5.663,14379,5.663,14380,5.663,14381,5.663,14382,5.663,14383,5.663,14384,5.663,14385,5.663,14386,5.663,14387,5.663,14388,5.663,14389,5.663,14390,5.663,14391,5.663,14392,5.663,14393,5.663,14394,5.239,14395,5.239,14396,4.96,14397,5.239,14398,5.663,14399,5.663]],["title/injectables/KeycloakIdentityManagementService.html",[539,0.921,13495,5.759]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.674,27,0.497,29,0.967,30,0.001,31,0.677,32,0.16,33,0.571,34,2.159,35,1.446,36,2.785,39,2.978,47,0.977,51,4.7,59,1.712,87,5.807,94,4.03,95,0.114,98,2.036,99,0.554,101,0.005,103,0,104,0,143,1.233,145,1.559,177,0.636,179,5.337,180,0.969,182,1.085,226,0.498,236,1.716,239,2.245,262,3.005,263,4.869,264,4.869,291,2.489,292,4.525,302,4.365,340,1.653,345,1.088,349,1.249,359,2.058,379,0.431,382,3.425,429,3.974,437,1.632,480,2.665,490,2.504,528,1.751,529,3.007,539,0.746,541,0.82,543,8.179,549,2.988,551,3.156,552,2.988,553,2.988,556,0.839,568,2.183,579,1.83,583,9.778,593,2.071,603,1.971,608,3.076,651,3.39,652,3.39,653,3.612,662,1.727,696,2.158,708,2.228,816,3.029,1181,3.39,1218,1.29,1242,1.844,1243,3.711,2207,3.353,2836,5.877,3174,2.277,3175,2.213,3550,2.762,3987,2.762,8112,2.862,8113,2.988,11304,2.08,12006,2.544,12419,4.699,13495,4.664,13506,5.143,13507,5.143,13508,5.143,13509,5.143,13510,7.507,13511,6.51,13512,6.51,13513,5.143,13514,5.143,13515,5.143,13516,7.507,13521,5.143,13524,5.143,13525,5.143,13527,5.143,13530,5.143,13531,7.507,13534,3.156,13535,9.347,13537,8.864,13539,3.156,13540,8.266,13546,2.678,14077,5.919,14080,2.544,14085,2.607,14087,2.607,14100,3.156,14103,5.143,14126,6.569,14365,7.106,14400,5.56,14401,5.56,14402,3.412,14403,3.412,14404,5.56,14405,3.412,14406,5.56,14407,7.825,14408,3.412,14409,5.56,14410,3.412,14411,3.412,14412,3.412,14413,5.56,14414,3.412,14415,3.412,14416,3.412,14417,3.412,14418,3.412,14419,5.56,14420,3.412,14421,5.56,14422,3.412,14423,2.988,14424,10.534,14425,3.412,14426,5.56,14427,5.56,14428,5.56,14429,2.988,14430,2.988,14431,2.988,14432,3.412,14433,5.56,14434,5.56,14435,3.412,14436,3.412,14437,3.412,14438,5.56,14439,3.412,14440,7.036,14441,3.412,14442,7.036,14443,5.56,14444,5.56,14445,3.412,14446,8.114,14447,5.143,14448,5.56,14449,3.412,14450,3.412,14451,2.988,14452,3.412,14453,3.412,14454,3.412,14455,3.412,14456,3.412,14457,3.412,14458,3.412,14459,3.412,14460,3.412,14461,5.56,14462,5.56,14463,7.036,14464,7.036,14465,3.412,14466,2.988,14467,5.143,14468,3.156,14469,3.412,14470,3.412,14471,3.412,14472,3.412,14473,3.412,14474,3.412,14475,3.412,14476,3.412,14477,3.412,14478,3.412]],["title/controllers/KeycloakManagementController.html",[259,2.624,14156,6.012]],["body/controllers/KeycloakManagementController.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.116,8,1.277,27,0.334,30,0.001,35,1.28,36,2.257,55,2.149,72,4.751,78,7.93,95,0.139,101,0.013,103,0.001,104,0.001,138,1.452,177,1.963,208,3.896,223,3.378,226,1.186,236,1.322,259,3.102,261,3.886,262,2.583,345,2.587,349,1.089,529,2.316,579,4.351,603,1.67,608,2.711,708,3.252,934,6.353,1242,4.385,1243,5.416,1341,2.602,1903,6.929,2251,6.569,2312,3.363,2313,4.801,2836,6.929,2962,4.572,3122,5.343,6403,7.032,12419,6.101,12420,6.497,12425,7.856,12426,6.371,12427,6.371,12465,9.719,14156,9.226,14479,10.534,14480,7.507,14481,8.114,14482,12.38,14483,10.534,14484,8.114,14485,10.534,14486,10.534,14487,8.528,14488,8.528,14489,10.534,14490,9.746,14491,10.534,14492,11.697,14493,8.114,14494,8.114,14495,8.114,14496,8.114,14497,8.114,14498,8.114,14499,8.114,14500,8.114]],["title/injectables/KeycloakMigrationService.html",[539,0.921,14154,5.759]],["body/injectables/KeycloakMigrationService.html",[0,0.196,3,0.013,4,0.013,5,0.007,7,0.083,8,1.015,27,0.404,29,0.776,30,0.001,31,0.559,32,0.139,33,0.471,34,1.399,35,1.017,36,2.302,51,4.815,55,1.707,66,7.389,70,4.938,87,2.938,94,5.337,95,0.141,101,0.009,103,0,104,0,143,1.855,145,2.346,177,1.829,179,7.067,226,0.848,236,0.945,262,2.621,349,1.015,379,1.056,425,7.16,429,7.016,434,4.866,437,1.651,438,9.941,480,2.328,486,1.747,521,3.313,529,1.656,539,1.123,541,1.394,568,3.712,579,3.11,595,3.577,603,2.442,608,2.902,617,9.349,696,4.422,697,4.231,708,3.933,710,3.998,791,4.866,826,5.427,829,4.325,876,4.866,891,4.696,996,4.031,997,3.896,998,3.984,1181,3.537,1242,3.135,1243,5.585,1341,1.86,1441,4.554,1605,4.326,2196,4.696,2312,4.068,2313,4.897,2958,3.426,3987,4.696,8244,4.326,8262,3.932,8852,4.326,11304,3.537,12293,7.02,12419,6.223,12420,6.627,12435,8.705,12477,5.981,13546,4.554,14077,7.838,14080,4.326,14085,4.432,14087,4.432,14126,4.696,14154,7.02,14168,9.411,14182,4.866,14185,7.02,14236,5.08,14407,7.328,14423,5.08,14429,5.08,14430,5.08,14431,5.08,14451,5.08,14466,5.08,14501,4.866,14502,7.741,14503,5.8,14504,7.741,14505,5.8,14506,8.367,14507,5.8,14508,4.866,14509,5.8,14510,9.815,14511,5.8,14512,5.8,14513,8.367,14514,5.366,14515,5.8,14516,5.8,14517,5.8,14518,7.741,14519,5.366,14520,7.741,14521,5.366,14522,5.366,14523,5.366,14524,7.741,14525,7.741,14526,9.815,14527,5.8,14528,5.366,14529,5.8,14530,5.8,14531,5.8]],["title/modules/KeycloakModule.html",[201,1.848,13486,5.557]],["body/modules/KeycloakModule.html",[0,0.279,3,0.018,4,0.018,5,0.009,30,0.001,95,0.16,101,0.013,103,0.001,104,0.001,201,3.174,203,2.996,204,3.213,205,3.304,206,3.291,207,3.278,208,4.359,209,4.472,214,6.148,218,4.266,219,3.239,220,3.164,225,4.231,226,1.205,568,5.277,600,5.146,964,4.775,1341,2.645,2836,7.001,3998,7.105,8112,6.918,8796,9.633,9382,5.784,12419,4.775,13485,10.367,13486,11.559,13489,6.918,13490,6.676,13491,7.222,13493,11.788,13495,11.788,14084,8.931,14532,8.246,14533,8.246,14534,8.246,14535,8.246,14536,8.246]],["title/classes/KeycloakSeedService.html",[0,0.232,14153,5.759]],["body/classes/KeycloakSeedService.html",[0,0.162,2,0.527,3,0.01,4,0.01,5,0.005,7,0.068,8,0.878,10,1.936,27,0.455,29,0.692,30,0.001,31,0.498,32,0.126,33,0.42,34,1.211,35,1.276,36,2.648,51,4.293,55,1.478,87,2.417,94,4.347,95,0.141,101,0.007,103,0,104,0,143,2.167,145,1.338,168,2.738,177,1.631,179,4.764,226,0.697,239,2.591,262,2.9,284,2.187,292,2.417,349,1.188,379,0.914,429,5.177,434,4.004,437,1.679,480,2.015,486,1.438,521,4.159,528,2.45,568,3.054,603,2.62,608,3.089,639,2.247,651,2.299,652,2.299,653,2.45,662,2.719,676,5.177,696,4.077,697,5.283,708,3.507,710,3.29,876,4.004,891,3.864,932,9.718,939,4.415,996,5.06,997,4.89,998,5.001,1181,2.91,1341,1.531,1441,3.747,2079,2.11,2095,3.236,2196,3.864,2207,2.878,2220,2.738,2312,3.627,2313,4.453,3122,4.959,3174,3.186,3175,3.095,3550,3.864,3987,3.864,6822,3.864,8050,6.854,8244,3.559,10545,3.647,10777,5.08,10910,6.343,10943,6.7,10944,6.7,10959,4.004,11304,2.91,12006,3.559,12293,8.197,12419,6.654,12420,7.086,12423,5.686,12888,9.2,12892,9.2,12894,8.197,12899,4.18,13546,3.747,14073,3.747,14077,7.127,14080,3.559,14085,3.647,14087,3.647,14126,7.086,14146,4.18,14153,6.076,14168,10.063,14182,4.004,14185,6.076,14236,7.665,14257,4.18,14338,6.7,14407,6.343,14423,4.18,14429,4.18,14430,4.18,14431,4.18,14451,6.343,14466,4.18,14468,4.415,14502,6.7,14504,6.7,14514,4.415,14518,6.7,14519,4.415,14520,6.7,14521,4.415,14522,4.415,14523,4.415,14524,6.7,14525,6.7,14528,4.415,14537,4.773,14538,9.771,14539,9.771,14540,8.752,14541,4.773,14542,4.773,14543,4.773,14544,4.773,14545,4.773,14546,4.773,14547,4.773,14548,7.243,14549,4.773,14550,4.773,14551,4.773,14552,8.752,14553,4.773,14554,4.773,14555,4.773,14556,4.773,14557,4.773,14558,9.771,14559,4.773,14560,4.773,14561,4.415,14562,4.773,14563,4.773,14564,4.773,14565,4.773,14566,4.773,14567,4.773,14568,4.773,14569,7.243,14570,4.773]],["title/classes/LdapAlreadyPersistedException.html",[0,0.232,14571,5.557]],["body/classes/LdapAlreadyPersistedException.html",[0,0.409,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.417,29,0.604,30,0.001,31,0.435,32,0.099,33,0.366,35,0.928,47,0.884,52,5.472,55,1.559,59,2.354,95,0.121,101,0.019,103,0.001,104,0.001,157,4.769,180,2.194,226,1.117,239,2.662,349,1.175,379,0.964,590,6.246,654,3.412,936,4.89,1025,4.497,1147,3.673,1338,5.827,1339,6.505,1341,2.451,1343,6.423,2680,5.865,4541,6.043,4565,5.123,8829,6.551,8830,6.801,8928,10.47,13754,5.267,14571,8.199,14572,9.53,14573,5.699,14574,10.187,14575,10.147,14576,7.642,14577,10.147,14578,7.642,14579,6.411,14580,6.411,14581,6.187,14582,8.497,14583,5.574,14584,6.187]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.232,14585,5.759]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.383,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,27,0.531,30,0.001,32,0.167,47,0.974,48,5.902,51,6.045,87,6.241,95,0.135,101,0.014,103,0.001,104,0.001,112,0.866,138,2.308,148,2.811,150,2.039,245,3.404,248,4.918,808,4.879,809,6.768,4266,4.163,6061,8.251,7579,9.157,14585,9.489,14586,13.274,14587,7.947,14588,8.394,14589,9.074,14590,9.074,14591,9.074]],["title/classes/LdapConfig.html",[0,0.232,13159,5.007]],["body/classes/LdapConfig.html",[0,0.303,2,0.448,3,0.009,4,0.009,5,0.005,7,0.058,26,1.608,27,0.512,29,0.321,30,0.001,31,0.231,32,0.166,33,0.644,47,1.009,83,3.009,95,0.107,96,1.084,101,0.015,103,0,104,0,105,0.415,112,0.489,119,1.319,120,1.718,133,1.405,138,2.192,143,3.077,144,4.352,145,1.137,153,0.929,154,1.598,160,6.73,172,4.412,173,1.179,174,2.441,175,1.81,177,1.471,178,1.612,180,0.707,181,1.097,182,1.289,276,1.758,379,0.512,511,1.801,570,2.5,578,2.472,839,2.453,950,2.5,1262,3.399,1371,2.472,1454,2.898,1486,2.53,1664,1.516,2021,2.629,2046,3.024,2562,3.255,2566,1.81,4332,3.424,4370,4.563,4404,2.445,4677,4.599,5558,1.652,5643,3.212,5953,3.278,5973,2.594,5974,2.794,6446,3.45,7385,2.561,7472,2.749,7528,3.893,9006,2.227,9343,2.749,10327,5.194,10926,2.305,12263,6.712,12344,3.024,12345,3.024,12346,3.024,12347,3.098,12391,2.794,12394,2.706,12396,2.794,12399,2.794,12402,2.5,12406,2.749,12447,5.194,12867,3.098,13048,2.898,13156,4.878,13157,3.282,13158,4.261,13159,8.185,13160,7.26,13161,4.033,13162,4.478,13163,5.194,13164,2.706,13165,2.706,13166,3.282,13167,4.4,13168,4.761,13169,3.183,13170,4.761,13171,3.098,13172,3.098,13173,3.098,13174,3.098,13175,3.183,13176,3.098,13177,3.098,13178,3.098,13179,3.183,13180,4.761,13181,3.183,13182,3.098,13183,3.183,13184,3.098,13185,3.098,13186,3.098,13187,3.183,13188,4.4,13189,5.169,13190,3.282,13191,3.282,13192,3.282,13193,3.282,13194,3.282,13195,3.282,13196,3.282,13197,3.282,13198,3.282,13199,3.282,13200,3.282,13201,3.183,13202,3.282,13203,3.282,13204,3.282,13205,3.282,13206,3.282,13207,3.282,13208,3.282,13209,3.282,13210,3.282,13211,6.393,13212,6.393,13213,6.393,13214,6.393,13215,6.393,13216,6.393,13217,6.393,13218,6.393,13219,3.024,13220,3.282,13221,3.282,13222,3.282,13223,3.282,13224,3.282,13225,3.282,13226,3.282,13227,3.282,13228,3.282,13229,3.282,13230,3.282,13231,3.282,13232,3.282,13233,3.282,13234,3.098,13235,3.282,13236,3.024,13237,3.183,13238,3.098,13239,3.183,13240,3.098,13241,3.098,13242,3.183,13243,3.098,13244,3.183,13245,3.098,13246,2.958,13247,2.958,13248,2.958,13249,3.024,13250,3.098,13251,3.282,13252,3.098,13253,3.282,13254,3.282,13255,3.282,13256,3.282,13257,3.282,13258,3.098,13259,3.183,13260,3.098,13261,3.183,14592,4.054,14593,4.054,14594,4.054,14595,4.054,14596,4.054,14597,4.054,14598,4.054,14599,4.054,14600,4.054,14601,4.054,14602,4.054,14603,4.054,14604,4.054]],["title/classes/LdapConnectionError.html",[0,0.232,14605,6.012]],["body/classes/LdapConnectionError.html",[0,0.267,2,0.87,3,0.017,4,0.017,5,0.009,7,0.113,8,1.253,27,0.547,29,0.623,30,0.001,31,0.448,32,0.178,33,0.553,35,0.957,47,0.81,55,1.608,59,2.427,95,0.123,101,0.012,103,0.001,104,0.001,112,0.791,138,2.274,177,2.565,180,1.801,182,2.505,226,1.151,340,3.818,347,2.843,379,0.994,382,3.896,595,6.373,821,5.668,824,2.795,951,5.398,988,5.333,990,4.188,1025,4.565,1269,8.412,1270,7.291,1271,3.813,1272,7.379,1276,5.11,1277,4.4,1278,5.11,1279,5.11,1280,5.11,1281,5.11,1282,5.11,1283,4.752,1284,4.479,1290,4.978,12450,7.122,13754,7.122,14605,9.05,14606,10.334,14607,7.879,14608,8.67,14609,7.879,14610,7.879,14611,7.879]],["title/injectables/LdapService.html",[539,0.921,1425,5.759]],["body/injectables/LdapService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.098,8,1.141,27,0.443,29,0.85,30,0.001,31,0.612,32,0.139,33,0.515,35,1.144,36,2.479,47,0.959,51,6.294,87,6.618,95,0.149,99,1.112,101,0.011,103,0.001,104,0.001,177,1.277,226,1.002,236,1.751,239,1.607,262,2.373,292,3.472,338,5.009,345,2.186,349,0.973,379,0.865,437,1.417,529,2.687,539,1.263,541,1.647,603,2.212,608,1.589,697,5.001,990,2.346,1227,4.901,1228,5.383,1243,7.723,1244,6.005,1262,2.392,1341,2.199,1425,7.897,1877,6.283,1971,3.192,2312,3.901,2313,5.273,3002,4.648,3134,5.329,3565,5.551,3601,4.325,3962,6.005,3964,6.005,8188,8.244,9006,7.046,12450,4.726,13159,6.866,13201,5.383,13754,4.726,14271,7.193,14605,8.244,14612,6.856,14613,9.413,14614,6.856,14615,9.413,14616,6.856,14617,9.413,14618,6.856,14619,6.343,14620,6.856,14621,6.856,14622,6.856,14623,6.856,14624,6.856,14625,6.856,14626,6.856,14627,6.856,14628,4.901,14629,6.856,14630,6.856,14631,6.856,14632,6.856,14633,6.856,14634,6.856,14635,8.708,14636,6.856,14637,6.856,14638,6.856,14639,6.856,14640,6.343,14641,5.752,14642,6.856,14643,6.856]],["title/injectables/LdapStrategy.html",[539,0.921,1426,6.012]],["body/injectables/LdapStrategy.html",[0,0.148,3,0.01,4,0.01,5,0.005,7,0.063,8,0.82,27,0.44,29,0.88,30,0.001,31,0.672,32,0.159,33,0.512,34,0.73,35,1.226,36,2.287,39,1.194,47,0.898,48,5.78,51,5.236,66,6.923,72,1.97,87,5.983,94,5.867,95,0.15,99,0.709,101,0.007,103,0,104,0,105,0.447,120,3.953,128,2.757,141,3.168,142,2.637,177,1.989,179,4.451,180,1.18,182,1.388,217,6.715,226,0.638,227,1.81,236,1.519,239,2.365,253,2.156,262,2.608,270,3.319,292,2.212,294,3.405,324,3.427,349,0.965,358,1.95,379,0.854,437,1.591,479,3.934,480,2.595,521,1.729,529,2.663,539,0.908,541,1.049,556,2.293,579,3.629,593,3.475,603,2.72,604,1.795,608,2.737,622,7.787,631,2.227,654,3.207,938,2.529,990,3.191,1123,4.389,1130,2.483,1218,1.651,1242,3.657,1243,4.517,1312,5.372,1341,1.401,1422,8.304,1425,9.342,1426,5.926,1427,6.543,1435,3.257,1446,3.665,1447,4.041,1454,3.122,1582,6.26,1594,6.26,1605,3.257,1726,1.868,1877,5.529,1891,3.429,1964,5.686,2093,2.461,2312,4.615,2460,3.337,3134,5.299,3624,3.429,3671,2.873,4208,4.041,4266,3.151,4271,6.744,4608,2.961,4743,3.574,5662,3.064,5837,3.064,6835,2.961,7310,3.257,8580,4.936,8816,5.478,8844,3.337,9006,5.543,10973,3.429,12217,3.665,12954,6.706,13012,3.01,13754,6.429,14010,3.429,14014,5.677,14019,3.665,14585,6.949,14628,3.122,14644,4.368,14645,7.663,14646,6.767,14647,6.767,14648,3.825,14649,4.368,14650,4.368,14651,4.368,14652,6.767,14653,4.368,14654,6.767,14655,4.368,14656,4.368,14657,6.26,14658,4.368,14659,4.368,14660,4.041,14661,4.368,14662,4.368,14663,4.041,14664,3.665,14665,4.041,14666,4.368,14667,3.825,14668,4.368,14669,4.368,14670,4.041,14671,4.368,14672,4.368,14673,4.041,14674,6.26,14675,4.041,14676,4.041,14677,4.368,14678,4.041,14679,7.663,14680,4.368,14681,4.368,14682,4.368,14683,4.041,14684,6.767,14685,3.825,14686,4.368,14687,4.368,14688,6.767,14689,4.368,14690,4.368,14691,4.368]],["title/classes/LdapUserMigrationException.html",[0,0.232,14574,5.557]],["body/classes/LdapUserMigrationException.html",[0,0.422,2,0.913,3,0.018,4,0.018,5,0.009,30,0.001,47,0.828,52,5.684,55,1.686,95,0.127,101,0.019,103,0.001,104,0.001,157,5.157,180,2.249,226,1.207,239,1.936,349,1.22,590,6.573,654,3.544,936,5.288,1025,4.671,1147,3.583,1338,5.772,1339,6.444,1341,2.65,1343,5.86,2680,6.833,4541,6.36,4565,3.727,8829,6.49,8830,6.737,8928,10.092,13754,5.695,14571,6.689,14572,6.932,14573,6.162,14574,10.446,14575,9.899,14577,9.899,14579,6.932,14580,6.932,14581,6.689,14582,8.942,14583,6.027,14584,6.689]],["title/modules/LearnroomApiModule.html",[201,1.848,14692,5.557]],["body/modules/LearnroomApiModule.html",[0,0.214,3,0.014,4,0.014,5,0.007,30,0.001,95,0.16,101,0.01,103,0,104,0,201,2.772,203,2.298,204,2.464,205,2.534,206,2.524,207,2.513,208,3.808,209,2.399,217,7.366,218,3.566,219,2.484,220,2.426,222,3.946,223,3.704,225,4.092,226,0.924,227,2.621,358,2.823,636,3.698,1752,6.943,1797,8.73,1804,7.447,1805,8.033,1832,3.473,1944,2.667,2531,2.928,2764,2.994,3003,9.109,3043,3.856,3044,3.562,3731,4.221,4500,4.613,4729,4.221,6587,8.91,6852,9.017,6866,10.247,6868,10.247,6944,10.247,7612,9.017,7629,10.247,7891,9.589,7976,6.986,7996,4.832,8587,9.589,8678,9.888,8913,4.832,11057,4.832,11058,4.832,14692,11.767,14693,6.323,14694,6.323,14695,6.323,14696,8.73,14697,9.109,14698,10.247,14699,10.247,14700,10.247,14701,6.323,14702,9.017,14703,5.538,14704,6.323,14705,6.323,14706,6.323,14707,6.323,14708,5.85,14709,6.323,14710,5.85]],["title/modules/LearnroomModule.html",[201,1.848,14696,4.906]],["body/modules/LearnroomModule.html",[0,0.225,3,0.015,4,0.015,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,201,2.846,203,2.414,204,2.589,205,2.662,206,2.651,207,2.641,208,3.91,209,4.011,214,5.776,217,7.482,218,3.691,219,2.609,220,2.549,225,3.661,226,0.971,227,2.753,560,2.73,636,3.885,1341,2.131,1804,7.565,1805,8.16,1829,9.252,1830,4.846,1911,9.21,2991,10.409,3003,9.252,3043,4.051,3044,3.743,4977,10.409,5096,11.397,6587,9.05,6889,10.998,6896,10.998,7891,9.74,7976,7.231,8913,5.076,14696,10.402,14697,9.252,14703,5.818,14710,6.146,14711,6.643,14712,6.643,14713,6.643,14714,6.643,14715,9.252,14716,6.643,14717,6.146]],["title/injectables/LegacyLogger.html",[539,0.921,2313,3.128]],["body/injectables/LegacyLogger.html",[0,0.31,3,0.011,4,0.011,5,0.006,7,0.074,8,1.229,27,0.518,29,0.978,30,0.001,31,0.727,32,0.16,33,0.593,35,1.47,47,0.973,59,3.627,72,2.316,95,0.135,101,0.008,102,2.6,103,0,104,0,107,1.206,112,0.586,131,5.352,177,0.957,226,0.75,236,0.836,284,3.061,349,0.791,358,3.416,379,0.648,437,1.009,462,2.797,472,2.673,480,1.428,486,2.305,519,3.935,539,1.027,541,1.234,556,2.248,560,3.144,572,6.007,603,2.59,639,2.417,739,2.216,990,2.618,1025,4.984,1122,3.285,1130,2.918,1147,2.778,1218,4.451,1295,5.581,2024,2.39,2312,5.126,2313,3.487,2368,3.244,3002,3.481,3308,3.427,3916,3.285,4603,5.581,5284,3.244,5558,3.117,5573,5.187,8384,8.34,8871,8.877,8881,4.497,8882,6.007,8885,4.497,10162,7.404,10527,4.665,10973,4.031,11504,6.419,12907,9.494,12910,4.497,12911,6.701,12912,7.078,12914,7.078,12915,9.377,12917,7.078,12918,8.877,12920,7.078,12922,7.078,14718,12.776,14719,5.134,14720,7.651,14721,9.377,14722,9.377,14723,7.651,14724,7.651,14725,5.134,14726,5.134,14727,5.134,14728,5.134,14729,5.134,14730,7.078,14731,5.134,14732,7.651,14733,5.134,14734,5.134,14735,7.651,14736,7.651,14737,6.701,14738,6.007,14739,7.651,14740,5.134,14741,5.134,14742,4.75,14743,4.156,14744,5.134,14745,4.156,14746,4.75,14747,4.156,14748,5.134,14749,5.134,14750,5.134,14751,5.134,14752,5.134,14753,6.701,14754,5.134,14755,4.75,14756,4.75]],["title/modules/LegacySchoolApiModule.html",[201,1.848,14757,5.557]],["body/modules/LegacySchoolApiModule.html",[0,0.275,3,0.018,4,0.018,5,0.009,30,0.001,52,3.917,95,0.162,101,0.013,102,6.275,103,0.001,104,0.001,128,3.313,201,3.152,203,2.954,204,3.168,205,3.258,206,3.245,207,3.232,208,4.33,209,3.085,214,6.125,218,4.227,219,3.193,220,3.12,222,5.074,223,4.391,225,4.193,226,1.188,654,2.442,950,5.015,1341,2.608,1752,7.478,1964,5.943,2531,3.765,2764,3.849,3603,4.091,5434,8.418,10317,5.348,14757,11.542,14758,8.131,14759,8.131,14760,8.131,14761,10.052,14762,11.037,14763,11.037,14764,6.821,14765,7.399,14766,10.254,14767,8.131,14768,8.131,14769,8.131,14770,7.522]],["title/controllers/LegacySchoolController.html",[259,2.624,14766,6.012]],["body/controllers/LegacySchoolController.html",[0,0.227,3,0.015,4,0.015,5,0.008,7,0.096,8,1.126,27,0.382,29,0.734,30,0.001,31,0.528,32,0.161,33,0.445,35,1.128,36,2.458,95,0.152,100,2.285,101,0.01,102,5.81,103,0,104,0,138,1.661,150,1.51,153,2.438,177,1.73,223,2.797,226,0.982,236,1.512,259,2.569,261,3.218,262,2.749,270,6.26,274,5.599,292,5.81,294,6.642,324,4.702,333,4.528,337,3.499,338,3.576,343,5.704,345,2.143,349,0.96,437,1.513,517,3.51,603,1.383,608,2.152,654,3.195,739,4.952,1964,5.231,2764,3.182,2963,3.524,3779,5.483,4081,4.246,10317,6.996,14762,7.789,14763,8.924,14765,6.512,14766,8.131,14770,6.217,14771,10.637,14772,6.217,14773,9.84,14774,9.316,14775,6.72,14776,11.821,14777,6.72,14778,11.472,14779,6.72,14780,9.284,14781,6.72,14782,6.72,14783,11.177,14784,6.72,14785,6.72,14786,6.72,14787,7.516,14788,8.131,14789,6.772,14790,7.759,14791,8.611,14792,5.638,14793,5.886,14794,9.747,14795,6.72,14796,6.72,14797,6.72,14798,6.72,14799,6.636,14800,6.72,14801,6.72,14802,6.72,14803,6.72,14804,6.72,14805,9.284,14806,6.72,14807,6.72]],["title/classes/LegacySchoolDo.html",[0,0.232,1964,3.867]],["body/classes/LegacySchoolDo.html",[0,0.223,2,0.727,3,0.014,4,0.014,5,0.007,7,0.094,26,2.433,27,0.563,29,0.52,30,0.001,31,0.647,32,0.177,33,0.678,34,1.529,47,0.923,83,2.66,95,0.125,101,0.01,102,5.758,103,0,104,0,112,0.7,119,1.89,180,1.982,182,2.091,271,2.442,379,0.83,382,1.965,404,2.647,655,5.327,685,3.825,1718,3.968,1726,3.912,1746,7.233,1778,3.593,1834,6.539,1964,6.731,2044,2.554,2501,3.169,3894,6.305,4392,7.975,4409,5.027,5963,4.799,6713,7.249,6721,7.02,6806,4.906,7119,3.926,7429,5.027,8989,6.645,8993,4.906,9745,5.762,10325,7.675,10326,6.99,10327,7.858,10926,5.979,11376,7.02,12118,5.762,13010,8.037,13011,7.672,13012,7.249,13013,7.518,13037,7.378,13039,4.906,13040,5.326,13043,5.027,13048,4.703,14808,13.663,14809,6.579,14810,8.012,14811,9.148,14812,6.579,14813,6.579,14814,6.579,14815,6.579,14816,6.579,14817,6.579,14818,6.579,14819,6.579,14820,6.579,14821,6.579,14822,6.579,14823,6.579,14824,6.579,14825,6.579,14826,6.579,14827,6.579,14828,6.579,14829,6.579,14830,6.579,14831,5.165,14832,6.579,14833,6.579]],["title/classes/LegacySchoolFactory.html",[0,0.232,14834,6.35]],["body/classes/LegacySchoolFactory.html",[0,0.171,2,0.558,3,0.011,4,0.011,5,0.006,7,0.072,8,0.917,27,0.537,29,1.04,30,0.001,31,0.725,32,0.173,33,0.601,34,1.263,35,1.496,47,0.531,55,2.39,59,3.316,95,0.12,99,0.82,101,0.008,103,0,104,0,112,0.578,120,3.203,133,2.62,140,2.774,143,1.12,153,2.076,154,1.833,155,2.468,177,1.408,180,1.318,236,1.638,271,4.654,319,3.203,349,0.522,379,0.637,382,3.894,413,2.283,437,0.666,447,7.044,448,4.584,449,5.568,452,4.186,453,5.568,454,5.576,455,4.186,456,4.186,457,4.186,458,4.118,459,4.587,460,5.016,461,6.508,462,5.865,463,7.002,464,2.821,469,2.797,470,4.186,471,2.821,472,5.234,473,5.392,474,4.28,475,5.092,476,4.151,477,2.797,478,2.649,479,4.163,480,3.35,481,2.73,482,2.688,483,2.797,484,5.162,485,2.821,486,3.627,487,4.934,488,2.797,489,6.943,490,4.286,491,6.669,492,2.821,493,3.708,494,2.797,495,2.821,496,2.797,497,2.821,498,2.797,501,2.797,502,6.155,503,2.821,504,2.797,505,4.186,506,3.935,507,4.186,508,2.821,509,2.709,510,2.688,511,2.244,512,2.797,513,2.797,514,2.797,515,2.821,516,2.821,517,1.909,518,2.797,519,1.556,520,2.821,521,2.993,522,2.797,523,2.821,526,2.954,655,2.558,708,4.029,1964,2.846,4374,6.354,4376,3.611,4392,3.372,6721,3.372,8989,3.191,10327,3.322,10926,2.871,13010,3.86,13011,3.685,13012,3.482,13018,4.089,13219,3.767,14834,6.993,14835,5.051,14836,5.051,14837,5.051,14838,5.051,14839,5.051,14840,5.051,14841,5.051,14842,5.051,14843,5.051,14844,10.054,14845,3.86,14846,3.86,14847,3.86,14848,5.051,14849,5.051,14850,5.051,14851,5.051]],["title/modules/LegacySchoolModule.html",[201,1.848,5434,4.393]],["body/modules/LegacySchoolModule.html",[0,0.262,3,0.017,4,0.017,5,0.009,30,0.001,95,0.15,101,0.012,102,6.158,103,0.001,104,0.001,201,3.079,203,2.814,204,3.018,205,3.103,206,3.091,207,3.078,208,4.229,209,4.338,214,6.043,218,4.094,219,3.041,220,2.972,225,4.061,226,1.131,227,3.209,560,3.182,1341,2.484,1427,9.105,1959,8.796,1964,5.756,2487,4.09,5434,9.229,10310,10.89,10316,11.68,10317,5.093,14764,6.497,14765,7.167,14852,7.744,14853,7.744,14854,7.744,14855,7.744,14856,11.68,14857,10.89,14858,10.89,14859,7.744]],["title/injectables/LegacySchoolRepo.html",[539,0.921,1427,4.815]],["body/injectables/LegacySchoolRepo.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.062,8,0.816,10,2.732,12,3.021,18,3.366,26,2.453,27,0.54,29,1.029,30,0.001,31,0.752,32,0.168,33,0.624,34,1.554,35,1.567,36,2.628,40,2.091,47,0.828,48,4.819,95,0.127,96,1.799,97,1.807,99,0.704,101,0.007,102,4.708,103,0,104,0,112,0.332,133,2.334,154,1.881,173,1.262,177,1.255,180,1.174,226,0.634,236,1.344,262,2.916,292,2.198,349,1.101,379,0.548,381,1.471,382,3.771,437,1.226,448,3.347,519,1.337,529,1.239,539,0.904,541,1.043,556,1.067,593,3.748,603,2.362,608,1.56,644,5.346,654,2.022,655,4.708,680,4.565,686,3.085,687,4.967,708,1.739,718,2.327,1226,2.091,1341,1.392,1427,4.723,1665,3.434,1964,6.912,2000,2.49,2299,8.968,2301,4.813,2302,4.813,2303,4.813,2304,4.813,2305,4.723,2306,4.723,2307,4.813,2308,4.723,2309,4.813,2310,3.166,2311,5.284,2312,3.853,2313,4.236,2315,4.912,2316,3.102,2318,5.384,2319,3.102,2321,3.102,2323,2.815,2324,4.723,2325,3.102,2327,3.102,2329,4.813,2333,4.813,2335,4.565,2336,4.723,2338,3.102,2340,2.617,2341,2.677,2342,3.102,2344,3.102,2346,3.044,2347,3.102,2353,2.942,4392,4.494,4446,2.708,4447,3.407,4580,2.708,6114,3.166,6115,3.166,6116,3.166,6117,3.166,6118,3.166,6119,3.166,6120,3.166,6121,3.166,6122,3.166,6130,3.316,6132,3.899,6721,4.494,8989,6.727,9006,3.698,9547,3.316,9630,3.801,10327,4.428,10669,4.254,10926,4.689,11710,3.641,13008,8.359,13010,5.145,13011,4.912,13012,4.641,13014,3.237,13037,3.044,13925,7.526,14628,3.102,14765,4.723,14860,10.062,14861,4.34,14862,5.897,14863,6.733,14864,4.34,14865,4.34,14866,5.897,14867,4.34,14868,6.733,14869,4.34,14870,4.34,14871,4.34,14872,4.34,14873,4.015,14874,4.34,14875,4.34,14876,4.34,14877,4.34,14878,4.34,14879,4.34,14880,4.34,14881,4.015,14882,4.34,14883,4.34,14884,4.015,14885,4.34,14886,4.34,14887,4.34,14888,4.34,14889,4.34,14890,4.34,14891,4.015,14892,4.34,14893,4.34,14894,4.34,14895,4.015,14896,4.34,14897,4.34,14898,4.34,14899,4.34,14900,4.015,14901,6.733,14902,4.34,14903,4.34]],["title/injectables/LegacySchoolRule.html",[539,0.921,1766,5.759]],["body/injectables/LegacySchoolRule.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,27,0.468,29,0.899,30,0.001,31,0.647,32,0.157,33,0.545,35,1.232,95,0.154,99,1.242,101,0.012,102,6.13,103,0.001,104,0.001,119,2.501,131,4.314,133,4.364,154,2.301,177,1.427,226,1.119,239,3.179,345,2.441,349,1.049,379,0.966,437,1.337,539,1.361,541,1.839,604,3.146,662,4.019,1147,2.325,1661,6.819,1670,6.594,1697,8.075,1718,4.617,1735,7.38,1746,7.078,1747,4.569,1766,8.508,1875,6.577,1879,6.328,1886,5.11,1964,7.436,3411,6.769,3412,5.191,3415,6.669,3418,5.191,3419,6.875,3420,5.71,4446,4.778,6238,5.473,14765,7.113,14904,12.104,14905,7.656,14906,7.656,14907,7.656,14908,7.656]],["title/injectables/LegacySchoolService.html",[539,0.921,1959,4.337]],["body/injectables/LegacySchoolService.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,18,4.213,26,2.499,27,0.505,29,0.97,30,0.001,31,0.699,32,0.159,33,0.588,34,0.979,35,1.447,36,2.845,47,0.933,48,5.17,95,0.129,99,0.951,101,0.009,102,5.467,103,0,104,0,145,2.767,154,1.185,177,1.57,226,0.856,227,2.428,262,3.05,349,1.183,379,1.064,437,1.57,480,1.63,486,1.765,502,3.192,539,1.131,541,1.408,593,3.14,603,1.734,608,2.91,654,2.532,655,2.967,1123,7.001,1289,3.613,1427,7.572,1959,5.325,1964,7.483,4266,2.847,6961,7.959,10317,8.26,12954,6.823,13013,8.977,13925,9.642,14467,7.797,14663,7.797,14765,5.912,14857,10.296,14881,5.42,14909,12.558,14910,5.859,14911,8.428,14912,8.428,14913,8.428,14914,8.428,14915,8.428,14916,5.42,14917,5.859,14918,8.428,14919,5.859,14920,8.428,14921,5.859,14922,8.428,14923,5.859,14924,5.859,14925,8.428,14926,5.859,14927,8.428,14928,5.859,14929,8.428,14930,5.859,14931,5.859,14932,8.428,14933,5.859,14934,5.859,14935,8.428,14936,5.859,14937,5.859,14938,5.859,14939,5.859]],["title/injectables/LegacySchoolUc.html",[539,0.921,14762,5.759]],["body/injectables/LegacySchoolUc.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.077,8,0.963,27,0.428,29,0.821,30,0.001,31,0.591,32,0.134,33,0.498,35,1.145,36,2.225,39,3.164,47,0.918,52,2.601,95,0.138,99,0.876,101,0.008,102,5.261,103,0,104,0,119,2.589,128,2.2,131,3.014,177,2.063,226,0.789,236,1.294,239,2.713,262,2.556,349,0.821,379,1.002,437,1.652,519,2.446,539,1.066,541,1.297,556,2.721,560,2.219,593,2.959,603,2.526,608,2.904,643,2.423,654,3.688,933,4.398,1675,3.293,1726,2.309,1758,5.529,1958,4.372,1959,6.563,1961,5.224,1964,6.918,1966,6.43,2531,2.5,3603,2.717,4266,3.739,4571,8.554,4572,8.925,4573,9.689,4578,6.737,4580,6.908,4584,4.239,4587,4.239,4590,5.923,4591,4.729,4593,6.956,4594,4.996,4595,4.996,4596,4.996,4736,8.251,7996,4.126,10317,7.281,14762,6.664,14765,5.571,14773,7.348,14774,8.251,14791,8.962,14793,4.729,14799,7.426,14845,8.846,14846,8.846,14847,8.846,14940,11.07,14941,5.4,14942,7.943,14943,5.4,14944,7.943,14945,5.4,14946,7.396,14947,7.943,14948,5.4,14949,4.996,14950,5.4,14951,4.996,14952,4.729,14953,5.4,14954,4.996,14955,4.027,14956,7.943,14957,6.43,14958,7.943,14959,7.348,14960,5.4,14961,5.4,14962,5.4,14963,7.943,14964,10.388,14965,4.996,14966,5.4,14967,5.4,14968,6.664,14969,5.4,14970,6.664,14971,4.53,14972,4.996,14973,5.4,14974,5.4]],["title/modules/LessonApiModule.html",[201,1.848,14975,5.557]],["body/modules/LessonApiModule.html",[0,0.31,3,0.02,4,0.02,5,0.01,30,0.001,95,0.158,101,0.014,103,0.001,104,0.001,201,3.331,203,3.327,204,3.568,205,3.669,206,3.654,207,3.639,208,4.576,209,3.474,218,4.558,219,3.596,220,3.513,222,5.714,223,4.734,225,4.521,226,1.338,259,3.5,1752,7.711,2531,4.239,2764,4.335,14697,10.116,14975,11.422,14976,9.156,14977,9.156,14978,9.156,14979,11.381,14980,9.156,14981,10.836,14982,9.156]],["title/entities/LessonBoardElement.html",[154,1.389,2695,5.557]],["body/entities/LessonBoardElement.html",[0,0.324,3,0.021,4,0.021,5,0.011,7,0.138,27,0.395,30,0.001,32,0.124,95,0.15,96,2.562,101,0.015,103,0.001,104,0.001,112,0.895,138,1.715,154,2.367,155,3.13,173,2.788,180,1.671,181,2.594,403,5.354,2565,5.45,2666,9.186,2684,6.999,2685,6.725,2688,8.364,2690,8.043,2695,9.473,2739,5.962,3034,7.326,3075,9.817,5094,4.439,5095,8.397,13284,9.817,14983,11.701,14984,8.869,14985,9.587]],["title/controllers/LessonController.html",[259,2.624,14981,6.012]],["body/controllers/LessonController.html",[0,0.302,3,0.02,4,0.02,5,0.01,7,0.128,8,1.358,10,4.965,27,0.368,29,0.706,30,0.001,31,0.509,32,0.116,33,0.428,35,1.085,36,2.4,95,0.157,100,3.037,101,0.014,103,0.001,104,0.001,138,1.599,150,2.007,177,1.665,223,3.719,226,1.305,259,3.415,261,4.279,262,2.702,270,6.293,294,6.648,333,3.803,337,4.651,338,4.755,343,4.791,345,2.848,349,0.924,437,1.178,608,2.07,739,4.835,2764,4.23,2941,7.367,2963,4.685,5146,4.948,14979,10.266,14981,9.81,14986,8.934,14987,7.496,14988,10.072,14989,11.201,14990,8.934,14991,8.934,14992,8.934,14993,7.496,14994,8.934,14995,8.265]],["title/classes/LessonCopyApiParams.html",[0,0.232,6640,5.759]],["body/classes/LessonCopyApiParams.html",[0,0.39,2,1.032,3,0.021,4,0.021,5,0.01,7,0.134,27,0.385,30,0.001,32,0.121,33,0.552,34,1.925,47,0.809,95,0.137,100,3.916,101,0.014,103,0.001,104,0.001,112,0.881,138,1.672,148,2.895,149,4.437,150,2.1,153,2.862,249,4.506,253,4.612,808,4.56,1455,9.043,1920,6.015,1926,4.322,2480,6.803,2686,5.195,2696,5.363,2918,6.177,2919,6.177,3366,5.685,6406,10.088,6640,9.664,7282,9.043,11310,8.184,14996,11.519,14997,8.645,14998,8.645]],["title/injectables/LessonCopyUC.html",[539,0.921,14698,5.759]],["body/injectables/LessonCopyUC.html",[0,0.196,3,0.013,4,0.013,5,0.006,7,0.083,8,1.012,26,2.489,27,0.469,29,0.848,30,0.001,31,0.611,32,0.139,33,0.515,35,1.304,36,1.789,39,1.581,95,0.152,99,0.938,101,0.009,103,0,104,0,119,1.195,177,2.12,226,0.845,227,2.397,236,1.36,239,3.105,262,2.164,349,0.598,379,1.054,437,1.681,519,3.505,529,2.384,539,1.121,541,1.39,591,4.704,603,2.808,608,2.487,643,2.595,933,3.203,990,1.979,1025,2.29,1181,5.975,1226,2.786,1675,3.527,1730,4.682,1758,5.711,1804,7.454,1805,8.04,1926,4.027,1931,3.654,2079,2.557,2080,2.855,2081,2.754,2082,3.701,2480,3.416,2530,3.451,2531,2.678,2684,6.056,2696,2.693,2997,7.006,3005,10.256,3007,8.917,3013,9.597,3020,10.97,3025,6.356,3043,3.527,3044,3.259,3047,4.682,3089,5.066,3090,5.066,3091,5.351,3608,6.556,4702,4.419,4743,3.055,5121,5.975,6604,7.006,6642,9.927,6908,6.76,6946,5.066,6947,9.003,6953,5.066,6959,5.066,6960,5.066,6961,3.751,11994,8.222,14698,7.006,14703,5.066,14999,11.858,15000,8.35,15001,8.35,15002,5.784,15003,5.784,15004,8.35,15005,5.784,15006,5.784,15007,8.35,15008,5.784,15009,7.725,15010,5.351,15011,5.784,15012,5.351,15013,5.066,15014,5.784,15015,6.556,15016,5.351,15017,5.784,15018,5.784,15019,5.784,15020,5.784,15021,5.784,15022,5.784,15023,5.784,15024,5.784,15025,8.35,15026,5.784,15027,5.784,15028,5.784,15029,5.784,15030,5.784,15031,8.35,15032,4.853,15033,5.784]],["title/entities/LessonEntity.html",[154,1.389,2684,3.653]],["body/entities/LessonEntity.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.131,26,2.02,27,0.468,30,0.001,31,0.521,32,0.147,33,0.315,47,0.934,55,2.145,95,0.142,96,1.125,101,0.019,103,0,104,0,105,1.163,112,0.503,119,1.359,138,2.034,143,2.2,144,2.14,145,2.268,153,1.854,154,1.33,155,1.375,172,3.551,173,1.224,174,2.514,175,1.88,178,1.673,180,0.734,181,1.139,182,1.338,226,0.615,236,1.713,239,0.987,316,3.554,349,1.279,437,1.63,474,1.792,480,2.251,486,2.437,529,1.877,556,1.989,563,3.924,603,1.353,604,1.73,662,1.308,696,1.634,742,2.312,839,1.308,1147,1.279,1218,1.591,1226,2.028,1262,3.19,1271,2.849,1664,1.574,1717,2.016,1739,3.028,1920,3.167,1926,4.265,1944,1.776,2044,1.634,2255,4.019,2670,4.817,2673,5.022,2677,2.312,2682,4.208,2683,2.486,2684,4.867,2686,3.649,2687,4.103,2696,3.061,2700,4.325,2804,4.867,2882,3.852,3366,3.993,3476,6.267,3495,5.783,3601,1.694,3629,2.953,3630,2.953,4119,3.883,4278,2.66,4342,1.861,4969,2.596,4973,2.66,4974,2.73,5094,1.949,5119,6.837,5130,3.009,5146,2.331,5153,4.208,5158,7.049,5170,3.009,5176,3.009,5181,3.009,5758,7.247,6614,5.401,6617,5.783,6735,4.264,6757,2.627,6767,6.713,6768,2.81,6769,4.325,6771,4.154,6809,4.208,6810,4.389,6835,4.458,6997,3.687,7006,2.627,7007,2.81,8955,4.7,11385,6.2,12695,4.7,12696,3.071,12697,5.178,12698,3.071,12699,4.612,12700,7.225,12701,4.7,12702,3.009,12703,4.7,12704,4.7,12705,4.7,12706,3.071,12707,4.7,12708,2.81,12709,4.7,12710,4.7,12711,3.071,12712,3.071,12713,3.071,12714,4.612,12715,4.612,12716,4.796,12717,4.796,12718,4.796,12719,4.796,12720,5.675,12721,2.953,12722,4.796,12723,3.071,12724,3.071,12725,3.071,12726,2.901,12727,3.071,12728,3.071,12729,4.796,12730,3.071,12731,3.071,12732,6.671,12733,5.902,12734,3.009,12735,3.071,12736,3.071,12737,3.071,12738,3.071,12739,3.071,12740,3.071,12741,3.071,12742,3.071,12743,3.071,12744,3.071,12745,3.071,12746,2.901,12747,3.071,12748,3.071,15034,4.21,15035,4.21,15036,4.21,15037,4.21,15038,4.21,15039,4.21,15040,4.21,15041,4.21,15042,4.21]],["title/classes/LessonFactory.html",[0,0.232,15043,6.35]],["body/classes/LessonFactory.html",[0,0.168,2,0.55,3,0.011,4,0.011,5,0.006,7,0.071,8,0.906,27,0.535,29,1.037,30,0.001,31,0.722,32,0.173,33,0.599,34,1.501,35,1.49,47,0.525,55,2.378,59,3.295,95,0.107,99,0.808,101,0.008,103,0,104,0,112,0.572,120,3.168,133,2.591,140,2.733,145,1.395,153,2.058,154,2.164,155,2.441,177,1.393,180,1.303,271,4.709,319,3.168,349,0.515,379,0.628,382,3.882,413,2.258,437,1.184,447,7.205,448,4.559,449,5.527,452,4.14,453,5.527,454,5.679,455,4.14,456,4.14,457,4.14,458,4.072,459,4.547,460,4.972,461,6.48,462,5.827,463,7.042,464,2.78,469,2.756,470,4.14,471,2.78,472,5.196,473,5.352,474,4.248,475,5.055,476,4.106,477,2.756,478,2.61,479,4.14,480,3.335,481,2.69,482,2.649,483,2.756,484,5.124,485,2.78,486,3.611,487,4.891,488,2.756,489,6.918,490,4.267,491,6.639,492,2.78,493,4.404,494,2.756,495,2.78,496,2.756,497,2.78,498,2.756,499,3.106,500,2.91,501,2.756,502,6.121,503,2.78,504,2.756,505,4.14,506,3.892,507,4.14,508,2.78,509,2.669,510,2.649,511,2.211,512,2.756,513,2.756,514,2.756,515,2.78,516,2.78,517,1.881,518,2.756,519,1.533,520,2.78,521,2.96,522,2.756,523,2.78,526,2.91,1926,4.373,2684,3.978,2696,2.317,3476,4.723,5119,5.152,6972,4.176,7020,4.604,7022,4.604,11385,5.068,12699,3.491,12700,3.273,15043,8.305,15044,4.977,15045,4.977,15046,7.475,15047,4.977,15048,4.977,15049,4.977,15050,4.977]],["title/modules/LessonModule.html",[201,1.848,14697,5.119]],["body/modules/LessonModule.html",[0,0.257,3,0.017,4,0.017,5,0.009,30,0.001,95,0.159,101,0.012,103,0.001,104,0.001,201,3.05,203,2.761,204,2.961,205,3.045,206,3.033,207,3.021,208,4.189,209,4.298,214,6.011,218,4.043,219,2.985,220,2.916,225,4.011,226,1.11,227,3.149,560,3.122,1231,4.801,1341,2.437,1776,6.375,1805,8.492,3005,11.647,3043,4.634,3044,4.281,3592,9.629,3600,3.774,3601,3.058,5106,10.899,6587,9.419,8939,11.308,8943,9.419,14697,10.79,14715,9.629,14717,7.03,15051,7.599,15052,7.599,15053,7.599,15054,7.599,15055,11.308,15056,7.599]],["title/injectables/LessonRepo.html",[539,0.921,1805,4.515]],["body/injectables/LessonRepo.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.03,10,3.448,12,3.814,13,6.199,18,4.248,26,2.65,27,0.519,29,0.974,30,0.001,31,0.701,32,0.166,33,0.59,34,0.991,35,1.496,36,2.788,39,2.323,40,4.094,42,6.199,59,1.826,95,0.137,96,1.584,98,3.537,99,0.962,101,0.009,103,0,104,0,119,1.225,120,3.601,154,1.199,155,2.775,173,1.723,180,1.481,226,0.866,236,0.965,239,1.389,262,3.024,349,1.188,361,3.369,382,3.242,437,1.624,479,4.855,539,1.141,541,1.424,556,1.457,608,2.663,662,3.086,679,7.065,685,3.553,686,3.893,687,4.904,711,3.537,712,3.575,713,3.537,714,3.575,716,3.537,717,3.575,718,3.178,721,3.699,741,4.018,743,4.018,1805,5.59,1926,3.189,2093,4.788,2684,6.114,2696,5.053,2804,3.154,3476,3.745,3697,4.085,5146,6.01,5158,4.922,5558,3.463,6132,4.922,6134,4.085,7027,4.529,7031,4.529,7149,7.102,11007,7.862,11012,7.443,11013,5.483,11385,4.018,12700,5.59,15057,5.927,15058,8.498,15059,8.498,15060,8.498,15061,5.927,15062,8.498,15063,5.927,15064,5.927,15065,5.927,15066,5.927,15067,7.443,15068,5.927,15069,5.927,15070,5.927,15071,5.927,15072,5.927,15073,5.927,15074,5.927,15075,5.927,15076,5.927,15077,5.927,15078,5.927,15079,5.927,15080,5.927]],["title/injectables/LessonRule.html",[539,0.921,1767,5.557]],["body/injectables/LessonRule.html",[0,0.166,3,0.011,4,0.011,5,0.005,7,0.07,8,0.897,27,0.491,29,0.944,30,0.001,31,0.679,32,0.158,33,0.572,35,1.409,95,0.133,101,0.008,103,0,104,0,119,2.727,131,3.759,145,2.495,154,2.836,177,1.658,226,0.717,236,0.799,239,3.284,349,1.199,379,0.933,437,1.574,529,1.4,539,0.992,541,1.178,603,2.771,604,2.015,662,3.471,739,5.457,1107,7.577,1147,1.49,1515,3.506,1670,5.397,1673,6.11,1678,2.991,1679,3.274,1687,6.134,1688,4.863,1697,6.973,1718,2.958,1735,4.508,1762,9.389,1763,8.649,1767,5.986,1875,4.795,1879,4.614,1886,3.274,1926,4.193,2684,7.125,3135,4.732,3136,2.788,3255,3.099,3411,4.935,3412,3.325,3415,4.863,3418,3.325,3419,5.013,6410,3.506,6767,5.852,7039,4.296,7041,4.115,7042,6.476,15081,4.905,15082,7.394,15083,7.394,15084,7.394,15085,7.394,15086,7.394,15087,4.905,15088,7.394,15089,4.905,15090,7.394,15091,4.905,15092,4.905,15093,4.905,15094,7.394,15095,4.905,15096,7.394,15097,4.905,15098,6.84,15099,4.905,15100,4.905,15101,9.166,15102,4.905,15103,4.905,15104,4.538,15105,7.394,15106,7.394,15107,4.905,15108,9.908,15109,8.233,15110,7.394,15111,7.394,15112,4.905,15113,4.905,15114,4.538,15115,4.905]],["title/classes/LessonScope.html",[0,0.232,15067,6.012]],["body/classes/LessonScope.html",[0,0.262,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,26,2.474,27,0.545,29,0.96,30,0.001,31,0.692,32,0.171,33,0.583,35,1.476,95,0.121,99,1.254,101,0.012,103,0.001,104,0.001,112,0.781,119,2.681,180,1.779,310,3.352,349,1.055,382,3.773,480,2.15,486,2.328,519,2.381,603,2.669,1926,2.9,2350,6.747,2684,4.113,3476,4.883,5558,5.589,6242,6.811,6243,6.811,6244,6.811,6249,6.811,6250,6.811,6251,5.24,6252,5.159,6253,5.24,6254,5.24,6263,5.159,6264,6.811,6265,5.24,6266,5.159,6267,5.24,6268,5.159,6269,6.811,7027,7.797,7384,6.154,8499,6.068,9795,9.44,9799,9.44,15067,11.362,15116,11.423,15117,9.44,15118,9.44,15119,7.15,15120,7.15,15121,6.769]],["title/injectables/LessonService.html",[539,0.921,5106,5.389]],["body/injectables/LessonService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.098,8,1.14,12,4.219,26,2.799,27,0.516,29,0.99,30,0.001,31,0.713,32,0.162,33,0.6,35,1.472,36,2.873,39,2.935,95,0.138,98,4.084,99,1.111,101,0.011,103,0.001,104,0.001,177,1.752,226,1,227,2.837,262,3.07,349,1.295,379,1.187,437,1.416,510,3.643,539,1.262,541,1.644,603,1.935,608,2.808,1231,4.324,1805,8.235,2684,6.449,2696,4.377,3600,3.4,3601,2.754,5106,7.381,5119,6.48,5121,4.174,5146,5.947,6547,9.167,7024,8.698,7025,8.698,7027,5.23,15013,5.995,15122,6.845,15123,9.402,15124,9.402,15125,9.402,15126,6.845,15127,6.845,15128,9.402,15129,6.845,15130,9.402,15131,6.845,15132,9.402,15133,6.845,15134,6.845,15135,9.402,15136,6.845,15137,6.845,15138,6.845,15139,6.845,15140,9.402,15141,6.845,15142,6.845,15143,6.845,15144,9.402,15145,6.845,15146,6.845]],["title/injectables/LessonUC.html",[539,0.921,14979,5.759]],["body/injectables/LessonUC.html",[0,0.288,3,0.019,4,0.019,5,0.01,7,0.122,8,1.318,10,4.411,26,2.756,27,0.448,29,0.86,30,0.001,31,0.619,32,0.141,33,0.521,35,1.035,39,2.329,95,0.15,99,1.383,101,0.013,103,0.001,104,0.001,142,3.321,143,1.89,177,2.026,226,1.245,239,1.997,262,2.643,349,0.881,379,1.372,437,1.124,539,1.459,541,2.048,560,3.502,603,2.237,608,2.52,643,3.824,933,4.72,938,4.935,1218,3.222,1675,5.197,1758,7.089,1855,5.197,2517,6.217,2531,3.946,2535,5.978,2696,5.062,3136,4.845,5106,10.629,5121,7.3,5146,4.72,6767,5.034,14979,9.122,15147,8.522,15148,8.522,15149,9.522,15150,8.522,15151,8.522,15152,8.522,15153,6.9,15154,8.522,15155,8.522,15156,8.522]],["title/classes/LessonUrlParams.html",[0,0.232,14988,5.389]],["body/classes/LessonUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2696,5.551,3876,5.841,5121,7.806,14988,9.361,15157,9.89,15158,9.89]],["title/classes/LessonUrlParams-1.html",[0,0.193,708,2.287,14988,4.48]],["body/classes/LessonUrlParams-1.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2696,5.551,3876,5.841,5121,7.806,14988,9.361,15159,9.89,15160,9.89]],["title/classes/LibrariesBodyParams.html",[0,0.232,1143,5.557]],["body/classes/LibrariesBodyParams.html",[0,0.439,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.38,30,0.001,32,0.148,47,0.936,95,0.136,101,0.02,103,0.001,104,0.001,112,0.874,138,1.649,143,2.533,148,2.855,150,2.071,245,3.42,248,5.177,249,4.468,556,2.266,808,4.522,1105,5.709,1138,7.462,1143,10.047,1144,9.247,1145,9.247,1148,9.483,1150,5.39,1152,7.734,2406,5.148,5590,7.044,5661,8.073,5662,6.466,15161,9.218,15162,9.218]],["title/classes/LibraryFileUrlParams.html",[0,0.232,12059,6.012]],["body/classes/LibraryFileUrlParams.html",[0,0.398,2,1.069,3,0.021,4,0.021,5,0.015,7,0.139,27,0.485,30,0.001,32,0.152,47,0.926,95,0.14,101,0.015,103,0.001,104,0.001,112,0.901,138,2.106,148,2.998,150,2.175,245,3.252,248,5.061,809,6.965,1105,6.339,5825,8.954,5827,9.874,12059,10.307,15163,12.682,15164,12.682,15165,9.678,15166,9.678]],["title/classes/LibraryName.html",[0,0.232,10517,5.557]],["body/classes/LibraryName.html",[0,0.302,2,0.445,3,0.009,4,0.009,5,0.005,7,0.058,27,0.367,29,0.502,30,0.001,31,0.447,32,0.116,33,0.193,47,0.922,55,2.772,72,1.816,83,1.846,95,0.106,96,1.076,99,0.653,101,0.014,103,0,104,0,112,0.486,119,2.132,138,1.407,142,1.569,143,2.911,144,4.243,145,1.129,153,0.923,154,1.285,157,2.513,172,4.35,173,1.171,174,2.427,178,1.6,180,0.702,182,1.28,238,2.249,250,2.577,319,3.781,349,0.923,360,4.919,379,0.508,413,1.216,517,1.522,662,1.972,696,4.006,708,4.328,739,4.454,823,4.184,997,1.875,1105,4.855,1109,8.253,1110,8.802,1111,8.802,1125,5.441,1134,4.539,1147,2.95,1271,1.254,1288,2.193,1664,2.374,1823,4.852,2024,3.66,2044,1.563,2171,3.459,2255,3.005,2427,3.962,2494,4.238,2723,4.376,2784,1.906,2882,1.917,3122,1.738,3130,3.829,3625,3.161,3671,4.176,4745,4.118,5126,3.872,5384,4.539,5515,3.75,5541,3.962,5840,3.077,5841,3.077,5842,3.003,5843,3.077,5844,2.611,5850,3.003,5851,3.077,5863,6.819,5866,2.824,5867,3.077,5883,3.643,5884,3.077,5886,3.077,5894,2.824,5897,3.077,5899,3.077,5901,3.077,5903,3.077,5909,3.077,6441,3.68,6448,2.577,6679,2.878,6791,2.483,8555,2.775,10505,6.364,10506,3.378,10507,4.985,10508,6.007,10509,3.378,10513,5.327,10514,5.327,10515,5.327,10516,3.378,10517,7.862,10518,5.327,10519,5.327,10520,5.327,10521,5.327,10522,3.161,10523,3.378,10524,3.077,10525,5.14,10526,6.596,10527,6.586,10528,3.378,10529,6.596,10530,6.751,10531,5.14,10532,4.985,10533,5.327,10534,4.985,10535,5.327,10536,4.632,10537,5.327,10538,4.985,10539,5.327,10540,5.14,10541,5.327,10542,5.327,10543,3.161,10544,3.378,10545,6.007,10546,3.161,10547,2.824,10548,3.378,10549,3.378,10550,3.378,10551,3.378,10552,3.378,10553,3.378,10554,3.378,10555,3.378,10556,3.378,10557,3.378,10558,3.378,10559,3.378,10560,3.378,10561,3.378,10562,3.378,10563,3.378,10564,3.378,10565,3.378,10566,3.378,10567,3.378,10568,3.378,10569,3.378,10570,3.378,10571,3.378,10572,3.378,10573,3.378,10574,3.378,10575,3.378,10576,3.378,10577,3.378,10578,3.378,10579,3.378,10580,3.378,10581,3.378,10582,3.378,10583,3.378,10584,3.378,10585,3.378,10586,3.378,10587,3.378,10588,3.378,10589,3.378,10590,3.378,10591,3.378,10592,3.378,10593,3.378,10594,3.378,10595,3.378,10596,3.378,10597,3.378,10598,3.378,10599,3.378,10600,3.378,10601,3.378,10602,3.378,10603,3.378,10604,3.378,10605,3.378,10606,3.378,10607,3.378,10608,3.378,15167,6.349,15168,4.026,15169,4.026]],["title/classes/LibraryParametersBodyParams.html",[0,0.232,1145,5.557]],["body/classes/LibraryParametersBodyParams.html",[0,0.439,2,1.021,3,0.02,4,0.02,5,0.01,7,0.133,27,0.38,30,0.001,32,0.148,47,0.937,95,0.136,101,0.02,103,0.001,104,0.001,112,0.875,138,1.653,143,2.049,148,2.862,150,2.076,245,3.422,248,5.181,249,4.475,556,2.271,808,4.528,1105,5.718,1138,7.479,1143,9.26,1144,9.26,1145,10.058,1148,7.059,1150,5.402,1152,10.423,2406,5.16,5590,7.054,5661,8.091,5662,6.481,6470,7.751,15170,9.239]],["title/injectables/LibraryRepo.html",[539,0.921,12178,5.759]],["body/injectables/LibraryRepo.html",[0,0.172,3,0.011,4,0.011,5,0.006,7,0.073,8,0.919,10,3.075,12,3.401,18,3.789,26,1.543,27,0.525,29,0.974,30,0.001,31,0.725,32,0.16,33,0.591,34,0.847,35,1.525,36,2.844,40,2.442,47,0.906,49,2.876,55,2.801,95,0.108,101,0.008,103,0,104,0,154,1.837,155,2.475,180,1.321,226,0.741,236,1.479,262,3.064,292,3.839,349,1.213,382,3.009,437,1.422,479,4.695,529,2.591,539,1.017,541,1.218,593,3.752,608,2.334,679,6.727,685,3.169,686,3.473,687,4.481,696,1.968,708,3.638,711,3.025,712,3.058,713,3.025,714,3.058,715,3.495,716,3.025,717,3.058,718,2.719,723,3.624,740,7.697,1105,6.027,1109,9.735,1110,9.859,1111,9.859,1148,5.792,2207,4.571,5111,4.097,6132,5.257,9534,6.136,10524,8.645,10525,8.155,10530,3.058,12178,6.359,14447,4.691,15171,5.07,15172,7.58,15173,9.078,15174,9.078,15175,9.078,15176,10.073,15177,7.58,15178,5.07,15179,7.58,15180,5.07,15181,5.07,15182,5.07,15183,5.07,15184,5.07,15185,5.07,15186,5.07,15187,5.07,15188,5.07,15189,5.07,15190,5.07,15191,10.073,15192,7.58,15193,7.58,15194,5.07,15195,8.451,15196,7.58,15197,5.07,15198,5.07,15199,4.691,15200,5.07,15201,3.98]],["title/classes/LinkContentBody.html",[0,0.232,5773,4.582]],["body/classes/LinkContentBody.html",[0,0.452,2,0.607,3,0.012,4,0.012,5,0.006,7,0.079,9,2.616,27,0.431,30,0.001,31,0.635,32,0.179,33,0.559,47,0.921,83,1.598,95,0.133,99,0.891,101,0.021,103,0,104,0,112,0.616,138,1.874,143,1.218,148,1.702,149,3.666,150,1.235,153,2.555,172,1.717,180,1.943,245,3.556,248,4.803,249,4.557,284,1.66,305,3.182,480,3.102,807,5.148,808,3.185,839,1.707,852,2.558,1142,3.429,1262,3.32,1271,2.965,1643,3.213,1942,4.87,2255,4.262,2501,2.647,2882,2.616,2883,2.441,2922,2.631,3278,3.279,3280,3.279,3283,5.621,3286,4.955,3289,2.84,3294,3.096,3767,3.429,3788,3.429,3789,6.798,4163,5.575,5681,6.09,5683,6.172,5685,6.09,5687,6.172,5689,6.172,5734,3.614,5771,6.352,5772,6.352,5773,6.992,5774,6.352,5775,6.352,6088,6.78,7227,3.668,7287,3.245,8699,8.158,8700,7.684,8701,3.787,8704,5.291,8705,6.352,8706,6.352,8707,3.787,8708,6.352,8709,3.389,8710,3.725,8711,6.352,8712,6.352,8713,3.668,8714,3.668,8715,3.668,8716,3.668,8717,3.787,8718,3.787,8719,3.787,8720,3.787,8721,3.787,15202,9.517,15203,5.495,15204,5.495,15205,5.495,15206,5.495,15207,5.495]],["title/classes/LinkElement.html",[0,0.232,2867,4.515]],["body/classes/LinkElement.html",[0,0.191,2,0.622,3,0.012,4,0.012,5,0.006,7,0.081,8,0.993,27,0.56,29,1.001,30,0.001,31,0.721,32,0.169,33,0.607,35,1.584,36,1.755,47,0.973,55,1.671,59,1.735,95,0.098,101,0.015,103,0,104,0,105,0.576,112,0.627,119,1.994,137,5.111,145,1.579,153,2.429,180,1.683,262,2.131,349,1.215,381,2.775,382,3.711,448,3.323,474,2.397,479,3.018,480,3.456,517,4.006,519,3.827,604,2.314,608,1.305,662,2.544,686,3.752,1208,4.725,1218,2.129,1262,3.697,1271,3.301,1664,2.106,1665,3.409,1668,6.098,1739,3.772,1944,2.376,2512,5.627,2786,7.724,2789,5.854,2790,5.854,2791,5.854,2792,7.074,2793,5.854,2795,3.652,2796,5.051,2797,6.259,2799,5.745,2800,5.051,2801,6.137,2803,3.95,2804,4.359,2806,6.098,2807,3.95,2811,3.95,2813,3.652,2840,4.994,2867,6.97,3283,6.259,4026,4.108,4027,4.108,4028,4.108,4029,4.725,4037,3.558,4038,5.645,5287,7.173,5289,6.872,9173,4.025,9178,4.932,9180,4.932,10376,5.21,10378,5.21,15208,11.718,15209,5.632,15210,5.632,15211,5.632,15212,5.632,15213,5.632,15214,5.632,15215,5.632,15216,5.632,15217,5.632,15218,5.632,15219,5.632,15220,5.632,15221,5.632,15222,5.21,15223,5.21,15224,5.21,15225,7.577,15226,5.21,15227,5.21,15228,5.21,15229,4.932,15230,5.21]],["title/classes/LinkElementContent.html",[0,0.232,15231,5.759]],["body/classes/LinkElementContent.html",[0,0.344,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,27,0.519,29,0.608,30,0.001,31,0.437,32,0.174,33,0.605,34,1.904,47,0.953,95,0.136,99,1.247,101,0.016,103,0.001,104,0.001,112,0.778,138,2.169,149,4.856,150,1.727,153,2.889,245,3.481,253,3.793,379,1.438,404,3.092,774,3.919,839,2.387,1262,4.398,1271,3.927,2255,4.355,2566,3.431,2784,3.638,2918,4.121,2919,4.121,2922,3.681,3283,7.446,3461,5.391,3468,7.11,3473,4.586,3716,6.797,3720,5.944,3724,5.13,3726,5.13,4055,7.768,4163,6.062,5683,4.984,6446,4.153,6791,4.74,9189,6.222,9205,7.11,9207,7.11,15231,10.867,15232,11.983,15233,7.685,15234,6.222]],["title/classes/LinkElementContentBody.html",[0,0.232,8706,4.582]],["body/classes/LinkElementContentBody.html",[0,0.455,2,0.63,3,0.013,4,0.013,5,0.006,7,0.082,9,2.715,27,0.34,30,0.001,31,0.644,32,0.18,47,0.875,83,1.658,95,0.135,99,0.925,101,0.021,103,0,104,0,112,0.633,138,1.479,143,1.265,148,1.766,149,3.745,150,1.281,153,2.228,172,1.782,180,2.057,245,3.572,248,4.858,249,4.617,284,1.722,305,3.303,382,1.704,480,3.148,556,1.402,807,5.289,808,3.272,819,2.869,839,1.771,852,2.655,1142,3.559,1262,1.989,1271,1.777,1643,3.335,1942,4.064,2255,4.653,2501,2.747,2882,2.715,2883,2.534,2922,2.731,3278,3.403,3280,3.403,3283,3.368,3286,5.061,3289,2.948,3294,3.213,3767,3.559,3788,3.559,3789,6.9,4163,5.673,5681,6.221,5683,6.914,5685,6.221,5687,6.305,5689,6.305,5734,3.751,5771,6.489,5772,6.489,5773,7.116,5774,6.489,5775,6.489,6088,6.858,7227,3.807,7287,3.368,8699,8.614,8700,5.697,8701,3.931,8704,5.436,8705,6.489,8706,7.116,8707,3.931,8708,6.489,8709,3.517,8710,3.866,8711,6.489,8712,6.489,8713,3.807,8714,3.807,8715,3.807,8716,3.807,8717,3.931,8718,3.931,8719,3.931,8720,3.931,8721,3.931,9194,4.477,15235,5.703,15236,5.703]],["title/entities/LinkElementNode.html",[154,1.389,3210,5.389]],["body/entities/LinkElementNode.html",[0,0.28,3,0.018,4,0.018,5,0.009,7,0.119,27,0.486,30,0.001,32,0.153,33,0.511,47,0.966,95,0.148,96,2.208,101,0.017,103,0.001,104,0.001,105,0.846,112,0.816,138,2.111,154,2.157,155,2.698,172,4.2,173,2.403,180,1.858,181,2.236,349,0.854,403,4.615,437,1.089,1262,4.349,1271,3.883,1664,3.089,1665,4.911,1942,5.212,2512,5.104,2565,4.697,2566,3.689,2784,3.912,3171,5.63,3182,6.428,3210,8.368,3249,5.096,3271,9.335,3283,7.362,3620,6.573,3631,5.288,3641,5.157,4126,5.288,4128,5.288,6446,4.466,7385,5.22,10396,7.644,10397,7.237,15234,6.689,15237,11.532,15238,8.263,15239,9.335,15240,7.644,15241,7.644]],["title/interfaces/LinkElementNodeProps.html",[105,0.702,15239,6.012]],["body/interfaces/LinkElementNodeProps.html",[0,0.287,3,0.019,4,0.019,5,0.01,7,0.122,30,0.001,32,0.155,33,0.52,47,0.99,95,0.15,96,2.268,101,0.017,103,0.001,104,0.001,105,0.869,107,1.993,112,0.83,154,2.194,172,3.934,173,2.468,180,2.083,181,2.296,349,0.878,403,4.74,437,1.119,1262,4.539,1271,4.053,1664,3.173,1665,4.974,1942,3.548,2512,5.193,2565,4.824,2566,3.789,2784,4.018,3171,5.728,3182,6.539,3210,6.663,3249,5.234,3271,9.497,3283,7.684,3620,7.369,3631,5.431,3641,5.296,4126,5.431,4128,5.431,6446,4.587,7385,5.362,15234,6.871,15237,7.852,15239,10.465,15240,7.852,15241,7.852]],["title/interfaces/LinkElementProps.html",[105,0.702,15229,6.012]],["body/interfaces/LinkElementProps.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,30,0.001,32,0.163,33,0.578,36,1.625,47,1.005,95,0.12,101,0.018,103,0.001,104,0.001,105,0.776,107,1.782,112,0.771,119,1.567,145,2.126,153,2.877,180,1.973,262,1.675,349,1.334,474,3.229,480,3.355,517,4.559,519,2.336,604,3.117,608,1.758,1218,2.867,1262,4.379,1271,3.91,1664,2.836,1739,4.641,1944,3.2,2786,6.145,2792,5.063,2796,4.678,2797,5.952,2800,4.678,2801,5.836,2840,6.901,2867,7.444,3283,7.414,4037,4.792,4038,6.946,5287,8.826,5289,8.455,9173,5.422,15208,7.017,15222,7.017,15223,7.017,15224,7.017,15225,9.323,15226,7.017,15227,7.017,15228,7.017,15229,8.826,15230,7.017]],["title/classes/LinkElementResponse.html",[0,0.232,4055,5.245]],["body/classes/LinkElementResponse.html",[0,0.344,2,0.847,3,0.017,4,0.017,5,0.009,7,0.11,27,0.519,29,0.606,30,0.001,31,0.437,32,0.177,33,0.368,34,2.106,47,0.909,95,0.135,99,1.245,101,0.016,103,0.001,104,0.001,112,0.777,138,2.167,149,4.384,150,1.723,153,2.608,245,3.48,253,3.786,379,1.436,404,3.087,774,3.911,839,2.383,1262,3.97,1271,3.545,2255,4.817,2566,3.425,2784,3.632,2917,5.045,2918,5.445,2919,5.445,2921,4.53,2922,4.862,3283,6.722,3461,5.381,3473,4.577,3716,7.518,3720,6.655,3724,5.12,3726,5.12,4055,9.627,4163,6.705,5683,6.585,6446,4.146,6791,4.731,9209,7.096,15231,10.162,15232,11.977,15234,6.21,15242,7.671,15243,7.671,15244,7.671,15245,7.671]],["title/classes/LinkElementResponseMapper.html",[0,0.232,5709,6.012]],["body/classes/LinkElementResponseMapper.html",[0,0.262,2,0.855,3,0.017,4,0.017,5,0.009,7,0.111,8,1.239,27,0.501,29,0.808,30,0.001,31,0.582,32,0.157,33,0.49,34,1.294,35,1.389,95,0.136,99,1.256,100,2.632,101,0.012,103,0.001,104,0.001,112,0.782,119,2.111,153,1.775,236,1.98,349,1.182,376,3.223,413,3.92,437,1.021,603,2.353,604,3.182,662,2.405,739,4.41,782,4.621,783,5.706,786,6.079,788,5.775,1147,3.103,1262,2.702,1271,2.412,1942,5.617,2000,4.442,2255,2.96,2503,8.527,2506,8.021,2507,8.021,2509,7.807,2867,8.836,3283,4.574,3716,4.621,3720,5.974,3737,5.535,4055,9.29,4163,4.121,5284,7.224,5683,5.022,5706,6.079,5709,11.592,9211,9.29,9213,6.079,9215,6.269,9216,6.269,9217,6.269,15231,8.572,15246,12.638,15247,6.782,15248,11.434,15249,7.744,15250,7.744,15251,7.744,15252,7.744]],["title/interfaces/ListFiles.html",[105,0.702,6523,5.007]],["body/interfaces/ListFiles.html",[3,0.018,4,0.018,5,0.012,7,0.12,30,0.001,32,0.162,33,0.635,47,1.02,55,2.641,95,0.099,101,0.021,103,0.001,104,0.001,105,1.356,107,1.961,112,0.821,284,3.24,360,6.556,556,2.638,1215,6.511,1217,4.703,1361,4.511,2094,5.148,5838,4.789,6441,6.06,6508,6.225,6509,6.225,6510,6.554,6511,6.379,6512,6.379,6513,5.209,6514,6.225,6515,5.659,6516,5.659,6517,5.659,6518,5.659,6519,5.856,6520,5.148,6521,5.034,6522,5.034,6523,7.826,6524,9.891,6525,9.891,6526,6.225]],["title/classes/ListOauthClientsParams.html",[0,0.232,15253,6.012]],["body/classes/ListOauthClientsParams.html",[0,0.332,2,0.803,3,0.016,4,0.016,5,0.008,7,0.104,27,0.488,30,0.001,31,0.558,32,0.154,33,0.635,47,0.832,55,2.419,56,5.338,58,8.027,95,0.117,101,0.011,103,0.001,104,0.001,112,0.75,135,6.913,138,2.122,142,5.163,144,4.313,145,3.946,148,2.253,150,1.634,153,2.717,245,3.174,248,4.422,249,4.842,482,5.215,696,4.603,826,6.355,829,5.065,844,9.948,845,9.06,3493,7.921,3494,5.199,3499,7.148,3550,5.888,4381,7.151,5554,7.036,5567,7.693,5639,8.699,8239,11.115,8902,9.06,10426,9.23,15253,8.582,15254,12.377,15255,7.273,15256,7.273,15257,7.273,15258,9.798,15259,9.798,15260,7.273,15261,7.273,15262,9.798,15263,7.273,15264,7.273,15265,7.273]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.232,15266,6.012]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.487,30,0.001,32,0.153,47,0.929,51,6.24,87,6.443,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,138,2.115,148,3.019,150,2.19,245,3.263,248,5.077,809,6.986,7579,9.569,14587,8.537,15266,10.352,15267,12.721,15268,9.018,15269,9.018]],["title/injectables/LocalStrategy.html",[539,0.921,1428,6.012]],["body/injectables/LocalStrategy.html",[0,0.2,3,0.013,4,0.013,5,0.007,7,0.085,8,1.027,27,0.446,29,0.856,30,0.001,31,0.617,32,0.148,33,0.519,35,1.204,36,2.32,39,1.613,47,0.978,51,6.033,59,3.336,66,7.024,87,6.795,94,5.93,95,0.158,101,0.009,103,0,104,0,105,0.604,120,2.501,143,1.309,177,2.018,180,1.477,182,1.876,217,7.417,226,0.862,227,2.446,236,1.945,239,1.985,262,2.636,270,2.895,294,4.263,349,0.876,379,1.069,425,4.305,437,1.574,529,1.685,539,1.137,541,1.418,584,8.089,598,3.418,599,4.305,600,3.683,603,2.676,608,2.767,631,3.009,791,4.951,876,4.951,877,5.168,1123,5.494,1422,8.904,1428,7.42,1435,4.401,1446,4.951,1478,3.521,1512,3.683,1605,4.401,1877,7.969,4608,4.001,7310,4.401,11943,5.168,11951,4.509,12831,4.951,13487,8.503,14010,4.633,14014,7.108,14019,4.951,14645,9.169,14670,5.459,14673,5.459,14675,5.459,14676,5.459,14678,5.459,15270,5.901,15271,8.472,15272,5.901,15273,9.169,15274,5.901,15275,5.901,15276,10.831,15277,5.901,15278,8.472,15279,8.472,15280,5.901,15281,8.472,15282,5.901,15283,5.901,15284,5.901,15285,5.901,15286,5.901,15287,5.901,15288,5.901,15289,8.472,15290,5.901,15291,5.901,15292,5.901,15293,5.901,15294,5.901,15295,5.168,15296,5.901,15297,5.901,15298,5.901,15299,5.901]],["title/interfaces/Loggable.html",[105,0.702,1338,3.178]],["body/interfaces/Loggable.html",[3,0.022,4,0.022,5,0.011,7,0.147,8,1.476,27,0.422,30,0.001,35,1.244,95,0.122,101,0.016,103,0.001,104,0.001,105,1.048,107,2.405,1338,5.637,1339,6.716,1343,6.678,1664,3.828,8829,6.764,8830,7.022,15300,10.239,15301,10.239]],["title/injectables/Logger.html",[539,0.921,2312,2.845]],["body/injectables/Logger.html",[0,0.234,3,0.024,4,0.015,5,0.008,7,0.099,8,1.148,27,0.529,29,0.993,30,0.001,31,0.745,32,0.166,33,0.602,35,1.478,47,0.815,95,0.145,101,0.011,103,0.001,104,0.001,107,1.624,112,0.725,131,4.097,177,1.288,226,1.01,379,0.873,437,1.531,480,1.924,486,2.083,519,4.091,539,1.271,541,1.661,603,2.389,639,3.255,662,4.325,1025,4.597,1122,4.425,1338,6.503,2312,5.041,3002,4.688,5558,3.857,5573,6.419,8871,10.17,8881,6.056,8882,7.433,8883,5.598,8884,6.397,8885,6.056,8886,10.742,14721,8.759,14730,8.759,14742,6.397,14753,10.652,15302,6.914,15303,8.292,15304,9.468,15305,9.468,15306,9.468,15307,6.914,15308,9.468,15309,6.914,15310,9.468,15311,6.914,15312,6.914,15313,9.468,15314,6.914,15315,6.914,15316,6.914,15317,6.914,15318,6.397]],["title/modules/LoggerModule.html",[201,1.848,214,3.196]],["body/modules/LoggerModule.html",[0,0.263,3,0.017,4,0.017,5,0.009,30,0.001,95,0.16,101,0.012,103,0.001,104,0.001,107,1.822,143,2.268,145,2.175,201,3.081,203,2.819,204,3.023,205,3.109,206,3.096,207,3.084,208,4.233,209,4.342,214,6.52,218,4.099,219,3.047,220,2.977,225,3.084,226,1.134,236,1.264,348,5.147,349,0.802,584,8.003,598,4.493,637,5.546,639,3.652,950,4.785,990,2.654,1122,4.965,2312,5.832,2313,6.346,3610,5.786,8865,11.683,8882,8.985,12761,6.509,15319,7.758,15320,7.758,15321,7.758,15322,7.758,15323,7.178,15324,7.758,15325,7.758,15326,7.758,15327,6.509,15328,7.758,15329,7.758,15330,7.758,15331,7.758,15332,7.758,15333,7.758,15334,7.758,15335,7.758,15336,7.758,15337,7.758,15338,7.758,15339,7.758,15340,7.758,15341,7.758,15342,7.758]],["title/classes/LoggingUtils.html",[0,0.232,8883,5.557]],["body/classes/LoggingUtils.html",[0,0.277,2,0.904,3,0.018,4,0.018,5,0.009,7,0.117,8,1.284,27,0.483,29,0.928,30,0.001,31,0.668,32,0.137,33,0.563,35,1.427,47,0.903,59,2.519,95,0.14,101,0.013,103,0.001,104,0.001,107,1.921,131,4.712,133,4.07,349,1.214,413,4.149,437,1.637,556,2.887,603,2.416,1025,4.649,1218,3.092,1338,6.21,1343,4.063,1664,3.058,8883,8.573,11504,8.884,14722,11.488,14755,7.567,14756,7.567,15343,8.18,15344,10.589,15345,10.589,15346,10.589,15347,10.589,15348,8.18,15349,11.742,15350,10.589,15351,8.18,15352,10.589,15353,8.18,15354,8.18,15355,8.18,15356,10.589]],["title/controllers/LoginController.html",[259,2.624,1383,6.012]],["body/controllers/LoginController.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.893,27,0.365,29,0.702,30,0.001,31,0.505,32,0.178,33,0.425,35,1.078,36,2.389,95,0.148,100,1.659,101,0.008,103,0,104,0,105,0.5,128,5.214,138,1.588,141,5.221,150,1.097,153,3.085,177,0.91,223,2.032,226,0.713,239,2.999,259,1.866,261,2.338,262,2.693,270,5.679,278,7.562,282,6.96,283,7.141,284,3.369,285,8.417,286,8.209,287,7.336,288,9.714,294,3.707,303,7.759,324,5.006,335,5.961,336,7.758,337,2.541,340,2.366,345,1.556,346,5.295,347,4.402,348,4.464,349,0.918,437,1.47,521,3.513,608,2.056,645,8.898,996,4.274,997,4.131,998,4.225,999,4.464,1000,4.873,1284,2.775,1381,7.444,1383,6.452,1386,4.516,1435,3.64,1617,9.09,1618,3.424,1794,3.124,1953,6.473,1954,6.343,2961,3.489,2962,2.75,3122,4.814,3731,3.258,4544,6.459,5554,4.188,6403,6.597,7082,6.96,7325,7.371,7734,3.365,8244,8.318,8853,4.095,11237,5.629,13754,3.365,13988,4.516,14585,8.292,14641,7.444,15266,8.656,15357,4.881,15358,7.367,15359,7.367,15360,8.873,15361,4.881,15362,4.881,15363,10.318,15364,4.881,15365,8.719,15366,8.873,15367,4.881,15368,4.881,15369,4.881,15370,4.881,15371,4.881,15372,4.881,15373,8.292,15374,4.881,15375,4.881,15376,4.881,15377,4.881,15378,6.181,15379,4.275,15380,4.881,15381,4.881,15382,4.881,15383,4.881,15384,8.209,15385,4.881,15386,4.881,15387,8.873,15388,7.367,15389,4.881,15390,4.881,15391,4.881,15392,4.881,15393,4.881,15394,4.881,15395,4.881,15396,4.881]],["title/classes/LoginDto.html",[0,0.232,1617,5.389]],["body/classes/LoginDto.html",[0,0.344,2,1.123,3,0.022,4,0.022,5,0.011,7,0.146,27,0.499,29,0.803,30,0.001,31,0.578,32,0.157,33,0.487,47,0.851,101,0.016,103,0.001,104,0.001,112,0.927,181,3.279,379,1.282,381,3.444,1498,8.644,1617,10.758,15397,10.162,15398,12.119,15399,8.526,15400,8.526]],["title/classes/LoginRequestBody.html",[0,0.232,15401,5.557]],["body/classes/LoginRequestBody.html",[0,0.3,2,0.695,3,0.014,4,0.014,5,0.007,7,0.09,27,0.516,30,0.001,32,0.162,33,0.655,47,0.783,55,2.095,95,0.122,101,0.01,103,0,104,0,110,8.315,111,5.095,112,0.679,116,9.838,117,8.063,119,1.833,135,5.736,138,2.242,142,5.069,143,1.967,144,4.235,145,3.907,147,4.793,148,1.95,150,1.414,153,2.354,180,1.546,239,2.078,245,2.634,249,4.018,282,3.928,287,4.14,347,2.271,348,4.462,382,3.511,517,4.215,662,1.955,696,3.443,843,6.221,951,2.946,990,4.287,1215,3.457,1295,4.591,1306,3.882,1694,7.521,1783,6.963,2024,2.93,2207,7.355,2424,5.238,3601,3.569,4677,4.553,4751,6.963,5515,3.717,5544,10.359,5545,7.441,5546,7.441,5547,6.963,5550,4.14,5552,5.28,5553,7.768,5554,5.838,5555,7.768,5556,8.205,5557,7.768,5558,3.614,5560,5.823,5561,8.205,5562,6.47,5563,10.315,5564,6.614,5565,8.205,5567,8.754,5568,4.809,5569,5.512,5570,5.512,5571,5.512,5572,5.823,5573,4.267,5574,6.777,5575,6.221,5576,4.809,5577,5.095,5578,4.809,5579,5.28,5580,5.095,5581,5.823,5582,5.28,5583,5.823,5584,4.809,5585,5.823,5586,5.512,5587,5.28,5588,5.28,5589,5.823,5591,7.18,5592,5.823,15401,7.18,15402,10.27,15403,6.294,15404,6.294]],["title/classes/LoginResponse.html",[0,0.232,15365,4.906]],["body/classes/LoginResponse.html",[0,0.336,2,1.098,3,0.022,4,0.022,5,0.011,7,0.143,27,0.492,29,0.786,30,0.001,31,0.566,32,0.155,33,0.477,47,0.84,95,0.118,101,0.015,103,0.001,104,0.001,112,0.915,138,1.778,150,2.233,181,3.236,245,3.29,379,1.254,381,3.368,1498,8.563,15365,9.736,15399,8.338,15400,8.338,15405,9.938,15406,11.959]],["title/classes/LoginResponse-1.html",[0,0.193,708,2.287,15365,4.079]],["body/classes/LoginResponse-1.html",[0,0.282,2,0.637,3,0.013,4,0.013,5,0.006,7,0.083,27,0.539,29,0.456,30,0.001,31,0.328,32,0.17,33,0.641,34,1.98,47,0.946,70,5.719,72,3.758,77,6.261,95,0.128,101,0.009,103,0,104,0,110,6.215,112,0.638,118,5.333,119,1.722,122,5.649,128,4.827,135,7.396,138,2.315,141,5.854,142,3.247,143,2.17,144,2.713,145,3.004,148,1.786,150,1.296,153,2.799,239,2.776,245,3.396,248,3.326,249,4.778,303,6.542,363,4.695,379,0.728,556,3.074,821,4.53,1262,2.907,1391,6.993,1694,5.139,2190,5.265,2207,6.463,2406,3.221,2617,8.189,3330,5.956,3458,4.046,3601,5.127,4118,4.669,4256,6.993,5590,5.139,5597,8.208,5598,8.208,5599,8.208,5600,7.921,5603,8.569,5605,5.051,5611,8.208,5612,7.709,5620,8.208,5624,5.649,5628,7.709,5629,7.709,5632,5.051,5633,5.336,5634,5.336,5635,5.336,5644,7.709,12776,6.215,14234,6.746,15365,8.731,15407,5.767,15408,9.051,15409,8.333,15410,5.767,15411,5.767,15412,5.767,15413,7.298,15414,5.767,15415,5.767,15416,8.333,15417,5.767,15418,5.767,15419,5.767,15420,8.333,15421,8.333,15422,8.333,15423,5.767,15424,5.767,15425,5.767]],["title/classes/LoginResponseMapper.html",[0,0.232,15379,6.012]],["body/classes/LoginResponseMapper.html",[0,0.296,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,27,0.456,29,0.875,30,0.001,31,0.63,32,0.143,33,0.531,35,1.344,47,0.851,59,2.698,95,0.132,100,2.978,101,0.014,103,0.001,104,0.001,236,1.802,349,1.144,413,4.052,437,1.459,782,5.228,824,4.519,1498,7.385,1617,10.919,1618,6.146,7323,10.313,15365,9.39,15378,11.021,15379,9.69,15426,12.127,15427,11.064,15428,11.064,15429,11.064,15430,7.673,15431,11.064,15432,8.761,15433,11.064]],["title/injectables/LoginUc.html",[539,0.921,1381,5.759]],["body/injectables/LoginUc.html",[0,0.295,3,0.019,4,0.019,5,0.01,7,0.125,8,1.336,27,0.454,29,0.871,30,0.001,31,0.627,32,0.143,33,0.528,35,1.058,36,2.361,95,0.159,100,2.959,101,0.013,103,0.001,104,0.001,105,0.891,177,1.622,226,1.272,236,1.418,262,2.67,270,6.234,345,2.775,349,0.9,379,1.099,437,1.594,539,1.479,541,2.091,608,2.017,631,4.438,1381,9.245,1422,9.478,1446,7.303,1498,5.81,1592,9.492,1615,7.303,1616,4.904,1617,10.515,4736,9.651,7310,6.492,15434,8.705,15435,11.019,15436,8.705,15437,8.705,15438,11.019,15439,8.705,15440,8.053,15441,8.705,15442,8.705,15443,8.705,15444,8.705]],["title/injectables/Lti11EncryptionService.html",[539,0.921,15445,6.012]],["body/injectables/Lti11EncryptionService.html",[0,0.288,3,0.019,4,0.019,5,0.01,7,0.122,8,1.318,27,0.351,29,0.674,30,0.001,31,0.485,32,0.11,33,0.409,35,1.035,47,0.986,95,0.143,101,0.013,103,0.001,104,0.001,226,1.245,236,1.388,284,2.574,349,0.881,437,1.578,539,1.459,541,2.048,591,4.802,662,3.719,988,5.216,1262,4.399,1491,7.374,1611,6.217,1616,7.105,1650,6.125,1694,8.215,1984,5.923,2217,7.884,2962,4.802,5554,7.168,6777,6.092,15445,9.522,15446,10.872,15447,8.522,15448,10.058,15449,10.872,15450,8.522,15451,7.15,15452,10.872,15453,7.884,15454,8.522,15455,7.931,15456,8.522,15457,8.522,15458,8.522,15459,8.522,15460,8.522,15461,8.522,15462,8.522,15463,8.522]],["title/classes/Lti11ToolConfig.html",[0,0.232,7519,5.007]],["body/classes/Lti11ToolConfig.html",[0,0.261,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,27,0.559,29,0.609,30,0.001,31,0.438,32,0.18,33,0.547,47,0.953,95,0.121,101,0.012,103,0.001,104,0.001,112,0.779,180,1.774,181,2.754,182,2.448,379,0.972,381,2.609,382,3.041,564,2.406,1491,6.667,1929,3.777,1984,6.211,2195,6.481,2546,6.147,2548,4.572,2549,6.46,2550,9.408,2552,6.744,2553,5.685,2554,6.744,2555,6.744,2557,5.504,7360,7.499,7366,7.395,7368,7.395,7370,7.395,7386,5.617,7387,6.233,7388,6.045,7389,6.46,7392,5.883,7393,6.233,7396,5.883,7397,6.233,7400,5.883,7401,6.233,7516,8.317,7519,9.202,7543,5.307,7548,8.15,15464,13.418,15465,9.416,15466,7.123,15467,7.123,15468,7.123,15469,7.123,15470,7.123,15471,6.744,15472,6.744]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.232,9156,5.759]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.334,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,27,0.547,30,0.001,32,0.178,33,0.474,47,0.955,95,0.142,101,0.011,103,0.001,104,0.001,112,0.756,138,2.377,148,2.281,149,3.806,150,1.655,180,1.723,245,3.407,248,4.961,249,3.866,382,2.952,564,2.301,852,3.429,1491,6.521,1929,3.613,1971,6.086,1984,6.075,2195,6.339,2546,5.989,2548,4.474,2553,6.228,2571,9.067,2572,7.971,2573,5.963,2574,5.963,2575,5.963,2576,5.963,2577,5.963,6078,5.373,7360,7.335,7366,7.233,7368,7.233,7370,7.233,7516,8.135,7548,7.971,9155,5.963,9156,8.291,9163,6.451,15473,12.093,15474,6.814,15475,7.365,15476,6.814,15477,6.814,15478,6.814,15479,7.365,15480,7.365,15481,6.814,15482,9.142,15483,6.814,15484,6.814]],["title/classes/Lti11ToolConfigEntity.html",[0,0.232,9223,5.557]],["body/classes/Lti11ToolConfigEntity.html",[0,0.25,2,0.817,3,0.016,4,0.016,5,0.008,7,0.106,27,0.539,29,0.584,30,0.001,31,0.421,32,0.169,33,0.536,47,0.934,95,0.142,96,1.976,101,0.011,103,0.001,104,0.001,112,0.758,138,2.292,143,2.197,144,2.406,160,4.128,172,4.154,173,2.149,180,1.289,181,2.68,379,0.933,381,2.505,403,4.128,564,2.309,839,3.866,1491,6.533,1929,3.626,1984,6.086,2546,6.092,2548,4.535,2553,4.128,2560,6.202,2562,5.051,2563,8.019,2564,6.474,2565,4.202,2566,3.3,7360,7.348,7366,7.246,7368,7.246,7370,7.246,7386,5.392,7387,5.984,7388,5.803,7389,6.202,7392,5.648,7393,5.984,7396,5.648,7397,5.984,7400,5.648,7401,5.984,7428,6.474,7516,8.15,7543,6.827,7548,7.986,9223,10.075,15471,6.474,15472,6.474,15485,13.297,15486,9.906,15487,7.392,15488,7.392,15489,7.392,15490,7.392,15491,7.392]],["title/classes/Lti11ToolConfigResponse.html",[0,0.232,9751,5.759]],["body/classes/Lti11ToolConfigResponse.html",[0,0.249,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,27,0.547,29,0.582,30,0.001,31,0.419,32,0.178,33,0.535,47,0.933,95,0.133,101,0.011,103,0.001,104,0.001,112,0.756,138,2.339,149,4.296,150,1.655,180,1.723,181,2.674,182,2.341,245,3.565,379,0.929,381,2.496,382,2.952,564,2.301,1929,3.613,1984,6.075,2195,6.339,2546,5.989,2548,4.474,2553,6.228,2557,5.265,2566,3.288,2567,5.265,2580,5.963,2581,10.063,2583,6.451,2584,6.451,2585,5.963,7360,7.335,7366,7.233,7368,7.233,7370,7.233,7386,5.373,7387,5.963,7392,5.628,7393,5.963,7396,5.628,7397,5.963,7400,5.628,7401,5.963,7516,8.135,7543,5.076,7548,7.971,9751,10.428,15471,6.451,15472,6.451,15492,13.072,15493,9.142,15494,6.814,15495,6.814,15496,6.814,15497,6.451]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.232,9674,5.759]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.333,2,0.809,3,0.016,4,0.016,5,0.008,7,0.105,27,0.546,30,0.001,32,0.177,33,0.57,47,0.954,95,0.142,101,0.011,103,0.001,104,0.001,112,0.753,138,2.374,148,2.269,149,4.284,150,1.646,180,1.716,245,3.348,248,4.952,249,4.351,382,2.941,564,2.289,852,3.411,1491,6.503,1929,3.593,1971,6.078,1984,6.058,2195,6.322,2546,5.98,2548,4.469,2553,6.211,2571,9.051,2572,7.038,2573,5.93,2574,5.93,2575,5.93,2576,5.93,2577,5.93,6078,7.182,7360,7.315,7366,7.213,7368,7.213,7370,7.213,7516,8.113,7548,7.949,9674,8.26,9959,6.146,9961,6.416,9963,6.416,15473,12.077,15474,6.777,15476,6.777,15478,6.777,15482,9.109,15483,6.777,15484,6.777,15498,7.325,15499,7.325,15500,7.325,15501,6.777]],["title/classes/LtiRoleMapper.html",[0,0.232,15502,6.35]],["body/classes/LtiRoleMapper.html",[0,0.302,2,0.987,3,0.02,4,0.02,5,0.01,7,0.128,8,1.358,27,0.368,29,0.706,30,0.001,31,0.509,32,0.116,33,0.428,35,1.085,95,0.133,99,1.45,101,0.014,103,0.001,104,0.001,349,0.924,413,3.696,437,1.613,484,4.587,556,3.008,662,2.775,1650,6.311,1929,4.383,4660,7.257,10258,5.964,10259,5.964,12841,6.057,12844,6.827,15502,10.363,15503,11.201,15504,8.934,15505,11.201,15506,11.201,15507,8.934,15508,14.055,15509,8.265,15510,8.934,15511,11.201,15512,8.934,15513,11.201,15514,8.934,15515,8.934,15516,8.934,15517,8.934,15518,11.201,15519,8.934]],["title/entities/LtiTool.html",[154,1.389,7364,5.119]],["body/entities/LtiTool.html",[0,0.141,3,0.009,4,0.009,5,0.005,7,0.06,26,1.327,27,0.547,30,0.001,31,0.562,32,0.173,33,0.644,47,0.951,49,3.048,95,0.108,96,1.742,97,1.733,101,0.015,103,0,104,0,105,0.426,112,0.499,119,2.46,138,2.376,143,3.036,144,4.347,145,3.825,154,1.319,155,1.359,160,7.323,168,3.739,172,4.172,173,1.21,174,2.491,175,1.858,177,0.776,178,1.654,180,0.726,181,1.126,182,1.323,236,0.678,321,4.754,349,0.43,480,1.158,486,3.586,490,1.481,556,2.234,653,2.137,662,2.024,827,4.652,839,3.065,1262,2.802,1371,2.538,1475,6.375,1491,4.697,1732,2.183,1984,4.951,2044,1.616,2318,2.41,2501,2.005,2670,2.986,3140,4.041,4342,1.84,6446,2.249,6748,3.645,6776,3.37,6789,3.37,7349,7.035,7350,3.851,7351,5.468,7352,7.358,7353,6.029,7354,6.029,7355,3.851,7356,3.851,7357,6.029,7358,3.851,7359,3.851,7360,6.49,7361,6.029,7362,6.029,7363,3.851,7364,4.86,7365,6.306,7366,5.209,7367,6.306,7368,5.209,7369,5.468,7370,5.209,7371,6.306,7372,6.306,7373,5.99,7374,6.029,7375,7.431,7376,3.37,7377,3.268,7378,3.851,7379,5.741,7380,6.306,7381,5.14,7382,4.793,7383,5.99,7384,4.844,7385,2.63,7386,3.036,7387,3.37,7388,3.268,7389,3.492,7390,3.492,7391,3.851,7392,3.18,7393,3.37,7394,3.492,7395,3.851,7396,3.18,7397,3.37,7398,3.268,7399,3.37,7400,3.18,7401,3.37,7402,3.492,7403,3.851,7404,3.492,7405,3.851,7406,3.492,7407,3.851,7408,3.851,7409,3.851,7410,3.851,7411,3.492,7412,3.851,7413,3.492,7414,3.851,7415,3.18,7416,3.37,7417,2.92,7418,3.104,7419,3.492,7420,3.851,7421,3.104,7422,3.37,15520,4.162,15521,4.162,15522,4.162,15523,4.162,15524,4.162,15525,4.162,15526,4.162,15527,4.162,15528,4.162,15529,4.162,15530,4.162,15531,4.162,15532,4.162,15533,4.162,15534,4.162,15535,4.162,15536,4.162,15537,4.162,15538,4.162,15539,4.162,15540,4.162,15541,4.162,15542,4.162]],["title/classes/LtiToolDO.html",[0,0.232,7431,4.815]],["body/classes/LtiToolDO.html",[0,0.283,2,0.641,3,0.013,4,0.013,5,0.007,7,0.083,26,1.998,27,0.576,29,0.459,30,0.001,31,0.612,32,0.181,33,0.673,34,1.399,47,0.995,95,0.117,101,0.013,103,0,104,0,112,0.64,119,2.677,180,1.459,379,0.732,382,1.733,480,2.731,1262,3.424,1491,5.739,1665,2.414,1746,6.283,1984,6.206,2044,2.252,2501,2.794,3140,4.938,4462,5.08,5963,4.231,6446,3.135,7352,7.946,7360,6.456,7365,7.706,7366,6.366,7367,7.706,7368,6.366,7370,6.366,7371,7.706,7372,7.706,7373,7.32,7377,7.706,7379,7.016,7380,7.706,7381,6.281,7382,5.857,7383,7.32,7384,5.92,7386,6.104,7388,4.554,7390,4.866,7392,4.432,7394,4.866,7396,4.432,7398,4.554,7400,4.432,7402,4.866,7404,4.866,7406,4.866,7411,4.866,7413,4.866,7415,4.432,7417,4.069,7419,4.866,7421,4.326,7423,8.235,7424,5.366,7425,5.366,7428,5.08,7429,4.432,7430,4.554,7431,7.991,7432,6.569,7433,4.554,7434,5.366,7435,5.366,7436,5.366,7437,5.366,7438,5.366,7439,5.366,7440,5.366,7441,5.08,7442,5.366,7443,5.366,7444,5.366,7445,5.366,7446,5.366,7447,5.366,7448,5.366,7449,5.366,7450,5.366,7451,5.366,7452,5.366,7453,5.366,15543,8.367,15544,5.8,15545,5.8,15546,5.8,15547,5.8,15548,5.8,15549,5.8,15550,5.8,15551,5.8,15552,5.8,15553,5.8,15554,5.8,15555,5.8,15556,5.8,15557,5.8,15558,5.8,15559,5.8,15560,5.8,15561,5.8,15562,5.8]],["title/classes/LtiToolFactory.html",[0,0.232,15563,6.35]],["body/classes/LtiToolFactory.html",[0,0.157,2,0.513,3,0.01,4,0.01,5,0.005,7,0.067,8,0.861,27,0.538,29,1.042,30,0.001,31,0.744,32,0.173,33,0.607,34,1.439,35,1.462,47,0.824,55,2.323,59,3.197,95,0.115,99,0.754,101,0.007,103,0,104,0,112,0.543,120,3.007,133,2.46,140,2.552,143,1.574,145,2.414,153,1.973,154,2.1,155,2.317,177,1.322,180,1.237,236,0.757,271,4.698,319,3.007,349,0.89,379,0.586,382,3.828,413,2.144,437,1.135,447,7.12,448,4.44,449,5.337,452,3.93,453,5.337,454,5.57,455,3.93,456,3.93,457,3.93,458,3.866,459,4.361,460,4.768,461,6.344,462,5.655,463,6.954,464,2.596,469,2.574,470,3.93,471,2.596,472,5.017,473,5.168,474,4.102,475,4.881,476,3.898,477,2.574,478,2.437,479,4.033,480,3.347,481,2.512,482,2.473,483,2.574,484,4.948,485,2.596,486,3.536,487,4.691,488,2.574,489,7.095,490,4.178,491,6.5,492,2.596,493,4.224,494,2.574,495,2.596,496,2.574,497,2.596,498,2.574,499,2.9,500,2.717,501,2.574,502,5.961,503,2.596,504,2.574,505,3.93,506,3.695,507,3.93,508,2.596,509,2.492,510,2.473,511,2.065,512,2.574,513,2.574,514,2.574,515,2.596,516,2.596,517,1.757,518,2.574,519,1.431,520,2.596,521,2.81,522,2.574,523,2.596,525,2.666,527,4.192,1262,2.476,1491,4.15,1984,3.866,3140,2.338,4367,3.899,5643,2.338,7351,3.899,7352,3.762,7360,3.057,7364,5.293,7365,5.572,7366,4.603,7367,5.572,7368,4.603,7370,3.014,7371,3.648,7372,3.648,7373,3.466,7377,5.572,7379,6.155,7380,5.572,7381,2.974,7382,2.773,7383,5.293,7384,2.803,7423,3.899,9243,6.566,9248,6.566,12338,3.551,15563,7.966,15564,4.647,15565,7.097,15566,4.647,15567,7.097,15568,4.647,15569,4.647,15570,4.647,15571,4.647,15572,4.647,15573,4.647]],["title/modules/LtiToolModule.html",[201,1.848,15574,5.759]],["body/modules/LtiToolModule.html",[0,0.31,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.331,203,3.327,204,3.568,205,3.669,206,3.654,207,3.639,208,4.576,209,4.695,218,4.558,219,3.596,220,3.513,226,1.338,227,3.795,560,3.762,1341,2.936,2313,6.182,4673,9.895,5439,7.412,15574,11.902,15575,9.156,15576,9.156,15577,9.156,15578,11.956,15579,8.47,15580,9.156]],["title/injectables/LtiToolRepo.html",[539,0.921,4673,5.007]],["body/injectables/LtiToolRepo.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.062,8,0.817,10,2.734,12,3.024,18,3.369,26,2.339,27,0.54,29,1.029,30,0.001,31,0.765,32,0.168,33,0.624,34,1.555,35,1.581,36,2.705,40,2.093,47,0.828,95,0.12,96,1.161,99,0.705,101,0.007,103,0,104,0,112,0.332,119,1.706,133,2.335,154,2.249,155,1.419,173,1.263,180,1.175,226,0.635,236,1.345,262,2.967,292,2.2,349,1.188,381,1.472,382,3.772,437,1.327,448,4.66,519,1.338,529,1.24,539,0.904,541,1.044,593,2.51,603,2.363,608,1.913,680,4.569,686,3.087,687,4.969,696,1.686,718,2.33,1262,2.351,1491,3.94,1665,4.191,1984,3.671,2000,2.492,2299,8.97,2301,4.817,2302,4.817,2303,4.817,2304,4.817,2305,4.727,2306,4.727,2307,4.817,2308,4.727,2309,4.817,2316,3.105,2318,5.387,2319,3.105,2321,3.105,2323,2.818,2324,4.727,2325,3.105,2327,3.105,2329,4.817,2333,4.817,2335,4.569,2336,4.727,2338,3.105,2340,2.62,2341,2.679,2342,3.105,2344,3.105,2346,3.047,2347,3.105,2364,2.994,2365,6.156,2387,5.654,3140,3.39,4446,2.711,4447,3.411,4673,4.916,6114,3.169,6115,3.169,6116,3.169,6117,3.169,6118,3.169,6119,3.169,6120,3.169,6121,3.169,6122,3.169,7351,8.937,7360,2.857,7364,8.795,7365,5.29,7366,4.37,7367,5.29,7368,4.37,7369,3.645,7370,4.37,7371,5.29,7372,5.29,7373,7.944,7377,5.29,7379,7.614,7380,5.29,7381,4.312,7382,4.021,7383,5.025,7384,4.064,7431,8.273,9534,5.455,9542,5.654,9547,3.32,9607,3.805,9611,4.019,9612,4.019,9630,3.805,9631,4.019,9635,4.019,9636,4.019,11036,4.019,12338,3.32,15581,4.344,15582,6.234,15583,6.739,15584,4.019,15585,6.739,15586,4.344,15587,4.344,15588,6.739,15589,4.344,15590,4.344,15591,4.344,15592,4.344,15593,4.344,15594,3.645,15595,4.344,15596,4.344,15597,4.344,15598,4.344,15599,4.344,15600,4.344,15601,4.344,15602,4.344,15603,4.344,15604,4.344,15605,4.344,15606,4.019,15607,4.344,15608,4.344,15609,4.344,15610,4.344,15611,4.344,15612,4.344,15613,4.344,15614,4.344,15615,4.344,15616,4.344,15617,4.344,15618,4.344,15619,4.344,15620,4.344,15621,4.344,15622,4.344,15623,4.344,15624,4.344,15625,4.344,15626,4.344,15627,4.344,15628,4.344,15629,4.344,15630,4.344,15631,4.344]],["title/injectables/LtiToolService.html",[539,0.921,15578,5.759]],["body/injectables/LtiToolService.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.364,27,0.463,29,0.889,30,0.001,31,0.64,32,0.146,33,0.539,35,1.093,36,2.629,47,0.862,95,0.146,101,0.014,103,0.001,104,0.001,119,2.536,177,1.676,226,1.314,227,3.727,262,2.71,345,2.867,349,0.93,379,1.135,437,1.186,539,1.51,541,2.161,662,3.813,4673,9.851,5446,7.281,5643,4.525,7364,8.388,7373,9.59,7431,6.309,12338,6.872,15578,9.437,15579,11.354,15582,10.406,15632,12.273,15633,8.994,15634,8.994,15635,11.248,15636,8.994,15637,8.994]],["title/classes/LumiUserWithContentData.html",[0,0.232,11988,6.012]],["body/classes/LumiUserWithContentData.html",[0,0.24,2,0.784,3,0.016,4,0.016,5,0.008,7,0.102,26,2.719,27,0.561,29,0.561,30,0.001,31,0.668,32,0.18,33,0.34,34,1.829,47,0.889,95,0.13,99,1.151,101,0.015,103,0.001,104,0.001,105,0.726,112,0.737,119,2.615,154,1.436,239,1.663,379,0.895,404,2.855,528,3.643,653,5.617,1105,6.865,1147,2.927,1512,6.013,2024,3.303,2044,2.754,2566,3.168,3632,3.268,4266,3.965,4343,4.149,5883,4.07,5930,7.957,5933,3.286,10083,5.176,11919,8.084,11984,10.28,11985,12.706,11986,6.564,11987,11.085,11988,8.439,11989,10.123,11990,10.123,11991,10.123,11992,10.123,11993,10.123,11994,9.18,11995,6.564,11996,6.564,11997,6.564,11998,6.564,11999,6.564,12000,6.564,12001,6.564,12002,6.564,12003,6.564,12004,6.564,12005,6.564,12006,5.291,12007,6.564,12008,6.564,15638,9.636,15639,7.095,15640,7.095,15641,7.095,15642,7.095,15643,7.095,15644,7.095,15645,7.095,15646,7.095,15647,7.095]],["title/interfaces/Mail.html",[105,0.702,1371,4.185]],["body/interfaces/Mail.html",[3,0.018,4,0.018,5,0.009,7,0.118,30,0.001,31,0.468,32,0.171,33,0.653,47,1.019,77,5.266,101,0.013,103,0.001,104,0.001,105,1.374,107,1.933,112,0.814,180,2.17,1150,4.812,1356,7.928,1357,6.288,1358,8.782,1359,8.123,1360,6.288,1361,4.448,1362,7.928,1363,6.003,1364,6.003,1365,8.782,1366,6.288,1367,9.282,1368,8.123,1369,8.123,1370,9.282,1371,8.048,1372,9.282,1373,9.282,1374,9.51,1375,9.51]],["title/interfaces/MailAttachment.html",[105,0.702,1358,5.119]],["body/interfaces/MailAttachment.html",[3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,31,0.725,32,0.157,47,1.018,77,5.606,101,0.014,103,0.001,104,0.001,105,1.394,107,2.058,112,0.847,180,2.221,1150,5.123,1356,8.251,1357,6.694,1358,9.5,1359,8.454,1360,9.734,1361,6.885,1362,8.251,1363,6.391,1364,6.391,1365,9.044,1366,6.694,1367,8.251,1368,8.454,1369,8.454,1370,8.251,1371,6.747,1372,6.534,1373,6.534,1374,6.694,1375,6.694]],["title/interfaces/MailContent.html",[105,0.702,1365,5.119]],["body/interfaces/MailContent.html",[3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,31,0.5,32,0.143,33,0.531,47,1.009,77,8.158,101,0.014,103,0.001,104,0.001,105,1.395,107,2.062,112,0.848,180,2.222,1150,5.134,1356,9.508,1357,6.709,1358,9.053,1359,8.466,1360,6.709,1361,4.745,1362,9.508,1363,6.405,1364,6.405,1365,9.508,1366,9.742,1367,8.263,1368,8.466,1369,8.466,1370,8.263,1371,6.756,1372,6.548,1373,6.548,1374,6.709,1375,6.709]],["title/modules/MailModule.html",[201,1.848,15648,5.389]],["body/modules/MailModule.html",[0,0.317,3,0.021,4,0.021,5,0.011,8,1.136,27,0.386,29,0.74,30,0.001,31,0.533,32,0.121,33,0.449,35,1.138,47,0.81,95,0.137,101,0.015,103,0.001,104,0.001,105,0.959,201,3.365,203,3.403,208,3.464,209,3.554,226,1.369,349,0.969,413,3.484,490,3.334,636,5.477,1170,6.832,1171,7.95,1174,8.343,1180,6.695,1185,7.199,1186,8.203,1187,7.481,1188,8.203,15648,9.813,15649,8.665,15650,11.425,15651,9.366,15652,10.119,15653,8.665,15654,8.665]],["title/interfaces/MailModuleOptions.html",[105,0.702,15650,6.012]],["body/interfaces/MailModuleOptions.html",[0,0.317,3,0.021,4,0.021,5,0.011,7,0.134,30,0.001,32,0.149,47,0.958,95,0.137,101,0.015,103,0.001,104,0.001,105,0.959,107,2.2,112,0.883,201,3.365,208,3.464,209,3.554,226,1.369,349,0.969,413,2.829,636,5.477,1171,6.456,1174,7.699,1180,6.695,1185,8.36,1186,8.203,1187,8.688,1188,8.203,15648,9.056,15649,8.665,15650,10.947,15652,10.119,15653,8.665,15654,8.665]],["title/injectables/MailService.html",[539,0.921,15652,5.557]],["body/injectables/MailService.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.127,8,1.347,27,0.457,29,0.878,30,0.001,31,0.632,32,0.144,33,0.533,35,1.071,36,2.38,47,0.78,95,0.145,101,0.014,103,0.001,104,0.001,105,0.902,143,1.955,177,2.07,226,1.288,262,2.686,284,3.355,379,1.402,490,4.329,539,1.491,541,2.119,603,2.286,608,2.044,639,4.151,662,3.778,1185,5.503,1187,5.719,1209,9.73,1210,7.139,1211,10.021,1224,6.186,1225,5.719,1253,7.723,1256,7.723,1371,7.786,1540,9.321,15652,8.994,15655,8.158,15656,11.183,15657,8.818,15658,8.818,15659,8.158,15660,8.158,15661,8.158]],["title/interfaces/MailServiceOptions.html",[105,0.702,15656,6.012]],["body/interfaces/MailServiceOptions.html",[0,0.313,3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.148,36,1.984,47,0.955,95,0.148,101,0.014,103,0.001,104,0.001,105,0.948,107,2.175,112,0.877,143,2.053,177,2.134,226,1.353,262,2.044,284,2.797,379,1.169,490,3.296,539,1.537,603,2.357,608,2.146,639,4.359,662,2.876,1185,8.109,1187,8.427,1211,9.274,1224,6.495,1225,6.005,1253,8.11,1256,8.11,1371,6.984,1540,7.769,15652,7.496,15655,8.566,15656,10.892,15659,8.566,15660,8.566,15661,8.566]],["title/modules/ManagementModule.html",[201,1.848,15662,5.389]],["body/modules/ManagementModule.html",[0,0.243,3,0.016,4,0.016,5,0.008,30,0.001,95,0.168,101,0.011,103,0.001,104,0.001,119,1.484,201,2.965,203,2.61,204,2.799,205,2.878,206,2.867,207,2.855,208,4.558,209,2.725,214,4.524,218,3.894,219,2.821,220,2.756,223,4.583,225,4.377,226,1.05,437,1.555,598,4.16,599,5.24,1341,2.304,1609,6.291,2079,3.175,2080,3.545,2081,3.42,3134,3.308,3500,8.51,3505,8.479,3506,10.658,3513,4.951,3515,4.538,3517,6.645,3518,7.628,3885,10.658,3940,4.047,4729,4.795,8038,8.152,8043,9.973,8057,6.026,8075,9.644,8105,8.152,8109,10.284,8796,7.088,9382,5.039,10977,8.152,11212,5.134,11220,5.134,11221,4.951,11278,5.24,12420,4.43,12503,6.645,12504,6.645,13074,6.026,13077,4.951,14141,6.291,14147,8.152,15662,10.933,15663,7.183,15664,7.183,15665,7.183,15666,7.183,15667,7.183,15668,9.716,15669,7.183,15670,7.183,15671,7.183,15672,11.011,15673,6.026,15674,7.183]],["title/modules/ManagementServerModule.html",[201,1.848,15675,5.759]],["body/modules/ManagementServerModule.html",[0,0.347,3,0.017,4,0.017,5,0.009,30,0.001,32,0.101,47,0.546,87,3.937,95,0.16,96,2.737,99,1.261,101,0.018,103,0.001,104,0.001,155,2.538,173,2.26,201,3.499,203,2.824,204,3.029,205,3.115,206,3.102,207,3.09,208,2.875,209,2.949,218,4.104,219,3.053,220,2.983,225,4.84,226,1.136,236,1.266,239,1.822,292,3.937,349,0.804,413,2.348,437,1.025,490,2.767,521,3.077,573,5.27,687,5.055,762,5.113,996,3.745,997,3.619,998,3.701,999,3.911,1076,5.189,1077,4.794,1171,5.358,1174,6.837,1726,3.324,2024,3.619,2681,4.169,4956,5.358,5624,5.27,11207,7.639,11208,7.639,11209,5.67,11210,7.826,11211,5.556,11213,7.321,11217,7.472,11218,7.472,11219,7.472,11221,5.358,11232,9.304,11233,5.797,11234,5.797,11235,5.67,11273,5.453,11276,7.639,11278,5.67,11280,7.639,11387,6.808,11388,5.94,11389,6.808,12617,5.797,15662,10.556,15675,10.902,15676,7.773,15677,7.773,15678,7.191,15679,7.191,15680,6.808,15681,6.808,15682,6.522]],["title/modules/ManagementServerTestModule.html",[201,1.848,15682,5.759]],["body/modules/ManagementServerTestModule.html",[0,0.336,3,0.016,4,0.016,5,0.008,8,0.898,27,0.305,29,0.585,30,0.001,31,0.422,32,0.128,33,0.355,35,0.9,47,0.52,59,2.281,87,3.751,95,0.158,96,2.651,99,1.201,101,0.017,103,0.001,104,0.001,155,2.418,173,2.153,201,3.451,203,2.691,204,2.886,205,2.968,206,2.955,207,2.944,208,2.739,209,2.81,218,3.974,219,2.909,220,2.842,225,4.748,226,1.082,236,1.206,239,1.735,292,3.751,349,0.766,413,2.996,437,0.976,490,3.53,521,2.932,573,5.021,687,4.895,762,4.871,996,3.567,997,3.448,998,3.526,999,3.726,1076,4.943,1077,4.567,1170,5.402,1171,6.836,1174,7.464,1726,3.167,2024,3.448,2681,3.971,4956,5.104,5624,5.021,11207,7.396,11208,7.396,11209,5.402,11210,7.578,11211,5.293,11213,7.089,11217,7.235,11218,7.235,11219,7.235,11221,5.104,11232,9.127,11233,5.523,11234,5.523,11235,5.402,11273,8.735,11276,8.907,11278,5.402,11280,7.396,11387,6.486,11388,5.659,11389,6.486,12617,5.523,15662,10.444,15675,6.213,15678,9.175,15679,6.851,15680,6.486,15681,6.486,15682,11.161,15683,7.405,15684,7.405,15685,7.405]],["title/entities/Material.html",[154,1.389,12697,4.393]],["body/entities/Material.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.094,27,0.547,30,0.001,32,0.172,33,0.544,47,1.009,95,0.109,96,1.753,101,0.018,103,0,104,0,105,1.074,112,0.699,138,2.379,153,2.602,154,1.847,155,2.141,172,4.418,173,1.907,174,3.489,175,2.928,180,1.143,181,1.774,182,2.085,238,3.663,1262,3.96,1271,3.536,1717,3.141,2784,3.105,3601,4.568,3631,4.196,5844,7.363,5894,4.6,6446,3.544,6790,4.446,6791,4.044,7385,4.143,12697,5.841,12700,4.313,12708,7.578,12926,7.166,12927,5.502,12928,9.19,12929,9.19,12930,8.913,12931,9.19,12932,9.19,12933,9.19,12934,5.502,12935,4.784,12936,5.502,12937,5.502,12938,5.309,12939,5.502,12940,5.502,12941,5.502,12942,5.502,12943,5.502,12944,5.502,12945,5.502,12946,5.502,12947,5.502,12948,5.502,12949,5.502,12950,5.502,15686,6.558,15687,6.558,15688,6.558,15689,6.558,15690,6.558,15691,6.558,15692,6.558,15693,6.558,15694,6.558,15695,6.558]],["title/classes/MaterialFactory.html",[0,0.232,15696,6.35]],["body/classes/MaterialFactory.html",[0,0.174,2,0.566,3,0.011,4,0.011,5,0.006,7,0.074,8,0.927,27,0.538,29,1.043,30,0.001,31,0.716,32,0.173,33,0.603,34,1.528,35,1.502,47,0.537,55,2.401,59,3.337,95,0.091,101,0.008,103,0,104,0,112,0.585,120,3.239,133,2.649,140,2.816,153,2.483,154,2.192,155,2.496,177,1.424,180,1.332,271,4.671,319,3.239,349,0.53,379,0.647,382,3.905,413,2.309,437,0.676,447,7.24,448,4.609,449,5.61,452,4.233,453,5.61,454,5.725,455,4.233,456,4.233,457,4.233,458,4.164,459,4.629,460,5.061,461,6.537,462,5.902,463,7.079,464,2.864,469,2.84,470,4.233,471,2.864,472,5.274,473,5.432,474,4.312,475,5.13,476,4.198,477,2.84,478,2.689,479,4.187,480,3.365,481,2.771,482,2.729,483,2.84,484,5.2,485,2.864,486,3.643,487,4.979,488,2.84,489,6.969,490,4.305,491,6.699,492,2.864,493,4.483,494,2.84,495,2.864,496,2.84,497,2.864,498,2.84,499,3.2,500,2.998,501,2.84,502,6.189,503,2.864,504,2.84,505,4.233,506,3.98,507,4.233,508,2.864,509,2.75,510,2.729,511,2.278,512,2.84,513,2.84,514,2.84,515,2.864,516,2.864,517,1.938,518,2.84,519,1.579,520,2.864,521,3.026,522,2.84,523,2.864,526,2.998,934,5.512,1262,2.667,1271,1.597,3601,3.076,5844,3.326,12697,6.933,12708,3.423,12926,4.026,12928,4.151,12929,4.151,12930,4.026,12931,4.151,15696,8.455,15697,5.128,15698,4.744,15699,5.128]],["title/injectables/MaterialsRepo.html",[539,0.921,15700,6.35]],["body/injectables/MaterialsRepo.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.118,8,1.289,10,4.313,12,4.77,18,5.314,26,2.164,27,0.531,29,0.984,30,0.001,31,0.708,32,0.161,33,0.597,34,1.376,35,1.512,36,2.523,40,3.964,49,4.034,95,0.14,101,0.013,103,0.001,104,0.001,154,1.665,155,3.471,180,1.853,226,1.202,262,2.914,349,0.851,382,3.718,479,5.146,539,1.427,541,1.977,679,7.704,685,4.445,686,4.87,687,5.812,711,4.911,712,4.963,713,4.911,714,4.963,715,5.672,716,4.911,717,4.963,718,4.413,3697,5.672,12697,6.803,15698,7.613,15700,9.835,15701,8.229,15702,8.229]],["title/interfaces/Meta.html",[105,0.702,11930,4.731]],["body/interfaces/Meta.html",[3,0.019,4,0.019,5,0.01,7,0.125,30,0.001,32,0.17,34,1.452,47,1.002,55,2.673,101,0.021,103,0.001,104,0.001,105,1.391,107,2.04,112,0.842,119,1.795,284,2.624,347,4.582,479,3.201,986,5.634,991,8.609,1025,5.028,3122,3.749,4600,5.889,6722,5.13,11925,6.478,11926,6.637,11927,6.478,11928,6.478,11929,6.637,11930,8.753,11931,9.703,11932,9.703,11933,6.478,11934,6.637,11935,6.336,11936,6.478,11937,6.637,11938,6.478]],["title/modules/MetaTagExtractorApiModule.html",[201,1.848,15703,5.557]],["body/modules/MetaTagExtractorApiModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.16,101,0.014,103,0.001,104,0.001,201,3.281,203,3.218,204,3.451,205,3.549,206,3.535,207,3.52,208,4.507,209,3.36,214,6.263,218,4.464,219,3.479,220,3.399,222,5.527,223,4.637,225,4.428,226,1.294,259,3.386,1341,2.84,1752,6.333,1826,7.436,2764,4.193,11465,6.767,11466,8.89,11930,6.104,14021,7.17,15703,11.362,15704,8.856,15705,8.856,15706,8.856,15707,10.561,15708,11.286,15709,8.193,15710,10.674,15711,8.193,15712,8.856]],["title/controllers/MetaTagExtractorController.html",[259,2.624,15710,6.012]],["body/controllers/MetaTagExtractorController.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.222,27,0.312,29,0.6,30,0.001,31,0.432,32,0.17,33,0.364,35,0.922,36,2.159,95,0.157,100,2.578,101,0.012,103,0.001,104,0.001,138,1.357,150,1.704,177,1.413,223,3.157,226,1.108,236,1.236,259,2.9,261,3.632,262,2.499,270,5.915,294,6.067,324,5.104,335,6.078,336,7.526,337,3.949,338,4.037,339,7.017,341,7.017,343,4.067,345,2.418,346,4.526,347,4.084,349,1.17,437,1.492,608,1.758,739,4.349,824,3.575,1226,4.855,1877,6.727,2232,4.273,2764,3.591,2933,5.533,2935,7.515,2956,8.885,2962,6.376,3283,5.952,5588,8.455,8902,7.7,11464,10.561,11465,7.7,11466,9.606,11930,7.8,12866,8.158,12930,5.955,13938,8.648,14021,9.162,15708,9.495,15710,8.826,15713,10.078,15714,7.585,15715,7.585,15716,7.585,15717,7.585,15718,7.585,15719,7.017,15720,7.585,15721,9.912,15722,7.585,15723,7.585,15724,7.585,15725,7.585,15726,7.585,15727,7.585]],["title/modules/MetaTagExtractorModule.html",[201,1.848,15707,5.389]],["body/modules/MetaTagExtractorModule.html",[0,0.276,3,0.018,4,0.018,5,0.009,30,0.001,95,0.165,101,0.013,103,0.001,104,0.001,201,3.155,203,2.96,204,3.175,205,3.265,206,3.251,207,3.238,208,4.334,209,4.447,214,6.128,218,4.232,219,3.2,220,3.126,225,4.198,226,1.19,239,1.909,560,3.348,598,4.718,964,4.718,1341,2.613,1380,8.924,3513,5.615,3590,10.057,3593,8.026,3998,7.05,11212,5.823,11220,5.823,11221,5.615,11377,7.537,11465,6.225,11466,8.549,11930,5.615,15707,11.158,15709,7.537,15728,8.147,15729,8.147,15730,8.147,15731,8.147,15732,11.767,15733,8.147,15734,8.147,15735,8.147,15736,8.147]],["title/classes/MetaTagExtractorResponse.html",[0,0.232,15721,6.012]],["body/classes/MetaTagExtractorResponse.html",[0,0.354,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,27,0.526,29,0.634,30,0.001,31,0.456,32,0.165,33,0.64,47,0.95,95,0.138,101,0.012,103,0.001,104,0.001,112,0.8,138,2.205,148,2.484,150,1.802,153,2.929,245,3.278,247,3.445,248,4.172,379,1.319,774,4.088,1262,4.459,1271,3.982,2779,7.472,2782,7.348,2784,3.796,3283,7.549,6446,4.334,6470,6.727,6791,4.945,8704,6.875,11465,10.014,11466,10.208,15234,6.492,15721,11.194,15737,13.106,15738,8.018,15739,8.018,15740,8.018,15741,8.018,15742,8.018,15743,8.018,15744,8.018]],["title/injectables/MetaTagExtractorService.html",[539,0.921,15732,5.759]],["body/injectables/MetaTagExtractorService.html",[0,0.197,3,0.013,4,0.013,5,0.007,7,0.084,8,1.019,27,0.444,29,0.852,30,0.001,31,0.613,32,0.148,33,0.517,35,1.309,36,2.308,47,0.932,55,1.714,95,0.128,101,0.013,103,0,104,0,153,2.617,226,0.852,236,1.369,239,1.367,262,2.626,274,3.518,282,5.243,284,1.762,349,1.23,360,2.955,437,1.71,480,1.623,486,1.757,529,1.665,539,1.128,541,1.402,556,3.141,578,3.557,579,4.506,603,2.629,608,1.947,696,3.261,990,2.874,1079,3.445,1242,4.541,1262,4.581,1271,3.705,2171,6.22,2723,4.021,5797,5.397,9425,4.255,11465,8.725,11466,9.461,15732,7.049,15745,11.418,15746,5.834,15747,7.773,15748,8.402,15749,8.402,15750,8.402,15751,8.402,15752,5.834,15753,8.402,15754,12.256,15755,10.773,15756,5.834,15757,8.402,15758,8.402,15759,5.834,15760,8.402,15761,5.834,15762,8.402,15763,8.261,15764,8.261,15765,7.773,15766,5.834,15767,5.834,15768,9.847,15769,5.834,15770,5.834,15771,5.834,15772,5.834,15773,5.834,15774,5.834,15775,5.834,15776,5.834,15777,5.834,15778,5.834,15779,5.834,15780,5.834,15781,5.834,15782,5.834,15783,5.834,15784,5.834,15785,5.834,15786,5.834,15787,8.402,15788,5.834,15789,8.402,15790,8.402,15791,8.402,15792,5.834]],["title/injectables/MetaTagExtractorUc.html",[539,0.921,15708,5.759]],["body/injectables/MetaTagExtractorUc.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.308,26,2.556,27,0.444,29,0.853,30,0.001,31,0.614,32,0.14,33,0.517,35,1.023,36,2.311,39,2.3,47,0.836,95,0.149,99,1.366,101,0.013,103,0.001,104,0.001,177,2.01,226,1.23,236,1.371,262,2.628,349,0.87,379,1.361,437,1.11,529,2.403,539,1.448,541,2.022,560,3.458,579,4.514,603,2.219,608,2.5,739,4.655,990,2.88,1242,4.549,1262,4.152,1758,7.066,1855,5.132,1877,7.199,2171,4.585,2517,6.14,11465,9.095,11466,9.685,15708,9.049,15711,7.787,15732,11.326,15747,9.978,15793,11.902,15794,8.417,15795,8.417,15796,10.786,15797,8.417,15798,8.417]],["title/classes/MetadataTypeMapper.html",[0,0.232,15799,6.35]],["body/classes/MetadataTypeMapper.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,8,1.399,27,0.386,29,0.74,30,0.001,31,0.533,32,0.149,33,0.449,35,1.138,95,0.149,99,1.52,101,0.015,103,0.001,104,0.001,226,1.369,236,1.879,349,0.969,413,3.775,437,1.521,529,2.674,1664,3.502,2647,6.388,3255,7.288,6766,10.119,6844,7.583,6863,8.107,11193,7.583,13082,8.991,13085,6.252,13086,6.16,15799,10.671,15800,11.535,15801,8.203,15802,11.535,15803,11.535,15804,8.203,15805,8.665]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.232,14584,5.557]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.409,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.417,29,0.604,30,0.001,31,0.435,32,0.099,33,0.366,35,0.928,47,0.884,52,5.472,55,1.559,59,2.354,95,0.121,101,0.019,103,0.001,104,0.001,157,4.769,180,2.194,226,1.117,239,2.662,349,1.175,379,0.964,590,6.246,654,3.412,936,4.89,1025,4.497,1147,3.673,1338,5.827,1339,6.505,1341,2.451,1343,6.423,2680,5.865,4541,6.043,4565,5.123,8829,6.551,8830,6.801,8928,10.47,13754,5.267,14571,6.187,14572,9.53,14573,5.699,14574,10.187,14575,10.147,14577,10.147,14579,6.411,14580,6.411,14581,6.187,14582,8.497,14583,5.574,14584,8.199,15806,7.642,15807,7.642]],["title/classes/MigrationBody.html",[0,0.232,14783,6.012]],["body/classes/MigrationBody.html",[0,0.36,2,0.911,3,0.018,4,0.018,5,0.009,7,0.118,27,0.485,30,0.001,32,0.153,33,0.633,52,6.361,95,0.127,101,0.013,103,0.001,104,0.001,112,0.815,119,2.729,138,2.109,142,5.146,143,2.928,144,4.299,145,3.702,147,6.732,148,2.554,150,1.853,153,2.701,245,3.195,249,4.873,517,4.992,654,3.966,2493,7.001,5552,9.889,8184,6.812,10317,8.192,12675,7.938,14783,9.323,14845,9.007,14846,9.007,14847,9.007,15808,8.246,15809,8.246,15810,8.246,15811,8.246]],["title/injectables/MigrationCheckService.html",[539,0.921,15812,5.759]],["body/injectables/MigrationCheckService.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.222,26,2.455,27,0.415,29,0.797,30,0.001,31,0.574,32,0.13,33,0.483,35,0.922,36,2.159,47,0.906,48,5.775,95,0.149,99,1.231,101,0.012,103,0.001,104,0.001,119,1.567,128,4.611,145,2.126,177,2.109,226,1.108,227,3.144,239,1.778,262,2.499,349,1.17,379,1.272,437,1.59,539,1.353,541,1.822,593,4.216,603,2.329,608,2.623,654,3.399,1959,7.619,1961,7.444,1963,4.273,1964,5.678,3603,3.816,4565,5.104,4578,6.536,4580,7.063,4590,7.515,4822,7.622,7322,5.363,8980,5.063,8989,7.15,10187,6.14,14971,6.364,15812,8.455,15813,11.317,15814,7.585,15815,9.323,15816,10.339,15817,7.585,15818,10.078,15819,7.585,15820,6.643,15821,8.158,15822,7.017,15823,6.643,15824,7.585,15825,10.078,15826,7.017]],["title/classes/MigrationDto.html",[0,0.232,14799,4.906]],["body/classes/MigrationDto.html",[0,0.339,2,1.106,3,0.022,4,0.022,5,0.011,7,0.144,27,0.495,29,0.792,30,0.001,31,0.57,32,0.156,33,0.48,47,0.843,101,0.016,103,0.001,104,0.001,112,0.919,128,5.243,379,1.264,2119,8.346,2135,8.4,4565,5.804,14799,9.755,15827,10.012,15828,12.012,15829,12.012,15830,9.262,15831,10.012]],["title/injectables/MigrationMapper.html",[539,0.921,14763,5.759]],["body/injectables/MigrationMapper.html",[0,0.317,3,0.021,4,0.021,5,0.011,7,0.134,8,1.399,27,0.386,29,0.74,30,0.001,31,0.533,32,0.121,33,0.449,35,1.138,95,0.149,100,3.184,101,0.015,103,0.001,104,0.001,226,1.369,236,1.526,349,0.969,437,1.235,539,1.548,541,2.25,662,3.883,790,4.713,824,4.092,10317,7.587,14763,9.678,14791,10.561,14792,7.858,14793,8.203,14794,10.845,14845,7.157,14846,7.157,14847,7.157,14968,7.858,14970,7.858,15832,9.366,15833,10.103,15834,10.103,15835,9.366,15836,9.366,15837,9.366,15838,9.366,15839,9.366,15840,9.366]],["title/classes/MigrationMayBeCompleted.html",[0,0.232,15841,6.35]],["body/classes/MigrationMayBeCompleted.html",[0,0.311,2,1.014,3,0.02,4,0.02,5,0.01,7,0.132,8,1.381,27,0.469,29,0.725,30,0.001,31,0.522,32,0.119,33,0.44,35,1.115,52,4.42,59,2.826,95,0.109,101,0.014,103,0.001,104,0.001,119,2.559,177,1.71,284,2.772,345,2.926,349,0.949,379,1.158,590,5.659,654,2.756,1025,3.633,1147,3.459,1338,5.735,1339,6.403,1341,2.943,1343,6.433,3291,5.595,4565,5.586,8829,6.448,8830,6.694,13011,9.035,13043,7.012,15841,10.537,15842,11.458,15843,8.489,15844,8.489,15845,8.489,15846,8.489,15847,8.489,15848,7.429]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.232,15849,6.35]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.311,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,8,1.383,27,0.47,29,0.727,30,0.001,31,0.524,32,0.119,33,0.441,35,1.117,52,4.43,59,2.833,95,0.109,101,0.014,103,0.001,104,0.001,119,2.562,177,1.714,284,2.778,345,2.932,349,0.951,379,1.161,654,2.762,1025,3.641,1147,3.464,1338,5.741,1339,6.409,1341,2.95,1343,6.438,4565,5.592,8829,6.455,8830,6.701,13011,9.044,13043,7.027,15842,11.47,15843,8.508,15844,8.508,15845,8.508,15846,8.508,15847,8.508,15848,7.446,15849,10.552,15850,7.446]],["title/classes/MigrationResponse.html",[0,0.232,14794,5.557]],["body/classes/MigrationResponse.html",[0,0.251,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,27,0.528,29,0.585,30,0.001,31,0.422,32,0.181,33,0.646,52,6.558,83,4.186,95,0.088,101,0.011,103,0.001,104,0.001,112,0.759,119,2.049,138,2.228,149,4.797,150,1.664,153,2.854,245,2.544,271,2.749,379,0.935,821,3.429,1277,6.671,2493,6.523,6497,6.62,8184,7.643,10317,8.61,11545,7.786,12675,7.396,14794,10.081,14810,8.686,14845,8.545,14846,8.545,14847,8.545,14968,9.382,14970,9.382,15851,7.405,15852,9.918,15853,9.175,15854,8.686,15855,7.405,15856,7.405,15857,7.405,15858,7.405,15859,6.851,15860,6.851,15861,6.851,15862,6.851,15863,6.851,15864,6.851,15865,6.851,15866,6.851,15867,6.851,15868,6.851]],["title/classes/MissingSchoolNumberException.html",[0,0.232,14581,5.557]],["body/classes/MissingSchoolNumberException.html",[0,0.409,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.417,29,0.604,30,0.001,31,0.435,32,0.099,33,0.366,35,0.928,47,0.884,52,5.472,55,1.559,59,2.354,95,0.121,101,0.019,103,0.001,104,0.001,157,4.769,180,2.194,226,1.117,239,2.662,349,1.175,379,0.964,590,6.246,654,3.412,936,4.89,1025,4.497,1147,3.673,1338,5.827,1339,6.505,1341,2.451,1343,6.423,2680,5.865,4541,6.043,4565,5.123,8829,6.551,8830,6.801,8928,10.47,13754,5.267,14571,6.187,14572,9.53,14573,5.699,14574,10.187,14575,10.147,14577,10.147,14579,6.411,14580,6.411,14581,8.199,14582,8.497,14583,5.574,14584,6.187,15869,7.642,15870,7.642]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.232,15871,6.35]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.221,2,0.72,3,0.014,4,0.014,5,0.007,7,0.093,8,1.102,27,0.531,29,0.895,30,0.001,31,0.371,32,0.174,33,0.502,35,1.104,47,0.888,55,1.329,95,0.142,101,0.01,103,0,104,0,112,0.695,131,2.472,138,2.13,177,2.523,180,1.584,182,2.071,226,0.952,284,1.968,340,3.158,347,2.351,349,0.674,363,6.708,379,1.147,382,3.684,437,0.859,480,1.813,564,2.839,603,1.87,821,5.242,824,2.311,936,4.17,951,4.898,988,2.839,990,3.873,1025,4.482,1147,2.76,1269,8.086,1270,6.003,1271,3.527,1272,6.696,1276,4.226,1277,3.639,1278,4.226,1279,4.226,1280,4.226,1281,4.226,1282,4.226,1283,3.93,1284,3.704,1290,4.117,1338,4.845,1339,5.409,1341,2.09,1343,5.623,1650,5.895,1899,6.374,1901,3.236,2548,4.009,2566,2.909,2616,7.342,2651,4.349,3294,3.671,3736,5.707,3930,4.979,5530,7.357,5966,4.349,8829,5.447,8830,5.655,9276,4.117,9283,3.81,9284,3.973,9438,5.707,11322,6.028,15871,8.407,15872,10.463,15873,10.463,15874,6.516,15875,6.516,15876,6.516,15877,6.516,15878,5.467,15879,6.516,15880,9.087,15881,10.463,15882,6.516,15883,6.516,15884,6.516]],["title/modules/MongoMemoryDatabaseModule.html",[201,1.848,11273,4.815]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.256,3,0.017,4,0.017,5,0.008,8,0.916,27,0.414,29,0.597,30,0.001,31,0.43,32,0.13,33,0.362,35,1.221,36,2.154,59,2.327,95,0.153,96,2.687,99,1.226,101,0.012,103,0.001,104,0.001,143,1.676,155,2.467,173,2.197,201,3.041,203,2.746,209,2.867,225,3.004,226,1.104,262,2.22,349,1.168,413,3.036,437,1.653,490,4.462,521,2.992,573,5.123,603,1.555,608,1.751,637,5.402,639,3.557,645,5.512,646,5.402,762,4.97,996,3.64,997,3.518,998,3.598,999,3.802,1076,5.044,1077,4.661,1147,2.295,1170,5.512,1171,6.929,1174,8.037,1664,2.825,4956,6.929,7082,4.716,7133,4.97,8054,7.681,11209,8.784,11211,5.402,11213,7.186,11273,7.924,11276,8.98,11388,9.85,15885,11.296,15886,11.296,15887,7.557,15888,7.557,15889,10.98,15890,7.557,15891,10.053,15892,7.557,15893,7.557,15894,7.557,15895,10.053,15896,7.557,15897,6.118,15898,7.557,15899,6.991,15900,7.557,15901,7.557,15902,10.053,15903,7.557]],["title/classes/MongoPatterns.html",[0,0.232,13839,5.759]],["body/classes/MongoPatterns.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.391,30,0.001,72,5.247,101,0.015,103,0.001,104,0.001,112,0.89,355,7.35,358,5.194,413,3.799,480,2.642,486,2.861,572,9.134,1108,6.942,1822,6.942,1832,6.389,5541,8.18,8786,9.419,10930,10.189,11951,8.89,13839,9.761,15904,9.498,15905,12.577,15906,11.634,15907,11.634,15908,9.498,15909,11.634,15910,9.761,15911,11.634,15912,11.634,15913,10.763]],["title/classes/MoveCardBodyParams.html",[0,0.232,4071,6.012]],["body/classes/MoveCardBodyParams.html",[0,0.391,2,1.037,3,0.021,4,0.021,5,0.011,7,0.135,27,0.476,30,0.001,32,0.15,47,0.811,55,2.357,95,0.138,101,0.015,103,0.001,104,0.001,112,0.884,138,2.067,142,4.501,143,2.895,144,4.25,145,3.66,148,2.908,150,2.109,245,3.209,808,4.573,3493,8.257,3494,6.71,3499,6.848,4071,10.117,4112,9.561,7226,8.685,15914,11.576,15915,12.512,15916,8.685,15917,9.388,15918,8.222,15919,9.388]],["title/classes/MoveColumnBodyParams.html",[0,0.232,5016,6.012]],["body/classes/MoveColumnBodyParams.html",[0,0.387,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.47,30,0.001,32,0.148,34,1.909,47,0.802,55,2.33,95,0.136,101,0.014,103,0.001,104,0.001,112,0.874,138,2.044,142,4.836,143,2.877,144,4.223,145,3.637,148,2.855,150,2.071,153,2.113,245,3.183,808,4.522,1944,4.818,2739,5.178,3493,8.164,3494,6.589,3499,6.724,3876,5.444,4112,9.483,5016,10.003,15914,11.482,15918,8.073,15920,9.218,15921,12.411,15922,9.218,15923,9.218]],["title/classes/MoveContentElementBody.html",[0,0.232,8736,6.012]],["body/classes/MoveContentElementBody.html",[0,0.389,2,1.03,3,0.02,4,0.02,5,0.01,7,0.134,27,0.474,30,0.001,32,0.149,47,0.808,55,2.347,95,0.137,101,0.014,103,0.001,104,0.001,112,0.88,138,2.058,142,4.482,143,2.888,144,4.24,145,3.651,148,2.888,150,2.095,245,3.199,808,4.554,2255,4.769,3493,8.222,3494,6.664,3499,6.801,4112,9.532,7231,7.822,8736,10.074,15916,8.625,15918,8.166,15924,12.474,15925,12.474,15926,9.323,15927,9.323]],["title/classes/MoveElementParams.html",[0,0.232,7619,5.759]],["body/classes/MoveElementParams.html",[0,0.417,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,32,0.146,55,2.514,72,4.093,95,0.135,100,3.085,101,0.018,103,0.001,104,0.001,112,0.866,138,2.024,148,2.811,149,4.357,150,2.039,153,2.08,245,3.404,249,4.425,975,4.424,1080,5.807,1942,3.794,2341,5.596,2804,6.019,3493,9.221,3494,6.486,3499,8.989,3914,6.254,5609,7.613,6088,6.943,7231,7.613,7614,5.733,7619,9.489,7623,6.486,7740,7.346,9194,8.88,15928,11.4,15929,11.625,15930,9.074,15931,9.074]],["title/classes/MoveElementPositionParams.html",[0,0.232,15929,6.012]],["body/classes/MoveElementPositionParams.html",[0,0.406,2,0.943,3,0.019,4,0.019,5,0.01,7,0.123,27,0.493,30,0.001,32,0.155,33,0.522,55,2.719,72,4.91,95,0.13,100,3.701,101,0.017,103,0.001,104,0.001,112,0.833,138,2.144,148,2.645,149,4.194,150,1.919,153,2.495,245,3.343,249,4.259,975,5.308,1080,7.669,1942,4.552,2341,6.714,2804,6.716,3490,10.072,3493,9.021,3494,6.105,3499,8.742,3914,7.504,5609,9.134,6088,6.752,7231,7.165,7614,6.878,7619,7.165,7623,8.566,7740,9.702,15928,11.675,15929,11.053,15932,8.54,15933,8.54,15934,8.54,15935,8.54]],["title/entities/News.html",[154,1.389,7106,3.938]],["body/entities/News.html",[0,0.315,3,0.01,4,0.022,5,0.005,7,0.153,9,3.217,26,1.897,27,0.513,30,0.001,31,0.53,32,0.167,33,0.551,34,1.129,47,0.897,83,2.405,95,0.137,96,2.211,101,0.016,103,0,104,0,105,0.446,112,0.772,138,2.158,143,2.675,144,3.622,154,2.04,155,1.423,160,4.62,170,3.33,172,3.688,173,1.267,174,2.583,175,1.946,180,1.624,181,2.521,182,1.386,236,1.347,239,2.607,349,0.451,355,5.226,358,3.693,381,1.477,403,4.62,413,1.316,459,4.189,480,1.212,486,1.313,521,3.275,563,4.936,643,3.031,644,5.18,654,3.342,655,4.719,839,2.569,996,3.985,997,4.338,998,3.939,999,4.162,1000,4.543,1271,3.323,1289,4.166,1664,1.629,1717,4.462,1723,4.189,1739,3.81,1815,4.443,1832,2.394,1926,2.535,2255,4.077,2565,4.702,2670,4.886,2683,2.574,2739,5.728,2784,2.063,3452,4.656,3454,4.323,3455,4.739,3457,3.115,3458,3.057,3459,3.25,3473,2.601,3606,2.955,3631,2.789,4266,2.282,4358,3.33,4359,3.004,4500,3.179,5094,3.83,5174,4.928,5747,7.355,5932,3.651,5935,5.366,6683,3.057,6770,2.688,6772,2.456,6793,2.629,7000,2.955,7006,2.72,7093,3.25,7094,3.528,7096,4.119,7097,3.528,7098,6.949,7099,6.043,7100,3.528,7101,8.374,7102,6.219,7103,6.169,7104,6.949,7105,6.861,7106,7.674,7107,5.469,7108,6.66,7109,5.469,7110,5.162,7111,5.162,7112,6.043,7113,5.469,7114,3.33,7115,3.33,7116,3.528,7117,3.25,7118,3.528,7119,2.601,7120,2.688,7121,3.33,7122,3.528,7123,3.528,7124,6.494,7125,3.528,7126,6.697,7127,3.528,7128,3.528,7129,5.162,7130,3.33,7131,5.802,7132,3.422,7133,4.443,7134,3.33,7135,3.179,7136,3.33,7137,3.528,15936,4.358,15937,4.358,15938,4.358,15939,4.358,15940,4.358,15941,4.358,15942,4.358,15943,4.358,15944,4.358,15945,4.358,15946,4.358,15947,4.358]],["title/controllers/NewsController.html",[259,2.624,15948,6.012]],["body/controllers/NewsController.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.936,10,4.419,27,0.448,29,0.861,30,0.001,31,0.62,32,0.141,33,0.522,34,1.29,35,1.323,36,2.704,95,0.141,100,4.018,101,0.008,103,0,104,0,112,0.591,138,1.949,150,1.167,154,1.561,177,0.968,223,2.162,226,0.759,236,0.846,239,2.845,247,2.231,259,1.985,261,2.487,262,2.943,270,6.585,271,4.237,274,4.654,294,6.835,310,3.993,324,4.664,333,3.285,334,3.368,337,2.704,338,2.764,343,2.785,345,1.656,349,1.126,437,1.664,608,2.524,643,3.463,654,3.062,685,4.262,824,2.737,836,7.15,993,4.31,1678,6.215,2617,5.896,2941,7.507,2958,6.433,2962,5.188,2963,2.723,3454,4.938,3779,6.433,4622,4.816,5126,4.705,5539,6.247,5558,4.438,6132,4.469,6861,6.147,7106,7.793,7146,7.139,7279,8.252,7336,3.968,11307,8.252,13620,4.357,14987,4.357,14993,4.357,15948,6.758,15949,5.193,15950,7.229,15951,5.193,15952,5.193,15953,11.056,15954,7.717,15955,5.193,15956,4.804,15957,5.193,15958,7.139,15959,5.193,15960,7.717,15961,5.193,15962,7.717,15963,5.193,15964,8.552,15965,7.717,15966,5.193,15967,4.204,15968,4.548,15969,7.455,15970,4.804,15971,4.204,15972,4.204,15973,4.804,15974,5.193,15975,4.804,15976,4.804,15977,4.804,15978,8.927,15979,4.548,15980,4.804,15981,4.804,15982,4.804,15983,4.804,15984,5.193,15985,5.193,15986,5.193,15987,5.193,15988,5.193,15989,7.717,15990,5.193]],["title/classes/NewsCrudOperationLoggable.html",[0,0.232,15991,6.012]],["body/classes/NewsCrudOperationLoggable.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,8,1.334,26,2.586,27,0.453,29,0.687,30,0.001,31,0.494,32,0.112,33,0.417,35,1.055,39,3.471,95,0.151,99,1.409,101,0.013,103,0.001,104,0.001,177,2.251,191,4.732,284,2.624,349,0.898,379,1.389,603,2.485,1025,3.439,1147,3.342,1338,5.593,1339,6.244,1341,2.786,1343,6.308,2407,10.281,7106,7.967,8262,8.609,8301,7.608,15967,7.032,15968,7.608,15991,9.638,15992,12.079,15993,8.686,15994,8.686,15995,11.748,15996,8.686,15997,8.686,15998,8.036,15999,8.036,16000,8.686]],["title/classes/NewsListResponse.html",[0,0.232,15971,5.557]],["body/classes/NewsListResponse.html",[0,0.266,2,0.587,3,0.012,4,0.025,5,0.006,7,0.076,27,0.453,29,0.42,30,0.001,31,0.531,32,0.169,33,0.527,34,1.924,47,0.858,55,2.731,56,5.545,59,2.418,70,5.792,83,2.714,95,0.137,99,0.862,101,0.012,103,0,104,0,112,0.601,133,1.842,138,1.845,149,3.971,150,1.194,153,3.088,154,2.605,180,1.368,239,2.416,245,3.406,247,2.283,253,3.875,284,3.322,305,3.078,319,2.252,376,3.886,377,4.048,379,0.991,382,3.08,404,2.139,406,3.278,408,3.278,437,1.231,556,1.307,563,3.172,654,3.458,815,7.344,816,6.271,817,4.504,819,2.674,821,4.322,822,2.576,823,2.829,824,1.885,825,3.728,826,5.091,827,4.546,828,3.496,829,2.748,830,3.728,831,3.728,833,3.358,834,2.896,839,2.439,993,2.969,1271,3.212,1568,3.401,1643,3.108,1723,5.221,1739,3.616,1926,1.994,2255,3.941,2368,3.358,2739,5.398,2784,2.516,2918,4.21,2919,4.21,2922,2.546,2958,3.139,3473,3.172,3526,3.964,4359,3.663,4430,7.832,4622,3.317,4706,3.663,5747,6.809,5935,4.968,6792,3.317,7099,5.091,7102,6.231,7103,3.964,7104,6.962,7105,5.57,7106,7.386,7115,4.061,7121,4.061,7131,3.728,7283,6.548,7287,3.139,7288,4.459,7289,4.061,7292,5.024,7295,3.877,10471,3.964,13295,4.303,15971,6.356,15972,9.896,16001,4.917,16002,5.315,16003,5.315,16004,6.356,16005,6.356,16006,7.557,16007,7.263,16008,7.263,16009,4.655,16010,7.263,16011,4.917,16012,4.917,16013,4.173,16014,4.917,16015,4.655,16016,6.876]],["title/classes/NewsMapper.html",[0,0.232,15967,5.557]],["body/classes/NewsMapper.html",[0,0.209,2,0.683,3,0.014,4,0.019,5,0.007,7,0.089,8,1.062,27,0.481,29,0.923,30,0.001,31,0.664,32,0.151,33,0.56,34,1.463,35,1.418,95,0.144,99,1.003,100,4.329,101,0.01,103,0,104,0,236,1.007,239,1.448,271,3.249,284,2.644,310,3.796,349,1.207,376,2.572,377,2.68,413,4.139,437,1.679,654,3.054,783,4.889,790,3.109,1271,3.167,1340,8.904,1341,1.982,1723,3.13,2255,3.887,2739,5.014,5935,4.659,7099,6.594,7102,6.786,7104,4.608,7105,6.599,7106,7.534,7279,8.953,7283,7.758,7645,8.099,11307,8.953,11309,5.002,12762,8.231,12769,8.53,12770,8.953,15964,9.278,15967,7.087,15972,8.953,16017,6.179,16018,8.754,16019,8.754,16020,8.754,16021,8.754,16022,8.754,16023,6.179,16024,8.754,16025,6.179,16026,8.754,16027,6.179,16028,8.754,16029,6.179,16030,8.754,16031,6.179,16032,5.412,16033,10.167,16034,5.412,16035,5.412,16036,6.179,16037,6.179,16038,6.179,16039,8.754,16040,6.179,16041,6.179,16042,5.717,16043,6.179,16044,6.179,16045,8.099,16046,8.099,16047,6.179,16048,6.179,16049,5.717,16050,6.179,16051,6.179,16052,6.179,16053,8.754,16054,6.179,16055,6.179,16056,6.179,16057,6.179,16058,8.754,16059,8.754,16060,6.179,16061,6.179,16062,6.179]],["title/modules/NewsModule.html",[201,1.848,16063,5.557]],["body/modules/NewsModule.html",[0,0.29,3,0.019,4,0.019,5,0.01,30,0.001,95,0.161,101,0.013,103,0.001,104,0.001,201,3.23,203,3.11,204,3.335,205,3.43,206,3.416,207,3.402,208,4.437,209,4.552,214,6.208,218,4.368,219,3.361,220,3.284,223,4.538,225,4.333,226,1.25,227,3.547,1341,2.745,1752,7.58,2531,3.963,15948,10.506,15969,11.434,15970,7.918,16063,11.486,16064,8.558,16065,8.558,16066,8.558,16067,8.558,16068,10.796,16069,8.558,16070,10.506,16071,8.558,16072,8.558,16073,8.558]],["title/injectables/NewsRepo.html",[539,0.921,16068,5.557]],["body/injectables/NewsRepo.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.068,8,0.87,10,2.91,12,3.218,18,3.585,26,2.459,27,0.507,29,0.932,30,0.001,31,0.671,32,0.156,33,0.565,34,1.452,35,1.432,36,2.683,40,2.27,49,2.721,59,2.675,95,0.131,96,1.259,98,2.812,99,0.764,101,0.007,103,0,104,0,112,0.549,153,1.08,154,0.953,155,2.342,173,1.37,180,1.25,226,0.688,236,1.168,262,2.955,310,3.11,319,3.68,333,4.446,349,1.08,382,2.9,437,1.651,479,4.615,480,1.311,486,1.419,490,4.621,539,0.963,541,1.132,590,5.986,603,1.787,604,3.568,608,2.799,654,3.305,679,6.562,685,2.999,686,3.286,687,4.286,711,2.812,712,2.842,713,2.812,714,2.842,715,3.248,716,2.812,717,2.842,718,2.527,723,3.368,741,3.194,849,5.375,1128,3.056,1664,1.762,2093,4.041,2350,5.733,2739,5.475,3454,6.212,3457,6.938,3892,5.806,4381,2.842,4741,3.145,4743,5.127,5515,2.783,5558,3.538,5747,5.232,5932,5.946,5935,3.817,6132,4.154,6402,4.943,6861,4.326,7093,6.476,7106,7.576,7130,6.635,7136,6.635,7150,7.511,7160,5.349,8580,5.232,10114,8.763,10797,6.635,10811,6.635,11311,3.699,13769,8.501,16068,5.806,16074,4.712,16075,8.684,16076,7.172,16077,8.684,16078,7.172,16079,7.172,16080,9.261,16081,4.712,16082,4.712,16083,4.712,16084,7.172,16085,4.712,16086,9.707,16087,4.712,16088,4.712,16089,4.712,16090,7.605,16091,7.172,16092,4.712,16093,9.707,16094,7.172,16095,4.712,16096,4.712,16097,7.172,16098,4.712,16099,4.712,16100,7.172,16101,7.172,16102,4.712,16103,4.712,16104,4.712,16105,8.684,16106,4.712,16107,4.712,16108,4.712]],["title/classes/NewsResponse.html",[0,0.232,15972,5.557]],["body/classes/NewsResponse.html",[0,0.232,2,0.492,3,0.01,4,0.027,5,0.005,7,0.064,27,0.538,29,0.352,30,0.001,31,0.58,32,0.175,33,0.538,34,2.064,47,0.918,55,1.711,56,3.309,70,3.456,83,3.129,95,0.128,99,0.723,101,0.011,103,0,104,0,112,0.526,133,2.381,138,2.319,149,3.631,150,1.001,153,3.076,154,2.742,180,0.776,239,2.628,245,3.292,247,1.913,253,4.139,284,2.075,305,3.978,319,2.911,376,4.239,377,4.416,379,0.867,404,1.792,406,2.747,408,2.747,437,1.106,563,2.658,654,3.645,774,2.271,815,4.237,816,2.426,817,2.555,821,5.619,833,2.814,834,2.426,839,2.605,993,3.837,1271,3.493,1277,3.837,1568,2.85,1643,4.017,1723,5.679,1739,4.341,1926,2.578,2255,4.287,2368,4.34,2739,5.683,2784,2.109,2917,2.929,2918,5.054,2919,5.054,2921,2.631,2922,3.29,2958,4.057,3473,2.658,3526,5.123,4359,3.07,4430,7.035,4622,4.287,4706,4.735,5747,7.428,5935,5.419,6408,4.12,6792,2.78,7099,5.438,7102,6.797,7103,3.322,7104,7.594,7105,6.077,7106,7.774,7115,3.403,7121,3.403,7131,3.124,7283,7.143,7287,4.057,7288,5.763,7289,5.249,7292,6.032,7295,5.011,10471,3.322,13295,3.606,15971,3.606,15972,9.375,16001,4.12,16004,6.789,16005,6.789,16006,8.244,16007,7.758,16008,7.758,16009,3.901,16010,7.758,16011,4.12,16012,4.12,16013,3.497,16014,4.12,16015,6.016,16016,8.255,16109,4.454,16110,4.454,16111,4.454,16112,4.454,16113,4.454,16114,4.454,16115,4.454,16116,4.454,16117,4.454,16118,4.454,16119,4.454,16120,4.454,16121,4.454,16122,4.454,16123,4.454,16124,4.454]],["title/classes/NewsScope.html",[0,0.232,16090,6.012]],["body/classes/NewsScope.html",[0,0.216,2,0.706,3,0.014,4,0.014,5,0.007,7,0.092,8,1.087,26,2.286,27,0.538,29,0.888,30,0.001,31,0.639,32,0.163,33,0.538,35,1.489,83,2.607,95,0.141,96,1.709,99,1.037,101,0.01,103,0,104,0,112,0.686,119,2.14,173,1.859,180,1.563,236,1.461,310,4.868,349,1.223,382,3.532,437,1.365,480,1.778,486,1.926,519,1.969,556,1.572,603,2.522,696,2.482,708,2.562,739,2.759,1731,4.768,1818,7.494,2350,6.983,2739,2.898,3657,5.914,3659,5.175,4381,3.855,5558,5.389,5932,5.597,5935,3.402,6242,5.985,6243,5.985,6244,5.985,6249,5.985,6250,5.985,6251,4.334,6252,4.267,6253,4.334,6254,4.334,6263,4.267,6264,5.985,6265,4.334,6266,4.267,6267,4.334,6268,4.267,6269,7.494,7102,5.985,7105,3.815,7106,5.144,8499,5.019,10114,5.363,10119,5.914,10130,4.885,10851,5.599,10858,5.599,13864,7.259,13867,8.295,16080,9.089,16090,11.585,16125,10.938,16126,8.967,16127,11.227,16128,8.967,16129,11.227,16130,8.967,16131,6.393,16132,8.967,16133,6.393,16134,5.914,16135,6.393,16136,6.393,16137,6.393,16138,6.393,16139,6.393,16140,6.393,16141,6.393]],["title/interfaces/NewsTargetFilter.html",[105,0.702,16080,5.557]],["body/interfaces/NewsTargetFilter.html",[3,0.022,4,0.022,5,0.011,7,0.147,26,2.735,30,0.001,32,0.157,95,0.122,99,1.657,101,0.016,103,0.001,104,0.001,105,1.045,107,2.399,112,0.93,2739,4.63,7099,8.712,7105,8.016,10118,11.765,16080,9.841,16125,9.448,16142,10.213]],["title/injectables/NewsUc.html",[539,0.921,15969,5.557]],["body/injectables/NewsUc.html",[0,0.113,3,0.007,4,0.007,5,0.004,7,0.048,8,0.661,10,2.212,25,4.775,26,2.792,27,0.458,29,0.879,30,0.001,31,0.633,32,0.147,33,0.533,34,1.672,35,1.458,36,2.571,39,3.631,47,0.486,59,1.679,83,2.326,95,0.119,98,1.987,99,0.54,101,0.005,103,0,104,0,119,1.43,153,0.763,226,0.487,227,1.38,236,0.888,239,1.278,262,2.892,271,4.009,333,5.11,349,1.149,359,4.174,379,0.688,381,1.847,413,2.09,437,1.656,480,1.925,486,2.657,490,3.559,517,2.616,521,1.319,539,0.732,541,0.8,556,1.701,593,2.578,603,2.503,608,3,643,3.106,654,1,662,3.779,685,2.279,696,1.293,721,2.079,933,3.019,993,1.86,996,1.604,997,1.551,998,1.586,1218,1.259,1341,1.068,1673,3.362,1723,5.987,1758,3.683,1759,6.71,1815,3.586,1984,1.814,2312,4.145,2407,2.696,2531,1.542,2739,4,2773,5.261,2958,3.22,3122,2.353,3309,2.104,4266,2.98,4603,3.977,5558,4.252,5935,1.773,6861,2.009,7099,5.187,7102,6.966,7105,6.632,7106,7.736,7150,4.877,7222,2.545,7283,7.015,7295,2.43,9345,5.433,10088,5.043,10095,5.043,10114,8.39,10118,4.775,10545,2.545,11309,7.143,12762,6.475,12769,6.71,12770,8.096,13329,2.615,13615,4.775,14257,2.917,15195,5.806,15969,4.413,15979,4.775,15991,2.917,15995,3.081,15998,3.081,16009,2.917,16042,3.081,16045,7.4,16046,7.4,16049,5.043,16068,7.669,16080,4.413,16143,3.331,16144,6.921,16145,5.452,16146,5.452,16147,5.452,16148,6.921,16149,3.331,16150,3.331,16151,5.043,16152,3.331,16153,3.331,16154,3.331,16155,3.331,16156,5.452,16157,6.061,16158,5.452,16159,3.331,16160,5.452,16161,3.331,16162,9.474,16163,3.331,16164,5.452,16165,3.331,16166,5.043,16167,3.331,16168,5.603,16169,3.331,16170,5.452,16171,3.331,16172,3.331,16173,3.331,16174,5.452,16175,6.921,16176,3.331,16177,3.331,16178,7.998,16179,3.331,16180,5.452,16181,3.331,16182,5.452,16183,3.331,16184,3.331,16185,3.331,16186,3.331,16187,5.452,16188,3.331,16189,3.331,16190,3.331,16191,5.452,16192,6.921,16193,3.331,16194,3.331,16195,3.331,16196,3.331,16197,3.331,16198,3.331,16199,3.331,16200,3.331,16201,3.331,16202,3.331,16203,5.452,16204,3.331,16205,3.331,16206,3.331,16207,5.452,16208,3.331,16209,3.331,16210,3.331,16211,3.331,16212,3.331]],["title/classes/NewsUrlParams.html",[0,0.232,15953,6.012]],["body/classes/NewsUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,3876,5.841,7106,6.841,15953,10.443,16213,9.89,16214,12.801,16215,9.89]],["title/injectables/NexboardService.html",[539,0.921,15055,6.012]],["body/injectables/NexboardService.html",[0,0.27,3,0.018,4,0.018,5,0.009,7,0.114,8,1.263,26,2.504,27,0.429,29,0.823,30,0.001,31,0.593,32,0.15,33,0.499,34,1.332,35,0.968,36,2.231,39,3.17,47,0.949,94,3.959,95,0.146,101,0.016,103,0.001,104,0.001,145,2.235,153,2.818,177,1.485,226,1.165,236,1.298,262,2.56,284,2.408,345,2.541,349,1.077,379,1.006,437,1.529,539,1.398,541,1.915,560,3.275,579,4.275,603,1.64,608,1.847,685,3.333,990,3.563,1242,4.308,1262,2.781,1271,3.83,1341,2.557,1944,3.363,2312,4.806,2313,5.604,2501,3.84,8942,6.981,8943,9.545,8952,7.375,8954,7.375,10167,7.375,12703,7.443,15055,9.12,16216,7.971,16217,11.597,16218,7.971,16219,7.971,16220,7.971,16221,7.971,16222,10.413,16223,7.971,16224,7.971,16225,7.971,16226,7.971]],["title/interfaces/NextcloudGroups.html",[105,0.702,11927,5.119]],["body/interfaces/NextcloudGroups.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.544,47,0.978,55,2.535,101,0.021,103,0.001,104,0.001,105,1.41,107,2.17,112,0.875,119,1.909,284,2.79,347,3.334,479,3.405,986,5.992,991,6.264,1025,3.658,3122,3.987,4600,6.264,6722,7.668,11925,6.89,11926,7.059,11927,8.53,11928,6.89,11929,7.059,11930,8.563,11931,7.059,11932,7.059,11933,6.89,11934,7.059,11935,6.739,11936,6.89,11937,7.059,11938,6.89]],["title/injectables/NextcloudStrategy.html",[539,0.921,4675,6.012]],["body/injectables/NextcloudStrategy.html",[0,0.104,3,0.007,4,0.007,5,0.003,7,0.044,8,0.619,27,0.445,29,0.799,30,0.001,31,0.658,32,0.131,33,0.485,34,1.753,35,1.274,36,2.588,39,1.396,47,0.917,55,1.725,62,3.016,72,1.387,95,0.138,99,0.499,100,2.59,101,0.005,103,0,104,0,112,0.391,153,2.089,177,1.699,226,0.449,236,0.501,239,1.981,262,2.797,273,3.902,276,1.334,280,3.519,301,3.408,305,1.781,333,4.465,349,0.999,379,0.644,413,2.753,437,1.643,448,4.602,473,2.738,517,1.163,529,0.878,539,0.685,541,0.739,562,5.252,564,0.961,579,1.65,593,1.146,603,2.334,608,2.977,654,1.534,696,1.194,708,1.233,765,1.995,933,2.828,936,1.969,938,1.781,975,5.636,1057,3.902,1147,1.551,1242,2.76,1312,1.995,1341,0.987,1461,2.158,1520,3.725,1723,1.558,1726,1.315,1794,1.969,1820,1.855,1834,2.199,1901,1.528,1953,3.725,2205,3.65,2232,5.136,2312,2.116,2313,3.473,2318,1.781,2341,3.149,2368,3.226,2395,1.817,2427,3.187,2494,3.408,2548,2.566,2627,3.251,2830,1.836,2958,1.817,3002,2.086,3122,3.289,3430,2.12,3526,4.882,3600,3.251,3601,2.634,3603,1.548,3606,2.086,3970,6.967,3976,4.724,4600,7.523,4605,4.284,4608,3.462,4610,4.134,4611,4.134,4613,4.134,4614,4.134,4616,5.299,4619,4.134,4620,7.498,4622,8.109,4623,4.134,4627,4.134,4633,2.351,4635,2.415,4655,8.492,4656,2.49,4657,2.694,4658,8.459,4659,7.403,4673,7.045,4674,7.05,4675,4.472,4678,2.846,4679,2.415,4822,5.704,5265,2.581,5554,1.749,5703,1.92,5935,2.717,5953,2.621,6315,1.969,6324,1.897,6349,5.956,7282,2.415,7292,4.876,7322,2.717,7431,4.592,7521,3.187,7715,8.894,8052,4.009,8070,2.12,8176,2.415,8785,2.846,9460,4.895,10144,3.268,10188,6.657,10527,3.113,10926,1.749,12338,2.351,12360,9.073,12405,10.018,12498,4.724,12768,3.408,13381,6.65,15878,2.581,16227,3.076,16228,7.62,16229,7.62,16230,5.106,16231,5.106,16232,5.106,16233,3.076,16234,3.076,16235,7.648,16236,9.116,16237,3.076,16238,3.902,16239,3.076,16240,3.076,16241,5.106,16242,3.076,16243,8.452,16244,7.62,16245,5.106,16246,3.076,16247,3.076,16248,5.492,16249,3.076,16250,4.472,16251,5.106,16252,7.819,16253,3.076,16254,4.284,16255,4.724,16256,4.724,16257,5.106,16258,3.076,16259,3.076,16260,3.076,16261,3.076,16262,10.108,16263,7.62,16264,3.076,16265,2.846,16266,3.076,16267,3.076,16268,3.076,16269,5.106,16270,3.076,16271,5.106,16272,6.546,16273,7.62,16274,5.106,16275,3.076,16276,2.694,16277,2.49,16278,3.076,16279,5.106,16280,3.076,16281,3.076,16282,3.076,16283,3.076,16284,3.076,16285,3.076,16286,5.106,16287,3.076,16288,5.106,16289,3.076,16290,3.076,16291,3.076,16292,2.846,16293,3.076,16294,3.076,16295,3.076,16296,3.076,16297,3.076,16298,3.076,16299,3.076,16300,3.076,16301,3.076,16302,3.076,16303,3.076,16304,3.076,16305,3.076,16306,3.076,16307,3.076,16308,3.076,16309,3.076,16310,3.076,16311,5.106,16312,5.106,16313,3.076,16314,3.076,16315,3.076,16316,3.076,16317,3.076,16318,3.076,16319,3.076,16320,3.076,16321,3.076]],["title/classes/NotFoundLoggableException.html",[0,0.232,4539,4.654]],["body/classes/NotFoundLoggableException.html",[0,0.291,2,0.951,3,0.019,4,0.019,5,0.01,7,0.124,8,1.327,27,0.451,29,0.681,30,0.001,31,0.49,32,0.142,33,0.413,35,1.046,47,0.974,95,0.143,101,0.013,103,0.001,104,0.001,177,2.242,180,1.908,182,2.738,226,1.258,284,2.601,349,0.891,379,1.381,437,1.136,603,2.476,1025,4.333,1147,3.324,1338,5.571,1343,6.288,2681,6.452,4539,7.42,8829,6.591,9276,5.441,9278,6.156,9283,5.036,9284,5.252,11324,7.226,11325,7.226,16322,12.031,16323,12.031,16324,11.131,16325,8.613,16326,12.031,16327,12.031,16328,12.031,16329,8.613,16330,8.613,16331,8.613,16332,8.613,16333,8.613]],["title/injectables/OAuth2ToolLaunchStrategy.html",[539,0.921,16334,5.759]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.162,3,0.011,4,0.011,5,0.005,7,0.069,8,0.88,9,2.278,26,2.253,27,0.536,29,1.019,30,0.001,31,0.734,32,0.171,33,0.618,35,1.566,36,2.463,39,2.395,47,0.868,95,0.125,99,0.776,101,0.007,103,0,104,0,112,0.847,120,3.074,177,1.352,180,1.265,226,0.699,262,2.73,271,2.693,284,3.343,349,0.906,382,3.89,480,2.018,519,2.235,521,3.873,539,0.974,541,1.149,556,2.405,593,3.265,603,2.761,662,4.004,996,4.712,997,4.554,998,4.658,999,4.922,1000,5.373,1262,3.413,1650,2.695,1664,1.789,1898,6.832,1899,6.586,1953,7.136,1954,6.992,2088,5.684,2548,2.443,2587,4.014,2589,4.426,2590,12.335,2591,6.712,2592,8.109,2593,6.712,2594,6.712,2595,6.712,2596,6.712,2597,6.712,2598,6.712,2599,6.712,2600,6.712,2601,6.354,2602,6.354,2603,6.712,2604,6.712,2605,4.426,2606,9.59,2607,4.426,2608,6.712,2609,10.862,2611,6.712,2613,7.354,2614,4.426,2615,6.712,2616,7.458,2617,5.544,2618,4.426,2619,4.426,2620,6.712,2621,6.862,2622,4.426,2623,4.426,2624,6.712,2625,4.426,2626,4.426,2627,4.353,2628,4.426,2629,8.457,2630,4.426,2631,4.426,2632,4.426,2633,4.426,2634,4.19,2635,4.19,2636,4.426,2637,4.426,2638,4.426,2639,3.49,2640,4.426,2641,6.712,2642,6.434,2643,4.426,2644,4.426,2645,6.712,2646,4.426,2647,2.649,2648,6.712,2650,4.426,2651,3.193,2652,4.19,2653,3.756,2665,4.19,16334,6.087,16335,4.784,16336,4.784]],["title/classes/OAuthMigrationError.html",[0,0.232,16337,5.557]],["body/classes/OAuthMigrationError.html",[0,0.249,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,27,0.538,29,0.582,30,0.001,31,0.419,32,0.169,33,0.596,47,1.01,52,4.76,59,3.671,95,0.088,101,0.011,103,0.001,104,0.001,112,0.756,128,4.856,177,2.644,180,1.723,379,1.247,382,3.56,480,2.749,486,2.976,990,3.381,1025,5.066,1691,5.782,3930,5.628,4565,5.375,5554,5.617,7082,6.167,12266,9.344,13949,6.451,14573,5.493,16337,8,16338,11.025,16339,9.767,16340,9.767,16341,10.967,16342,13.072,16343,13.072,16344,9.882,16345,9.882,16346,7.365,16347,7.365,16348,7.365,16349,7.365,16350,7.365,16351,6.814,16352,6.814,16353,6.814,16354,6.814,16355,7.365,16356,7.365]],["title/classes/OAuthProcessDto.html",[0,0.232,16357,5.759]],["body/classes/OAuthProcessDto.html",[0,0.329,2,1.074,3,0.021,4,0.021,5,0.011,7,0.14,27,0.523,29,0.769,30,0.001,31,0.554,32,0.165,33,0.609,47,0.928,101,0.015,103,0.001,104,0.001,112,0.903,379,1.227,824,3.45,1478,7.583,2119,8.242,2135,8.159,6182,9.555,16357,11.359,16358,12.225,16359,9.725,16360,11.803,16361,9.725,16362,9.725,16363,9.725,16364,9.725]],["title/classes/OAuthRejectableBody.html",[0,0.232,5544,5.557]],["body/classes/OAuthRejectableBody.html",[0,0.311,2,0.732,3,0.015,4,0.015,5,0.007,7,0.095,27,0.493,30,0.001,32,0.155,33,0.639,47,0.91,55,1.875,95,0.109,101,0.01,103,0,104,0,112,0.703,135,6.922,138,2.143,142,5.192,144,4.337,145,3.957,148,2.051,150,1.488,153,2.913,245,3.179,248,4.78,249,4.849,282,5.735,287,6.044,347,3.316,348,5.736,662,2.855,843,7.997,951,4.302,990,4.679,1215,5.047,1295,6.704,1306,5.668,1783,8.286,2024,4.278,2424,6.733,3493,6.569,5515,5.428,5544,7.44,5545,8.854,5546,8.854,5547,8.286,5550,6.044,5567,8.95,5568,7.022,5569,8.048,5570,8.048,5571,8.048,5573,6.23,5574,8.711,5575,7.997,5576,7.022,5577,7.44,5578,7.022,5579,7.71,5580,7.44,5582,7.71,5584,7.022,5586,5.799,5587,7.71,5588,7.71,16365,11.466,16366,6.622,16367,6.622,16368,6.622,16369,6.622,16370,6.622,16371,6.622]],["title/classes/OAuthSSOError.html",[0,0.232,12266,4.906]],["body/classes/OAuthSSOError.html",[0,0.278,2,0.907,3,0.018,4,0.018,5,0.009,7,0.118,27,0.53,29,0.649,30,0.001,31,0.467,32,0.167,33,0.394,47,0.995,59,3.27,95,0.126,101,0.013,103,0.001,104,0.001,112,0.812,177,2.616,180,1.851,226,1.2,379,1.036,480,2.953,486,3.198,990,4.025,1025,5.099,1226,5.667,1691,8.335,3930,6.275,5554,6.035,7082,6.626,12266,7.589,16339,10.304,16340,10.304,16341,11.262,16351,7.598,16352,7.598,16353,7.598,16354,7.598,16372,13.191,16373,8.213,16374,10.617,16375,9.822,16376,9.87,16377,8.213,16378,8.213,16379,8.213,16380,7.598,16381,8.213]],["title/injectables/OAuthService.html",[539,0.921,12249,5.245]],["body/injectables/OAuthService.html",[0,0.104,3,0.007,4,0.007,5,0.003,7,0.044,8,0.616,26,1.546,27,0.456,29,0.876,30,0.001,31,0.631,32,0.143,33,0.531,35,1.312,36,2.514,47,1.003,48,5.907,52,4.38,59,2.596,95,0.148,99,0.496,100,1.04,101,0.005,103,0,104,0,105,0.313,119,1.991,121,6.885,128,1.247,133,1.061,143,1.127,177,1.95,226,0.447,236,1.643,238,4.242,239,2.131,262,2.794,284,0.924,310,1.327,349,1.171,360,1.55,379,0.642,437,1.737,529,2.168,539,0.682,541,0.735,556,1.603,593,2.429,603,2.451,608,2.796,639,1.441,654,2.281,951,3.945,990,1.047,1123,1.985,1223,3.634,1262,2.65,1338,1.417,1341,0.981,1387,6.823,1440,2.147,1443,2.282,1462,2.831,1466,2.567,1478,1.826,1482,2.338,1486,1.91,1498,5.07,1568,1.958,1612,3.708,1616,2.864,1628,6.033,1694,3.135,1726,2.174,1959,4.798,1961,4.289,1963,1.724,1964,2.864,2079,1.353,2080,1.51,2081,1.457,2082,1.958,2119,7.001,2312,2.703,2313,3.461,2431,2.109,3134,3.498,3430,3.504,3601,2.046,3603,2.558,4581,2.282,4822,5.37,4956,3.504,4957,2.402,5550,3.344,5554,2.89,6961,1.985,7250,4.452,7322,4.042,8479,2.68,8800,2.282,8980,5.07,8989,6.82,9382,2.147,9825,5.54,9854,2.477,10187,2.477,10669,1.933,11419,3.447,11837,6.148,11880,4.353,12249,3.885,12263,8.505,12266,3.634,12269,4.757,12273,2.68,12276,4.703,12323,5.711,12344,2.282,12345,2.282,12346,4.863,12402,7.345,12661,2.282,13013,2.187,13140,3.708,13171,3.885,13173,2.338,13185,2.338,13402,2.567,13941,3.566,13952,2.831,13957,2.68,14225,2.477,14952,4.452,15153,2.477,15812,8.084,15815,4.703,15820,2.68,15823,4.452,15878,2.567,16277,2.477,16341,7.071,16380,2.831,16382,3.06,16383,6.521,16384,6.521,16385,6.521,16386,4.703,16387,5.084,16388,5.084,16389,5.084,16390,6.521,16391,5.084,16392,8.084,16393,7.564,16394,7.028,16395,7.564,16396,3.06,16397,3.06,16398,7.595,16399,3.06,16400,3.06,16401,3.06,16402,3.06,16403,3.06,16404,5.084,16405,3.06,16406,5.084,16407,8.739,16408,3.06,16409,5.084,16410,3.06,16411,5.084,16412,3.06,16413,3.06,16414,3.06,16415,5.084,16416,3.06,16417,5.084,16418,3.06,16419,2.402,16420,2.68,16421,2.68,16422,2.68,16423,3.06,16424,4.116,16425,2.831,16426,3.06,16427,4.452,16428,3.06,16429,3.06,16430,3.06,16431,3.06,16432,2.831,16433,2.477,16434,3.06,16435,7.595,16436,3.06,16437,3.06,16438,4.703,16439,3.06,16440,4.703,16441,3.06,16442,3.06,16443,3.06,16444,2.831,16445,4.452,16446,3.06,16447,3.06,16448,3.06,16449,2.831,16450,3.06,16451,4.265,16452,3.06,16453,3.06,16454,3.06,16455,3.06,16456,2.831,16457,3.06,16458,3.06,16459,3.06,16460,3.06,16461,3.06,16462,3.06,16463,3.06,16464,5.084,16465,3.06,16466,3.06,16467,2.831,16468,3.06,16469,3.06,16470,3.06,16471,3.06,16472,3.06,16473,3.06,16474,3.06,16475,3.06,16476,4.703,16477,2.831,16478,3.06,16479,3.06,16480,3.06,16481,4.703,16482,3.06,16483,5.084,16484,3.06]],["title/classes/OAuthTokenDto.html",[0,0.232,12269,5.007]],["body/classes/OAuthTokenDto.html",[0,0.321,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,27,0.539,29,0.749,30,0.001,31,0.539,32,0.17,33,0.454,47,0.96,101,0.015,103,0.001,104,0.001,112,0.889,121,8.264,181,3.143,379,1.196,381,3.211,1498,8.386,12269,9.804,15399,7.95,15400,7.95,16485,13.44,16486,9.475,16487,11.623,16488,11.617,16489,9.475,16490,9.475,16491,8.766,16492,8.766,16493,9.475,16494,9.475]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.232,15373,5.759]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.391,2,1.037,3,0.021,4,0.021,5,0.011,7,0.135,27,0.515,30,0.001,32,0.162,47,0.958,48,5.992,95,0.138,101,0.015,103,0.001,104,0.001,112,0.884,138,2.239,148,2.908,150,2.109,245,3.348,248,4.994,808,4.573,809,6.872,951,5.858,6061,6.848,7579,9.352,12402,7.717,14587,8.222,14588,8.685,15268,8.685,15269,8.685,15373,9.691,16495,13.056]],["title/classes/Oauth2MigrationParams.html",[0,0.232,16496,6.012]],["body/classes/Oauth2MigrationParams.html",[0,0.387,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.511,30,0.001,32,0.161,47,0.954,48,5.944,95,0.136,101,0.014,103,0.001,104,0.001,112,0.874,128,5.285,138,2.221,148,2.855,150,2.071,245,3.327,248,4.953,808,4.522,809,6.816,951,5.81,4565,5.851,6061,6.724,7579,9.247,12402,7.654,16496,10.003,16497,12.972,16498,9.218,16499,9.218,16500,9.218,16501,9.218]],["title/injectables/Oauth2Strategy.html",[539,0.921,1429,6.012]],["body/injectables/Oauth2Strategy.html",[0,0.242,3,0.016,4,0.016,5,0.008,7,0.103,8,1.175,27,0.399,29,0.766,30,0.001,31,0.552,32,0.153,33,0.465,35,0.87,36,2.077,47,0.503,48,5.264,66,6.287,94,5.459,95,0.164,101,0.011,103,0.001,104,0.001,105,0.733,120,4.107,122,4.853,141,3.351,177,1.806,180,1.69,182,2.275,226,1.046,236,1.579,239,2.761,262,2.427,270,3.511,292,3.625,294,4.877,324,3.625,345,2.282,349,0.74,379,0.903,425,5.221,437,1.623,528,3.675,529,2.767,539,1.301,541,1.72,593,2.666,603,1.473,608,2.547,617,9.916,631,3.65,951,4.538,1123,6.287,1130,4.069,1429,8.49,1435,5.338,1605,5.338,1877,4.778,2119,4.642,4608,4.853,5550,6.375,7310,5.338,7322,5.159,7325,7.229,7329,5.795,12248,6.269,12249,9.697,12269,7.071,12402,5.978,14010,5.619,14014,8.132,14019,6.005,14508,6.005,14657,8.968,14660,6.622,14674,6.622,15373,8.132,16451,6.005,16502,7.158,16503,7.158,16504,7.158,16505,6.622,16506,8.49,16507,7.158,16508,6.622,16509,6.622,16510,6.622,16511,8.49,16512,6.269,16513,7.158,16514,7.158,16515,7.158]],["title/classes/Oauth2ToolConfig.html",[0,0.232,7520,4.731]],["body/classes/Oauth2ToolConfig.html",[0,0.25,2,0.817,3,0.016,4,0.016,5,0.008,7,0.106,27,0.56,29,0.584,30,0.001,31,0.421,32,0.18,33,0.658,47,0.964,95,0.118,101,0.011,103,0.001,104,0.001,112,0.758,119,2.047,180,1.727,181,2.68,182,2.35,379,0.933,381,2.505,382,2.959,564,2.309,1929,3.626,2195,6.351,2546,6.17,2548,4.582,2549,6.202,2550,9.281,2552,6.474,2553,5.532,2554,6.474,2555,6.474,2557,5.284,5558,4.552,5643,5.621,7381,7.149,7415,5.648,7416,5.984,7472,5.011,7473,5.984,7517,9.553,7520,8.578,7528,6.812,7531,8.537,7533,8.332,7539,5.011,13167,5.095,13168,5.513,15465,6.838,15466,6.838,15467,6.838,15468,6.838,15469,6.838,15470,6.838,16516,13.468,16517,9.906,16518,6.474,16519,7.392,16520,6.838,16521,6.838,16522,6.838,16523,6.838,16524,6.838,16525,6.838]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.232,9157,5.759]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.326,2,0.784,3,0.016,4,0.016,5,0.008,7,0.102,27,0.55,30,0.001,32,0.178,33,0.563,47,0.964,95,0.14,101,0.011,103,0.001,104,0.001,112,0.737,119,1.991,138,2.39,147,5.208,148,2.198,149,4.215,150,1.594,180,1.68,245,3.379,248,5.052,249,4.281,382,2.879,564,2.217,852,3.303,1929,3.48,1971,6.133,2195,6.22,2546,6.035,2548,4.497,2553,6.111,2571,8.952,2572,7.821,2573,5.744,2574,5.744,2575,5.744,2576,5.744,2577,5.744,5558,4.458,5590,5.943,5643,5.505,6078,7.029,7381,7.002,7517,9.439,7528,6.672,7531,8.361,7533,8.16,7581,5.422,9155,5.744,9157,8.084,9163,6.214,15477,6.564,15481,6.564,16526,12.187,16527,6.564,16528,7.095,16529,7.095,16530,6.564,16531,6.564,16532,7.095,16533,6.564]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.232,9222,5.557]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.298,2,0.974,3,0.019,4,0.019,5,0.01,7,0.127,27,0.501,29,0.697,30,0.001,31,0.502,32,0.157,33,0.423,47,0.78,95,0.145,96,2.357,101,0.014,103,0.001,104,0.001,112,0.85,119,2.296,138,1.988,172,4.112,173,2.564,180,1.537,181,3.006,379,1.113,381,2.988,403,4.925,564,2.755,1929,4.326,2546,5.85,2548,4.432,2553,4.925,2560,7.398,2562,5.665,2563,8.994,2564,7.723,2565,5.013,2566,3.937,5643,6.12,7381,7.784,7415,6.738,7416,7.139,7539,7.532,9222,10.655,13167,6.078,16518,7.723,16534,12.769,16535,11.11,16536,8.818]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.232,7526,5.759]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.26,2,0.43,3,0.009,4,0.009,5,0.004,7,0.056,8,0.75,27,0.513,29,1.007,30,0.001,31,0.71,32,0.171,33,0.571,34,1.034,35,1.385,47,0.434,55,2.257,59,3.133,95,0.114,101,0.015,103,0,104,0,112,0.473,120,2.621,133,2.144,140,2.139,145,2.456,153,1.763,154,1.557,155,2.02,177,1.152,180,1.527,239,0.913,249,1.524,271,4.844,319,2.621,349,1.232,363,2.195,379,0.492,382,3.677,413,1.868,437,1.623,447,6.652,448,4.127,449,4.851,452,3.425,453,4.851,454,5.123,455,3.425,456,3.425,457,3.425,458,3.369,459,3.896,460,4.26,461,6.311,462,5.206,463,6.636,464,2.175,469,2.157,470,3.425,471,2.175,472,4.561,473,4.698,474,3.729,475,4.437,476,3.397,477,2.157,478,2.043,479,3.749,480,3.078,481,2.105,482,2.073,483,2.157,484,4.497,485,2.175,486,3.332,487,4.191,488,2.157,489,7.395,490,3.938,491,6.127,492,2.175,493,3.034,494,2.157,495,2.175,496,2.157,497,2.175,498,2.157,501,2.157,502,5.542,503,2.175,504,2.157,505,3.425,506,3.22,507,3.425,508,2.175,509,2.089,510,2.073,511,1.73,512,2.157,513,2.157,514,2.157,515,2.175,516,2.175,517,1.472,518,2.157,519,1.2,520,2.175,521,2.449,522,2.157,523,2.175,525,2.235,526,2.278,527,5.174,564,1.217,708,1.561,1130,2.214,1262,1.359,1491,3.617,1901,1.935,1927,2.784,1971,3.582,1984,3.369,2195,4.373,2545,2.841,2548,1.312,2553,2.175,2556,2.732,2616,4.011,2621,2.732,2627,1.935,4374,6.703,4376,2.784,5111,2.105,5493,2.976,5503,2.685,5521,4.613,5523,2.976,5558,3.894,5643,3.112,5953,2,5992,2.214,6049,3.153,6054,3.058,6055,2.641,7360,2.562,7366,2.526,7368,2.526,7370,2.526,7381,2.493,7382,2.324,7384,2.349,7456,2.526,7511,5.189,7512,5.417,7514,3.411,7516,2.841,7517,4.613,7518,3.058,7519,2.841,7520,2.685,7521,2.431,7522,3.411,7523,3.411,7524,3.411,7525,6.738,7526,6.454,7527,5.417,7528,3.772,7529,3.153,7530,2.841,7531,2.976,7532,3.411,7533,2.905,7534,3.411,7535,3.411,7536,2.732,7537,5.417,7538,3.411,7539,2.641,7540,3.411,7541,3.411,7542,3.411,7543,2.685,7544,3.411,7545,3.411,7546,3.268,7547,3.411,7548,2.784,7549,4.613,7550,5.417,7551,6.738,7552,3.058,7553,5.417,7554,5.417,7555,3.411,7556,3.268,7557,3.058,7558,5.189,7559,3.411,7560,3.411,7561,3.411,7562,3.411,7563,3.411,7564,5.417,7565,3.411,7566,3.268,7567,2.562,7568,3.268,7569,3.411,7570,3.411,7571,3.411,7572,3.411,16537,6.185,16538,3.895]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.232,9750,5.759]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.239,2,0.78,3,0.016,4,0.016,5,0.008,7,0.101,27,0.549,29,0.558,30,0.001,31,0.402,32,0.178,33,0.64,47,0.947,95,0.13,101,0.011,103,0.001,104,0.001,112,0.735,119,1.984,138,2.354,149,5.139,150,1.586,180,1.674,181,2.598,182,2.244,245,3.421,379,0.891,381,2.392,382,2.868,564,2.205,1929,3.462,2195,6.203,2546,6.028,2548,4.492,2553,6.095,2557,5.045,2566,3.151,2567,5.045,2580,5.714,2581,9.917,2583,6.182,2584,6.182,2585,5.714,5558,4.446,5643,5.491,7381,6.983,7415,5.393,7416,5.714,7472,4.785,7473,5.714,7517,9.425,7531,8.338,7533,8.138,7539,4.785,9750,10.278,13167,4.865,15493,6.53,15494,6.53,15495,6.53,15496,6.53,15497,6.182,16518,6.182,16520,6.53,16521,6.53,16522,6.53,16523,6.53,16524,6.53,16525,6.53,16539,13.158,16540,9.602]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.232,9681,5.759]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.325,2,0.78,3,0.016,4,0.016,5,0.008,7,0.101,27,0.549,30,0.001,32,0.178,33,0.606,47,0.963,95,0.139,101,0.011,103,0.001,104,0.001,112,0.735,119,1.984,138,2.387,147,5.189,148,2.186,149,4.511,150,1.586,180,1.674,245,3.316,248,5.044,249,4.582,382,2.868,564,2.205,852,3.286,1929,3.462,1971,6.126,2195,6.203,2546,6.028,2548,4.492,2553,6.095,2571,8.936,2572,6.863,2573,5.714,2574,5.714,2575,5.714,2576,5.714,2577,5.714,5558,4.446,5590,5.922,5643,5.491,6078,7.96,7381,6.983,7517,9.425,7528,6.654,7531,8.338,7533,8.138,7581,5.393,9681,8.056,9959,5.922,9961,6.182,9963,6.182,9967,6.53,15501,6.53,16526,12.172,16527,6.53,16531,6.53,16533,6.53,16541,7.058,16542,7.058,16543,7.058]],["title/injectables/OauthAdapterService.html",[539,0.921,16392,5.759]],["body/injectables/OauthAdapterService.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,8,1.152,27,0.479,29,0.92,30,0.001,31,0.662,32,0.158,33,0.558,35,1.315,36,2.759,47,0.904,95,0.156,100,2.363,101,0.011,103,0.001,104,0.001,124,3.52,143,1.541,177,1.295,236,1.132,262,2.777,345,2.216,349,1.119,379,0.877,437,1.606,529,1.984,539,1.275,541,1.67,579,3.727,595,4.286,603,2.227,608,2.202,662,3.363,963,8.824,964,4.025,965,5.31,966,4.571,990,2.378,1079,4.105,1242,3.756,1338,3.218,1387,9.421,1616,6.099,1970,6.791,1982,4.875,1984,3.786,2244,9.612,2255,2.657,2279,6.087,3601,2.796,3953,5.456,4004,6.43,7256,8.321,12266,4.968,12273,6.087,12341,5.831,12406,6.441,14394,6.43,14395,6.43,14396,6.087,14397,6.43,16392,7.971,16424,5.626,16449,8.79,16544,12.184,16545,6.95,16546,10.825,16547,10.825,16548,6.95,16549,9.501,16550,6.95,16551,9.501,16552,6.95,16553,6.95,16554,6.95,16555,6.95,16556,6.95,16557,9.501,16558,6.087,16559,6.43,16560,6.95,16561,6.95,16562,6.95,16563,6.95,16564,9.501,16565,6.95,16566,6.95,16567,6.95,16568,9.501,16569,6.95,16570,6.95,16571,6.95,16572,6.95]],["title/modules/OauthApiModule.html",[201,1.848,16573,5.557]],["body/modules/OauthApiModule.html",[0,0.25,3,0.016,4,0.016,5,0.008,30,0.001,52,3.561,95,0.165,101,0.011,103,0.001,104,0.001,128,3.012,201,3.008,203,2.686,204,2.881,205,2.962,206,2.95,207,2.938,208,4.132,209,2.805,214,5.964,218,3.97,219,2.903,220,2.837,222,4.613,223,4.123,225,3.937,226,1.08,654,2.22,1341,2.371,1380,8.685,1419,10.057,1421,8.986,1440,5.185,1752,7.282,1963,4.165,2531,3.423,2764,3.5,3593,7.811,3603,4.984,5434,8.197,11056,6.202,12239,10.747,14761,9.788,16419,5.803,16573,11.689,16574,7.392,16575,7.392,16576,7.392,16577,10.057,16578,10.747,16579,7.392,16580,9.785,16581,6.838,16582,7.392,16583,7.392]],["title/classes/OauthClientBody.html",[0,0.232,16584,6.012]],["body/classes/OauthClientBody.html",[0,0.244,2,0.525,3,0.01,4,0.01,5,0.005,7,0.068,27,0.508,30,0.001,31,0.411,32,0.16,33,0.65,34,1.206,47,0.941,95,0.116,101,0.007,103,0,104,0,112,0.552,122,4.893,124,3.655,135,7.008,138,2.209,142,5.279,143,1.935,144,4.41,145,3.992,148,1.471,150,1.067,153,2.829,245,3.218,248,4.831,249,4.909,316,3.9,319,4.13,358,3.222,363,4.066,490,2.569,536,6.676,578,4.401,591,4.066,662,2.242,824,2.56,852,2.212,970,4.974,1081,3.63,1389,5.843,1391,6.238,1392,7.065,1403,3.543,1454,6.967,1475,5.062,1491,4.22,1515,5.159,1664,4.127,1794,4.618,2024,3.36,2094,4.451,2119,4.68,2406,4.874,2420,5.843,2421,6.055,3601,5.393,4042,4.401,4118,7.065,5515,4.262,5550,8.367,5554,4.102,5558,4.674,5567,8.23,5590,6.012,5605,7.643,5623,6.321,5624,6.608,5639,6.852,7383,6.509,9910,8.074,9912,7.643,9915,9.698,9916,6.676,11419,4.893,11935,5.264,12776,5.382,16365,11.607,16584,6.321,16585,4.75,16586,8.074,16587,8.074,16588,4.75,16589,4.75,16590,4.75,16591,7.217,16592,7.217,16593,4.75,16594,4.75,16595,4.75,16596,4.75,16597,6.055,16598,5.843,16599,6.676,16600,6.055,16601,7.217,16602,7.217,16603,7.217,16604,7.217,16605,4.75,16606,8.727,16607,4.75,16608,7.217,16609,7.217,16610,4.75,16611,8.727,16612,4.75,16613,6.676,16614,7.217,16615,7.217,16616,4.75,16617,4.75,16618,4.75,16619,4.75,16620,4.75,16621,4.75]],["title/classes/OauthConfig.html",[0,0.232,12263,4.452]],["body/classes/OauthConfig.html",[0,0.306,2,0.456,3,0.009,4,0.009,5,0.005,7,0.059,26,1.319,27,0.52,29,0.326,30,0.001,31,0.235,32,0.167,33,0.471,47,1.015,83,2.323,95,0.108,96,1.103,101,0.015,103,0,104,0,105,0.422,112,0.496,119,0.853,133,1.431,138,2.233,143,2.999,144,4.364,145,1.157,153,0.946,154,1.617,160,3.617,172,4.467,173,1.2,174,2.476,175,1.843,177,0.769,178,1.641,180,0.72,181,1.117,182,1.312,276,1.79,379,0.521,511,1.834,570,2.546,578,2.517,839,2.482,950,2.546,1262,2.787,1371,2.517,1454,2.951,1486,4.986,1664,1.543,2021,2.677,2046,3.079,2562,3.302,2566,1.843,4332,3.473,4370,4.629,4404,2.49,4677,4.645,5558,3.255,5643,4.552,5953,3.324,5973,2.642,5974,2.845,6446,3.5,7385,2.608,7472,2.799,7528,5.517,9006,2.267,9343,5.417,10327,2.715,10926,2.347,12263,7.704,12344,3.079,12345,3.079,12346,3.079,12347,3.155,12391,5.507,12394,5.333,12396,5.507,12399,5.507,12402,4.928,12406,5.417,12447,2.715,12867,3.155,13048,2.951,13156,4.948,13157,3.342,13158,4.323,13159,7.608,13160,7.315,13161,4.091,13162,4.543,13163,5.255,13164,2.756,13165,2.756,13166,5.243,13167,4.463,13168,4.829,13169,3.241,13170,4.829,13171,3.155,13172,3.155,13173,3.155,13174,3.155,13175,3.241,13176,3.155,13177,3.155,13178,3.155,13179,3.241,13180,4.829,13181,3.241,13182,3.155,13183,3.241,13184,3.155,13185,3.155,13186,3.155,13187,3.241,13188,6.236,13189,3.342,13190,3.342,13191,3.342,13192,3.342,13193,3.342,13194,3.342,13195,3.342,13196,3.342,13197,3.342,13198,3.342,13199,3.342,13200,3.342,13201,3.241,13202,3.342,13203,3.342,13204,3.342,13205,3.342,13206,3.342,13207,3.342,13208,3.342,13209,3.342,13210,3.342,13211,3.342,13212,3.342,13213,3.342,13214,3.342,13215,3.342,13216,3.342,13217,3.342,13218,3.342,13219,3.079,13220,3.342,13221,3.342,13222,3.342,13223,3.342,13224,3.342,13225,3.342,13226,3.342,13227,3.342,13228,3.342,13229,3.342,13230,3.342,13231,3.342,13232,3.342,13233,3.342,13234,3.155,13235,3.342,13236,3.079,13237,3.241,13238,3.155,13239,3.241,13240,3.155,13241,3.155,13242,3.241,13243,3.155,13244,3.241,13245,3.155,13246,3.012,13247,3.012,13248,3.012,13249,3.079,13250,3.155,13251,3.342,13252,3.155,13253,3.342,13254,3.342,13255,3.342,13256,3.342,13257,3.342,13258,3.155,13259,3.241,13260,3.155,13261,3.241,16622,4.128,16623,4.128,16624,4.128,16625,4.128,16626,4.128,16627,4.128,16628,4.128,16629,4.128,16630,4.128,16631,4.128,16632,4.128,16633,4.128,16634,4.128,16635,4.128]],["title/classes/OauthConfigDto.html",[0,0.232,13504,5.245]],["body/classes/OauthConfigDto.html",[0,0.236,2,0.769,3,0.015,4,0.015,5,0.008,7,0.1,27,0.571,29,0.55,30,0.001,31,0.396,32,0.18,33,0.585,47,1.009,72,4.29,101,0.011,103,0.001,104,0.001,112,0.728,128,3.875,239,2.229,379,0.879,517,3.596,1486,6.762,2094,5.866,2119,6.169,2836,6.256,4677,6.259,5558,4.414,5643,5.452,7472,4.72,7528,6.607,9343,7.346,12391,7.468,12394,7.232,12396,7.468,12399,7.468,12402,6.682,12406,7.346,12776,7.094,13167,4.798,13168,5.192,13170,5.192,13172,5.32,13174,5.32,13176,5.32,13177,5.32,13178,5.32,13180,5.192,13182,5.32,13184,5.32,13186,5.32,13188,7.468,13504,9.617,16636,13.936,16637,6.441,16638,9.512,16639,9.512,16640,6.441,16641,6.962,16642,6.962,16643,6.962,16644,6.962,16645,6.962,16646,6.962,16647,6.441,16648,6.962,16649,6.441,16650,6.441,16651,6.962,16652,6.441,16653,6.962,16654,6.441,16655,6.441,16656,6.441,16657,6.441,16658,6.441,16659,6.441,16660,6.441,16661,6.441,16662,6.441,16663,6.441,16664,6.441]],["title/classes/OauthConfigResponse.html",[0,0.232,16665,5.759]],["body/classes/OauthConfigResponse.html",[0,0.173,2,0.564,3,0.011,4,0.011,5,0.006,7,0.073,27,0.538,29,0.404,30,0.001,31,0.291,32,0.176,33,0.564,34,1.274,47,1,95,0.061,101,0.008,103,0,104,0,112,0.583,120,3.23,124,3.861,138,2.312,142,5.412,143,3.059,144,4.521,145,3.916,150,1.148,153,2.962,245,3.35,379,0.645,821,5.984,824,2.704,970,5.254,1081,5.824,1389,6.171,1486,7.08,2094,7.452,2119,4.944,2580,4.136,3601,3.067,4677,5.824,5558,4.622,5584,5.824,5643,5.087,7472,3.463,9343,6.855,12391,6.969,12394,6.749,12396,6.969,12399,6.969,12402,6.236,12406,6.855,12773,6.171,12776,5.685,13167,3.521,13170,3.81,13172,3.903,13174,3.903,13176,3.903,13177,3.903,13178,3.903,13180,3.81,13182,3.903,13184,3.903,13186,3.903,13188,6.969,15497,4.474,16558,6.676,16665,7.65,16666,13.185,16667,7.623,16668,7.623,16669,5.108,16670,5.108,16671,5.108,16672,7.052,16673,5.108,16674,5.108,16675,5.108,16676,5.108,16677,5.108,16678,5.108,16679,5.108,16680,5.108,16681,5.108,16682,5.108,16683,5.108,16684,5.108,16685,5.108,16686,5.108,16687,5.108,16688,5.108,16689,5.108,16690,5.108,16691,5.108]],["title/interfaces/OauthCurrentUser.html",[105,0.702,7325,5.119]],["body/interfaces/OauthCurrentUser.html",[3,0.018,4,0.018,5,0.009,7,0.12,26,2.808,30,0.001,32,0.108,33,0.515,34,1.796,39,2.286,47,0.833,48,4.006,72,4.845,85,5.425,94,4.155,95,0.1,99,1.357,101,0.017,103,0.001,104,0.001,105,1.099,107,1.965,112,0.822,119,2.22,121,7.066,128,4.835,143,2.632,180,1.873,239,3.035,270,5.821,276,3.627,303,6.567,359,5.045,517,4.061,564,3.912,565,4.991,1002,5.671,2405,5.671,2424,4.94,3122,5.122,3134,3.853,3140,4.209,3308,5.583,4266,3.629,5160,5.502,5515,6.345,5550,7.066,5554,4.755,7273,6.772,7274,7.018,7275,6.704,7323,10.138,7325,8.012,7346,7.326,12771,7.738,12772,7.738,12773,8.697,12774,9.939,12775,9.939,12776,8.012]],["title/classes/OauthDataDto.html",[0,0.232,13941,4.815]],["body/classes/OauthDataDto.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.539,29,0.684,30,0.001,31,0.492,32,0.169,33,0.627,95,0.151,101,0.013,103,0.001,104,0.001,112,0.84,181,2.97,379,1.092,381,2.931,564,3.766,3134,5.552,8956,9.211,8970,8.002,8987,8.99,9008,6.79,9009,7.257,10075,8.794,11837,6.309,13941,9.179,13970,9.759,13972,10.114,16692,12.37,16693,8.649,16694,10.558,16695,10.975,16696,8.649,16697,8.649,16698,9.464,16699,8.649,16700,8.649,16701,8.002,16702,8.649,16703,8.649,16704,8.649,16705,8.649,16706,8.649,16707,8.649,16708,8.649]],["title/classes/OauthDataStrategyInputDto.html",[0,0.232,13946,5.119]],["body/classes/OauthDataStrategyInputDto.html",[0,0.309,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,27,0.532,29,0.722,30,0.001,31,0.52,32,0.167,33,0.438,47,0.908,95,0.109,101,0.014,103,0.001,104,0.001,112,0.869,121,8.13,181,3.073,284,4.017,379,1.153,381,3.096,1498,8.25,3134,5.693,4608,9.017,9008,7.172,9009,7.664,11837,6.664,13946,9.918,15399,7.664,15400,7.664,16491,8.451,16492,8.451,16692,12.304,16698,9.704,16701,8.451,16709,9.135,16710,11.358,16711,9.135,16712,9.135]],["title/classes/OauthLoginResponse.html",[0,0.232,15378,5.759]],["body/classes/OauthLoginResponse.html",[0,0.3,2,0.981,3,0.019,4,0.019,5,0.01,7,0.127,27,0.502,29,0.702,30,0.001,31,0.505,32,0.158,33,0.585,34,1.865,47,0.857,95,0.133,101,0.014,103,0.001,104,0.001,112,0.854,124,5.65,138,1.996,149,4.297,150,1.994,153,2.034,180,1.945,181,3.018,245,2.276,379,1.12,381,3.008,382,2.651,403,4.957,517,4.217,564,3.999,1277,4.957,1498,7.446,2417,6.88,3134,5.138,5554,6.341,5558,4.545,7323,9.877,7530,8.137,15365,9.149,15378,11.064,16713,12.2,16714,8.876,16715,11.155,16716,8.876,16717,8.876,16718,8.876,16719,8.876]],["title/classes/OauthLoginStateDto.html",[0,0.232,16720,5.557]],["body/classes/OauthLoginStateDto.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,26,2.457,27,0.551,29,0.685,30,0.001,31,0.493,32,0.173,33,0.579,47,0.939,48,5.779,95,0.103,99,1.406,101,0.013,103,0.001,104,0.001,112,0.841,119,2.271,128,5.537,181,2.974,193,6.323,194,6.805,238,6.74,379,1.094,381,2.937,4580,7.531,4677,6.195,8555,5.974,13046,7.017,13047,7.017,13180,6.464,16407,9.769,16720,10.601,16721,13.59,16722,8.668,16723,10.99,16724,8.668,16725,8.668,16726,8.668,16727,8.668,16728,8.668,16729,8.668,16730,8.668,16731,8.668]],["title/classes/OauthLoginStateMapper.html",[0,0.232,16732,6.012]],["body/classes/OauthLoginStateMapper.html",[0,0.328,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,8,1.427,27,0.399,29,0.765,30,0.001,31,0.551,32,0.125,33,0.464,35,1.176,95,0.14,100,4.001,101,0.015,103,0.001,104,0.001,118,6.193,128,5.167,236,1.577,349,1.001,413,3.83,437,1.276,14792,8.12,16720,10.681,16732,10.307,16733,11.769,16734,9.678,16735,11.769,16736,11.769,16737,11.555,16738,9.678,16739,8.476,16740,8.476,16741,9.678]],["title/classes/OauthMigrationDto.html",[0,0.232,14791,5.557]],["body/classes/OauthMigrationDto.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.551,29,0.684,30,0.001,31,0.492,32,0.173,33,0.665,83,3.997,101,0.013,103,0.001,104,0.001,112,0.84,119,2.268,271,3.21,379,1.092,10317,8.934,14791,10.594,14810,9.612,14845,9.211,14846,9.211,14847,9.211,14968,10.114,14970,10.114,15859,8.002,15860,8.002,15861,8.002,15862,8.002,15863,8.002,15864,8.002,15865,8.002,15866,8.002,15867,8.002,15868,8.002,16742,13.583,16743,8.649,16744,10.975,16745,8.649,16746,8.649,16747,8.649,16748,8.649]],["title/modules/OauthModule.html",[201,1.848,1419,5.389]],["body/modules/OauthModule.html",[0,0.231,3,0.015,4,0.015,5,0.008,30,0.001,52,3.292,95,0.165,101,0.011,103,0,104,0,128,2.784,201,2.889,203,2.483,204,2.663,205,2.738,206,2.727,207,2.716,208,3.968,209,4.071,214,5.826,218,3.763,219,2.684,220,2.622,225,3.733,226,0.998,227,2.832,654,2.052,964,3.957,1341,2.191,1418,10.131,1419,11.36,1421,8.778,1436,5.985,1440,4.793,1752,7.114,1963,3.85,2531,3.164,3593,7.631,3603,4.725,3998,6.269,4673,9.129,5434,8.008,8796,9.129,9382,4.793,12249,10.43,12250,11.451,12270,6.322,12271,5.985,14761,9.562,16392,10.499,16419,5.365,16425,6.322,16577,9.825,16749,6.833,16750,6.833,16751,6.833,16752,6.833,16753,6.833,16754,5.985]],["title/modules/OauthProviderApiModule.html",[201,1.848,16755,5.557]],["body/modules/OauthProviderApiModule.html",[0,0.247,3,0.016,4,0.016,5,0.008,30,0.001,95,0.162,101,0.011,103,0.001,104,0.001,135,4.084,201,2.992,203,2.657,204,2.85,205,2.93,206,2.918,207,2.907,208,4.109,209,2.774,214,5.945,218,3.941,219,2.872,220,2.806,222,4.563,223,4.093,225,3.909,226,1.068,1341,2.345,1752,7.259,2531,3.386,2764,3.462,3593,7.786,3603,3.679,3731,4.881,4672,9.523,4677,5.704,4679,5.741,5554,4.157,9373,10.025,9381,4.957,16581,6.765,16755,11.712,16756,7.312,16757,7.312,16758,7.312,16759,10.714,16760,10.714,16761,10.714,16762,10.714,16763,10.714,16764,10.714,16765,10.714,16766,6.135,16767,9.731,16768,7.312,16769,6.404,16770,7.312]],["title/injectables/OauthProviderClientCrudUc.html",[539,0.921,16760,5.759]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.074,8,0.935,27,0.486,29,0.902,30,0.001,31,0.649,32,0.153,33,0.547,34,2.073,35,1.323,36,2.704,47,0.936,55,2.328,56,4.907,58,6.607,59,3.137,95,0.136,101,0.008,103,0,104,0,112,0.59,124,3.905,126,6.241,135,6.779,177,2.028,226,0.758,239,3.001,262,2.943,270,6.584,284,3.666,294,5.944,349,1.126,379,0.973,437,1.688,480,1.443,486,1.562,539,1.035,541,1.246,603,2.24,608,2.874,643,2.327,951,3.609,1758,6.287,2531,2.402,2963,2.72,3601,4.884,5558,3.141,5639,7.997,7529,6.241,7530,5.624,9381,5.227,9823,8.322,9847,9.939,9851,3.707,9912,6.752,9958,9.133,10426,7.597,12395,6.468,16586,7.132,16587,7.132,16760,6.468,16771,9.826,16772,11.228,16773,5.186,16774,9.201,16775,6.752,16776,6.752,16777,6.752,16778,8.058,16779,8.058,16780,4.199,16781,5.186,16782,7.132,16783,5.186,16784,7.132,16785,5.186,16786,7.132,16787,5.186,16788,4.798,16789,5.186,16790,4.798,16791,5.186,16792,7.132,16793,5.186,16794,5.186,16795,5.186,16796,10.886,16797,7.709,16798,5.186,16799,5.186,16800,9.201,16801,9.201,16802,7.709,16803,5.186,16804,5.186,16805,5.186]],["title/injectables/OauthProviderConsentFlowUc.html",[539,0.921,16761,5.759]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.077,8,0.963,27,0.477,29,0.915,30,0.001,31,0.659,32,0.15,33,0.555,35,1.345,36,2.73,39,2.575,47,0.972,95,0.142,101,0.008,103,0,104,0,106,8.716,110,4.027,121,7.281,122,6.387,123,4.53,124,2.735,126,4.372,134,8.41,135,6.684,177,1.48,226,0.789,236,0.88,262,2.767,270,5.87,294,5.227,310,4.085,324,6.687,334,3.502,349,1.074,379,1.002,437,1.46,519,2.446,529,1.541,539,1.066,541,1.297,556,2.846,603,2.658,608,2.407,824,4.245,1391,7.426,2530,3.222,2963,2.832,3779,4.691,4256,8.958,4677,2.772,4745,3.502,5542,8.716,5593,8.41,5600,8.41,9381,5.385,9823,8.445,9851,3.86,13448,10.041,13449,4.996,16761,6.664,16771,9.689,16780,4.372,16806,11.072,16807,4.729,16808,8.716,16809,6.956,16810,8.716,16811,7.348,16812,7.943,16813,4.996,16814,4.996,16815,5.4,16816,7.348,16817,5.4,16818,5.4,16819,5.4,16820,7.348,16821,8.41,16822,5.4,16823,7.943,16824,8.459,16825,5.4,16826,5.923,16827,4.53,16828,4.996,16829,7.943,16830,5.4,16831,4.996,16832,5.4,16833,5.4,16834,5.4,16835,5.4,16836,8.156,16837,5.4,16838,5.4,16839,5.4,16840,5.4,16841,5.4,16842,5.4,16843,4.239,16844,5.4]],["title/controllers/OauthProviderController.html",[259,2.624,16767,6.012]],["body/controllers/OauthProviderController.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.672,10,1.378,27,0.489,29,0.924,30,0.001,31,0.665,32,0.151,33,0.56,35,1.444,36,2.905,47,0.239,95,0.146,100,1.155,101,0.005,103,0,104,0,118,2.174,134,8.165,135,6.738,138,2.127,150,0.763,177,1.782,223,1.414,226,0.496,259,1.299,261,1.627,262,2.975,270,6.562,271,4.901,294,6.756,310,4.966,324,6.538,333,4.477,334,2.203,337,1.769,338,1.808,343,6.141,349,1.229,379,0.429,437,1.713,603,1.968,608,2.592,824,1.965,1208,6.791,2079,1.502,2080,1.677,2081,1.618,2082,2.174,2119,2.203,2962,1.914,2963,1.781,3601,3.257,3731,2.268,3779,3.272,4081,2.146,4254,10.832,4544,7.305,4677,2.844,5542,6.791,5550,2.235,5593,4.486,5611,8.023,5636,5.886,8239,2.85,9381,3.756,9847,7.131,9851,2.428,12118,6.145,13437,9.797,13466,2.75,15253,7.089,15365,5.015,15401,6.553,16584,8.833,16760,4.649,16761,4.649,16762,5.886,16763,4.649,16764,5.886,16765,5.886,16767,4.853,16769,2.976,16772,3.143,16775,6.145,16776,4.853,16777,6.145,16778,6.145,16779,6.145,16782,3.143,16784,3.143,16786,3.143,16788,3.143,16790,3.143,16806,3.143,16809,4.853,16810,6.491,16824,4.234,16826,6.036,16836,7.507,16845,12.065,16846,3.397,16847,5.126,16848,4.853,16849,4.853,16850,6.491,16851,4.853,16852,3.397,16853,3.397,16854,3.397,16855,3.397,16856,3.397,16857,3.397,16858,3.397,16859,3.397,16860,3.397,16861,3.397,16862,3.397,16863,5.541,16864,3.397,16865,3.397,16866,3.397,16867,5.541,16868,3.397,16869,3.397,16870,3.397,16871,3.397,16872,3.397,16873,3.397,16874,3.397,16875,3.397,16876,3.397,16877,3.397,16878,3.397,16879,3.397,16880,3.397,16881,7.089,16882,3.397,16883,3.397,16884,3.397,16885,3.397,16886,4.35,16887,5.508,16888,8.915,16889,3.143,16890,7.016,16891,3.397,16892,3.397,16893,3.397,16894,3.397,16895,3.397,16896,3.397,16897,3.397,16898,3.397,16899,3.397,16900,3.397,16901,3.397,16902,8.094,16903,3.397,16904,3.397,16905,3.397,16906,3.397,16907,3.397,16908,3.397,16909,3.397,16910,3.397,16911,3.397,16912,3.397,16913,3.397,16914,3.397,16915,3.397,16916,3.397,16917,3.397,16918,3.397,16919,3.397,16920,3.397,16921,3.397,16922,5.541,16923,5.541,16924,3.397,16925,3.397,16926,3.397,16927,3.397,16928,3.397,16929,3.397,16930,3.397,16931,3.397,16932,3.397,16933,3.397,16934,3.397,16935,3.397,16936,3.397,16937,2.85,16938,3.397,16939,3.397,16940,3.397,16941,3.397,16942,3.397,16943,3.397,16944,3.397,16945,3.397]],["title/injectables/OauthProviderLoginFlowService.html",[539,0.921,13455,5.557]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.237,3,0.015,4,0.015,5,0.008,7,0.101,8,1.159,27,0.448,29,0.86,30,0.001,31,0.619,32,0.141,33,0.521,35,1.161,36,2.047,47,0.763,95,0.156,101,0.011,103,0.001,104,0.001,119,2.247,135,6.522,143,1.554,177,2.026,226,1.024,236,1.142,262,2.401,349,1.124,379,1.206,437,1.434,529,2.001,539,1.283,541,1.684,572,5.503,593,3.56,603,2.237,608,2.215,639,3.3,662,3.918,1726,2.997,1834,5.011,1901,3.482,1971,3.264,2548,2.36,2627,6.617,2681,3.759,4581,5.228,4743,3.703,5643,5.876,6324,5.894,6349,7.96,7364,8.709,7431,8.572,7521,5.964,9054,8.923,9056,8.923,9120,6.485,9121,6.485,9328,6.139,9877,6.139,10267,5.503,12338,5.356,13455,7.737,13466,9.454,15578,10.581,16946,11.678,16947,7.01,16948,9.557,16949,9.557,16950,7.01,16951,7.01,16952,9.557,16953,7.01,16954,9.557,16955,7.01,16956,6.485,16957,5.881,16958,7.01,16959,7.01,16960,7.01,16961,7.01,16962,7.01,16963,7.01,16964,9.557,16965,7.01]],["title/injectables/OauthProviderLoginFlowUc.html",[539,0.921,16762,5.759]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.162,3,0.011,4,0.011,5,0.005,7,0.069,8,0.881,27,0.456,29,0.876,30,0.001,31,0.631,32,0.143,33,0.531,34,0.802,35,1.279,36,2.651,47,0.942,95,0.152,99,0.778,101,0.007,103,0,104,0,119,1.814,122,4.928,127,7.929,128,2.961,134,7.929,135,6.427,177,1.961,226,0.701,236,1.43,239,2.295,262,2.815,310,3.806,324,5.331,349,1.146,358,2.141,379,0.917,437,1.631,529,2.506,539,0.976,541,1.152,603,2.681,604,2.987,608,2.747,643,2.152,824,1.701,1226,2.31,1758,6.124,1901,2.382,2531,2.22,2548,3.544,2627,5.502,3603,2.413,4256,9.219,4677,3.731,4743,2.533,4753,7.136,4822,6.797,5544,7.929,5550,4.781,5703,4.536,7322,3.868,7364,3.576,7379,3.428,7381,4.651,7431,7.77,7520,5.01,7521,2.993,8479,4.2,9077,4.023,9381,4.928,9460,5.083,9823,8.081,9851,3.428,9877,4.2,9958,4.023,10188,7.932,10256,3.765,10275,3.765,12338,3.664,13455,9.317,13466,9.597,13467,4.2,15365,6.274,15401,10.18,16754,4.2,16762,6.098,16771,9.317,16780,3.882,16807,4.2,16813,4.436,16821,7.929,16826,6.546,16827,4.023,16831,4.436,16836,9.306,16848,6.366,16850,8.12,16886,5.706,16966,8.12,16967,8.12,16968,7.268,16969,4.795,16970,4.795,16971,6.724,16972,4.795,16973,4.795,16974,4.795,16975,4.436,16976,4.795,16977,7.268,16978,4.795,16979,4.2,16980,4.2,16981,4.795,16982,7.268,16983,4.795,16984,4.795,16985,7.268,16986,4.795,16987,4.795,16988,4.795,16989,4.795,16990,4.795,16991,4.795,16992,3.664,16993,4.795,16994,4.795,16995,4.795,16996,4.795,16997,4.795,16998,4.795,16999,4.795,17000,4.795]],["title/injectables/OauthProviderLogoutFlowUc.html",[539,0.921,16763,5.759]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.31,3,0.02,4,0.02,5,0.01,7,0.131,8,1.379,27,0.468,29,0.899,30,0.001,31,0.647,32,0.147,33,0.545,35,1.112,36,2.651,47,0.869,95,0.147,101,0.014,103,0.001,104,0.001,135,6.91,177,1.706,226,1.338,345,2.919,349,0.947,379,1.155,437,1.207,539,1.527,541,2.2,4256,6.544,4677,4.7,9381,7.711,9823,9.895,9851,6.544,16763,9.542,16771,10.017,16780,7.412,16807,8.019,16826,6.828,16889,11.447,17001,11.374,17002,9.156,17003,11.374,17004,9.156,17005,11.374,17006,9.156]],["title/modules/OauthProviderModule.html",[201,1.848,16759,5.759]],["body/modules/OauthProviderModule.html",[0,0.248,3,0.016,4,0.016,5,0.008,30,0.001,95,0.163,101,0.011,103,0.001,104,0.001,135,4.099,201,2.997,203,2.666,204,2.86,205,2.941,206,2.929,207,2.917,208,4.117,209,4.224,214,5.952,218,3.95,219,2.882,220,2.816,225,3.918,226,1.072,227,3.041,1341,2.354,1810,8.811,1827,9.533,1828,6.157,2548,2.471,3593,7.795,3603,3.692,4672,9.533,4677,3.767,4679,5.761,9373,10.036,9374,9.768,9381,4.975,9383,6.157,13448,11.584,13455,11.178,13466,5.941,13467,6.427,15574,10.725,16754,6.427,16759,12.107,16766,6.157,16828,6.789,16956,6.789,16957,6.157,17007,7.339,17008,7.339,17009,7.339,17010,7.339,17011,7.339,17012,7.339]],["title/classes/OauthProviderRequestMapper.html",[0,0.232,16979,6.012]],["body/classes/OauthProviderRequestMapper.html",[0,0.308,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,8,1.373,27,0.374,29,0.719,30,0.001,31,0.518,32,0.118,33,0.436,35,1.105,47,0.951,59,2.801,77,5.82,95,0.135,101,0.014,103,0.001,104,0.001,116,7.14,117,7.14,122,6.165,127,9.986,131,4.899,132,8.413,133,4.275,135,6.326,349,0.94,413,3.726,4677,5.815,4753,8.753,6161,7.14,8449,8.413,9381,6.165,9460,7.477,9851,6.5,15401,10.963,16827,7.63,16979,9.92,16980,9.92,17013,12.335,17014,9.094,17015,9.094,17016,9.094]],["title/injectables/OauthProviderResponseMapper.html",[539,0.921,16764,5.759]],["body/injectables/OauthProviderResponseMapper.html",[0,0.25,3,0.016,4,0.016,5,0.008,7,0.106,8,1.201,10,2.999,27,0.512,29,0.984,30,0.001,31,0.708,32,0.161,33,0.597,35,1.512,95,0.133,101,0.011,103,0.001,104,0.001,110,7.387,118,4.73,122,5.011,135,7.154,226,1.08,236,2.027,349,1.287,539,1.33,541,1.776,782,4.411,2119,6.424,4677,6.576,5593,9.662,5611,10.013,5636,10.013,9212,6.202,9381,5.011,9847,8.901,9851,5.284,9859,9.164,15247,6.474,15365,8.531,16764,8.311,16824,9.12,16826,8.901,16827,6.202,16836,9.37,16886,10.057,16887,9.37,16980,11.219,17017,9.906,17018,9.906,17019,9.906,17020,9.906,17021,9.906,17022,9.906,17023,7.392,17024,9.906,17025,9.906,17026,7.392,17027,9.906,17028,9.906,17029,7.392,17030,7.392,17031,7.392,17032,7.392,17033,7.392]],["title/classes/OauthProviderService.html",[0,0.232,9823,5.007]],["body/classes/OauthProviderService.html",[0,0.166,2,0.541,3,0.011,4,0.011,5,0.005,7,0.07,8,0.896,9,6.858,27,0.547,29,1.043,30,0.001,31,0.751,32,0.171,33,0.633,34,1.486,35,1.615,36,3.021,47,1.013,55,2.279,56,3.559,58,5.767,59,3.272,95,0.058,100,1.665,101,0.008,103,0,104,0,106,8.307,108,9.389,124,2.481,127,8.016,239,1.731,284,2.991,324,6.487,3601,3.578,4256,8.286,5558,3.623,5639,6.981,9823,5.389,9847,8.645,10426,6.632,13903,4.291,16766,11.23,16775,6.47,16776,6.47,16777,6.47,16778,7.788,16779,6.47,16808,6.834,16809,6.47,16811,6.834,16814,6.834,16816,6.834,16820,6.834,16821,9.385,16824,3.743,16826,3.654,16847,6.834,16848,6.47,16849,6.47,16851,6.47,16886,3.846,16887,3.846,16966,6.834,16967,6.834,16971,6.834,16975,6.834,17034,4.899,17035,7.387,17036,9.901,17037,4.899,17038,7.387,17039,4.899,17040,7.387,17041,4.899,17042,7.387,17043,4.899,17044,7.387,17045,4.899,17046,4.899,17047,4.899,17048,7.387,17049,4.899,17050,7.387,17051,4.899,17052,4.899,17053,7.387,17054,4.899,17055,4.899,17056,4.899,17057,4.899,17058,4.899,17059,7.387,17060,4.899,17061,7.387,17062,4.899]],["title/modules/OauthProviderServiceModule.html",[201,1.848,9373,5.389]],["body/modules/OauthProviderServiceModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.156,101,0.015,103,0.001,104,0.001,108,6.662,201,3.386,203,3.451,204,3.701,205,3.806,206,3.79,207,3.775,208,4.303,209,4.772,218,4.662,219,3.73,220,3.645,225,3.775,226,1.388,636,5.554,964,5.5,3998,7.766,4677,4.876,5554,5.399,8913,7.257,9373,10.559,9823,10.209,16766,7.968,17063,9.498,17064,9.498,17065,9.498,17066,9.498,17067,11.634,17068,9.498]],["title/injectables/OauthProviderUc.html",[539,0.921,16765,5.759]],["body/injectables/OauthProviderUc.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.308,26,2.749,27,0.49,29,0.941,30,0.001,31,0.678,32,0.154,33,0.571,35,1.31,36,2.929,39,2.948,47,0.836,95,0.149,99,1.366,101,0.013,103,0.001,104,0.001,135,7.01,177,1.568,226,1.23,345,2.683,349,1.115,379,1.062,437,1.422,539,1.448,541,2.022,4677,4.321,5643,6.315,9381,7.312,9823,9.685,9851,6.016,16765,9.049,16771,10.162,16780,6.814,16849,9.446,16851,9.446,16887,6.608,16937,9.049,17069,8.417,17070,8.417,17071,10.786,17072,8.417,17073,10.786,17074,8.417,17075,8.417,17076,8.417]],["title/controllers/OauthSSOController.html",[259,2.624,16580,6.012]],["body/controllers/OauthSSOController.html",[0,0.117,3,0.008,4,0.008,5,0.004,7,0.05,8,0.682,27,0.436,29,0.837,30,0.001,31,0.603,32,0.142,33,0.508,35,1.286,36,2.41,47,0.881,52,3.421,55,0.706,59,1.065,95,0.153,100,1.176,101,0.005,103,0,104,0,105,0.354,118,8.387,119,1.161,124,1.751,128,3.332,138,1.61,141,3.829,145,0.969,150,0.777,153,1.628,177,1.524,223,1.439,226,0.505,236,1.783,238,1.931,239,2.26,259,1.322,261,1.656,262,2.71,270,4.984,271,2.636,292,1.751,294,5.328,310,5.651,333,2.393,336,3.508,337,1.8,338,1.84,343,3.808,349,0.734,379,0.436,437,1.598,519,1.731,529,2.335,556,0.85,579,3.808,603,2.457,604,2.31,608,1.646,824,4.45,990,3.745,1218,2.125,1226,3.421,1242,3.838,1262,1.961,1341,1.109,1475,2.426,1478,6.063,1488,2.901,1506,2.901,1694,2.133,1781,8.833,1877,3.752,2079,1.529,2080,1.707,2081,1.647,2119,2.243,2312,1.433,2313,2.562,2493,3.697,2764,1.637,2963,1.813,3134,2.589,3172,2.642,3603,2.828,3779,3.32,3940,1.948,4677,4.619,4956,2.383,4957,2.715,5554,1.966,5703,2.158,6863,8.452,6865,2.063,6990,2.642,7082,2.158,7338,3.199,7379,7.569,8251,3.199,10825,3.199,10886,6.564,12239,4.716,12266,5.847,12267,3.199,12268,3.029,12269,2.523,13604,3.199,14789,4.1,14792,2.901,14799,4.018,16277,2.8,16337,6.622,16338,3.199,16357,5.958,16376,2.901,16386,6.57,16508,3.199,16578,5.958,16580,4.923,16720,7.806,16732,3.029,16737,11.181,16739,3.029,16740,3.029,16769,3.029,17077,10.947,17078,3.458,17079,5.621,17080,7.102,17081,6.57,17082,5.621,17083,7.102,17084,5.621,17085,7.102,17086,5.621,17087,3.458,17088,3.458,17089,6.421,17090,7.164,17091,5.621,17092,3.458,17093,3.458,17094,7.164,17095,3.458,17096,3.458,17097,3.458,17098,3.458,17099,5.621,17100,3.458,17101,3.458,17102,5.621,17103,3.458,17104,3.458,17105,3.458,17106,3.458,17107,5.621,17108,3.458,17109,3.458,17110,5.621,17111,3.458,17112,3.029,17113,5.621,17114,3.458,17115,3.458,17116,4.716,17117,3.458,17118,3.199,17119,3.458,17120,3.029,17121,3.458,17122,2.8,17123,3.458,17124,3.458,17125,3.458,17126,3.458,17127,3.458,17128,3.458,17129,7.102,17130,3.458,17131,5.621,17132,5.621,17133,5.621,17134,3.458,17135,3.458,17136,3.458,17137,3.458,17138,5.621,17139,3.458,17140,3.458,17141,5.621,17142,5.621,17143,3.458,17144,3.458,17145,3.199,17146,3.458,17147,9.642,17148,3.458,17149,5.621,17150,5.2,17151,3.199,17152,3.458,17153,3.458,17154,3.458,17155,3.458,17156,3.458,17157,5.621,17158,5.621,17159,3.458,17160,5.2,17161,5.2,17162,5.621,17163,5.621,17164,3.029,17165,3.458,17166,3.029,17167,3.458,17168,3.029,17169,3.029,17170,3.029,17171,3.458,17172,3.458,17173,3.458,17174,3.458,17175,3.458,17176,3.458,17177,5.621,17178,5.621,17179,3.458,17180,3.458,17181,5.621,17182,3.458,17183,3.458,17184,3.458,17185,3.458,17186,3.458,17187,3.458,17188,3.458,17189,3.458,17190,3.458,17191,3.458]],["title/interfaces/OauthTokenResponse.html",[105,0.702,16424,5.557]],["body/interfaces/OauthTokenResponse.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.168,47,1.001,101,0.016,103,0.001,104,0.001,105,1.04,107,2.387,112,0.927,125,11.745,126,10.857,16358,9.401,16424,9.811,16792,12.407,17192,9.401]],["title/injectables/OauthUc.html",[539,0.921,16578,5.759]],["body/injectables/OauthUc.html",[0,0.145,3,0.009,4,0.009,5,0.005,7,0.061,8,0.807,26,2.25,27,0.411,29,0.79,30,0.001,31,0.569,32,0.129,33,0.479,35,1.12,36,2.448,39,1.169,47,0.936,48,6.025,52,5.098,59,2.517,95,0.159,99,0.694,101,0.007,102,3.371,103,0,104,0,105,0.438,118,4.259,119,1.689,128,4.501,177,2.129,201,1.792,226,0.625,236,1.502,238,6.933,239,2.161,262,2.741,284,1.291,310,3.544,349,0.954,379,0.84,437,1.711,528,2.195,529,1.9,539,0.893,541,1.027,556,1.051,593,1.593,603,2.515,608,2.877,790,2.151,824,2.361,951,4.317,990,3.155,1341,1.371,1351,2.773,1422,8.239,1440,2.999,1478,5.503,1498,4.443,1781,7.24,1794,4.259,1832,3.655,1877,2.854,1964,3.75,2119,5.3,2312,3.387,2313,4.203,3134,4.248,3172,3.267,3603,4.64,4572,8.239,4580,5.1,4677,2.195,4753,6.775,4822,6.525,5554,4.645,5703,2.668,6403,4.443,7082,2.668,7322,3.542,7325,6.094,11880,4.443,12248,3.745,12249,8.086,12269,5.961,12271,3.745,12340,5.584,12402,5.688,12477,5.841,12661,3.189,13941,4.669,14799,6.592,14951,3.956,15878,3.587,16357,5.584,16393,8.674,16394,8.059,16395,8.674,16407,8.567,16419,3.357,16420,3.745,16427,3.745,16432,3.956,16433,3.462,16451,5.584,16467,6.158,16509,3.956,16510,3.956,16511,5.829,16512,5.829,16578,5.584,16720,9.249,16737,8.077,16739,3.745,16740,3.745,17112,3.745,17122,3.462,17145,3.956,17150,6.158,17151,3.956,17160,3.956,17161,3.956,17193,4.276,17194,5.829,17195,6.656,17196,6.656,17197,8.172,17198,4.276,17199,6.656,17200,4.276,17201,3.956,17202,10.583,17203,4.276,17204,6.158,17205,6.656,17206,4.276,17207,4.276,17208,4.276,17209,3.956,17210,3.267,17211,4.276,17212,3.956,17213,4.276,17214,4.276,17215,4.276,17216,4.276,17217,4.276,17218,4.276,17219,6.656,17220,4.276,17221,4.276,17222,4.276,17223,3.745,17224,7.157,17225,3.956,17226,3.956,17227,3.956,17228,4.276,17229,3.956,17230,3.956,17231,4.276,17232,4.276]],["title/interfaces/ObjectKeysRecursive.html",[105,0.702,6526,5.119]],["body/interfaces/ObjectKeysRecursive.html",[3,0.018,4,0.018,5,0.012,7,0.119,30,0.001,32,0.162,47,1.02,55,2.638,95,0.099,101,0.021,103,0.001,104,0.001,105,1.354,107,1.953,112,0.819,284,3.232,360,6.548,556,3.253,1215,6.499,1217,4.684,1361,4.493,2094,5.127,5838,4.769,6441,6.052,6508,6.2,6509,6.2,6510,6.527,6511,6.352,6512,6.352,6513,5.188,6514,6.2,6515,5.636,6516,5.636,6517,5.636,6518,5.636,6519,5.832,6520,5.127,6521,5.014,6522,5.014,6523,6.064,6524,9.878,6525,9.878,6526,7.98]],["title/interfaces/OcsResponse.html",[105,0.702,11928,5.119]],["body/interfaces/OcsResponse.html",[3,0.02,4,0.02,5,0.01,7,0.132,30,0.001,32,0.161,34,1.537,47,0.953,55,2.53,101,0.021,103,0.001,104,0.001,105,1.409,107,2.16,112,0.873,119,1.9,120,4.833,284,2.778,347,3.319,479,3.389,986,5.965,991,6.235,1025,3.641,3122,3.969,4600,6.235,6722,5.432,11925,6.859,11926,7.027,11927,6.859,11928,8.506,11929,9.904,11930,8.545,11931,7.027,11932,7.027,11933,6.859,11934,7.027,11935,6.709,11936,6.859,11937,7.027,11938,6.859]],["title/classes/OidcConfig.html",[0,0.232,13160,4.815]],["body/classes/OidcConfig.html",[0,0.316,2,0.484,3,0.01,4,0.01,5,0.005,7,0.063,26,1.38,27,0.487,29,0.346,30,0.001,31,0.249,32,0.159,33,0.21,47,1.015,83,2.412,95,0.111,96,1.17,101,0.016,103,0,104,0,105,0.448,112,0.519,119,0.904,133,1.517,138,2.06,143,2.998,144,4.401,145,1.227,153,1.003,154,1.678,172,4.472,173,1.273,174,2.591,175,1.954,177,0.816,178,1.74,180,0.763,181,1.184,182,1.391,276,1.898,379,0.552,511,1.945,570,2.7,578,2.669,839,2.576,950,2.7,1262,2.894,1371,2.669,1454,3.129,1486,2.732,1664,1.637,2021,5.379,2046,3.264,2562,3.456,2566,1.954,4332,3.635,4370,4.845,4404,2.64,4677,3.48,5558,1.783,5643,4.699,5953,3.48,5973,2.801,5974,3.017,6446,3.663,7385,2.765,7472,2.968,7528,5.694,9006,2.404,9343,2.968,10327,2.879,10926,2.488,12263,6.929,12344,3.264,12345,3.264,12346,3.264,12347,3.345,12391,3.017,12394,2.922,12396,3.017,12399,3.017,12402,2.7,12406,2.968,12447,2.879,12867,3.345,13048,3.129,13156,5.179,13157,3.544,13158,4.524,13159,7.794,13160,8.471,13161,4.282,13162,4.754,13163,5.455,13164,2.922,13165,2.922,13166,3.544,13167,4.672,13168,5.055,13169,3.436,13170,5.055,13171,3.345,13172,3.345,13173,3.345,13174,3.345,13175,3.436,13176,3.345,13177,3.345,13178,3.345,13179,3.436,13180,5.055,13181,3.436,13182,3.345,13183,3.436,13184,3.345,13185,3.345,13186,3.345,13187,3.436,13188,6.437,13189,3.544,13190,3.544,13191,3.544,13192,3.544,13193,3.544,13194,3.544,13195,3.544,13196,3.544,13197,3.544,13198,3.544,13199,3.544,13200,3.544,13201,3.436,13202,3.544,13203,3.544,13204,3.544,13205,3.544,13206,3.544,13207,3.544,13208,3.544,13209,3.544,13210,3.544,13211,3.544,13212,3.544,13213,3.544,13214,3.544,13215,3.544,13216,3.544,13217,3.544,13218,3.544,13219,3.264,13220,3.544,13221,3.544,13222,3.544,13223,3.544,13224,3.544,13225,3.544,13226,3.544,13227,3.544,13228,3.544,13229,3.544,13230,3.544,13231,3.544,13232,3.544,13233,5.487,13234,3.345,13235,3.544,13236,3.264,13237,3.436,13238,3.345,13239,3.436,13240,3.345,13241,3.345,13242,3.436,13243,3.345,13244,3.436,13245,3.345,13246,6.05,13247,6.05,13248,6.05,13249,6.186,13250,3.345,13251,3.544,13252,3.345,13253,3.544,13254,3.544,13255,3.544,13256,3.544,13257,3.544,13258,3.345,13259,3.436,13260,3.345,13261,3.436,17233,4.377,17234,4.377,17235,4.377,17236,4.377,17237,4.377,17238,4.377,17239,4.377,17240,4.377,17241,4.377]],["title/classes/OidcConfigDto.html",[0,0.232,14194,5.389]],["body/classes/OidcConfigDto.html",[0,0.271,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,27,0.568,29,0.634,30,0.001,31,0.456,32,0.179,33,0.384,47,1.005,101,0.012,103,0.001,104,0.001,112,0.8,379,1.012,2021,7.543,2046,5.98,5643,5.852,7528,7.092,13167,5.527,13168,5.98,13170,5.98,13188,8.016,13237,6.295,13239,6.295,13242,6.295,13244,6.295,13246,8.484,13247,8.484,13248,8.484,13249,8.673,14194,10.289,16637,7.418,16640,7.418,16647,7.418,16649,7.418,16650,7.418,17242,13.908,17243,10.759,17244,10.453,17245,8.018,17246,8.018,17247,8.018,17248,8.018,17249,8.018,17250,8.018,17251,8.018,17252,8.018,17253,8.018,17254,8.018,17255,8.018,17256,8.018,17257,8.018,17258,8.018,17259,8.018,17260,8.018]],["title/classes/OidcContextResponse.html",[0,0.232,5620,5.759]],["body/classes/OidcContextResponse.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.539,30,0.001,32,0.169,33,0.678,47,0.965,95,0.131,101,0.013,103,0.001,104,0.001,112,0.84,133,3.804,135,7.468,138,2.341,150,1.943,226,1.264,245,3.586,5620,9.208,5632,11.711,10174,8.617,17261,8.649,17262,11.153,17263,11.153,17264,11.153,17265,11.153,17266,8.649,17267,8.649,17268,8.649,17269,8.649,17270,8.649,17271,8.649]],["title/classes/OidcIdentityProviderMapper.html",[0,0.232,14159,5.759]],["body/classes/OidcIdentityProviderMapper.html",[0,0.281,2,0.917,3,0.018,4,0.018,5,0.009,7,0.119,8,1.296,27,0.44,29,0.845,30,0.001,31,0.608,32,0.138,33,0.512,35,1.008,47,0.83,95,0.157,101,0.013,103,0.001,104,0.001,128,3.38,143,2.37,177,1.546,226,1.212,349,0.858,379,1.047,603,1.707,639,3.906,662,3.672,1181,5.059,1971,3.863,2021,5.381,5643,4.174,5953,4.259,7528,5.059,8800,8.816,9382,5.82,9825,9.107,11304,5.059,12419,6.846,12420,7.291,13158,5.538,13160,5.82,13234,6.339,13236,7.97,13238,6.339,13240,6.339,13241,6.339,13243,6.339,13245,6.339,13246,6.052,13247,6.052,13248,6.052,14080,6.187,14159,8.966,14194,9.802,14208,10.937,14223,7.675,14225,6.717,14229,11.55,14234,6.717,14253,7.675,14322,7.675,16613,7.675,17272,11.822,17273,8.297,17274,10.686,17275,8.297,17276,8.297,17277,10.686,17278,8.297,17279,8.297,17280,8.297,17281,8.297,17282,8.297,17283,8.297,17284,8.297,17285,8.297,17286,8.297]],["title/injectables/OidcMockProvisioningStrategy.html",[539,0.921,17287,5.759]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.223,27,0.466,29,0.798,30,0.001,31,0.574,32,0.131,33,0.484,35,1.376,36,2.585,47,0.534,95,0.154,100,2.583,101,0.012,103,0.001,104,0.001,121,6.636,143,1.685,180,1.759,226,1.11,236,1.845,262,2.501,284,2.295,349,1.171,382,3.384,437,1.493,529,2.169,539,1.354,541,1.826,593,2.831,655,3.849,1443,5.667,1478,4.535,1503,5.543,1612,7.36,2088,6.544,2220,4.359,3134,3.5,7241,8.465,8980,5.072,10075,8.263,11602,9.474,12266,5.432,12548,6.297,12866,6.152,13161,8.157,13163,7.45,13164,5.072,13165,5.072,13938,7.71,13940,8.169,13941,9.057,13945,8.169,13946,9,13949,6.655,13950,7.71,13951,6.655,13955,7.03,13957,6.655,13958,7.03,13970,8.169,13974,6.152,13975,6.655,13976,7.03,16433,6.152,17287,8.465,17288,7.599,17289,7.599,17290,7.599,17291,7.599,17292,6.655,17293,7.599,17294,7.03,17295,10.09,17296,7.599]],["title/injectables/OidcProvisioningService.html",[539,0.921,17297,5.557]],["body/injectables/OidcProvisioningService.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.673,26,2.519,27,0.394,29,0.757,30,0.001,31,0.62,32,0.131,33,0.459,34,0.927,35,1.084,36,2.455,39,1.516,47,0.709,48,6.382,49,1.291,51,1.669,59,1.048,64,4.356,95,0.149,99,0.552,100,1.157,101,0.005,103,0,104,0,143,1.558,145,0.954,157,2.124,177,1.961,226,0.497,236,1.866,239,2.365,262,2.7,349,1.088,379,0.7,437,1.703,524,1.934,528,1.747,529,1.584,539,0.745,541,0.818,556,1.364,564,1.063,593,4.055,603,2.357,608,2.972,617,7.712,651,1.639,652,1.639,653,1.747,654,2.68,655,4.103,685,2.32,708,1.364,765,2.207,933,3.073,975,5.698,1338,1.576,1341,1.091,1439,2.755,1605,2.538,1611,2.482,1726,1.455,1778,1.337,1834,2.433,1959,5.119,1961,4.62,1963,3.126,1964,5.392,1966,2.755,2312,4.183,3083,2.433,3122,3.032,3140,3.534,3174,2.272,3175,2.207,3417,2.307,3603,1.712,3894,2.346,4188,2.124,4266,3.233,4392,4.689,4539,2.307,4540,2.387,4541,2.031,4630,5.791,4637,2.6,4661,2.433,4734,7.712,4748,2.538,4822,5.652,4841,2.755,5703,3.463,6713,3.824,6721,2.272,6777,2.433,6822,2.755,7322,5.371,7328,5.493,7331,2.755,8956,8.755,8967,4.356,8969,2.855,8980,4.689,8987,6.042,8989,2.15,8995,4.762,9345,4.356,10075,5.91,10187,2.755,10316,8.468,10325,2.855,10326,2.6,10327,4.62,10926,1.934,11376,3.703,11589,5.367,11591,8.931,11605,2.855,11606,2.855,11738,8.468,12006,2.538,13013,2.433,13970,2.755,13972,2.855,14508,2.855,14664,4.655,14665,3.148,14856,8.468,15451,2.855,15823,2.98,16440,6.498,16694,6.152,17297,4.492,17298,10.093,17299,3.403,17300,5.548,17301,5.548,17302,5.548,17303,5.548,17304,7.024,17305,3.403,17306,5.548,17307,3.403,17308,7.024,17309,5.548,17310,3.403,17311,5.548,17312,3.403,17313,5.548,17314,3.403,17315,3.403,17316,3.403,17317,3.403,17318,3.403,17319,2.98,17320,2.98,17321,8.255,17322,5.548,17323,5.548,17324,3.148,17325,5.548,17326,5.548,17327,3.148,17328,3.403,17329,3.403,17330,3.403,17331,3.403,17332,2.98,17333,5.548,17334,3.148,17335,8.102,17336,3.148,17337,3.403,17338,3.148,17339,3.403,17340,7.024,17341,5.548,17342,3.403,17343,5.548,17344,3.403,17345,5.548,17346,3.403,17347,3.148,17348,3.403,17349,3.403,17350,5.548,17351,5.133,17352,3.403,17353,3.403,17354,3.403,17355,3.403,17356,3.403,17357,8.102,17358,3.403,17359,7.024,17360,5.548,17361,5.548,17362,3.403,17363,3.403,17364,3.403,17365,3.403,17366,3.403,17367,3.403,17368,3.403,17369,3.403,17370,3.403,17371,3.403,17372,5.548,17373,3.403,17374,3.403,17375,3.403,17376,3.403,17377,3.403,17378,3.403,17379,5.548,17380,3.403,17381,5.548,17382,3.403,17383,3.403,17384,3.403,17385,3.403,17386,3.403,17387,3.403,17388,3.403,17389,3.403,17390,3.403,17391,5.548,17392,3.403,17393,3.403,17394,3.403,17395,3.403,17396,3.403,17397,3.403]],["title/injectables/OidcProvisioningStrategy.html",[539,0.921,17398,6.012]],["body/injectables/OidcProvisioningStrategy.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.107,8,1.211,9,5.951,27,0.494,29,0.889,30,0.001,31,0.64,32,0.146,33,0.539,35,1.366,36,2.409,95,0.153,99,1.215,100,2.545,101,0.012,103,0.001,104,0.001,177,1.395,180,1.742,182,2.38,226,1.094,236,1.22,239,1.755,262,2.483,284,2.261,349,0.774,379,0.945,382,3.359,437,0.987,539,1.341,541,1.799,556,1.841,608,2.78,654,3.001,933,4.146,1964,5.629,2079,3.31,2080,3.696,2081,3.565,2088,4.856,2220,4.295,2353,5.076,3940,4.218,7322,5.317,8980,4.998,11602,8.828,12548,6.235,13161,8.123,13163,4.924,13938,7.634,13940,8.088,13941,8.415,13945,6.061,13946,7.451,13950,7.634,13951,6.557,13983,6.557,16433,8.088,17223,6.557,17292,6.557,17297,10.409,17398,8.75,17399,7.487,17400,7.487,17401,7.487,17402,7.487,17403,7.487,17404,7.487,17405,6.557,17406,7.487,17407,11.099,17408,7.487,17409,7.487,17410,7.487,17411,6.927,17412,7.487,17413,9.991,17414,7.487,17415,7.487]],["title/interfaces/Options.html",[105,0.702,490,2.443]],["body/interfaces/Options.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.094,30,0.001,32,0.136,33,0.608,36,2.251,47,0.738,95,0.125,101,0.018,103,0,104,0,105,0.672,107,1.543,112,0.699,119,2.554,142,4.427,143,1.457,145,3.185,153,2.964,219,2.58,262,2.32,284,1.984,345,2.094,349,1.087,437,1.705,490,4.514,510,4.863,556,2.583,603,1.351,608,2.633,1122,4.203,1717,5.92,1822,6.779,2088,8.018,2830,3.919,3291,4.005,3309,5.773,3502,5.753,3505,6.1,3508,5.318,3514,8.914,3515,7.177,3516,3.919,3518,5.157,3519,6.01,4381,6.851,5654,5.318,5656,5.753,6441,3.075,8038,5.511,8039,6.077,8042,5.318,8043,8.25,8045,6.077,8046,9.956,8047,7.667,8049,6.077,8050,7.371,8052,8.25,8053,7.837,8054,5.019,8056,5.753,8057,5.511,8058,11.047,8059,8.68,8060,8.454,8061,5.753,8062,8.454,8063,8.454,8064,6.077,8065,6.077,8066,6.077,8067,9.531,8068,8.454,8069,9.722,8070,4.527,8071,8.003,8072,6.077,8073,6.077,8074,5.753]],["title/classes/Page.html",[0,0.232,822,3.326]],["body/classes/Page.html",[0,0.329,2,1.074,3,0.021,4,0.021,5,0.011,7,0.14,27,0.523,29,0.769,30,0.001,31,0.554,32,0.165,33,0.466,55,2.762,101,0.015,103,0.001,104,0.001,112,0.903,284,4.089,379,1.227,479,4.989,816,7.588,817,6.771,822,5.72,834,5.298,17416,9.725,17417,11.803,17418,9.725,17419,8.997]],["title/classes/PageContentDto.html",[0,0.232,17420,5.389]],["body/classes/PageContentDto.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.138,27,0.52,29,0.758,30,0.001,31,0.546,32,0.163,33,0.46,47,0.923,101,0.015,103,0.001,104,0.001,112,0.895,128,5.358,181,3.166,379,1.21,381,3.249,4565,5.931,17420,10.587,17421,13.151,17422,9.587,17423,10.596,17424,10.596,17425,11.701,17426,9.587,17427,8.869,17428,8.869,17429,8.869,17430,8.869]],["title/injectables/PageContentMapper.html",[539,0.921,17431,5.759]],["body/injectables/PageContentMapper.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,8,1.409,27,0.39,29,0.749,30,0.001,31,0.539,32,0.123,33,0.454,35,1.151,95,0.15,100,3.221,101,0.015,103,0.001,104,0.001,128,4.733,226,1.384,236,1.543,349,0.98,437,1.249,539,1.559,541,2.277,790,4.767,824,4.121,4565,5.24,11977,8.766,15833,10.175,15834,10.175,17420,10.283,17423,7.95,17424,7.95,17431,9.747,17432,11.617,17433,9.475,17434,11.276,17435,9.475,17436,8.766,17437,9.475,17438,9.475]],["title/classes/PageContentQueryParams.html",[0,0.232,17439,6.012]],["body/classes/PageContentQueryParams.html",[0,0.372,2,0.96,3,0.019,4,0.027,5,0.01,7,0.125,27,0.497,30,0.001,32,0.176,47,0.892,95,0.144,101,0.013,103,0.001,104,0.001,112,0.842,128,5.174,138,2.161,148,2.691,150,1.952,153,2.768,245,3.257,808,4.782,821,5.593,822,5.333,852,4.044,2739,4.989,3134,5.068,4565,5.728,7289,8.409,10665,6.478,17439,9.638,17440,12.699,17441,8.686,17442,10.579,17443,9.779,17444,9.779,17445,11.122,17446,8.686,17447,8.686,17448,11.004,17449,8.686,17450,8.686,17451,7.608,17452,8.686]],["title/classes/PageContentResponse.html",[0,0.232,17434,5.759]],["body/classes/PageContentResponse.html",[0,0.304,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.505,29,0.709,30,0.001,31,0.511,32,0.159,33,0.43,47,0.902,95,0.107,101,0.014,103,0.001,104,0.001,112,0.86,128,5.235,138,2.01,150,2.016,153,2.574,181,3.039,245,3.145,379,1.132,381,3.041,821,5.201,1262,4.483,4565,5.795,17423,10.287,17424,10.287,17427,8.302,17428,8.302,17429,8.302,17430,8.302,17434,11.1,17453,12.849,17454,8.974,17455,11.232,17456,11.232,17457,11.887,17458,11.232,17459,8.974]],["title/classes/PaginationParams.html",[0,0.232,836,4.815]],["body/classes/PaginationParams.html",[0,0.376,2,0.976,3,0.019,4,0.019,5,0.01,7,0.127,27,0.458,30,0.001,32,0.144,33,0.613,55,2.743,56,6.345,70,6.126,95,0.132,101,0.014,103,0.001,104,0.001,112,0.851,138,1.991,148,2.737,149,4.69,150,1.986,153,2.55,480,3.095,486,3.351,696,4.318,708,4.458,710,8.808,822,5.391,828,7.317,836,7.804,842,8.176,843,7.804,844,9.334,845,8.501,846,10.292,848,8.176,849,6.161,850,9.334,3494,6.317,3499,6.446,3550,7.154,5591,9.857,17460,8.837,17461,8.837,17462,8.837,17463,8.837,17464,8.837]],["title/classes/PaginationResponse.html",[0,0.232,815,4.233]],["body/classes/PaginationResponse.html",[0,0.264,2,0.86,3,0.017,4,0.017,5,0.009,7,0.112,9,5.802,27,0.521,29,0.616,30,0.001,31,0.443,32,0.179,33,0.607,55,2.933,56,6.385,59,3.159,70,6.669,95,0.093,101,0.012,103,0.001,104,0.001,112,0.785,138,2.18,150,1.75,153,2.793,245,3.247,284,3.463,379,0.983,479,3.779,815,6.325,816,7.221,821,5.642,822,5.905,823,5.458,824,3.638,826,7.903,827,7.529,828,6.745,829,5.301,4706,7.068,17419,7.205,17465,7.788,17466,10.255,17467,7.788,17468,7.788,17469,7.788,17470,7.788,17471,7.788,17472,7.788,17473,7.788]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.232,1930,6.012]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.297,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.343,27,0.456,29,0.694,30,0.001,31,0.5,32,0.174,33,0.421,35,1.067,47,0.852,95,0.132,101,0.014,103,0.001,104,0.001,177,1.636,180,1.931,182,2.791,226,1.283,284,2.652,345,2.799,349,0.908,363,4.947,379,1.108,564,2.743,1025,3.476,1147,3.365,1338,5.621,1339,6.275,1341,2.816,1343,6.332,1650,6.839,1930,9.704,2548,2.957,3255,7.669,8829,6.32,8830,6.561,9276,5.547,9283,5.134,9284,5.354,9292,7.108,9293,7.108,13996,7.366,17474,12.139,17475,12.139,17476,8.78,17477,12.139,17478,8.78,17479,8.78,17480,8.78]],["title/classes/PatchGroupParams.html",[0,0.232,7624,6.012]],["body/classes/PatchGroupParams.html",[0,0.392,2,1.042,3,0.021,4,0.021,5,0.011,7,0.135,27,0.388,30,0.001,31,0.659,32,0.122,47,0.813,95,0.149,100,3.938,101,0.015,103,0.001,104,0.001,112,0.887,138,1.688,148,2.921,150,2.119,153,2.655,245,2.971,247,4.052,248,4.623,975,6.375,1271,4.181,1942,5.467,7077,9.013,7297,7.635,7299,7.854,7624,10.146,17481,10.146,17482,9.431,17483,10.146,17484,9.431]],["title/classes/PatchMyAccountParams.html",[0,0.232,328,6.012]],["body/classes/PatchMyAccountParams.html",[0,0.321,2,0.765,3,0.015,4,0.015,5,0.008,7,0.099,27,0.501,30,0.001,31,0.661,32,0.158,33,0.628,47,0.944,87,6.164,95,0.138,101,0.011,103,0.001,104,0.001,112,0.725,138,2.177,142,5.238,143,2.981,144,4.376,145,3.768,148,2.145,150,1.556,153,2.789,236,2.134,239,3.15,245,3.223,246,7.674,247,2.975,248,4.857,249,4.761,250,4.432,251,8.769,252,5.811,253,3.419,254,5.811,257,5.165,328,8.302,359,5.717,651,5.206,652,5.206,653,6.248,1107,5.164,2958,5.598,4706,9.265,5567,7.442,7234,8.302,17485,11.625,17486,6.926,17487,10.806,17488,10.806,17489,6.926,17490,7.952,17491,6.926,17492,6.926,17493,6.926,17494,6.926,17495,6.926,17496,8.302,17497,6.926]],["title/classes/PatchMyPasswordParams.html",[0,0.232,299,6.012]],["body/classes/PatchMyPasswordParams.html",[0,0.371,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.452,30,0.001,32,0.142,47,0.89,87,7.082,95,0.151,101,0.013,103,0.001,104,0.001,112,0.84,138,1.964,142,4.941,143,2.812,144,4.128,145,3.554,148,2.679,150,1.943,153,2.515,236,2.065,239,2.971,245,3.092,246,9.759,247,3.716,248,4.811,250,5.535,252,7.257,253,4.269,254,9.208,299,9.612,361,6.239,5662,7.698,17485,11.153,17498,8.649,17499,12.055,17500,10.975,17501,10.975,17502,8.649,17503,8.649]],["title/classes/PatchOrderParams.html",[0,0.232,17504,6.012]],["body/classes/PatchOrderParams.html",[0,0.391,2,1.037,3,0.021,4,0.021,5,0.011,7,0.135,27,0.387,30,0.001,32,0.122,47,0.811,95,0.138,100,3.927,101,0.015,103,0.001,104,0.001,112,0.884,138,1.68,143,2.082,148,2.908,150,2.109,153,2.647,236,1.882,245,2.963,565,6.893,808,4.573,849,7.423,1732,6.057,1944,4.873,2093,7.355,2406,5.243,3914,7.962,4118,7.6,5590,7.124,17481,10.117,17483,10.117,17504,10.117,17505,9.388,17506,9.388,17507,10.687,17508,9.388]],["title/classes/PatchVisibilityParams.html",[0,0.232,17509,6.012]],["body/classes/PatchVisibilityParams.html",[0,0.395,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,27,0.394,30,0.001,32,0.124,95,0.139,100,3.972,101,0.015,103,0.001,104,0.001,112,0.894,119,2.414,138,1.711,143,2.591,145,3.275,147,6.315,148,2.963,150,2.149,153,2.678,245,2.997,1942,5.494,1944,4.929,4143,11.802,4973,7.382,4974,7.578,7306,8.377,17481,10.233,17483,10.233,17509,10.233,17510,9.565,17511,9.565]],["title/classes/Path.html",[0,0.232,360,3.476]],["body/classes/Path.html",[0,0.307,2,0.458,3,0.009,4,0.009,5,0.005,7,0.06,27,0.268,29,0.514,30,0.001,31,0.456,32,0.084,33,0.199,47,0.926,55,2.708,72,1.872,83,1.891,95,0.108,96,1.109,99,0.673,101,0.014,103,0,104,0,112,0.498,119,2.159,138,0.742,142,1.617,143,2.926,144,4.266,145,1.163,153,0.951,154,1.315,157,2.59,172,4.345,173,1.207,174,2.486,178,1.649,180,0.723,182,1.319,238,2.318,250,2.655,319,3.845,349,0.938,360,5.89,379,0.524,413,1.253,517,1.569,662,2.02,696,4.057,708,4.378,739,4.511,823,4.266,997,1.932,1105,4.007,1109,6.933,1110,7.529,1111,7.529,1125,5.532,1134,4.647,1147,2.992,1271,1.293,1288,2.26,1664,2.431,1823,4.968,2024,3.732,2044,1.611,2171,3.542,2255,3.065,2427,4.057,2494,4.34,2723,4.481,2784,1.964,2882,1.976,3122,1.791,3130,3.921,3625,3.258,3671,4.276,4745,4.217,5126,3.964,5384,4.647,5515,3.84,5541,4.057,5840,3.171,5841,3.171,5842,3.095,5843,3.171,5844,2.691,5850,3.095,5851,3.171,5863,6.125,5866,2.911,5867,3.171,5883,3.73,5884,3.171,5886,3.171,5894,2.911,5897,3.171,5899,3.171,5901,3.171,5903,3.171,5909,3.171,6441,3.753,6448,2.655,6679,2.966,6791,2.559,8555,2.86,10505,6.49,10506,3.481,10507,5.104,10508,6.125,10509,3.481,10513,5.455,10514,5.455,10515,6.726,10516,5.455,10517,7.345,10518,3.481,10519,5.455,10520,5.455,10521,5.455,10522,3.258,10523,3.481,10524,3.171,10525,5.264,10526,6.726,10527,6.662,10528,3.481,10529,6.726,10530,6.821,10531,5.264,10532,5.104,10533,5.455,10534,5.104,10535,5.455,10536,4.743,10537,5.455,10538,5.104,10539,5.455,10540,5.264,10541,5.455,10542,5.455,10543,3.258,10544,3.481,10545,6.125,10546,3.258,10547,2.911,10548,3.481,10549,3.481,10550,3.481,10551,3.481,10552,3.481,10553,3.481,10554,3.481,10555,3.481,10556,3.481,10557,3.481,10558,3.481,10559,3.481,10560,3.481,10561,3.481,10562,3.481,10563,3.481,10564,3.481,10565,3.481,10566,3.481,10567,3.481,10568,3.481,10569,3.481,10570,3.481,10571,3.481,10572,3.481,10573,3.481,10574,3.481,10575,3.481,10576,3.481,10577,3.481,10578,3.481,10579,3.481,10580,3.481,10581,3.481,10582,3.481,10583,3.481,10584,3.481,10585,3.481,10586,3.481,10587,3.481,10588,3.481,10589,3.481,10590,3.481,10591,3.481,10592,3.481,10593,3.481,10594,3.481,10595,3.481,10596,3.481,10597,3.481,10598,3.481,10599,3.481,10600,3.481,10601,3.481,10602,3.481,10603,3.481,10604,3.481,10605,3.481,10606,3.481,10607,3.481,10608,3.481,17512,6.502]],["title/injectables/PermissionService.html",[216,5.759,539,0.921]],["body/injectables/PermissionService.html",[0,0.234,3,0.015,4,0.015,5,0.008,7,0.099,8,1.31,27,0.445,29,0.854,30,0.001,31,0.615,32,0.14,33,0.518,35,1.412,47,0.92,95,0.129,101,0.011,102,4.801,103,0.001,104,0.001,119,1.959,145,1.942,216,9.066,226,1.012,236,1.544,239,3.247,276,5.449,333,2.948,349,1.202,353,6.533,355,5.988,358,4.232,437,1.532,529,1.977,539,1.272,541,1.664,560,2.846,591,5.34,603,2.223,696,4.195,827,4.011,1133,7.243,1673,6.665,1719,6.408,1721,6.408,1722,6.408,1723,6.516,1726,2.962,1728,6.234,1733,6.408,1734,6.408,1758,5.044,1832,3.804,2395,5.598,3140,5.846,4119,6.382,4741,6.327,5575,6.649,8046,7.442,10147,8.769,10950,8.769,11973,8.769,12990,7.674,12992,5.607,12999,5.607,17513,6.926,17514,9.479,17515,9.479,17516,9.479,17517,6.926,17518,9.479,17519,6.926,17520,9.479,17521,8.769,17522,9.479,17523,6.926,17524,6.926,17525,6.926,17526,6.926,17527,6.926,17528,6.926,17529,9.479,17530,6.926,17531,9.479,17532,6.926,17533,6.926]],["title/interfaces/PlainTextMailContent.html",[105,0.702,1367,5.119]],["body/interfaces/PlainTextMailContent.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,31,0.502,32,0.144,33,0.533,47,1.014,77,5.643,101,0.014,103,0.001,104,0.001,105,1.396,107,2.071,112,0.85,180,2.294,1150,5.156,1356,8.285,1357,6.738,1358,9.071,1359,8.489,1360,6.738,1361,4.766,1362,8.285,1363,6.433,1364,6.433,1365,9.523,1366,6.738,1367,9.071,1368,10.057,1369,10.057,1370,8.285,1371,6.774,1372,6.576,1373,6.576,1374,6.738,1375,6.738]],["title/classes/PostH5PContentCreateParams.html",[0,0.232,11454,5.119]],["body/classes/PostH5PContentCreateParams.html",[0,0.438,2,0.781,3,0.016,4,0.016,5,0.008,7,0.101,26,2.224,27,0.483,30,0.001,32,0.159,47,0.908,95,0.151,99,1.147,101,0.02,103,0.001,104,0.001,112,0.736,120,2.996,138,2.097,148,2.19,150,1.589,154,1.431,245,3.582,247,3.038,248,4.359,249,3.761,271,4.55,808,5.006,809,6.944,839,3.641,852,3.292,1105,6.127,1108,6.518,1150,6.853,1218,3.634,2024,3.292,2171,5.237,2921,4.176,2922,5.87,3632,5.03,4260,9.149,4263,8.346,5663,4.873,5827,5.932,5833,7.084,5883,4.056,5930,8.572,5933,5.058,7299,6.517,10530,6.587,11405,7.95,11443,5.273,11444,5.551,11448,7.547,11449,5.273,11450,5.273,11451,5.273,11452,5.403,11453,5.551,11454,7.169,11455,5.551,17534,7.071,17535,7.071,17536,7.071,17537,7.071,17538,7.071,17539,7.071]],["title/classes/PostH5PContentParams.html",[0,0.232,11452,5.245]],["body/classes/PostH5PContentParams.html",[0,0.439,2,0.791,3,0.016,4,0.016,5,0.008,7,0.103,26,1.974,27,0.485,30,0.001,32,0.142,47,0.927,95,0.151,99,1.161,101,0.02,103,0.001,104,0.001,112,0.742,138,2.108,148,2.217,150,1.608,154,1.448,245,3.587,247,3.075,248,4.387,249,3.792,271,4.569,808,5.024,809,6.969,839,3.659,852,3.333,1105,6.153,1108,6.559,1150,7.421,1218,3.664,2024,3.333,2171,6.417,2922,5.641,3632,3.297,4260,9.17,4263,8.398,5663,4.933,5833,7.64,5883,4.106,5930,7.986,5933,3.314,7299,6.572,10530,4.317,11405,7.983,11443,5.338,11444,5.619,11448,7.61,11449,5.338,11450,5.338,11451,5.338,11452,7.407,11453,8.629,11454,5.338,11455,5.619,17540,7.158,17541,7.158,17542,7.158,17543,9.693,17544,7.158,17545,7.158]],["title/classes/PreviewActionsLoggable.html",[0,0.232,17546,5.557]],["body/classes/PreviewActionsLoggable.html",[0,0.304,2,0.994,3,0.02,4,0.02,5,0.01,7,0.129,8,1.364,27,0.463,29,0.711,30,0.001,31,0.512,32,0.116,33,0.431,35,1.093,47,0.862,95,0.134,101,0.014,103,0.001,104,0.001,105,0.92,177,2.096,284,2.716,345,2.867,348,4.525,349,0.93,379,1.135,437,1.186,603,1.85,1025,4.859,1147,3.416,1338,5.683,1339,6.345,1341,2.884,1343,6.387,1616,6.915,1691,7.061,3930,6.872,6494,5.755,11403,8.388,11404,8.205,17546,9.106,17547,8.459,17548,12.273,17549,8.994,17550,9.381,17551,8.994,17552,8.994,17553,6.707,17554,7.281,17555,8.994,17556,8.994]],["title/classes/PreviewBuilder.html",[0,0.232,17557,6.012]],["body/classes/PreviewBuilder.html",[0,0.254,2,0.829,3,0.016,4,0.016,5,0.008,7,0.108,8,1.213,27,0.412,29,0.791,30,0.001,31,0.569,32,0.13,33,0.48,34,1.881,35,1.215,47,0.79,95,0.149,101,0.012,103,0.001,104,0.001,105,0.768,154,1.518,271,3.713,348,6.041,349,1.034,413,3.885,437,1.759,506,3.905,556,2.767,662,3.107,790,3.774,1361,5.406,1616,5.636,3044,4.226,4266,2.534,6419,5.269,6437,8.046,6490,8.731,6494,4.8,11215,6.293,11354,9.174,11401,10.8,11402,9.857,11403,8.953,11404,8.758,17550,8.21,17553,5.594,17557,8.761,17558,7.501,17559,11.255,17560,10.003,17561,7.501,17562,7.501,17563,10.003,17564,7.501,17565,7.501,17566,7.501,17567,7.501,17568,7.501,17569,7.501,17570,7.501,17571,7.501,17572,7.501,17573,7.501]],["title/interfaces/PreviewConfig.html",[105,0.702,17574,5.759]],["body/interfaces/PreviewConfig.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,47,0.699,55,2.033,95,0.119,101,0.019,103,0.001,104,0.001,105,1.226,107,2.34,112,0.917,3601,4.009,6513,8.314,10337,6.144,12411,6.754,12803,8.066,12805,8.066,13077,9.183,15455,7.268,17547,6.867,17574,10.048,17575,9.217,17576,11.178,17577,11.178]],["title/interfaces/PreviewFileOptions.html",[105,0.702,17550,5.007]],["body/interfaces/PreviewFileOptions.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.165,47,0.987,55,1.984,101,0.02,103,0.001,104,0.001,105,1.3,107,2.284,112,0.903,119,2.009,347,3.509,348,4.893,6494,6.223,11403,9.855,11404,9.876,17547,6.703,17550,8.61,17553,10.482,17578,8.517,17579,7.635]],["title/interfaces/PreviewFileParams.html",[105,0.702,11401,5.557]],["body/interfaces/PreviewFileParams.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,31,0.491,32,0.178,33,0.526,47,1.014,55,1.761,95,0.143,101,0.017,103,0.001,104,0.001,105,1.122,107,2.027,112,0.839,154,1.746,284,2.607,348,6.374,790,4.343,1215,6.019,1217,4.863,5838,4.951,6419,4.041,6437,8.287,6490,8.793,6520,5.323,6521,5.205,6522,5.205,10869,5.677,11354,9.681,11400,7.985,11401,8.873,11402,11.096,11403,9.448,11404,9.242]],["title/modules/PreviewGeneratorAMQPModule.html",[201,1.848,17580,6.012]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.327,3,0.021,4,0.021,5,0.011,30,0.001,95,0.151,101,0.015,103,0.001,104,0.001,201,3.411,203,3.508,204,3.763,205,3.869,206,3.853,207,3.838,208,3.571,209,3.664,218,4.709,219,3.792,220,3.705,225,4.671,226,1.411,506,5.027,1232,7.378,6419,4.52,6441,4.52,6495,6.179,6513,7.334,11048,8.932,11215,8.101,11222,8.456,12802,10.872,13077,6.655,17576,8.101,17580,12.034,17581,9.655,17582,9.655,17583,11.336,17584,9.655]],["title/classes/PreviewGeneratorBuilder.html",[0,0.232,17585,6.012]],["body/classes/PreviewGeneratorBuilder.html",[0,0.313,2,1.021,3,0.02,4,0.02,5,0.015,7,0.133,8,1.387,27,0.38,29,0.73,30,0.001,31,0.526,32,0.12,33,0.443,35,1.122,95,0.148,101,0.014,103,0.001,104,0.001,105,0.945,284,2.79,348,5.755,349,0.955,413,3.752,437,1.508,662,2.87,1217,5.205,1361,4.993,3601,3.717,5670,10.581,6495,7.319,6881,10.51,10337,5.698,17547,7.883,17553,10.383,17585,10.017,17586,9.26,17587,9.239,17588,11.438,17589,9.239]],["title/injectables/PreviewGeneratorConsumer.html",[539,0.921,17590,6.012]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.116,8,1.277,27,0.434,29,0.833,30,0.001,31,0.6,32,0.136,33,0.505,35,0.986,95,0.159,101,0.013,103,0.001,104,0.001,105,0.83,138,1.452,177,1.512,226,1.186,262,2.583,345,2.587,349,0.839,379,1.024,437,1.07,539,1.414,541,1.95,556,2.59,603,1.67,608,1.88,662,3.633,824,3.737,1025,3.212,1185,5.064,1187,6.832,1218,3.067,1224,5.692,1225,5.263,1341,2.602,1616,6.59,2312,5.548,6495,5.193,8898,5.005,11133,7.507,11135,9.226,11142,7.507,11143,9.746,17546,6.569,17547,8.062,17550,9.031,17586,9.469,17590,9.226,17591,8.114,17592,9.226,17593,8.114,17594,11.031,17595,8.114,17596,8.114,17597,9.814,17598,8.114,17599,7.507,17600,7.107,17601,7.107,17602,7.107,17603,8.114,17604,10.534,17605,8.114,17606,6.808,17607,8.114,17608,8.114]],["title/modules/PreviewGeneratorConsumerModule.html",[201,1.848,17583,5.759]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,8,0.994,27,0.337,29,0.648,30,0.001,31,0.467,32,0.106,33,0.393,35,0.996,95,0.164,101,0.013,103,0.001,104,0.001,201,3.165,203,2.978,208,3.921,214,4.936,225,3.258,226,1.198,236,1.335,349,0.848,413,3.202,437,1.398,506,5.52,598,4.747,636,4.793,637,5.859,639,3.859,1174,7.845,1341,2.629,1971,5.472,2312,5.334,3601,3.298,6495,6.785,8898,5.055,10337,5.055,10663,6.263,11206,7.438,11212,5.859,11216,5.859,11220,5.859,11221,5.649,11392,6.635,11393,7.734,13077,7.308,15455,5.979,17547,7.308,17574,10.426,17576,6.876,17583,9.861,17586,8.584,17590,9.286,17594,8.896,17602,7.178,17609,8.196,17610,7.178,17611,10.603,17612,8.196,17613,8.196,17614,8.196,17615,8.196,17616,8.196,17617,8.196]],["title/modules/PreviewGeneratorProducerModule.html",[201,1.848,11214,5.759]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.307,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.318,203,3.297,204,3.536,205,3.636,206,3.621,207,3.607,208,4.557,209,4.676,214,6.301,218,4.532,219,3.564,220,3.482,225,4.496,226,1.326,506,4.724,1225,5.885,1341,2.91,11206,9.494,11214,11.886,17547,6.254,17586,7.346,17618,9.074,17619,9.074,17620,9.074,17621,9.074,17622,11.942,17623,9.074,17624,9.074]],["title/injectables/PreviewGeneratorService.html",[539,0.921,17594,5.759]],["body/injectables/PreviewGeneratorService.html",[0,0.218,3,0.014,4,0.014,5,0.013,7,0.092,8,1.093,27,0.488,29,0.891,30,0.001,31,0.641,32,0.146,33,0.54,35,1.264,36,2.413,47,0.73,95,0.153,101,0.01,103,0,104,0,105,0.659,112,0.69,143,1.429,177,1.201,226,0.941,262,2.713,271,4.182,345,2.054,347,2.325,348,3.242,349,1.076,379,0.813,437,1.697,480,1.793,486,1.941,539,1.21,541,1.548,556,1.584,603,2.726,608,2.41,662,3.231,739,3.892,1217,3.63,1341,2.066,2312,5.228,3330,6.445,3601,2.593,6490,7.209,6494,5.77,6495,6.656,6519,7.903,6881,8.42,10337,3.974,10693,6.724,11392,7.299,11393,8.218,11403,4.805,11404,6.577,17546,5.216,17547,8.469,17550,8.218,17553,9.164,17579,5.059,17585,5.643,17586,9.948,17592,7.897,17594,7.565,17600,5.643,17601,5.643,17606,7.565,17625,5.961,17626,11.857,17627,9.016,17628,9.016,17629,5.961,17630,9.016,17631,9.016,17632,6.443,17633,6.443,17634,8.341,17635,6.443,17636,9.016,17637,6.443,17638,10.401,17639,5.961,17640,6.443,17641,6.443,17642,6.443,17643,6.443,17644,6.443,17645,6.443,17646,6.443,17647,6.443,17648,6.443,17649,6.443,17650,6.443,17651,6.443,17652,6.443]],["title/interfaces/PreviewModuleConfig.html",[105,0.702,17577,5.759]],["body/interfaces/PreviewModuleConfig.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,47,0.902,55,2.62,95,0.119,101,0.019,103,0.001,104,0.001,105,1.226,107,2.34,112,0.917,3601,4.009,6513,7.474,10337,6.144,12411,6.754,12803,10.786,12805,10.786,13077,6.867,15455,7.268,17547,6.867,17574,8.359,17575,9.217,17576,8.359,17577,10.774]],["title/interfaces/PreviewOptions.html",[105,0.702,17553,5.119]],["body/interfaces/PreviewOptions.html",[3,0.022,4,0.022,5,0.011,7,0.141,30,0.001,32,0.154,33,0.57,47,0.969,55,2.606,101,0.02,103,0.001,104,0.001,105,1.307,107,2.312,112,0.91,119,2.034,347,3.551,348,6.676,6494,8.491,11403,7.34,11404,8.673,17547,6.784,17550,7.18,17553,9.895,17578,8.62,17579,7.727]],["title/classes/PreviewParams.html",[0,0.232,6490,4.393]],["body/classes/PreviewParams.html",[0,0.454,2,0.687,3,0.014,4,0.019,5,0.01,7,0.089,26,2.473,27,0.42,30,0.001,32,0.162,33,0.582,39,1.699,47,0.943,95,0.149,99,1.009,101,0.021,103,0,104,0,105,0.636,112,0.673,119,2.108,138,1.825,143,1.95,147,4.752,148,1.926,149,4.272,150,1.397,151,5.869,153,1.425,154,1.258,245,3.569,247,2.671,248,4.848,249,4.338,348,3.128,808,4.809,809,6.09,839,3.169,852,2.894,988,2.709,990,2.127,1079,3.672,1147,1.888,1203,5.626,1204,4.089,1205,4.089,1262,2.169,2739,4.625,2922,5.604,3632,2.863,4266,2.1,5826,6.366,5933,2.879,6088,6.592,6419,5.191,6432,7.294,6438,6.09,6467,4.285,6468,4.361,6469,4.361,6472,7.81,6475,4.285,6476,8.108,6477,8.521,6478,8.521,6479,4.361,6480,4.285,6481,4.285,6482,4.361,6483,4.215,6484,5.961,6485,4.15,6486,4.215,6487,4.285,6488,4.215,6489,4.215,6490,5.626,6491,4.361,6492,7.156,6493,4.361,6494,6.528,6495,5.626,6496,5.783,6497,5.869,6498,7.156,11295,8.134,11315,5.751,17653,6.217,17654,6.217,17655,6.217,17656,6.217,17657,6.217]],["title/injectables/PreviewProducer.html",[539,0.921,17622,5.759]],["body/injectables/PreviewProducer.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.099,8,1.143,27,0.5,29,1.015,30,0.001,31,0.691,32,0.166,33,0.582,35,1.407,36,2.019,47,0.88,55,1.401,95,0.156,101,0.011,103,0.001,104,0.001,105,0.703,141,4.412,177,2.005,180,1.643,226,1.003,262,2.679,349,0.71,379,1.189,382,3.214,437,1.242,448,5.304,479,3.473,500,5.511,519,2.115,539,1.265,541,1.65,584,8.443,598,3.977,603,1.413,608,1.592,824,3.816,1185,4.286,1187,4.454,1210,5.56,1211,9.347,1218,3.562,1224,4.817,1225,4.454,1341,2.203,1616,7.472,1971,3.197,2312,5.32,3982,7.629,4018,8.023,8898,4.236,10663,5.248,11145,7.028,11241,10.516,11242,8.254,11243,8.254,11251,6.015,11252,6.354,11253,6.015,11254,6.354,11255,6.015,11256,6.354,11258,6.354,13901,6.354,15455,5.01,17546,5.56,17547,7.415,17550,8.446,17577,5.762,17579,5.392,17597,7.906,17599,6.354,17600,6.015,17601,6.015,17606,7.906,17622,7.906,17658,6.868,17659,6.868,17660,9.424,17661,6.868,17662,6.868,17663,6.868,17664,6.868,17665,6.868]],["title/interfaces/PreviewResponseMessage.html",[105,0.702,17579,5.389]],["body/interfaces/PreviewResponseMessage.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,32,0.154,47,0.97,55,2.018,101,0.02,103,0.001,104,0.001,105,1.31,107,2.323,112,0.912,119,2.645,347,4.796,348,4.976,6494,6.329,11403,7.376,11404,9.922,17547,6.817,17550,7.215,17553,9.547,17578,8.662,17579,9.361]],["title/injectables/PreviewService.html",[539,0.921,11130,5.759]],["body/injectables/PreviewService.html",[0,0.179,3,0.012,4,0.012,5,0.013,7,0.076,8,0.947,27,0.489,29,0.939,30,0.001,31,0.709,32,0.154,33,0.57,35,1.395,36,2.715,47,0.653,59,1.626,95,0.153,101,0.008,103,0,104,0,105,0.54,154,1.068,177,1.456,226,0.772,236,0.86,262,2.952,271,3.814,349,0.962,379,0.986,437,1.643,500,3.088,506,2.749,519,2.406,529,2.23,539,1.049,541,1.269,579,2.832,603,2.751,604,2.17,608,2.827,631,2.693,639,2.486,662,3.567,790,2.657,824,3.645,990,3.516,994,3.775,1242,2.854,1341,1.694,1616,2.975,2312,3.854,2313,4.683,2357,3.852,2362,4.146,2681,4.19,3044,2.975,3601,2.125,5703,5.803,6419,5.712,6437,8,6439,3.775,6441,2.472,6444,6.325,6457,4.275,6462,4.275,6490,7.973,6495,3.379,10337,3.257,10686,3.775,10738,4.146,10774,4.625,10866,4.625,10869,5.139,10936,4.035,11130,6.555,11215,4.43,11222,4.625,11354,8.775,11392,6.325,11393,7.497,11401,10.409,11404,3.852,12801,4.885,17557,4.625,17592,6.843,17622,9.969,17629,4.885,17634,7.228,17666,5.281,17667,7.813,17668,7.813,17669,9.299,17670,7.813,17671,7.813,17672,5.281,17673,7.813,17674,5.281,17675,7.813,17676,5.281,17677,5.281,17678,5.281,17679,5.281,17680,7.813,17681,5.281,17682,7.813,17683,5.281,17684,5.281,17685,5.281,17686,5.281,17687,5.281,17688,5.281,17689,5.281,17690,5.281,17691,5.281,17692,4.885,17693,5.281,17694,5.281,17695,5.281,17696,5.281,17697,7.813,17698,7.813,17699,5.281,17700,5.281,17701,5.281,17702,5.281,17703,5.281,17704,5.281]],["title/classes/PrometheusMetricsConfig.html",[0,0.232,17705,6.012]],["body/classes/PrometheusMetricsConfig.html",[0,0.231,2,0.755,3,0.015,4,0.015,5,0.008,7,0.098,8,1.139,27,0.569,30,0.001,32,0.162,35,0.83,47,0.811,55,2.357,95,0.081,101,0.011,103,0,104,0,112,0.719,119,2.82,177,2.59,236,1.53,349,1.294,379,1.354,413,3.872,519,2.105,556,1.68,603,2.914,662,2.917,686,4.302,1196,7.527,2079,3.021,2080,3.373,2081,3.254,2082,4.373,5284,6.779,9211,5.221,10111,8.424,17705,10.119,17706,6.833,17707,10.73,17708,10.73,17709,10.73,17710,10.73,17711,10.73,17712,10.73,17713,10.119,17714,10.73,17715,9.927,17716,9.927,17717,6.833,17718,6.833,17719,6.833,17720,6.833,17721,6.833,17722,6.833,17723,6.833,17724,6.833,17725,6.833,17726,6.833,17727,6.833,17728,6.833,17729,6.833,17730,6.833,17731,6.833,17732,6.833,17733,6.833,17734,6.833,17735,6.833,17736,9.391,17737,9.391,17738,9.391,17739,9.391,17740,9.391,17741,6.833,17742,6.833,17743,6.833,17744,6.833,17745,6.833,17746,11.554]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.232,17747,6.35]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.228,2,0.745,3,0.015,4,0.015,5,0.008,7,0.097,8,1.128,27,0.383,29,0.533,30,0.001,31,0.384,32,0.087,33,0.323,35,0.819,95,0.137,101,0.018,103,0,104,0,177,1.256,236,2.03,238,5.951,284,2.036,330,4.647,345,2.15,349,1.102,379,0.851,437,1.643,486,2.031,824,2.392,829,3.486,839,2.094,1025,2.669,1130,3.833,1147,2.826,1196,4.73,1288,3.673,1335,5.905,1337,5.905,1338,5.32,1339,5.508,1341,2.162,1342,7.807,1343,5.706,1520,9.092,1643,3.943,2024,3.139,2312,4.996,2368,4.26,6865,6.358,6961,6.035,7134,5.152,8555,4.647,10111,9.019,10527,6.497,14955,5.028,16445,10.062,17705,5.905,17715,9.857,17716,9.857,17747,10.628,17748,10.655,17749,6.743,17750,6.743,17751,11.489,17752,6.743,17753,6.743,17754,5.905,17755,6.743,17756,6.743,17757,6.743,17758,12.463,17759,13.717,17760,6.743,17761,6.743,17762,6.743,17763,5.293,17764,6.743,17765,6.743,17766,9.305,17767,6.743,17768,6.743,17769,5.459,17770,6.743,17771,9.305,17772,12.054,17773,6.743,17774,6.743,17775,6.743,17776,6.743,17777,6.743,17778,6.743,17779,6.743,17780,6.743,17781,9.305,17782,6.743,17783,6.743,17784,6.743,17785,6.743,17786,6.743]],["title/classes/PropertyData.html",[0,0.232,2609,5.557]],["body/classes/PropertyData.html",[0,0.311,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,27,0.534,29,0.727,30,0.001,31,0.738,32,0.168,33,0.594,47,0.91,95,0.109,101,0.014,103,0.001,104,0.001,112,0.873,172,2.873,181,3.086,379,1.161,381,3.117,480,3.449,1650,7.508,2044,3.57,2609,10.788,2649,10.858,4342,4.066,7430,7.22,7456,8.407,7470,7.716,7471,7.716,7497,7.716,17787,13.326,17788,8.508,17789,11.406,17790,9.197,17791,9.197]],["title/interfaces/ProviderConsentResponse.html",[105,0.702,16824,5.245]],["body/interfaces/ProviderConsentResponse.html",[3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,32,0.181,33,0.693,47,1.018,70,6.113,77,7.775,95,0.121,101,0.012,103,0.001,104,0.001,105,0.791,107,1.815,108,5.422,112,0.781,119,2.36,129,10.64,130,10.64,131,4.61,133,3.959,1402,6.484,3601,4.888,4256,8.684,5595,11.239,5596,11.239,5597,10.193,5598,10.193,5599,10.193,5600,9.836,9847,9.06,16824,7.797,17792,7.729,17793,10.193,17794,7.15,17795,7.15,17796,6.769]],["title/interfaces/ProviderConsentSessionResponse.html",[105,0.702,16887,5.389]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.18,33,0.68,47,0.991,55,2.482,95,0.105,101,0.014,103,0.001,104,0.001,105,0.902,107,2.071,108,6.186,112,0.85,113,11.813,114,11.183,115,11.813,116,10.025,117,10.025,118,8.171,119,2.513,120,4.708,125,7.723,126,7.139,5638,8.158,16824,9.757,16887,8.722,17797,8.818,17798,12.769,17799,8.818]],["title/interfaces/ProviderLoginResponse.html",[105,0.702,16886,5.389]],["body/interfaces/ProviderLoginResponse.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,32,0.18,33,0.608,47,1.013,70,6.379,77,8.114,95,0.131,101,0.013,103,0.001,104,0.001,105,0.885,107,2.032,108,6.067,112,0.84,119,2.491,1402,7.257,3601,5.102,4256,9.063,5597,10.638,5598,10.638,5599,10.638,5600,10.265,9847,9.456,15408,11.73,16886,8.616,17793,10.638,17794,8.002,17795,8.002,17796,7.575,17800,8.649]],["title/interfaces/ProviderOidcContext.html",[105,0.702,17793,5.759]],["body/interfaces/ProviderOidcContext.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,33,0.68,47,1.005,101,0.015,103,0.001,104,0.001,105,0.97,107,2.226,108,6.647,112,0.889,133,4.354,1672,8.766,10174,9.362,17262,12.117,17263,12.117,17264,12.117,17265,12.117,17793,9.747,17801,9.475]],["title/interfaces/ProviderRedirectResponse.html",[105,0.702,16826,5.119]],["body/interfaces/ProviderRedirectResponse.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.927,101,0.016,103,0.001,104,0.001,105,1.089,107,2.499,108,7.464,112,0.953,16826,9.287,17802,10.64,17803,12.594]],["title/classes/ProvisioningDto.html",[0,0.232,13950,5.245]],["body/classes/ProvisioningDto.html",[0,0.344,2,1.123,3,0.022,4,0.022,5,0.011,7,0.146,27,0.499,29,0.803,30,0.001,31,0.578,32,0.157,33,0.487,47,0.851,101,0.016,103,0.001,104,0.001,112,0.927,379,1.282,8980,8.644,8983,8.9,13950,10.625,17804,10.162,17805,12.119,17806,12.119,17807,10.162]],["title/modules/ProvisioningModule.html",[201,1.848,16577,5.389]],["body/modules/ProvisioningModule.html",[0,0.237,3,0.015,4,0.015,5,0.008,30,0.001,95,0.164,101,0.011,103,0.001,104,0.001,201,2.928,203,2.547,204,2.732,205,2.809,206,2.798,207,2.786,208,4.021,209,4.126,213,9.015,214,5.872,218,3.83,219,2.753,220,2.69,225,3.799,226,1.024,654,2.106,964,4.059,1341,2.248,1420,9.405,1421,8.846,1439,5.675,1963,3.949,3593,7.69,3603,3.527,3731,4.679,3998,6.379,4608,4.752,5434,8.07,8969,5.881,11619,10.21,13935,10.581,16393,10.761,16577,11.366,17287,10.581,17297,10.21,17405,6.139,17808,7.01,17809,7.01,17810,7.01,17811,7.01,17812,10.581,17813,10.581,17814,7.01,17815,7.01,17816,7.01,17817,7.01,17818,7.01,17819,7.01]],["title/injectables/ProvisioningService.html",[539,0.921,16393,5.389]],["body/injectables/ProvisioningService.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.025,27,0.518,29,0.943,30,0.001,31,0.679,32,0.159,33,0.572,35,1.392,36,2.632,47,0.933,48,4.049,95,0.146,100,2,101,0.009,103,0,104,0,112,0.647,121,7.114,177,2.015,226,0.86,236,1.762,262,2.827,284,2.553,349,1.119,379,1.067,437,1.688,448,4.015,480,1.637,486,1.772,519,1.812,529,1.68,539,1.135,541,1.414,556,1.447,603,2.674,608,2.293,1226,2.835,1440,4.128,1498,7.22,2220,3.376,2647,5.99,3134,4.557,4608,8.681,11880,6.605,12494,8.666,13161,8.089,13163,7.114,13164,3.928,13165,3.928,13935,9.075,13938,6.46,13941,8.036,13946,7.379,13950,7.561,13974,4.764,16393,6.637,16394,8.701,16427,5.153,16698,7.768,17210,4.496,17287,9.075,17812,9.075,17820,5.884,17821,8.454,17822,8.454,17823,8.454,17824,8.454,17825,5.444,17826,9.895,17827,9.895,17828,9.895,17829,5.884,17830,8.454,17831,5.884,17832,8.454,17833,5.884,17834,8.454,17835,5.884,17836,5.884,17837,8.454,17838,5.884,17839,8.454,17840,5.884,17841,5.884,17842,5.153,17843,5.884,17844,5.884,17845,5.884,17846,5.884,17847,5.884,17848,5.884,17849,5.884,17850,5.884,17851,5.884,17852,8.454,17853,5.884,17854,5.884,17855,5.884,17856,5.884,17857,5.884]],["title/classes/ProvisioningStrategy.html",[0,0.232,13161,4.337]],["body/classes/ProvisioningStrategy.html",[0,0.311,2,1.014,3,0.02,4,0.02,5,0.01,7,0.132,8,1.381,9,6.72,27,0.51,29,0.9,30,0.001,31,0.648,32,0.147,33,0.546,35,1.505,36,2.775,95,0.136,100,3.119,101,0.014,103,0.001,104,0.001,284,2.772,2220,5.264,11602,10.168,12548,7.108,13161,7.196,13163,8.146,13164,6.125,13165,6.125,13938,8.703,13940,9.221,13941,9.085,13945,9.221,13946,9.659,13950,7.012,17858,9.176,17859,9.176,17860,9.176,17861,9.176]],["title/classes/ProvisioningSystemDto.html",[0,0.232,16698,5.389]],["body/classes/ProvisioningSystemDto.html",[0,0.311,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,26,2.524,27,0.534,29,0.727,30,0.001,31,0.524,32,0.168,33,0.594,47,0.801,48,5.938,95,0.136,99,1.492,101,0.014,103,0.001,104,0.001,112,0.873,181,3.086,193,6.709,194,7.22,379,1.161,381,3.117,13161,7.833,13162,8.697,13163,8.154,13164,6.139,13165,6.139,13258,7.027,13259,7.22,13260,7.027,13261,7.22,16698,10.462,17862,13.326,17863,9.197,17864,11.406,17865,9.197,17866,9.197]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.232,17842,6.012]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.32,2,1.044,3,0.021,4,0.021,5,0.011,7,0.136,8,1.407,27,0.389,29,0.747,30,0.001,31,0.538,32,0.122,33,0.453,35,1.149,48,4.527,95,0.149,100,3.944,101,0.015,103,0.001,104,0.001,236,1.54,349,0.978,413,3.791,556,2.324,3134,5.343,6659,7.931,11880,8.736,13161,5.973,13162,6.631,13163,6.218,13164,6.31,13165,6.31,16698,9.108,17210,7.223,17842,10.16,17867,11.601,17868,9.453,17869,11.601,17870,11.601,17871,9.453,17872,9.453,17873,9.453,17874,9.453]],["title/classes/Pseudonym.html",[0,0.232,9460,3.975]],["body/classes/Pseudonym.html",[0,0.283,2,0.922,3,0.018,4,0.018,5,0.009,7,0.12,8,1.301,26,2.636,27,0.555,30,0.001,32,0.108,35,1.014,39,3.42,47,0.753,83,3.639,95,0.128,101,0.017,103,0.001,104,0.001,105,0.854,112,0.821,133,2.893,180,2.067,349,1.339,376,5.209,377,5.426,381,3.636,382,3.205,448,4.353,479,3.954,662,3.333,686,4.915,1661,6.045,1665,5.388,1668,7.49,1778,3.279,2501,4.021,2795,5.414,2813,5.414,2816,6.758,2818,6.758,2821,5.967,2822,5.967,7656,6.758,9314,6.872,9460,7.672,17875,7.723,17876,7.723,17877,8.348,17878,8.348,17879,8.348,17880,8.348,17881,8.348,17882,8.348,17883,7.311,17884,7.723,17885,7.723,17886,6.758]],["title/modules/PseudonymApiModule.html",[201,1.848,17887,5.557]],["body/modules/PseudonymApiModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.16,101,0.014,103,0.001,104,0.001,201,3.285,203,3.225,204,3.459,205,3.557,206,3.542,207,3.528,208,4.512,209,3.368,218,4.47,219,3.486,220,3.406,222,5.539,223,4.644,225,4.434,226,1.297,654,2.666,1752,7.651,1963,5.001,2531,4.11,2764,4.202,4672,10.038,5434,8.613,17887,11.49,17888,8.876,17889,8.876,17890,8.876,17891,11.293,17892,8.876,17893,10.685,17894,8.876,17895,8.876]],["title/controllers/PseudonymController.html",[259,2.624,17893,6.012]],["body/controllers/PseudonymController.html",[0,0.27,3,0.018,4,0.018,5,0.009,7,0.114,8,1.263,27,0.328,29,0.63,30,0.001,31,0.454,32,0.15,33,0.382,35,1.409,36,2.231,95,0.161,99,1.293,100,2.71,101,0.012,103,0.001,104,0.001,138,1.426,150,1.791,153,1.827,177,1.485,223,3.318,226,1.165,239,2.44,259,3.047,261,3.818,262,2.56,270,6.031,271,4.304,292,5.274,294,6.419,333,4.432,335,6.28,337,4.15,338,4.242,343,4.275,345,2.541,346,4.757,349,0.824,437,1.373,608,1.847,1306,6.422,2548,3.506,2764,3.774,2963,4.18,7292,6.664,9460,7.719,9466,5.321,14787,8.43,14790,7.596,17876,10.729,17891,9.73,17893,9.12,17896,7.971,17897,7.971,17898,10.769,17899,7.971,17900,7.971,17901,7.971,17902,7.766,17903,6.981,17904,7.971,17905,10.703,17906,7.971,17907,7.971,17908,7.971,17909,7.971,17910,7.971,17911,7.971,17912,7.971]],["title/entities/PseudonymEntity.html",[154,1.389,17913,5.759]],["body/entities/PseudonymEntity.html",[0,0.285,3,0.019,4,0.019,5,0.009,7,0.121,26,2.199,27,0.491,30,0.001,32,0.154,34,1.41,39,3.549,47,0.836,49,5.125,95,0.15,96,2.886,97,3.511,99,1.368,101,0.017,103,0.001,104,0.001,105,0.863,112,0.912,138,2.132,154,2.185,155,2.754,168,6.835,172,4.15,173,2.453,174,4.129,178,3.352,180,1.47,181,2.282,182,2.681,191,4.595,192,5.397,404,3.394,405,5.792,593,3.142,4333,5.033,9314,7.132,9460,7.275,9461,7.387,9466,5.63,9467,6.828,9468,7.076,9469,6.152,9470,6.622,17913,9.061,17914,7.803,17915,8.434,17916,8.434,17917,8.434,17918,9.061]],["title/interfaces/PseudonymEntityProps.html",[105,0.702,17918,5.759]],["body/interfaces/PseudonymEntityProps.html",[0,0.285,3,0.019,4,0.019,5,0.009,7,0.121,26,2.558,30,0.001,32,0.163,33,0.518,34,2.1,39,3.631,47,0.882,49,5.241,95,0.15,96,2.886,97,3.511,99,1.368,101,0.017,103,0.001,104,0.001,105,0.863,107,1.981,112,0.912,154,2.185,168,6.835,172,3.924,173,2.453,174,4.129,178,3.352,180,1.47,181,2.282,182,2.681,191,4.595,192,5.397,404,3.394,405,5.792,593,3.142,4333,5.033,9314,7.296,9460,7.52,9466,5.63,9467,6.828,9468,7.076,9469,6.152,9470,6.622,17913,7.076,17914,7.803,17918,9.996]],["title/classes/PseudonymMapper.html",[0,0.232,17903,6.012]],["body/classes/PseudonymMapper.html",[0,0.327,2,1.067,3,0.021,4,0.021,5,0.011,7,0.139,8,1.425,27,0.398,29,0.763,30,0.001,31,0.55,32,0.125,33,0.463,34,1.614,35,1.173,39,2.639,95,0.14,99,1.567,101,0.015,103,0.001,104,0.001,236,1.573,349,0.998,413,3.826,437,1.273,783,6.563,790,4.858,824,4.169,9314,5.303,9460,7.825,17903,10.292,17905,11.336,17919,9.655,17920,11.752,17921,9.655,17922,9.655,17923,9.655,17924,9.655]],["title/modules/PseudonymModule.html",[201,1.848,4672,5.119]],["body/modules/PseudonymModule.html",[0,0.272,3,0.018,4,0.018,5,0.009,30,0.001,95,0.159,101,0.012,103,0.001,104,0.001,201,3.134,203,2.919,204,3.131,205,3.22,206,3.207,207,3.194,208,4.305,209,4.417,218,4.194,219,3.156,220,3.083,225,4.16,226,1.174,560,3.301,1341,2.577,1826,6.986,1827,7.806,1828,6.741,1922,6.504,2313,5.976,2487,4.244,3593,7.996,3603,4.042,4672,10.729,9471,11.001,10168,10.696,10188,9.648,14696,9.373,17925,8.034,17926,8.034,17927,8.034,17928,8.034,17929,11.001,17930,8.034]],["title/classes/PseudonymParams.html",[0,0.232,17898,6.012]],["body/classes/PseudonymParams.html",[0,0.406,2,1.103,3,0.022,4,0.022,5,0.011,7,0.143,27,0.411,30,0.001,32,0.129,47,0.842,95,0.143,101,0.015,103,0.001,104,0.001,112,0.918,138,1.787,142,4.674,143,2.66,144,3.251,145,3.362,148,3.094,150,2.244,245,3.076,248,4.787,4382,8.379,9460,7.445,11734,9.24,17898,10.505,17931,11.994,17932,9.987]],["title/interfaces/PseudonymProps.html",[105,0.702,17883,6.012]],["body/interfaces/PseudonymProps.html",[0,0.293,3,0.019,4,0.019,5,0.01,7,0.124,26,2.825,30,0.001,32,0.169,39,3.576,47,0.89,83,3.997,95,0.131,101,0.017,103,0.001,104,0.001,105,0.885,107,2.032,112,0.84,133,2.998,180,2.101,349,1.353,376,5.447,377,5.674,1661,6.792,1665,4.568,1778,3.397,2501,4.167,2821,6.183,2822,6.183,9314,7.187,9460,7.744,17875,8.002,17883,9.612,17884,8.002,17885,8.002,17886,7.002]],["title/classes/PseudonymResponse.html",[0,0.232,17905,5.759]],["body/classes/PseudonymResponse.html",[0,0.312,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.534,29,0.729,30,0.001,31,0.525,32,0.168,33,0.442,34,2.074,39,3.392,47,0.954,95,0.11,101,0.014,103,0.001,104,0.001,112,0.874,138,2.221,150,2.071,191,5.021,245,3.533,379,1.163,404,3.709,824,3.27,6182,9.247,6192,7.043,9314,6.816,9469,6.724,17905,11.187,17933,9.218,17934,11.422,17935,9.218,17936,9.218,17937,8.528,17938,9.218]],["title/classes/PseudonymScope.html",[0,0.232,9502,6.012]],["body/classes/PseudonymScope.html",[0,0.243,2,0.794,3,0.016,4,0.016,5,0.008,7,0.103,8,1.178,27,0.544,29,0.974,30,0.001,31,0.702,32,0.171,33,0.591,35,1.181,39,3.009,47,0.94,49,2.725,95,0.131,101,0.011,103,0.001,104,0.001,112,0.744,119,2.275,180,1.694,227,2.977,236,1.583,310,3.115,349,1.139,382,3.682,480,1.998,486,2.164,519,2.212,524,4.083,556,3.292,564,2.244,603,2.614,725,5.357,2350,6.503,2548,2.419,5558,5.455,6242,6.486,6243,6.486,6244,6.486,6249,6.486,6250,6.486,6251,4.87,6252,4.795,6253,4.87,6254,4.87,6263,4.795,6264,6.486,6265,4.87,6266,4.795,6267,4.87,6268,4.795,6269,7.35,9314,6.047,9457,5.134,9460,6.377,9502,8.51,9505,6.291,17939,7.183,17940,9.716,17941,8.989,17942,9.716,17943,9.716,17944,7.183,17945,8.989,17946,7.183,17947,9.716,17948,7.183,17949,7.183]],["title/interfaces/PseudonymSearchQuery.html",[105,0.702,9493,5.759]],["body/interfaces/PseudonymSearchQuery.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.166,33,0.664,39,3.644,47,0.998,101,0.015,103,0.001,104,0.001,105,1.022,107,2.346,112,0.918,813,7.006,9314,7.323,9460,7.722,9493,10.063,9812,8.747,17950,9.987]],["title/injectables/PseudonymService.html",[539,0.921,10188,4.731]],["body/injectables/PseudonymService.html",[0,0.138,3,0.009,4,0.009,5,0.005,7,0.059,8,0.778,11,5.386,13,4.683,27,0.513,29,0.984,30,0.001,31,0.709,32,0.161,33,0.597,34,1.634,35,1.491,36,2.905,37,5.386,39,3.162,42,4.683,47,0.956,49,1.549,83,1.867,95,0.134,96,1.091,97,1.7,99,0.662,101,0.006,103,0,104,0,177,1.196,226,0.597,236,1.832,239,1.504,262,3.043,310,1.77,349,1.287,376,1.7,377,1.77,379,0.81,437,1.592,490,3.201,528,4.073,529,2.567,539,0.862,541,0.981,556,1.578,570,2.518,593,2.391,603,2.668,604,1.678,608,2.406,662,3.812,739,3.881,822,3.111,933,3.555,936,5.755,1226,1.967,1778,1.604,1901,2.028,2079,1.805,2080,2.015,2081,1.944,2487,2.157,2548,3.987,2627,5.997,3940,2.3,4188,2.548,4502,8.32,7150,5.484,7322,5.779,7431,8.306,7521,2.548,9077,8.203,9314,2.242,9460,7.107,9466,6.003,9471,9.935,9475,5.622,9478,5.939,9479,5.386,9485,5.622,9492,5.939,9493,7.545,9495,4.905,10188,4.425,10451,2.864,13481,5.939,13648,5.939,16292,5.939,17929,9.11,17951,4.083,17952,6.42,17953,6.42,17954,6.42,17955,6.42,17956,6.42,17957,6.42,17958,6.42,17959,4.083,17960,4.083,17961,6.42,17962,4.083,17963,6.42,17964,4.083,17965,4.083,17966,4.083,17967,4.083,17968,6.42,17969,4.083,17970,6.42,17971,4.083,17972,4.083,17973,4.083,17974,6.42,17975,4.083,17976,6.42,17977,4.083,17978,6.42,17979,4.083,17980,10.38,17981,4.083,17982,8.993,17983,4.083,17984,4.083,17985,6.42,17986,2.918,17987,4.083,17988,4.083,17989,4.083,17990,6.42,17991,6.42,17992,4.083,17993,4.083,17994,4.083,17995,8.993,17996,4.083,17997,4.083,17998,4.083,17999,4.083,18000,4.083,18001,4.083,18002,4.083]],["title/injectables/PseudonymUc.html",[539,0.921,17891,5.759]],["body/injectables/PseudonymUc.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.112,8,1.247,26,2.485,27,0.423,29,0.813,30,0.001,31,0.585,32,0.133,33,0.493,35,0.95,36,2.202,39,2.137,47,0.857,95,0.155,99,1.268,101,0.012,103,0.001,104,0.001,177,2.14,226,1.142,236,1.274,239,2.86,262,2.536,349,0.808,379,1.298,437,1.671,529,2.232,539,1.38,541,1.878,560,3.212,593,3.83,603,2.364,608,2.828,654,2.348,1675,4.767,1758,7.06,1855,4.767,1959,7.71,1961,7.556,1963,4.405,1964,5.792,2531,3.62,2535,5.484,4539,5.3,4540,5.484,4541,4.665,9460,7.683,9479,8.626,10188,8.97,10260,6.138,10261,6.138,17891,8.626,18003,7.818,18004,7.818,18005,7.818,18006,10.281,18007,7.818,18008,11.488,18009,7.818,18010,7.818,18011,7.818,18012,7.818,18013,10.281,18014,7.818,18015,6.559]],["title/injectables/PseudonymsRepo.html",[539,0.921,17929,5.759]],["body/injectables/PseudonymsRepo.html",[0,0.185,3,0.012,4,0.012,5,0.006,7,0.079,8,0.973,13,5.851,26,2.799,27,0.507,29,0.974,30,0.001,31,0.702,32,0.16,33,0.591,34,1.341,35,1.46,36,2.835,39,3.494,42,5.851,49,2.076,95,0.124,96,1.463,97,2.278,99,0.888,101,0.008,103,0,104,0,154,2.494,155,1.787,177,1.02,226,0.8,236,2.082,262,2.969,345,1.745,349,1.275,376,2.278,377,2.373,379,0.691,437,1.685,448,4.719,539,1.077,541,1.315,556,1.345,593,2.988,608,2.423,725,7.797,1665,4.633,2311,5.943,2335,3.71,2359,3.992,2364,3.772,2378,4.591,2830,4.786,3341,3.71,3346,4.786,3407,4.182,4446,3.415,4460,4.296,4461,4.296,9314,7.02,9460,7.839,9466,5.354,9474,7.42,9475,7.025,9476,7.42,9477,7.42,9480,7.025,9481,7.42,9483,7.42,9485,7.025,9488,7.42,9490,7.42,9497,7.42,9499,7.42,9505,7.025,9506,9.672,9509,4.793,9510,5.063,9512,5.063,9514,4.793,9515,5.063,9516,7.025,9519,5.063,9520,5.063,9521,5.063,9522,5.063,9523,5.063,9524,5.063,17913,10.55,17918,8.772,17929,6.729,18016,5.473,18017,5.473,18018,5.473,18019,5.473,18020,5.473,18021,5.473,18022,5.473,18023,5.473,18024,5.473,18025,5.473,18026,5.473,18027,5.473,18028,5.473,18029,5.473,18030,5.473,18031,5.473]],["title/classes/PublicSystemListResponse.html",[0,0.232,18032,5.759]],["body/classes/PublicSystemListResponse.html",[0,0.323,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,27,0.48,29,0.754,30,0.001,31,0.543,32,0.163,33,0.458,95,0.139,101,0.015,103,0.001,104,0.001,112,0.893,138,1.707,150,2.144,245,2.992,284,3.807,379,1.204,556,2.346,662,2.964,814,6.693,819,4.801,824,3.385,834,5.198,3134,6.047,5988,9.16,18032,9.789,18033,11.659,18034,11.667,18035,11.232,18036,10.794]],["title/classes/PublicSystemResponse.html",[0,0.232,18035,5.557]],["body/classes/PublicSystemResponse.html",[0,0.236,2,0.77,3,0.015,4,0.015,5,0.008,7,0.1,27,0.518,29,0.551,30,0.001,31,0.617,32,0.176,33,0.618,34,2.039,47,0.921,95,0.113,101,0.011,103,0.001,104,0.001,112,0.729,138,2.183,141,4.458,142,5.245,143,2.985,144,4.381,145,3.773,150,1.567,153,2.796,245,3.229,379,0.88,404,2.806,821,5.649,1971,5.425,2566,3.114,2585,5.646,3134,6.449,5554,6.624,5953,5.567,5973,4.463,10174,6.807,10926,5.413,11316,7.102,12263,7.033,12661,5.201,13158,8.143,13250,5.329,13252,5.329,14628,4.985,16665,10.235,18033,11.924,18035,9.876,18037,4.985,18038,8.81,18039,9.523,18040,6.974,18041,6.974,18042,6.974,18043,6.974,18044,6.452,18045,5.851,18046,5.646,18047,5.851]],["title/modules/RabbitMQWrapperModule.html",[201,1.848,11206,4.815]],["body/modules/RabbitMQWrapperModule.html",[0,0.347,3,0.017,4,0.017,5,0.009,30,0.001,31,0.694,32,0.158,47,0.805,95,0.145,101,0.018,103,0.001,104,0.001,142,3.035,177,1.451,201,3.281,203,3.726,209,3.891,225,4.558,226,1.138,236,1.269,262,1.72,345,2.483,437,1.027,463,4.145,608,1.805,685,3.256,766,5.728,933,4.313,970,5.368,1007,5.463,1147,2.365,1185,4.86,1211,8.551,1224,5.463,1225,5.051,2079,3.443,2080,3.844,2081,3.708,2082,4.984,2395,4.6,2417,4.803,2425,4.984,2431,5.368,3610,5.808,4603,5.681,4745,5.051,5160,6.745,6132,4.51,6403,5.199,6688,8.882,7010,5.681,11134,7.648,11206,7.194,11227,6.821,11274,5.681,13897,6.305,14230,10.672,15889,10.042,17597,8.604,18048,7.205,18049,10.608,18050,11.714,18051,7.205,18052,7.205,18053,6.821,18054,7.205,18055,7.205,18056,6.534,18057,7.205,18058,7.205,18059,7.205,18060,7.205,18061,7.205,18062,6.821,18063,7.205,18064,6.534,18065,7.205,18066,6.821,18067,6.821,18068,7.205,18069,7.205,18070,7.205]],["title/modules/RabbitMQWrapperTestModule.html",[201,1.848,11274,5.007]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.344,3,0.017,4,0.017,5,0.009,8,0.93,27,0.316,30,0.001,31,0.689,32,0.157,35,0.932,47,0.799,95,0.144,101,0.018,103,0.001,104,0.001,142,2.989,177,1.429,201,3.261,203,3.689,209,3.852,225,4.524,226,1.121,236,1.249,262,2.242,345,2.446,437,1.011,463,4.082,608,1.778,685,3.207,766,5.671,933,4.248,970,5.287,1007,5.381,1147,2.33,1185,4.787,1211,8.487,1224,5.381,1225,4.975,2079,3.391,2080,3.786,2081,3.652,2082,4.909,2395,4.53,2417,4.731,2425,4.909,2431,5.287,3610,5.721,4603,5.596,4745,4.975,5160,6.678,6132,4.442,6403,5.12,6688,8.838,7010,5.596,11134,7.572,11206,5.381,11227,6.718,11274,7.406,13897,6.21,14230,10.609,15889,11.035,17597,8.518,18048,7.096,18049,10.529,18050,11.656,18051,7.096,18052,7.096,18053,6.718,18054,7.096,18055,7.096,18056,6.436,18057,7.096,18058,7.096,18059,7.096,18060,7.096,18061,7.096,18062,6.718,18063,7.096,18064,6.436,18065,7.096,18066,6.718,18067,6.718,18068,7.096,18069,7.096,18070,7.096,18071,7.671]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.232,18072,6.35]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.288,2,0.941,3,0.019,4,0.019,5,0.015,7,0.122,27,0.448,29,0.674,30,0.001,31,0.485,32,0.163,33,0.574,95,0.143,101,0.013,103,0.001,104,0.001,112,0.832,180,1.895,181,2.942,182,2.709,349,0.881,379,1.076,381,2.888,437,1.433,447,4.606,521,3.374,526,4.984,996,4.106,997,3.968,998,4.058,999,4.288,1000,4.681,1147,3.302,1215,7.435,1217,7.105,1994,5.978,9325,7.884,9368,7.884,10664,6.691,13905,7.884,18072,10.058,18073,11.972,18074,8.522,18075,11.972,18076,13.027,18077,12.61,18078,10.872,18079,12.61,18080,8.522,18081,8.522,18082,8.522,18083,8.522,18084,8.522]],["title/classes/RecursiveCopyVisitor.html",[0,0.232,3325,6.012]],["body/classes/RecursiveCopyVisitor.html",[0,0.114,2,0.373,3,0.007,4,0.007,5,0.006,7,0.048,8,0.669,26,0.688,27,0.509,29,0.952,30,0.001,31,0.686,32,0.17,33,0.578,34,1.754,35,1.442,36,2.743,49,1.282,83,3.592,95,0.114,99,0.548,101,0.005,103,0,104,0,112,0.422,131,1.282,177,0.629,236,2.237,262,2.973,345,1.077,347,4.029,349,1.123,376,4.368,377,4.55,379,0.426,437,1.609,480,1.534,486,1.661,521,1.337,524,1.92,529,0.964,556,1.356,608,2.21,654,1.015,739,3.016,849,4.922,993,1.886,1147,1.675,1218,1.277,1262,1.178,1271,2.769,1455,2.652,1925,5.304,2340,2.037,2480,8.208,2512,5.769,2525,4.764,2528,2.414,2647,4.467,2653,6.332,2692,4.695,2794,7.232,2801,4.047,2854,5.052,2861,5.846,2864,5.482,2867,5.846,2870,5.42,2873,5.615,2880,2.464,2882,1.608,2895,4.627,2896,4.627,2897,4.627,2898,4.627,2899,4.627,2900,4.627,2901,4.627,2902,4.627,2903,4.627,3025,3.576,3041,2.652,3042,2.519,3043,2.06,3044,1.903,3057,8.238,3065,2.834,3081,2.414,3145,9.537,3275,2.161,3278,2.016,3280,2.016,3283,1.995,3286,1.758,3289,1.746,3294,1.903,3325,4.83,3328,6.332,3329,2.834,3330,8.337,3331,4.83,4188,6.548,5770,2.834,5933,1.564,6438,1.855,6570,4.83,6580,3.125,6581,8.523,6582,2.734,6583,2.958,6616,2.834,8898,2.083,18085,12.482,18086,3.378,18087,6.988,18088,6.988,18089,5.514,18090,5.514,18091,5.514,18092,3.378,18093,5.514,18094,3.378,18095,5.514,18096,3.378,18097,5.514,18098,3.378,18099,5.514,18100,3.378,18101,5.514,18102,3.378,18103,5.514,18104,3.378,18105,5.514,18106,3.378,18107,5.514,18108,3.378,18109,5.514,18110,3.378,18111,5.514,18112,3.378,18113,5.514,18114,3.378,18115,5.514,18116,3.378,18117,5.514,18118,3.378,18119,5.514,18120,3.378,18121,3.378,18122,3.378,18123,3.378,18124,8.066,18125,8.066,18126,3.378,18127,6.988,18128,10.856,18129,3.378,18130,8.066,18131,10.493,18132,3.378,18133,3.378,18134,3.378,18135,3.378,18136,3.378,18137,3.378,18138,3.378,18139,3.125,18140,3.378,18141,3.125,18142,3.378,18143,3.378,18144,3.378,18145,3.378,18146,3.378,18147,3.378,18148,3.378,18149,3.378,18150,3.378,18151,3.378,18152,3.378,18153,3.378,18154,3.378,18155,3.378,18156,3.378,18157,3.378,18158,3.378,18159,3.378,18160,3.125,18161,5.514,18162,5.514,18163,5.514,18164,3.378,18165,3.378,18166,5.102,18167,5.514,18168,3.378,18169,3.378]],["title/injectables/RecursiveDeleteVisitor.html",[539,0.921,3344,5.759]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.933,27,0.534,29,1.024,30,0.001,31,0.738,32,0.168,33,0.621,35,1.555,36,2.936,95,0.141,96,1.383,97,2.153,99,0.839,101,0.008,103,0,104,0,177,1.712,226,0.756,262,3.117,379,0.971,437,0.682,519,2.37,539,1.033,541,1.243,564,2.404,603,1.89,608,3.035,1147,1.571,1231,3.268,1665,3.203,1899,3.978,1901,2.57,1925,6.489,2311,5.783,2359,3.774,2512,5.653,2525,6.009,2692,5.744,2801,4.456,2806,3.268,2854,6.182,2861,7.152,2864,6.707,2867,7.152,2870,6.631,2873,6.87,2880,3.774,2883,2.298,2886,6.456,2887,6.456,2888,6.456,2889,6.456,2890,6.456,2891,6.456,2892,6.456,2894,6.456,2895,6.456,2896,6.456,2897,6.456,2898,6.456,2899,6.456,2900,6.456,2901,6.456,2902,6.456,2903,6.456,3171,2.733,3341,3.507,3344,6.456,3346,4.592,3600,2.57,3601,2.082,3602,4.99,5767,7.119,5770,4.34,5814,6.739,6069,7.655,6324,3.191,6336,4.061,6547,8.437,18160,4.786,18170,12.115,18171,5.173,18172,7.695,18173,7.695,18174,5.173,18175,7.695,18176,5.173,18177,5.173,18178,7.695,18179,5.173,18180,5.173,18181,5.173,18182,5.173,18183,5.173,18184,5.173,18185,5.173,18186,5.173,18187,5.173,18188,5.173,18189,5.173,18190,5.173,18191,5.173,18192,5.173,18193,5.173,18194,5.173,18195,5.173,18196,5.173,18197,5.173,18198,5.173,18199,5.173,18200,5.173,18201,5.173,18202,5.173,18203,5.173,18204,5.173,18205,5.173,18206,5.173,18207,5.173,18208,5.173,18209,5.173,18210,5.173]],["title/classes/RecursiveSaveVisitor.html",[0,0.232,3372,6.012]],["body/classes/RecursiveSaveVisitor.html",[0,0.121,2,0.395,3,0.008,4,0.008,5,0.004,7,0.051,8,0.7,18,2.888,26,0.728,27,0.515,29,0.978,30,0.001,31,0.704,32,0.164,33,0.593,34,1.851,35,1.485,36,1.238,39,0.978,55,0.73,59,1.102,95,0.123,96,1.544,97,1.489,99,0.58,101,0.006,103,0,104,0,112,0.442,131,1.357,173,1.04,177,1.076,236,1.931,262,1.604,345,1.14,379,0.451,437,1.728,480,0.995,486,1.077,519,4.08,529,1.021,556,1.42,564,1.117,603,2.514,608,0.829,708,1.433,1147,1.754,1262,1.248,1271,2.599,1665,1.489,1726,1.529,1728,2.352,1899,1.849,1925,5.844,1942,1.495,1944,1.509,2311,4.742,2323,2.32,2425,2.289,2512,6.374,2525,5.784,2543,3.132,2647,4.62,2692,5.173,2797,4.292,2804,6.503,2806,6.51,2830,3.447,2835,3.132,2839,3.132,2844,5.344,2845,5.344,2846,5.344,2847,5.344,2848,5.344,2849,5.344,2850,5.344,2851,5.344,2852,5.344,2853,5.059,2854,5.567,2856,5.059,2858,5.059,2860,5.059,2861,6.022,2863,5.059,2864,6.04,2866,5.059,2867,6.022,2869,5.059,2870,5.971,2872,5.059,2873,6.187,2875,5.059,2880,2.609,2882,1.703,3171,7.188,3195,4.535,3198,4.677,3201,4.414,3204,5.705,3207,4.535,3210,4.535,3213,4.535,3216,4.535,3219,4.535,3221,3.309,3263,3.309,3275,2.289,3278,2.134,3280,2.134,3283,2.112,3286,1.862,3289,1.849,3291,2.181,3341,2.425,3342,8.342,3346,3.447,3365,5.059,3366,6.175,3368,2.896,3370,3.309,3372,5.059,3602,2.32,3654,3.309,4150,3.132,4151,3.132,4152,3.001,4187,3.309,5048,3.309,5049,3.132,5160,2.352,5770,3.001,5779,3.309,5782,3.309,5785,3.309,5787,3.309,5800,3.309,5802,3.309,5805,3.309,5808,3.309,5814,5.059,5816,3.309,6024,2.609,6038,2.32,9514,3.132,18170,11.689,18211,3.577,18212,7.267,18213,5.777,18214,5.777,18215,5.777,18216,5.777,18217,5.777,18218,5.777,18219,3.577,18220,5.777,18221,11.374,18222,3.577,18223,3.577,18224,5.777,18225,3.577,18226,3.577,18227,5.777,18228,3.577,18229,3.577,18230,3.577,18231,3.577,18232,3.577,18233,3.577,18234,3.577,18235,3.577,18236,3.577,18237,3.577,18238,11.63,18239,3.577,18240,3.577,18241,5.777,18242,5.777,18243,5.777,18244,3.577,18245,3.577,18246,3.577,18247,11.076,18248,11.076,18249,3.577,18250,10.305,18251,3.577,18252,3.577,18253,3.577,18254,3.577,18255,3.577,18256,3.577,18257,7.267,18258,3.577,18259,3.577,18260,3.577,18261,3.577,18262,3.577,18263,3.577,18264,3.309,18265,3.309,18266,3.577,18267,3.577,18268,3.577,18269,3.577,18270,3.577,18271,3.577,18272,3.577,18273,3.577,18274,3.577,18275,3.577]],["title/classes/RedirectResponse.html",[0,0.232,16836,5.389]],["body/classes/RedirectResponse.html",[0,0.32,2,1.044,3,0.021,4,0.021,5,0.011,7,0.136,27,0.478,29,0.747,30,0.001,31,0.538,32,0.15,33,0.453,47,0.814,95,0.113,101,0.015,103,0.001,104,0.001,112,0.888,135,7.01,138,1.691,150,2.124,153,2.167,239,2.719,245,2.975,379,1.193,821,4.377,1262,4.047,1794,7.424,2119,7.524,3291,7.074,7082,7.24,16836,10.545,17803,11.611,18276,9.453,18277,11.601,18278,9.453,18279,9.453,18280,11.601,18281,9.733,18282,9.453,18283,9.453,18284,9.453]],["title/modules/RedisModule.html",[201,1.848,18285,5.557]],["body/modules/RedisModule.html",[0,0.292,3,0.019,4,0.019,5,0.01,30,0.001,47,0.77,95,0.156,101,0.013,103,0.001,104,0.001,201,3.243,203,3.136,204,3.363,205,3.459,206,3.445,207,3.431,208,4.053,209,4.159,214,6.222,218,4.392,219,3.39,220,3.312,225,4.356,226,1.261,349,1.133,437,1.445,556,2.122,636,5.047,637,6.169,639,4.063,990,2.953,1262,3.011,1341,2.768,2079,3.816,2080,4.26,2081,4.11,2312,3.577,2313,5.488,3601,4.41,3940,4.863,3943,7.985,3954,6.776,3955,9.195,3959,10.139,3960,7.985,3962,7.559,3963,7.985,3964,7.559,3965,7.559,3966,7.985,8188,9.599,18285,10.819,18286,8.631,18287,8.631,18288,8.631,18289,10.548,18290,8.631,18291,8.631]],["title/injectables/ReferenceLoader.html",[539,0.921,1806,5.557]],["body/injectables/ReferenceLoader.html",[0,0.19,3,0.012,4,0.012,5,0.006,7,0.08,8,0.989,26,2.152,27,0.435,29,0.761,30,0.001,31,0.548,32,0.157,33,0.461,35,0.991,36,1.748,49,3.651,95,0.144,99,0.909,101,0.009,103,0,104,0,105,0.573,112,0.624,119,1.157,133,3.894,143,1.809,177,2.426,217,7.3,226,0.818,227,2.321,236,1.567,262,2.124,349,0.844,379,1.029,437,1.076,480,1.558,486,1.687,529,1.599,539,1.095,541,1.346,564,1.75,603,2.811,608,1.89,1427,7.881,1661,4.596,1746,4.77,1747,3.342,1803,9.739,1804,7.564,1805,8.159,1806,6.604,1807,9.251,1808,9.479,1809,8.702,1810,8.55,1830,4.085,1846,8.491,2487,7.13,2518,7.744,2647,5.854,3255,3.538,3602,3.632,4741,5.445,5444,8.073,5979,10.043,6324,3.454,12951,9.258,12952,5.181,12953,7.547,12954,7.79,12955,8.901,12956,5.181,12957,5.181,12958,5.181,12959,5.181,12960,5.181,12961,5.181,12962,5.181,12963,5.181,12964,5.181,12965,5.181,12966,5.181,12967,5.181,12968,5.181,12969,5.181,12970,5.181,12971,5.181,12972,5.181,12973,5.181,12974,5.181,12975,5.181,12976,5.181,12977,5.181,12978,7.547,12979,5.181,12980,5.181,12981,8.901,12982,7.547,12983,5.181,12984,5.181,12985,5.181,12986,7.547,18292,8.158,18293,4.905,18294,8.158,18295,5.601,18296,5.601,18297,5.601]],["title/interfaces/RejectRequestBody.html",[105,0.702,16821,5.557]],["body/interfaces/RejectRequestBody.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,33,0.68,47,1.005,55,2.564,101,0.015,103,0.001,104,0.001,105,0.97,107,2.226,108,6.647,111,7.671,112,0.889,990,4.481,1783,10.283,5545,10.989,5546,10.989,5547,10.283,16821,9.405,18298,9.475]],["title/classes/RenameBodyParams.html",[0,0.232,2957,5.557]],["body/classes/RenameBodyParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,47,0.837,95,0.152,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,3.854,143,2.644,144,3.882,145,2.773,148,3.063,150,2.222,245,3.058,247,4.249,248,4.759,1271,3.988,2957,9.653,7299,8.084,18299,9.89,18300,9.89,18301,9.89,18302,9.89]],["title/classes/RenameFileParams.html",[0,0.232,6487,4.731]],["body/classes/RenameFileParams.html",[0,0.459,2,0.732,3,0.015,4,0.02,5,0.01,7,0.095,26,2.523,27,0.273,30,0.001,32,0.155,39,1.81,47,0.96,95,0.151,99,1.074,101,0.021,103,0,104,0,105,0.678,112,0.703,119,1.899,138,1.185,143,1.468,147,4.966,148,2.051,149,4.391,150,1.488,151,6.134,153,1.518,154,1.34,245,3.597,247,2.845,248,4.946,249,4.46,348,3.332,808,4.907,809,6.261,839,3.278,852,3.083,988,2.885,990,2.265,1079,3.911,1147,2.011,1203,5.881,1204,4.355,1205,4.355,1262,2.31,2739,4.785,2922,5.054,3632,3.05,4266,2.237,5826,7.474,5827,5.556,5933,3.066,6088,6.747,6419,4.302,6432,6.044,6438,6.261,6467,4.564,6468,4.645,6469,4.645,6472,7.994,6475,4.564,6476,8.273,6477,7.997,6478,7.997,6479,4.645,6480,4.564,6481,4.564,6482,4.645,6483,4.489,6484,6.23,6485,4.42,6486,4.489,6487,6.334,6488,4.489,6489,4.489,6490,4.237,6491,4.645,6492,4.645,6493,4.645,6494,4.237,6495,4.237,6496,4.355,6497,4.42,6498,4.645,18303,6.622]],["title/classes/RequestInfo.html",[0,0.232,18304,6.012]],["body/classes/RequestInfo.html",[0,0.315,2,0.744,3,0.015,4,0.015,5,0.008,7,0.097,8,1.127,27,0.513,29,0.735,30,0.001,31,0.606,32,0.161,33,0.446,35,0.818,47,0.913,55,1.896,95,0.127,101,0.017,103,0,104,0,112,0.711,120,2.852,133,2.333,141,5.832,236,1.734,349,0.961,360,4.707,379,0.85,437,1.683,480,1.873,486,2.027,556,1.655,591,6.787,593,2.508,603,2.19,824,4.419,991,4.564,1011,5.285,1218,2.545,1288,3.667,1568,4.308,1636,4.812,1643,6.713,2195,6.052,2567,6.644,3601,3.74,3990,5.144,5547,7.297,5564,5.02,5574,5.144,6863,6.904,6865,4.017,10886,6.78,17754,5.895,18304,8.14,18305,6.227,18306,9.849,18307,9.849,18308,9.295,18309,8.599,18310,6.731,18311,6.731,18312,6.731,18313,6.731,18314,6.731,18315,8.599,18316,6.731,18317,11.145,18318,5.895,18319,6.227,18320,8.599,18321,5.647,18322,5.895,18323,8.599,18324,8.599,18325,6.227,18326,8.599,18327,6.227,18328,5.895,18329,6.227,18330,6.227,18331,8.599,18332,8.599,18333,8.599,18334,8.599,18335,6.227,18336,6.227,18337,6.227,18338,6.227,18339,6.227,18340,6.227,18341,6.227,18342,6.227,18343,6.227,18344,6.227,18345,6.227,18346,6.227,18347,6.227,18348,6.227,18349,6.227,18350,6.227,18351,6.227,18352,6.227]],["title/injectables/RequestLoggingInterceptor.html",[539,0.921,18353,6.35]],["body/injectables/RequestLoggingInterceptor.html",[0,0.27,3,0.018,4,0.018,5,0.009,7,0.114,8,1.263,27,0.429,29,0.823,30,0.001,31,0.593,32,0.135,33,0.499,35,0.968,39,2.179,95,0.156,101,0.012,103,0.001,104,0.001,131,3.025,141,5.429,226,1.165,270,5.108,271,2.959,294,4.011,310,3.457,345,2.541,349,1.077,379,1.006,437,1.529,521,4.591,539,1.398,541,1.915,556,1.96,591,4.491,966,5.243,967,6.258,968,6.091,990,2.727,1147,2.421,1218,3.013,1243,6.951,1262,2.781,1341,2.557,2244,8.861,2312,4.316,2313,5.604,3002,5.404,3779,4.708,6686,5.945,6865,4.757,8684,7.375,8686,9.12,8688,9.12,8689,10.769,8690,10.769,8692,9.12,8693,9.633,10886,5.815,12918,9.12,18322,6.981,18353,9.633,18354,11.597,18355,7.971,18356,7.971,18357,9.633,18358,7.971,18359,7.971,18360,7.971,18361,7.971,18362,7.971,18363,7.971,18364,7.971,18365,7.375,18366,10.413,18367,7.375,18368,7.971]],["title/classes/ResolvedGroupDto.html",[0,0.232,11642,5.557]],["body/classes/ResolvedGroupDto.html",[0,0.281,2,0.918,3,0.018,4,0.018,5,0.009,7,0.119,27,0.554,29,0.657,30,0.001,31,0.711,32,0.18,33,0.62,34,1.978,47,0.929,95,0.141,99,1.349,101,0.013,103,0.001,104,0.001,112,0.819,239,1.948,379,1.049,404,3.345,975,5.217,1058,6.352,1778,3.265,2044,3.227,2566,3.712,3030,6.975,3122,5.107,8958,7.691,8964,9.042,8971,6.527,8995,8.972,11589,9.042,11642,10.466,11728,6.975,11772,9.372,11784,7.281,11785,7.281,11786,7.691,11787,7.281,11788,7.691,11789,7.691,11879,9.928,18369,12.616,18370,10.701,18371,8.313,18372,8.313,18373,8.313,18374,8.313,18375,8.313]],["title/classes/ResolvedGroupUser.html",[0,0.232,11879,5.759]],["body/classes/ResolvedGroupUser.html",[0,0.32,2,1.044,3,0.021,4,0.021,5,0.011,7,0.136,27,0.517,29,0.747,30,0.001,31,0.538,32,0.162,33,0.453,95,0.138,99,1.534,101,0.015,103,0.001,104,0.001,112,0.888,181,3.139,239,2.941,276,5.443,379,1.193,381,3.203,975,6.38,2130,6.896,4630,8.972,4637,7.223,7322,6.68,7825,6.631,11879,11.269,11905,8.746,11915,6.896,11916,7.223,18369,12.107,18376,11.601,18377,9.453]],["title/classes/ResolvedUserMapper.html",[0,0.232,18378,6.012]],["body/classes/ResolvedUserMapper.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,27,0.356,29,0.684,30,0.001,31,0.625,32,0.112,33,0.415,34,1.446,35,1.051,47,0.846,95,0.131,99,1.403,100,3.731,101,0.013,103,0.001,104,0.001,236,1.409,239,3.067,276,5.498,349,1.135,413,3.641,437,1.14,480,2.406,486,2.605,528,4.44,783,6.13,790,4.352,1723,6.422,3140,6.065,3174,5.773,3175,5.61,4661,6.183,6659,7.257,7312,7.575,7331,7.002,13706,8.002,13709,8.002,16265,8.002,17338,8.002,18378,9.612,18379,10.975,18380,9.612,18381,8.649,18382,10.638,18383,8.649,18384,8.649,18385,8.649,18386,8.649,18387,8.649,18388,8.649,18389,8.649]],["title/classes/ResolvedUserResponse.html",[0,0.232,18382,5.759]],["body/classes/ResolvedUserResponse.html",[0,0.275,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,27,0.559,30,0.001,31,0.463,32,0.178,34,2.071,47,0.984,83,3.603,95,0.097,101,0.016,103,0.001,104,0.001,112,0.807,138,2.429,150,1.827,245,3.667,276,5.077,376,4.874,377,5.077,651,5.64,652,5.64,1723,5.93,3140,5.891,4266,3.955,11918,6.582,18382,8.849,18390,13.72,18391,8.131,18392,8.131,18393,8.131,18394,8.131,18395,8.131,18396,8.131,18397,8.131,18398,8.131]],["title/classes/ResponseInfo.html",[0,0.232,18328,6.012]],["body/classes/ResponseInfo.html",[0,0.331,2,0.801,3,0.016,4,0.016,5,0.008,7,0.104,27,0.402,29,0.573,30,0.001,31,0.556,32,0.127,33,0.347,47,0.831,55,2.257,95,0.132,101,0.017,103,0.001,104,0.001,112,0.748,133,2.512,141,5.543,236,1.802,349,1.011,360,4.951,379,0.915,437,1.716,556,1.782,591,6.232,593,2.7,603,1.491,824,4.696,991,7.499,1011,5.69,1218,2.74,1288,3.948,1568,4.638,1636,5.18,1643,6.923,2195,4.12,2567,6.987,3601,3.933,3990,5.538,5547,7.674,5564,5.405,5574,5.538,6863,7.679,6865,4.324,10886,5.286,17754,6.347,18304,6.347,18305,6.704,18306,6.704,18307,6.704,18309,6.704,18315,6.704,18317,10.953,18318,6.347,18319,6.704,18320,9.043,18321,6.08,18322,6.347,18323,9.043,18324,9.043,18325,6.704,18326,9.043,18327,6.704,18328,8.561,18329,9.043,18330,6.704,18331,9.043,18332,9.043,18333,9.043,18334,9.043,18335,6.704,18336,6.704,18337,6.704,18338,6.704,18339,6.704,18340,6.704,18341,6.704,18342,6.704,18343,6.704,18344,6.704,18345,6.704,18346,6.704,18347,6.704,18348,6.704,18349,6.704,18350,6.704,18351,6.704,18352,6.704,18399,9.775]],["title/injectables/RestartUserLoginMigrationUc.html",[539,0.921,18400,5.759]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,8,1.121,27,0.436,29,0.838,30,0.001,31,0.603,32,0.137,33,0.508,35,1.123,36,2.451,39,2.526,47,0.962,95,0.155,99,1.083,101,0.01,103,0,104,0,128,5.29,131,3.507,177,2.132,236,1.505,239,2.985,262,2.743,349,0.69,379,1.166,437,1.397,529,2.638,539,1.24,541,1.604,560,2.743,593,2.487,603,2.354,608,2.784,643,2.996,654,3.184,990,2.284,1338,3.091,1341,2.141,1670,5.035,1675,4.071,1758,6.779,1855,4.071,1861,6.606,1959,7.228,1961,6.972,1963,3.761,1964,5.207,2312,5.28,2520,6.892,2531,3.091,2535,4.683,2544,4.979,4266,4.453,4565,5.16,4567,5.405,4570,5.405,4571,8.882,4578,5.994,4580,7.139,4581,4.979,4582,7.256,4583,5.101,4584,5.241,4585,5.601,4587,7.256,4589,5.601,4590,4.979,4597,5.101,4598,5.601,9345,5.241,14957,5.405,18400,7.754,18401,11.44,18402,8.094,18403,6.676,18404,6.676,18405,9.242,18406,6.676,18407,5.601,18408,6.676,18409,6.676,18410,6.176,18411,5.847]],["title/classes/RevokeConsentParams.html",[0,0.232,16881,6.012]],["body/classes/RevokeConsentParams.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.401,30,0.001,32,0.126,34,1.976,47,0.83,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,135,6.602,138,1.744,142,4.606,143,2.621,144,3.848,145,3.314,148,3.019,150,2.19,153,2.234,245,3.031,248,4.717,257,7.27,3601,5.451,5550,7.774,16881,10.352,18412,11.82,18413,9.748,18414,9.748]],["title/classes/RichText.html",[0,0.232,18415,5.557]],["body/classes/RichText.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.496,29,0.684,30,0.001,31,0.492,32,0.18,33,0.415,47,0.771,95,0.144,101,0.013,103,0.001,104,0.001,112,0.84,138,1.964,150,1.943,153,2.515,245,3.092,348,5.522,379,1.385,774,4.41,821,5.082,839,3.409,1942,5.301,2220,6.916,2255,5.112,2566,3.862,2881,9.456,2882,6.037,3286,6.813,3473,5.161,5769,8.002,13273,7.257,18415,10.594,18416,12.679,18417,8.649,18418,8.649,18419,8.649,18420,8.649,18421,8.649,18422,8.649,18423,8.649]],["title/classes/RichTextContentBody.html",[0,0.232,5774,4.582]],["body/classes/RichTextContentBody.html",[0,0.455,2,0.633,3,0.013,4,0.013,5,0.006,7,0.082,9,2.727,27,0.341,30,0.001,31,0.645,32,0.178,47,0.893,83,1.665,95,0.135,99,0.929,101,0.021,103,0,104,0,112,0.634,138,1.483,143,1.27,148,1.774,149,3.754,150,1.287,153,2.233,172,1.789,180,1.976,245,3.574,248,4.864,249,4.623,284,1.73,305,3.316,480,3.153,807,5.305,808,3.282,839,1.779,852,2.666,1142,3.574,1262,1.998,1271,1.784,1643,3.349,1942,4.466,2255,4.333,2501,2.759,2572,4.094,2882,4.64,2883,2.544,2922,2.743,3278,3.417,3280,3.417,3283,3.382,3286,6.152,3289,2.96,3294,3.226,3767,3.574,3788,3.574,3789,6.912,4163,5.685,5681,6.236,5683,6.32,5685,6.236,5687,6.32,5689,6.32,5734,3.767,5771,6.505,5772,6.505,5773,6.505,5774,7.13,5775,6.505,6088,6.867,7227,3.823,7287,3.382,8699,8.263,8700,6.717,8701,3.947,8704,5.453,8705,6.505,8706,6.505,8707,3.947,8708,6.505,8709,3.532,8710,3.883,8711,6.505,8712,6.505,8713,3.823,8714,3.823,8715,3.823,8716,3.823,8717,3.947,8718,3.947,8719,3.947,8720,3.947,8721,3.947,18424,5.727,18425,5.727,18426,5.727]],["title/classes/RichTextElement.html",[0,0.232,2870,4.185]],["body/classes/RichTextElement.html",[0,0.212,2,0.693,3,0.014,4,0.014,5,0.007,7,0.09,8,1.073,27,0.554,29,0.99,30,0.001,31,0.713,32,0.168,33,0.6,35,1.579,36,1.896,47,0.824,55,1.806,59,1.933,95,0.122,101,0.016,103,0,104,0,105,0.642,112,0.677,119,2.118,137,5.523,145,1.759,180,1.787,262,2.264,349,1.151,381,2.999,382,3.819,448,3.591,474,2.671,479,3.261,480,3.098,517,3.345,519,3.752,604,2.578,608,1.454,662,2.749,686,4.054,1218,2.372,1664,2.346,1665,3.684,1668,6.477,1739,4.076,1944,2.647,2501,3.023,2512,5.835,2786,7.927,2789,6.326,2790,6.326,2791,6.326,2792,7.432,2793,6.326,2795,4.069,2796,5.458,2797,6.576,2799,6.208,2800,5.458,2801,6.448,2803,4.401,2804,4.71,2806,6.477,2807,4.401,2811,4.401,2813,4.069,2840,5.396,2870,6.789,2882,6.19,3286,6.86,4025,5.805,4026,4.577,4027,4.577,4028,4.577,4037,3.964,4808,5.495,9173,4.485,18427,10.862,18428,6.274,18429,6.274,18430,5.805,18431,6.274,18432,5.805,18433,6.274,18434,6.274,18435,6.274,18436,6.274,18437,8.187,18438,5.805,18439,8.187,18440,5.805,18441,5.805,18442,5.805,18443,5.495,18444,5.805]],["title/classes/RichTextElementContent.html",[0,0.232,18445,5.759]],["body/classes/RichTextElementContent.html",[0,0.36,2,0.911,3,0.018,4,0.018,5,0.009,7,0.118,27,0.485,29,0.652,30,0.001,31,0.469,32,0.171,33,0.395,34,1.97,47,0.828,95,0.14,99,1.338,101,0.017,103,0.001,104,0.001,112,0.815,138,1.905,150,1.853,245,3.528,253,4.07,379,1.488,404,3.318,774,4.205,839,2.561,2255,4.506,2566,3.682,2882,6.55,2918,4.422,2919,4.422,2922,3.949,3286,7.088,3461,5.784,3473,4.921,3716,7.034,3720,6.224,3724,5.504,3726,5.504,3772,7.609,4163,6.273,5685,5.277,9189,6.676,10389,7.222,10390,7.629,18445,11.079,18446,11.523,18447,6.918,18448,6.918]],["title/classes/RichTextElementContentBody.html",[0,0.232,8708,4.582]],["body/classes/RichTextElementContentBody.html",[0,0.455,2,0.63,3,0.013,4,0.013,5,0.006,7,0.082,9,2.715,27,0.34,30,0.001,31,0.644,32,0.18,47,0.875,83,1.658,95,0.135,99,0.925,101,0.021,103,0,104,0,112,0.633,138,1.479,143,1.265,148,1.766,149,3.745,150,1.281,153,2.228,172,1.782,180,2.057,245,3.572,248,4.858,249,4.617,284,1.722,305,3.303,382,1.704,480,3.148,556,1.402,807,5.289,808,3.272,819,2.869,839,1.771,852,2.655,1142,3.559,1262,1.989,1271,1.777,1643,3.335,1942,4.064,2255,4.653,2501,2.747,2882,2.715,2883,2.534,2922,2.731,3278,3.403,3280,3.403,3283,3.368,3286,5.061,3289,2.948,3294,3.213,3767,3.559,3788,3.559,3789,6.9,4163,5.673,5681,6.221,5683,6.305,5685,6.822,5687,6.305,5689,6.305,5734,3.751,5771,6.489,5772,6.489,5773,6.489,5774,7.116,5775,6.489,6088,6.858,7227,3.807,7287,3.368,8699,8.614,8700,5.697,8701,3.931,8704,5.436,8705,6.489,8706,6.489,8707,3.931,8708,7.116,8709,3.517,8710,3.866,8711,6.489,8712,6.489,8713,3.807,8714,3.807,8715,3.807,8716,3.807,8717,3.931,8718,3.931,8719,3.931,8720,3.931,8721,3.931,9194,4.477,18449,5.703,18450,5.703]],["title/entities/RichTextElementNode.html",[154,1.389,3213,5.389]],["body/entities/RichTextElementNode.html",[0,0.288,3,0.019,4,0.019,5,0.01,7,0.122,27,0.447,30,0.001,32,0.141,47,0.84,95,0.155,96,2.273,101,0.017,103,0.001,104,0.001,105,0.87,112,0.831,138,1.943,154,2.197,155,2.777,172,4.067,173,2.473,180,1.893,181,2.301,349,0.879,403,4.75,437,1.121,1664,3.18,1665,4.52,1942,5.001,2501,4.097,2512,5.2,2565,4.834,2566,3.797,2882,6.443,3171,5.735,3182,6.548,3213,8.524,3249,5.245,3272,9.509,3286,7.133,3417,5.766,3620,6.696,3641,5.308,4126,5.442,4128,5.442,9199,7.449,18447,7.135,18448,7.135,18451,11.065,18452,8.505,18453,9.509,18454,7.868,18455,7.868,18456,7.868]],["title/interfaces/RichTextElementNodeProps.html",[105,0.702,18453,6.012]],["body/interfaces/RichTextElementNodeProps.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,30,0.001,32,0.142,47,0.892,95,0.156,96,2.321,101,0.017,103,0.001,104,0.001,105,0.889,107,2.04,112,0.842,154,2.227,172,3.774,173,2.526,180,2.106,181,2.35,349,0.898,403,4.851,437,1.145,1664,3.248,1665,4.581,1942,3.632,2501,4.184,2512,5.27,2565,4.938,2566,3.878,2882,6.374,3171,5.813,3182,6.637,3213,6.819,3249,5.357,3272,9.638,3286,7.284,3417,5.889,3620,7.45,3641,5.421,4126,5.559,4128,5.559,18447,7.288,18448,7.288,18451,8.036,18453,10.579,18454,8.036,18455,8.036,18456,8.036]],["title/interfaces/RichTextElementProps.html",[105,0.702,18443,6.012]],["body/interfaces/RichTextElementProps.html",[0,0.285,3,0.019,4,0.019,5,0.009,7,0.121,30,0.001,32,0.154,36,1.807,47,0.912,95,0.142,101,0.018,103,0.001,104,0.001,105,0.863,107,1.981,112,0.826,119,1.743,145,2.364,180,2.077,262,1.862,349,1.299,474,3.59,480,3.004,517,4.083,519,2.598,604,3.466,608,1.955,1218,3.188,1664,3.153,1739,4.974,1944,3.558,2501,4.063,2786,6.585,2792,5.63,2796,5.202,2797,6.379,2800,5.202,2801,6.254,2840,7.265,2870,7.265,2882,6.325,3286,7.297,4037,5.329,9173,6.029,18427,7.803,18437,9.991,18438,7.803,18439,9.991,18440,7.803,18441,7.803,18442,7.803,18443,9.459,18444,7.803]],["title/classes/RichTextElementResponse.html",[0,0.232,3772,4.906]],["body/classes/RichTextElementResponse.html",[0,0.347,2,0.86,3,0.017,4,0.017,5,0.009,7,0.112,27,0.521,29,0.616,30,0.001,31,0.443,32,0.178,33,0.373,34,2.117,47,0.805,95,0.136,99,1.264,101,0.016,103,0.001,104,0.001,112,0.785,138,2.18,150,1.75,245,3.49,253,3.844,379,1.447,404,3.134,774,3.971,839,2.419,2255,4.841,2566,3.477,2882,6.48,2917,5.122,2918,5.5,2919,5.5,2921,4.6,2922,4.911,3286,6.592,3461,5.463,3473,4.647,3716,7.556,3720,6.705,3724,5.199,3726,5.199,3772,9.051,4163,6.739,5685,6.563,10402,6.821,10403,6.821,10404,6.821,10405,6.821,10406,6.821,18445,10.223,18446,12.028,18447,6.534,18448,6.534]],["title/classes/RichTextElementResponseMapper.html",[0,0.232,5710,6.012]],["body/classes/RichTextElementResponseMapper.html",[0,0.259,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.498,29,0.801,30,0.001,31,0.576,32,0.157,33,0.486,34,1.277,35,1.38,95,0.144,99,1.24,100,2.598,101,0.012,103,0.001,104,0.001,112,0.775,119,2.093,236,1.97,349,1.175,376,3.181,413,3.906,437,1.008,603,2.337,604,3.14,662,2.374,739,4.371,782,4.56,783,5.656,1147,3.076,1942,5.601,2000,4.384,2255,2.921,2503,8.471,2506,7.951,2507,7.951,2509,7.739,2870,8.168,2882,6.282,3286,3.978,3716,4.56,3720,5.922,3729,6.693,3737,5.462,3772,8.645,4163,4.067,4962,7.07,5284,7.177,5685,4.89,5706,6,5710,11.555,9211,9.242,9215,6.187,9216,6.187,9217,6.187,18445,8.497,18457,12.584,18458,7.642,18459,7.642,18460,7.642,18461,7.642,18462,7.07,18463,11.359,18464,7.642]],["title/classes/RocketChatError.html",[0,0.232,989,5.557]],["body/classes/RocketChatError.html",[0,0.192,2,0.386,3,0.008,4,0.008,5,0.004,7,0.05,27,0.339,29,0.276,30,0.001,31,0.515,32,0.132,33,0.168,34,1.513,36,2.813,39,3.497,47,0.994,51,4.039,55,1.68,72,2.558,83,1.649,87,3.624,95,0.098,101,0.013,103,0,104,0,105,0.732,112,0.434,119,2.003,124,4.584,133,1.212,143,0.775,177,1.057,180,0.989,226,0.511,236,1.474,239,1.677,262,2.899,316,3.867,324,4.17,347,2.047,349,1.372,379,0.716,437,1.402,479,1.289,490,1.245,509,1.875,517,2.705,519,1.077,521,4.471,529,2.584,539,0.761,603,2.632,608,2.246,639,1.646,653,1.795,662,3.906,676,4.054,742,3.115,762,4.707,824,3.438,843,2.453,960,8.264,961,7.327,962,2.934,963,5.02,964,2.025,965,6.291,966,2.3,967,2.745,968,2.672,969,4.453,970,3.909,971,4.453,972,4.453,973,4.453,974,4.592,975,1.705,976,2.934,977,2.934,978,2.934,979,2.934,980,2.934,981,2.934,982,2.551,983,2.934,984,2.934,985,2.934,986,2.268,987,8.131,988,1.524,989,4.592,990,2.448,991,4.852,992,2.453,993,1.953,994,5.115,995,4.759,996,5.44,997,5.257,998,5.377,999,5.682,1000,6.345,1001,7.962,1002,6.571,1003,6.004,1004,2.672,1005,2.934,1006,2.934,1007,2.453,1008,2.934,1009,2.934,1010,2.934,1011,2.745,1012,2.934,1013,5.618,1014,2.831,1015,2.934,1016,2.934,1017,2.934,1018,2.831,1019,2.934,1020,2.934,1021,2.934,1022,8.565,1023,2.934,1024,2.934,1025,1.384,1026,2.934,1027,2.934,1028,2.934,1029,2.934,1030,2.934,1031,2.934,1032,2.934,1033,2.934,1034,8.131,1035,8.131,1036,2.934,1037,2.934,1038,2.934,1039,2.934,1040,2.934,1041,2.934,1042,2.41,1043,2.934,1044,2.934,1045,2.934,1046,2.934,1047,2.934,1048,2.934,1049,2.934,1050,2.934,1051,2.934,1052,2.934,1053,2.934,1054,2.934,1055,2.934,1056,2.934,1057,4.334,1058,4.334,1059,2.934,1060,2.934,1061,2.934,1062,2.934,1063,2.934,1064,2.371,1065,2.934,1066,2.934,1067,2.934,1068,4.759,1069,2.934,1070,4.759,1071,4.759,1072,2.934,1073,2.934,1074,2.672,1075,6.004,1076,4.777,1077,4.413,1078,2.934,1079,3.35,1080,5.269,1081,4.334,1082,5.337,1083,6.004,1084,6.004,1085,6.004,1086,2.745,1087,2.934,1088,2.934,1089,2.934,1090,7.593,1091,6.004,1092,6.004,1093,6.004,1094,2.934,1095,4.759,1096,4.759,1097,2.934,1098,2.934,1099,2.934,1100,2.934,1101,2.934,1102,4.759,1103,4.453,2318,2.025,18465,5.672,18466,3.497,18467,3.497]],["title/interfaces/RocketChatGroupModel.html",[105,0.702,974,5.557]],["body/interfaces/RocketChatGroupModel.html",[0,0.196,3,0.008,4,0.008,5,0.004,7,0.051,30,0.001,31,0.475,32,0.133,34,1.531,36,2.824,39,3.512,47,0.995,51,4.094,55,1.484,72,2.607,83,1.681,87,3.683,95,0.099,101,0.013,103,0,104,0,105,0.744,107,0.841,112,0.442,119,2.217,120,2.45,124,4.639,133,1.241,143,0.794,177,1.077,180,0.624,226,0.523,236,1.492,239,1.704,262,2.91,316,3.93,324,4.228,347,2.086,349,1.376,379,0.452,437,1.414,479,1.319,490,1.274,509,1.92,517,2.749,519,1.103,521,4.504,529,2.615,539,0.776,603,2.479,608,2.27,639,1.685,653,1.838,662,3.925,676,4.132,742,3.175,762,4.782,824,2.961,843,2.511,960,8.345,961,2.898,962,3.003,963,5.1,964,2.073,965,6.378,966,2.354,967,2.81,968,2.735,969,4.539,970,3.984,971,4.539,972,4.539,973,4.539,974,5.887,975,4.07,976,3.003,977,3.003,978,3.003,979,3.003,980,3.003,981,3.003,982,2.611,983,3.003,984,3.003,985,3.003,986,5.414,987,7.685,988,1.56,989,2.898,990,1.978,991,2.427,992,2.511,993,1.999,994,2.559,995,3.003,996,5.481,997,5.297,998,5.417,999,5.724,1000,6.389,1001,8.018,1002,6.642,1003,6.1,1004,2.735,1005,3.003,1006,3.003,1007,2.511,1008,3.003,1009,3.003,1010,3.003,1011,2.81,1012,3.003,1013,5.709,1014,2.898,1015,3.003,1016,3.003,1017,3.003,1018,2.898,1019,3.003,1020,3.003,1021,3.003,1022,8.648,1023,3.003,1024,3.003,1025,1.417,1026,3.003,1027,3.003,1028,3.003,1029,3.003,1030,3.003,1031,3.003,1032,3.003,1033,3.003,1034,8.219,1035,8.219,1036,3.003,1037,3.003,1038,3.003,1039,3.003,1040,3.003,1041,3.003,1042,2.467,1043,3.003,1044,3.003,1045,3.003,1046,3.003,1047,3.003,1048,3.003,1049,3.003,1050,3.003,1051,3.003,1052,3.003,1053,3.003,1054,3.003,1055,3.003,1056,3.003,1057,4.417,1058,4.417,1059,3.003,1060,3.003,1061,3.003,1062,3.003,1063,3.003,1064,2.427,1065,3.003,1066,3.003,1067,3.003,1068,4.85,1069,3.003,1070,4.85,1071,4.85,1072,3.003,1073,3.003,1074,2.735,1075,6.1,1076,4.853,1077,4.484,1078,3.003,1079,3.414,1080,5.342,1081,4.417,1082,5.423,1083,6.1,1084,6.1,1085,6.1,1086,2.81,1087,3.003,1088,3.003,1089,3.003,1090,7.685,1091,6.1,1092,6.1,1093,6.1,1094,3.003,1095,4.85,1096,4.85,1097,3.003,1098,3.003,1099,3.003,1100,3.003,1101,3.003,1102,4.85,1103,4.539]],["title/modules/RocketChatModule.html",[201,1.848,18468,5.557]],["body/modules/RocketChatModule.html",[0,0.318,3,0.021,4,0.021,5,0.011,8,1.141,27,0.387,29,0.744,30,0.001,31,0.536,32,0.122,33,0.451,35,1.143,95,0.149,101,0.015,103,0.001,104,0.001,201,3.372,203,3.419,208,3.48,209,3.57,225,3.74,226,1.375,349,0.973,413,3.494,490,4.117,636,5.502,961,9.365,964,5.449,969,10.258,1018,10.14,1170,6.864,1171,7.973,1174,8.361,1180,6.726,3998,7.721,18468,10.14,18469,9.41,18470,9.41,18471,8.241,18472,9.41,18473,9.41]],["title/interfaces/RocketChatOptions.html",[105,0.702,969,5.389]],["body/interfaces/RocketChatOptions.html",[0,0.192,3,0.008,4,0.008,5,0.004,7,0.05,30,0.001,31,0.468,32,0.138,33,0.541,34,1.511,36,2.812,39,3.495,47,1.002,51,4.034,55,1.458,72,2.555,83,1.647,87,3.62,95,0.098,101,0.013,103,0,104,0,105,0.731,107,0.82,112,0.433,119,2.001,124,4.58,133,1.21,143,0.774,177,1.055,180,0.608,226,0.51,236,1.473,239,1.675,262,2.898,316,3.863,324,4.166,347,2.044,349,1.371,379,0.441,437,1.401,479,1.286,490,1.242,509,1.872,517,2.702,519,1.075,521,4.468,529,2.581,539,0.76,603,2.463,608,2.244,639,1.643,653,1.792,662,3.905,676,6.463,742,3.111,762,4.701,824,2.918,843,2.449,960,8.259,961,2.826,962,2.929,963,5.014,964,2.022,965,6.285,966,2.296,967,2.741,968,2.667,969,5.612,970,6.232,971,7.099,972,7.099,973,7.099,974,4.586,975,1.702,976,2.929,977,2.929,978,2.929,979,2.929,980,2.929,981,2.929,982,2.546,983,2.929,984,2.929,985,2.929,986,2.264,987,7.586,988,1.521,989,2.826,990,1.938,991,2.367,992,2.449,993,1.95,994,2.495,995,2.929,996,5.437,997,5.254,998,5.374,999,5.678,1000,6.341,1001,7.958,1002,6.565,1003,5.997,1004,2.667,1005,2.929,1006,2.929,1007,2.449,1008,2.929,1009,2.929,1010,2.929,1011,2.741,1012,2.929,1013,5.612,1014,2.826,1015,2.929,1016,2.929,1017,2.929,1018,2.826,1019,2.929,1020,2.929,1021,2.929,1022,8.559,1023,2.929,1024,2.929,1025,1.382,1026,2.929,1027,2.929,1028,2.929,1029,2.929,1030,2.929,1031,2.929,1032,2.929,1033,2.929,1034,8.125,1035,8.125,1036,2.929,1037,2.929,1038,2.929,1039,2.929,1040,2.929,1041,2.929,1042,2.406,1043,2.929,1044,2.929,1045,2.929,1046,2.929,1047,2.929,1048,2.929,1049,2.929,1050,2.929,1051,2.929,1052,2.929,1053,2.929,1054,2.929,1055,2.929,1056,2.929,1057,4.328,1058,4.328,1059,2.929,1060,2.929,1061,2.929,1062,2.929,1063,2.929,1064,2.367,1065,2.929,1066,2.929,1067,2.929,1068,4.752,1069,2.929,1070,4.752,1071,4.752,1072,2.929,1073,2.929,1074,2.667,1075,5.997,1076,4.771,1077,4.408,1078,2.929,1079,3.345,1080,5.263,1081,4.328,1082,5.331,1083,5.997,1084,5.997,1085,5.997,1086,2.741,1087,2.929,1088,2.929,1089,2.929,1090,7.586,1091,5.997,1092,5.997,1093,5.997,1094,2.929,1095,4.752,1096,4.752,1097,2.929,1098,2.929,1099,2.929,1100,2.929,1101,2.929,1102,4.752,1103,4.447]],["title/entities/Role.html",[154,1.389,276,2.977]],["body/entities/Role.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,27,0.474,30,0.001,31,0.696,32,0.133,47,0.724,95,0.137,96,2.097,101,0.016,103,0.001,104,0.001,105,1.055,112,0.789,138,2.059,154,2.329,155,2.563,168,5.913,172,3.818,173,2.282,174,3.94,175,3.504,178,3.12,180,1.368,181,2.124,182,2.495,236,1.991,276,5.504,349,0.812,437,1.517,480,2.867,486,3.105,529,2.24,643,5.485,662,2.438,827,4.545,1717,3.759,1723,6.726,2044,3.047,2673,5.661,2677,5.661,3140,6.387,4119,4.635,4342,3.47,4660,6.712,7399,6.354,9461,6.874,10471,7.687,10499,8.092,12987,9.027,12988,7.261,12989,6.585,12990,6.354,12991,6.585,12992,6.354,12993,7.261,12994,6.585,12995,7.261,12996,9.536,12997,7.261,12998,8.648,12999,6.354,18474,7.848,18475,7.848,18476,7.848,18477,7.848]],["title/classes/RoleDto.html",[0,0.232,4630,4.906]],["body/classes/RoleDto.html",[0,0.316,2,1.032,3,0.021,4,0.021,5,0.01,7,0.134,26,2.542,27,0.537,29,0.739,30,0.001,31,0.742,32,0.169,33,0.642,34,2.087,95,0.111,99,1.516,101,0.014,103,0.001,104,0.001,112,0.881,181,3.117,379,1.179,381,3.167,404,3.76,405,5.011,643,5.603,1723,6.324,2044,3.627,4342,4.131,4630,9.569,4660,6.858,10471,6.969,10499,7.336,18478,9.345,18479,11.519,18480,9.345,18481,9.345]],["title/classes/RoleMapper.html",[0,0.232,18482,6.012]],["body/classes/RoleMapper.html",[0,0.31,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,8,1.379,27,0.468,29,0.899,30,0.001,31,0.704,32,0.147,33,0.545,34,1.53,35,1.382,95,0.135,99,1.485,101,0.014,103,0.001,104,0.001,154,1.852,236,1.491,276,5.964,349,1.176,413,4.097,1723,4.637,4446,5.714,4447,7.188,4630,9.696,4637,6.996,18482,9.961,18483,9.156,18484,9.961,18485,9.542,18486,11.374,18487,9.156,18488,9.156,18489,9.542,18490,9.156,18491,9.156,18492,9.156,18493,8.019]],["title/modules/RoleModule.html",[201,1.848,1420,5.119]],["body/modules/RoleModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.152,101,0.014,103,0.001,104,0.001,201,3.285,203,3.225,204,3.459,205,3.557,206,3.542,207,3.528,208,4.512,209,4.629,218,4.47,219,3.486,220,3.406,226,1.297,227,3.679,1420,10.629,4734,10.845,4756,7.447,18494,8.876,18495,8.876,18496,8.876,18497,11.908,18498,12.43,18499,8.876,18500,8.876]],["title/classes/RoleNameMapper.html",[0,0.232,13689,6.012]],["body/classes/RoleNameMapper.html",[0,0.288,2,0.94,3,0.019,4,0.019,5,0.01,7,0.122,8,1.317,27,0.447,29,0.858,30,0.001,31,0.717,32,0.141,33,0.521,35,1.319,95,0.129,99,1.38,101,0.013,103,0.001,104,0.001,276,4.708,310,3.688,349,1.377,413,4.021,529,3.099,783,6.064,790,4.279,1778,3.34,4565,5.395,4660,7.598,10258,7.247,10259,7.247,11299,11.657,12843,10.452,12844,8.296,13663,9.139,13689,9.509,13740,8.524,18501,11.961,18502,8.505,18503,10.045,18504,10.858,18505,8.505,18506,10.858,18507,8.505,18508,7.868,18509,7.868,18510,7.868,18511,8.505,18512,8.505,18513,8.505]],["title/classes/RoleReference.html",[0,0.232,7328,4.654]],["body/classes/RoleReference.html",[0,0.323,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,26,2.566,27,0.519,29,0.754,30,0.001,31,0.747,32,0.163,33,0.458,34,2.107,95,0.139,101,0.015,103,0.001,104,0.001,105,0.977,112,0.893,181,3.157,379,1.204,381,3.234,404,3.84,405,5.117,1664,3.568,2044,3.704,3474,8.357,4342,4.218,4660,6.922,7328,9.13,18514,13.129,18515,11.667,18516,9.542]],["title/injectables/RoleRepo.html",[539,0.921,18497,5.759]],["body/injectables/RoleRepo.html",[0,0.212,3,0.014,4,0.014,5,0.007,7,0.09,8,1.073,10,3.591,12,3.971,18,4.424,26,2.267,27,0.535,29,0.99,30,0.001,31,0.75,32,0.166,33,0.6,34,1.714,35,1.521,36,3.024,40,4.263,47,0.72,55,1.28,95,0.122,99,1.018,101,0.01,103,0,104,0,112,0.677,154,1.27,155,2.89,180,1.543,226,0.917,262,3.049,276,3.838,349,1.214,382,3.326,437,1.468,479,4.91,480,1.746,486,1.89,539,1.188,541,1.508,565,5.281,679,7.183,685,3.7,686,4.054,687,5.06,711,3.744,712,5.337,713,3.744,714,3.784,716,3.744,717,3.784,718,3.365,3336,7.425,3353,7.751,3697,4.325,3953,8.742,4660,6.876,5126,5.396,9534,7.164,9542,7.425,18497,7.425,18517,6.274,18518,9.485,18519,7.751,18520,6.274,18521,6.274,18522,7.751,18523,6.274,18524,8.187,18525,6.274,18526,6.274,18527,8.85,18528,10.301,18529,8.85]],["title/injectables/RoleService.html",[539,0.921,4734,5.245]],["body/injectables/RoleService.html",[0,0.249,3,0.016,4,0.016,5,0.008,7,0.106,8,1.198,12,4.434,26,2.662,27,0.512,29,0.942,30,0.001,31,0.678,32,0.154,33,0.571,34,1.231,35,1.448,36,2.846,40,4.76,95,0.148,99,1.195,101,0.011,103,0.001,104,0.001,154,1.49,155,2.405,177,1.372,226,1.076,227,3.053,262,3.05,276,5.168,345,2.348,349,1.232,379,0.929,437,1.723,539,1.326,541,1.77,565,4.395,608,2.762,3140,3.706,3336,8.291,3353,8.655,4630,9.344,4660,6.545,4734,7.551,5126,4.491,10258,4.916,18482,6.451,18497,10.736,18519,8.655,18522,8.655,18530,7.365,18531,11.918,18532,7.365,18533,7.365,18534,7.365,18535,7.365,18536,7.365,18537,7.365,18538,7.365,18539,7.365,18540,12.797,18541,7.365,18542,7.365,18543,7.365,18544,7.365,18545,7.365,18546,7.365,18547,7.365]],["title/injectables/RoleUc.html",[539,0.921,18498,6.012]],["body/injectables/RoleUc.html",[0,0.312,3,0.02,4,0.02,5,0.01,7,0.132,8,1.385,27,0.47,29,0.903,30,0.001,31,0.65,32,0.148,33,0.548,35,1.12,36,2.857,95,0.154,99,1.496,101,0.014,103,0.001,104,0.001,177,1.717,226,1.347,262,2.74,345,2.939,349,0.953,379,1.163,437,1.215,539,1.533,541,2.215,4630,6.589,4637,7.043,4660,7.124,4734,10.382,4756,7.734,5126,5.621,18498,10.003,18519,10.003,18522,10.003,18548,9.218,18549,9.218,18550,9.218,18551,9.218,18552,9.218]],["title/injectables/RoomBoardDTOFactory.html",[539,0.921,8678,5.557]],["body/injectables/RoomBoardDTOFactory.html",[0,0.242,3,0.01,4,0.01,5,0.005,7,0.067,8,0.868,27,0.295,29,0.566,30,0.001,31,0.494,32,0.156,33,0.343,34,1.197,35,0.571,95,0.131,99,0.763,100,3.296,101,0.007,103,0.001,104,0,119,1.479,120,3.034,143,1.588,145,2.007,177,1.334,226,0.687,236,1.166,239,2.933,347,3.966,349,1.328,376,2.98,377,3.105,379,1.094,437,1.8,539,0.961,541,1.129,603,2.575,604,1.932,643,2.11,739,4.933,849,3.965,1042,3.24,1107,3.9,1271,2.23,1673,2.899,1688,3.092,1758,5.85,1926,3.638,1942,1.965,1944,5.474,1948,3.24,2079,2.078,2080,2.32,2081,2.238,2255,4.202,2531,2.177,2684,4.615,2686,4.706,2688,7.857,2691,5.471,2693,6.198,2696,2.189,2704,8.754,2772,3.592,2773,3.092,3034,3.592,3070,9.138,3071,6.007,3075,6.007,3078,3.944,3097,4.117,3466,3.944,3476,2.97,3479,3.944,3797,2.934,3815,5.788,3940,2.648,4544,5.022,5152,3.944,6614,5.788,7164,3.944,7671,8.524,7825,3.298,7965,4.117,8583,6.271,8584,8.022,8585,4.349,8586,10.01,8587,10.188,8591,4.349,8592,4.349,8602,4.349,8603,10.17,8605,8.754,8606,4.349,8608,4.349,8613,4.349,8615,4.349,8617,4.349,8619,4.349,8621,3.429,8622,6.271,8623,6.271,8624,4.349,8625,4.349,8626,4.117,8627,6.624,8628,4.349,8629,6.624,8630,6.624,8631,4.349,8632,4.349,8633,4.349,8634,4.349,8635,4.349,8636,4.349,8637,4.349,8638,4.349,8639,4.349,8640,4.349,8641,6.624,8642,4.117,8643,4.349,8644,4.349,8645,4.349,8646,4.349,8647,8.022,8648,4.349,8649,4.349,8650,4.349,8651,4.117,8652,4.117,8653,6.624,8654,4.349,8655,4.349,8656,4.117,8657,4.117,8658,3.944,8659,4.117,8660,4.117,8661,4.349,8662,4.349,8663,4.349,8664,4.349,8665,4.349,8666,4.349,8667,4.117,8668,4.349,8669,4.349,8670,4.349,8671,4.349,8672,4.349,8673,4.349,8674,4.349,8675,4.349,8676,3.944,8677,4.349,8678,5.796,8679,8.022,8680,4.349,8681,4.349,18553,4.701,18554,4.701,18555,4.701,18556,4.701]],["title/injectables/RoomBoardResponseMapper.html",[539,0.921,14699,5.759]],["body/injectables/RoomBoardResponseMapper.html",[0,0.192,3,0.012,4,0.012,5,0.006,7,0.081,8,0.998,27,0.465,29,0.448,30,0.001,31,0.552,32,0.138,33,0.272,34,1.62,35,0.689,95,0.14,99,0.92,101,0.009,103,0,104,0,112,0.63,226,0.829,236,1.979,347,2.97,349,1.168,376,4.034,377,4.202,437,1.757,480,2.958,486,3.203,539,1.105,541,1.362,603,2.716,782,3.384,783,4.598,790,2.853,849,5.888,1042,3.909,1271,2.564,1664,2.12,1926,3.089,1944,5.352,1948,3.909,2255,3.705,2686,2.558,2692,4.348,2696,2.64,2768,6.906,2770,4.452,2772,4.333,2773,3.73,3460,11.348,3463,6.906,3464,6.906,3466,4.758,3470,5.246,3476,3.583,3477,5.246,3478,5.246,3479,4.758,3728,7.616,3732,4.967,3797,3.539,3811,4.967,4544,4.767,5152,4.758,8605,9.473,8621,7.069,8622,8.487,8623,8.487,8652,7.21,8656,7.21,8657,4.967,8658,4.758,8659,4.967,8660,4.967,8667,7.21,8676,4.758,14699,6.906,18557,11.778,18558,9.691,18559,9.691,18560,9.691,18561,9.691,18562,5.671,18563,8.921,18564,5.246,18565,5.671,18566,5.671,18567,5.671,18568,5.671,18569,5.671,18570,5.671,18571,5.671,18572,5.671,18573,5.671,18574,5.671,18575,9.691,18576,5.671,18577,5.671,18578,5.671,18579,7.616,18580,5.671,18581,5.671,18582,5.671,18583,8.232,18584,5.671,18585,8.232,18586,5.671,18587,5.671,18588,5.671,18589,5.671,18590,5.671,18591,5.671,18592,5.671,18593,5.671,18594,5.671,18595,5.671,18596,5.671,18597,5.671,18598,5.671,18599,5.671,18600,5.671,18601,5.671,18602,8.232,18603,5.671,18604,5.671,18605,5.671,18606,5.671,18607,5.671,18608,8.232,18609,5.671,18610,5.671,18611,5.671,18612,5.671,18613,5.671,18614,5.671]],["title/classes/RoomElementUrlParams.html",[0,0.232,18615,6.012]],["body/classes/RoomElementUrlParams.html",[0,0.384,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,27,0.467,30,0.001,32,0.147,34,2.16,47,0.907,95,0.135,101,0.014,103,0.001,104,0.001,112,0.868,138,2.029,142,5.035,143,2.865,144,4.206,145,3.622,148,2.823,150,2.048,153,2.599,245,3.167,808,4.889,1042,8.511,1917,9.694,1942,4.742,3876,6.699,3914,7.817,5820,8.432,5822,8.432,7671,9.636,18615,9.933,18616,12.348,18617,9.114]],["title/classes/RoomUrlParams.html",[0,0.232,18618,6.012]],["body/classes/RoomUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,1042,8.823,3876,5.841,7671,8.892,18618,10.443,18619,9.89,18620,9.89]],["title/injectables/RoomsAuthorisationService.html",[539,0.921,8587,5.389]],["body/injectables/RoomsAuthorisationService.html",[0,0.238,3,0.015,4,0.015,5,0.008,7,0.101,8,1.163,27,0.482,29,0.925,30,0.001,31,0.666,32,0.152,33,0.561,35,1.422,95,0.114,99,1.143,101,0.015,103,0.001,104,0.001,119,2.718,145,2.689,226,1.03,236,1.148,239,3.31,349,1.21,437,1.543,529,2.011,539,1.287,541,1.693,839,2.189,1678,4.296,1679,4.703,1735,7.702,1926,5.182,2405,4.777,2684,6.228,2686,5.829,2696,5.076,3255,4.452,5146,3.902,5158,4.081,8587,7.529,8658,5.912,12734,5.037,18621,7.046,18622,9.59,18623,9.59,18624,9.59,18625,9.59,18626,9.59,18627,7.046,18628,9.59,18629,7.046,18630,9.59,18631,7.046,18632,9.59,18633,7.046,18634,7.046,18635,9.59,18636,9.59,18637,7.046,18638,8.399,18639,7.046,18640,12.168,18641,7.046,18642,7.046,18643,7.046,18644,10.086,18645,9.59,18646,9.59,18647,8.872]],["title/controllers/RoomsController.html",[259,2.624,14702,6.012]],["body/controllers/RoomsController.html",[0,0.188,3,0.012,4,0.012,5,0.006,7,0.08,8,0.982,27,0.461,29,0.885,30,0.001,31,0.637,32,0.145,33,0.537,35,1.36,36,2.747,95,0.155,100,3.805,101,0.009,103,0,104,0,138,2.003,150,1.246,177,1.961,223,2.309,226,0.811,259,2.121,261,2.657,262,2.976,270,6.654,271,4.684,294,6.93,324,5.329,333,4.975,334,3.598,337,2.888,338,2.952,340,2.688,343,2.975,349,0.99,379,0.7,437,1.541,602,4.491,603,2.165,608,2.594,631,2.828,1944,3.417,2941,8.644,2962,3.125,2963,2.909,2997,8.028,3025,5.254,3043,3.382,3044,3.125,3731,3.703,3779,6.61,4544,4.691,6398,4.355,6635,4.491,6640,8.828,6869,5.132,6891,8.028,6944,8.028,7675,5.132,13077,3.823,14698,8.028,14699,6.796,14700,8.028,14702,7.095,14708,5.132,14988,8.261,14995,5.132,17504,9.216,17509,9.216,18563,4.654,18615,9.216,18618,11.23,18648,5.547,18649,9.569,18650,9.569,18651,9.569,18652,5.547,18653,5.547,18654,5.547,18655,5.547,18656,5.547,18657,5.547,18658,5.547,18659,8.101,18660,5.547,18661,5.547,18662,8.101,18663,5.547,18664,5.547,18665,8.101,18666,5.547,18667,4.654,18668,7.494,18669,5.547,18670,5.547,18671,5.547,18672,5.547,18673,5.547,18674,5.547,18675,5.547,18676,8.101,18677,5.547,18678,5.547,18679,5.547,18680,5.547,18681,5.547,18682,7.095,18683,5.547,18684,7.095,18685,5.547,18686,5.547,18687,5.547]],["title/injectables/RoomsService.html",[539,0.921,6896,5.557]],["body/injectables/RoomsService.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.135,26,2.727,27,0.441,29,0.846,30,0.001,31,0.609,32,0.149,33,0.513,34,1.136,35,1.137,36,2.47,39,2.925,95,0.152,99,1.103,101,0.011,103,0,104,0,119,1.405,143,1.508,177,2.253,226,0.993,227,2.818,262,2.759,349,0.968,379,1.181,437,1.688,539,1.256,541,1.633,603,2.683,608,2.967,696,2.639,1042,8.612,1805,8.42,1830,4.96,1913,9.782,1924,4.769,1925,4.057,1944,5.4,1947,5.195,2079,3.006,2080,3.356,2081,3.237,2692,3.591,2693,6.69,3003,9.547,3048,5.504,3940,3.83,4880,6.29,4977,10.74,4986,6.29,5107,9.548,5159,6.29,6896,7.577,8642,5.955,18688,6.799,18689,9.359,18690,9.359,18691,6.799,18692,6.799,18693,9.359,18694,6.799,18695,9.359,18696,6.799,18697,6.799,18698,9.359,18699,6.799,18700,9.359,18701,12.09,18702,6.799,18703,6.799,18704,6.799,18705,6.29,18706,6.799,18707,6.799,18708,6.799,18709,6.799,18710,6.799]],["title/injectables/RoomsUc.html",[539,0.921,14700,5.759]],["body/injectables/RoomsUc.html",[0,0.202,3,0.013,4,0.013,5,0.007,7,0.086,8,1.037,26,2.882,27,0.449,29,0.861,30,0.001,31,0.62,32,0.141,33,0.522,35,1.213,36,2.569,39,3.675,95,0.147,99,0.97,101,0.009,103,0,104,0,119,2.063,143,1.326,177,2.234,217,7.446,226,0.874,227,2.478,236,1.393,239,2.554,262,2.838,349,0.618,379,1.079,437,1.74,463,5.313,529,2.441,539,1.148,541,1.437,603,2.467,608,3.09,1042,7.946,1664,2.236,1804,7.312,1891,7.838,1917,7.838,1926,4.5,1942,2.5,1944,4.863,2530,3.568,3003,9.208,4042,5.215,4143,9.543,6895,5.017,6896,9.995,7110,6.535,7671,6.378,8586,8.744,8587,8.554,8605,8.376,8626,5.237,8678,8.821,14700,7.175,18705,7.912,18711,5.979,18712,8.552,18713,8.552,18714,9.984,18715,5.979,18716,8.552,18717,5.979,18718,8.552,18719,9.984,18720,5.979,18721,5.979,18722,5.979,18723,5.979,18724,5.979,18725,9.984,18726,5.979,18727,5.979,18728,5.979,18729,8.552,18730,7.912,18731,8.552,18732,5.979,18733,5.979,18734,5.979,18735,5.979]],["title/interfaces/RpcMessage.html",[105,0.702,11145,5.119]],["body/interfaces/RpcMessage.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.156,33,0.578,47,0.706,55,2.053,101,0.019,103,0.001,104,0.001,105,1.233,107,2.363,112,0.922,180,1.754,347,3.63,479,4.752,990,4.675,1025,5.41,8895,10.821,11145,8.985,12791,8.812,12792,9.308]],["title/classes/RpcMessageProducer.html",[0,0.232,11241,5.759]],["body/classes/RpcMessageProducer.html",[0,0.239,2,0.781,3,0.016,4,0.016,5,0.008,7,0.101,8,1.166,9,3.367,27,0.483,29,1,30,0.001,31,0.667,32,0.164,33,0.562,35,1.327,47,0.956,55,2.391,80,6.193,95,0.13,101,0.011,103,0.001,104,0.001,141,4.5,177,2.035,262,2.412,349,0.994,379,1.213,437,1.44,448,5.569,479,3.543,519,2.178,529,2.018,608,1.639,766,3.949,824,3.874,990,3.289,1025,5.006,1185,7.65,1187,6.235,1210,5.724,1211,9.43,1218,4.43,1224,4.96,1225,4.586,1616,7.519,1838,5.724,3982,8.842,4018,9.141,7135,5.158,8891,6.193,8893,6.541,11145,8.741,11241,8.065,11242,8.419,11243,8.419,11251,8.419,11253,8.419,11255,8.419,12791,10.735,18736,7.071,18737,7.071,18738,7.071,18739,7.071,18740,7.071,18741,7.071,18742,7.071,18743,7.071,18744,7.071,18745,7.071,18746,7.071,18747,7.071,18748,9.613,18749,7.071,18750,7.071,18751,6.541]],["title/interfaces/Rule.html",[105,0.702,1879,4.284]],["body/interfaces/Rule.html",[3,0.02,4,0.02,5,0.01,7,0.128,8,1.354,27,0.46,29,0.883,30,0.001,31,0.636,32,0.145,33,0.536,35,1.357,59,2.74,95,0.152,99,1.443,101,0.014,103,0.001,104,0.001,105,0.91,107,2.089,119,2.647,131,5.11,133,4.737,239,3.268,479,4.963,1661,5.012,1670,7.446,1694,5.486,1735,6.811,1746,5.201,1747,5.308,1748,6.358,1749,6.797,1875,7.245,1879,6.971,3411,7.456,3415,7.347,17796,7.791,18752,8.895,18753,8.895,18754,8.895]],["title/injectables/RuleManager.html",[539,0.921,1768,5.759]],["body/injectables/RuleManager.html",[0,0.205,3,0.013,4,0.013,5,0.007,7,0.087,8,1.047,27,0.451,29,0.795,30,0.001,31,0.573,32,0.156,33,0.482,35,1.049,95,0.143,99,0.983,101,0.009,103,0,104,0,112,0.661,131,4.159,133,4.016,177,2.56,226,0.885,236,1.406,239,2.715,349,0.893,379,1.09,437,1.138,529,2.465,539,1.159,541,1.456,603,2.866,662,3.124,696,2.352,708,2.428,1226,2.919,1661,6.176,1670,5.972,1746,6.41,1747,3.616,1748,4.331,1749,4.63,1760,10.399,1761,10.399,1762,10.034,1763,8.983,1765,10.399,1766,9.197,1767,10.034,1768,7.244,1769,10.399,1770,10.399,1771,10.034,1772,10.399,1773,10.399,1774,10.399,1780,9.097,1879,8.162,3255,5.455,18755,11.587,18756,6.06,18757,8.634,18758,8.634,18759,6.06,18760,10.058,18761,8.634,18762,8.634,18763,6.06,18764,8.634,18765,6.06,18766,6.06,18767,6.06,18768,6.06,18769,6.06,18770,6.06,18771,6.06,18772,6.06,18773,6.06,18774,6.06,18775,6.06,18776,6.06,18777,6.06,18778,6.06,18779,6.06,18780,6.06,18781,6.06,18782,6.06,18783,6.06,18784,8.634,18785,6.06,18786,6.06]],["title/injectables/S3ClientAdapter.html",[539,0.921,11393,5.007]],["body/injectables/S3ClientAdapter.html",[0,0.088,3,0.006,4,0.006,5,0.011,7,0.037,8,0.54,10,2.785,27,0.462,29,0.85,30,0.001,31,0.612,32,0.142,33,0.516,34,0.744,35,1.307,36,2.356,47,0.91,59,0.804,72,1.178,95,0.112,101,0.004,103,0,104,0,105,0.267,112,0.341,131,2.605,133,0.905,177,0.829,226,0.382,236,1.976,261,2.131,262,2.886,271,4.081,284,2.531,316,3.71,319,2.463,324,1.323,349,1.159,360,6.201,379,0.562,437,1.723,480,0.727,486,0.787,519,0.804,521,3.318,529,3.07,539,0.597,541,0.628,556,0.642,565,1.559,579,6.011,603,2.094,604,1.073,608,2.719,639,1.23,662,4.026,685,2.87,696,1.014,739,4.393,990,0.894,996,3.709,997,3.585,998,3.666,999,3.874,1000,4.229,1001,5.307,1002,4.654,1004,1.996,1074,3.4,1107,5.354,1215,4.229,1217,3.867,1218,1.682,1226,2.8,1227,1.867,1228,2.051,1242,5.813,1243,6.999,1244,9.184,1257,2.191,1341,0.838,1445,2.288,1636,1.867,1824,3.181,1971,2.706,1984,4.565,2088,2.886,2312,2.409,2313,3.128,2330,4.564,2340,1.575,2480,3.433,2681,1.401,2721,4.117,2830,2.655,3081,1.867,3600,1.297,3601,2.339,3894,1.8,4381,1.575,4743,3.071,5440,3.602,5838,2.553,6441,4.188,6508,5.119,6509,8.503,6511,3.4,6512,3.4,6513,4.284,6516,7.955,6519,1.832,6520,1.611,6521,1.575,6522,1.575,6523,6.525,6524,6.835,6525,4.442,6526,3.318,6863,1.694,6989,1.905,8070,3.067,8176,7.715,8200,5.759,8210,3.733,8211,2.288,8212,3.602,8228,2.288,10144,2.848,10339,2.051,10340,2.115,10886,7.169,10936,6.835,11354,5.245,11361,2.288,11393,3.246,12938,2.115,17692,4.117,18787,10.549,18788,2.612,18789,5.813,18790,4.45,18791,6.865,18792,5.813,18793,6.865,18794,4.45,18795,4.45,18796,5.091,18797,2.612,18798,4.45,18799,4.45,18800,2.612,18801,4.45,18802,2.612,18803,4.45,18804,2.612,18805,2.612,18806,4.45,18807,2.612,18808,4.45,18809,2.612,18810,2.612,18811,2.612,18812,2.612,18813,4.45,18814,2.612,18815,4.45,18816,2.612,18817,4.45,18818,2.612,18819,4.45,18820,2.612,18821,6.865,18822,4.45,18823,2.612,18824,4.45,18825,4.45,18826,4.45,18827,4.45,18828,2.612,18829,5.813,18830,2.612,18831,5.378,18832,2.416,18833,2.612,18834,2.612,18835,2.612,18836,2.612,18837,2.612,18838,2.288,18839,11.734,18840,8.945,18841,2.612,18842,2.612,18843,2.612,18844,2.612,18845,2.612,18846,2.612,18847,2.612,18848,2.612,18849,4.45,18850,6.865,18851,5.813,18852,2.612,18853,2.612,18854,4.45,18855,2.612,18856,2.612,18857,2.612,18858,2.612,18859,2.612,18860,4.45,18861,4.45,18862,4.45,18863,4.45,18864,4.45,18865,2.612,18866,2.612,18867,2.612,18868,4.45,18869,2.612,18870,2.612,18871,2.612,18872,2.612,18873,2.612,18874,2.612,18875,2.612,18876,2.612,18877,2.612,18878,2.612,18879,2.612,18880,2.612,18881,5.813,18882,2.612,18883,2.612,18884,4.45,18885,2.612,18886,4.45,18887,2.612,18888,2.612,18889,2.612,18890,4.45,18891,2.612,18892,2.051,18893,2.612,18894,2.612,18895,2.612,18896,2.612,18897,2.612,18898,2.612,18899,4.45,18900,4.45,18901,2.612,18902,4.45,18903,2.612,18904,2.612,18905,2.612,18906,2.612,18907,2.612,18908,2.612,18909,5.813,18910,2.612,18911,4.45,18912,2.612,18913,2.612,18914,2.612,18915,2.612,18916,2.612,18917,2.612]],["title/modules/S3ClientModule.html",[201,1.848,11216,4.906]],["body/modules/S3ClientModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,8,0.992,27,0.337,29,0.647,30,0.001,31,0.466,32,0.106,33,0.392,35,0.994,95,0.153,101,0.013,103,0.001,104,0.001,105,0.837,143,2.348,201,3.161,203,2.972,208,4.343,209,3.104,214,4.93,225,3.251,226,1.195,236,1.725,349,1.095,413,3.198,437,1.637,636,4.783,637,5.847,639,3.851,1174,7.838,1341,2.623,1971,5.467,2094,6.531,2312,4.389,2313,6.005,6509,7.897,6513,8.027,6515,7.179,6517,7.179,6518,7.179,8200,9.851,8210,6.863,8211,7.164,8212,8.573,8241,7.567,8243,7.567,8244,6.1,11122,7.567,11216,8.393,11393,5.967,14298,7.567,17610,7.164,18787,9.796,18918,10.589,18919,8.18,18920,8.18,18921,8.18,18922,8.18,18923,8.18,18924,8.18,18925,8.18]],["title/interfaces/S3Config.html",[105,0.702,6513,4.284]],["body/interfaces/S3Config.html",[3,0.018,4,0.018,5,0.012,7,0.118,30,0.001,32,0.171,47,1.026,55,2.4,95,0.098,101,0.02,103,0.001,104,0.001,105,1.35,107,1.929,112,0.812,284,3.207,360,5.377,556,2.61,1215,6.461,1217,4.627,1361,4.439,2094,7.67,5838,4.712,6441,4.97,6508,6.125,6509,6.125,6510,6.448,6511,6.275,6512,6.275,6513,6.626,6514,9.275,6515,8.432,6516,8.432,6517,8.432,6518,8.432,6519,5.761,6520,5.065,6521,4.953,6522,4.953,6523,5.991,6524,8.112,6525,8.112,6526,6.125]],["title/interfaces/S3Config-1.html",[105,0.584,708,2.287,6513,3.562]],["body/interfaces/S3Config-1.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.175,47,1.017,101,0.015,103,0.001,104,0.001,105,0.993,107,2.279,112,0.902,2094,8.143,6513,7.355,6515,8.952,6516,8.952,6517,8.952,6518,8.952,11336,7.616,11337,7.616,18926,9.701]],["title/classes/SSOLoginQuery.html",[0,0.232,17090,6.012]],["body/classes/SSOLoginQuery.html",[0,0.397,2,1.064,3,0.021,4,0.021,5,0.011,7,0.138,27,0.483,30,0.001,32,0.152,33,0.632,47,0.824,52,6.096,95,0.14,101,0.015,103,0.001,104,0.001,112,0.898,119,2.425,138,2.1,147,6.342,148,2.984,150,2.164,245,3.246,248,4.683,249,4.951,16407,10.245,17090,10.277,18927,12.655,18928,9.632,18929,9.632,18930,9.632,18931,9.632,18932,9.632]],["title/interfaces/SanisGruppeResponse.html",[105,0.702,18933,6.012]],["body/interfaces/SanisGruppeResponse.html",[3,0.021,4,0.021,5,0.011,7,0.135,30,0.001,32,0.177,34,2.182,47,0.988,95,0.138,101,0.015,103,0.001,104,0.001,105,0.961,107,2.205,112,0.884,824,3.33,975,4.577,14000,11.434,18037,6.71,18933,10.117,18934,6.848,18935,8.685,18936,13.056,18937,12.401,18938,13.056,18939,11.434,18940,12.078,18941,8.257]],["title/interfaces/SanisGruppenResponse.html",[105,0.702,18942,5.759]],["body/interfaces/SanisGruppenResponse.html",[3,0.021,4,0.021,5,0.011,7,0.137,30,0.001,32,0.163,33,0.56,95,0.15,101,0.015,103,0.001,104,0.001,105,0.979,107,2.247,112,0.894,824,4.475,11832,10.638,18037,6.837,18933,11.508,18934,6.977,18935,12.467,18941,9.018,18942,9.803,18943,8.848,18944,12.467,18945,13.14,18946,11.508,18947,8.848,18948,8.848]],["title/interfaces/SanisGruppenzugehoerigkeitResponse.html",[105,0.702,18946,6.012]],["body/interfaces/SanisGruppenzugehoerigkeitResponse.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.135,95,0.124,101,0.016,103,0.001,104,0.001,105,1.067,107,2.448,112,0.941,276,4.52,975,5.081,18037,7.45,18934,7.603,18941,7.45,18944,9.642,18946,10.775,18949,11.843,18950,11.843]],["title/interfaces/SanisLaufzeitResponse.html",[105,0.702,18939,6.012]],["body/interfaces/SanisLaufzeitResponse.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,83,4.062,101,0.016,103,0.001,104,0.001,105,1.061,107,2.436,112,0.939,18037,7.412,18934,7.564,18937,9.593,18939,10.742,18951,13.5,18952,13.5]],["title/interfaces/SanisNameResponse.html",[105,0.702,18953,6.012]],["body/interfaces/SanisNameResponse.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,31,0.59,32,0.159,47,0.981,101,0.016,103,0.001,104,0.001,105,1.061,107,2.436,112,0.939,18037,7.412,18934,7.564,18953,10.742,18954,13.5,18955,13.5]],["title/interfaces/SanisOrganisationResponse.html",[105,0.702,18956,6.012]],["body/interfaces/SanisOrganisationResponse.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,31,0.757,32,0.172,34,2.223,47,1.011,101,0.015,103,0.001,104,0.001,105,1.015,107,2.329,112,0.914,14000,11.649,18037,7.087,18934,7.232,18956,10.458,18957,9.172,18958,13.301]],["title/interfaces/SanisPersonResponse.html",[105,0.702,18959,6.012]],["body/interfaces/SanisPersonResponse.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,31,0.771,32,0.171,47,0.994,95,0.116,101,0.015,103,0.001,104,0.001,105,0.998,107,2.29,112,0.905,824,3.458,18037,6.968,18934,7.111,18941,6.968,18953,11.583,18959,10.352,18960,8.537,18961,13.225,18962,13.225,18963,13.225]],["title/interfaces/SanisPersonenkontextResponse.html",[105,0.702,18964,6.012]],["body/interfaces/SanisPersonenkontextResponse.html",[3,0.02,4,0.02,5,0.01,7,0.132,30,0.001,32,0.173,33,0.548,34,2.168,47,0.954,95,0.148,101,0.014,103,0.001,104,0.001,105,0.943,107,2.165,112,0.874,276,3.997,824,4.052,18037,6.589,18934,6.724,18941,8.871,18942,10.884,18943,12.336,18956,11.361,18957,12.336,18964,10.003,18965,8.528,18966,12.972,18967,12.972,18968,12.001]],["title/injectables/SanisProvisioningStrategy.html",[539,0.921,17812,5.759]],["body/injectables/SanisProvisioningStrategy.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.09,8,1.07,27,0.483,29,0.878,30,0.001,31,0.633,32,0.144,33,0.533,34,1.044,35,1.35,36,2.191,95,0.16,99,1.013,100,2.123,101,0.01,103,0,104,0,137,3.898,177,1.905,180,1.538,226,0.913,236,1.437,262,2.588,284,1.886,349,0.912,379,1.113,382,3.055,437,1.545,448,2.534,519,2.717,529,1.783,539,1.184,541,1.501,556,1.535,603,2.412,608,1.447,824,2.215,936,3.997,963,8.771,964,3.617,966,4.108,1079,3.689,1226,4.249,1262,2.179,1506,5.24,1694,3.852,1970,7.31,1982,4.381,2079,2.761,2080,3.083,2081,2.974,2088,4.051,2220,3.583,2245,7.401,3134,4.063,3731,4.169,3940,3.519,4009,7.141,4660,3.43,8956,6.74,8987,6.578,10075,8.55,10910,5.47,11602,8.724,11837,4.556,12281,7.401,12548,5.505,13161,6.461,13163,6.726,13164,4.169,13165,4.169,13938,6.74,13940,5.056,13941,8.222,13945,7.141,13946,8.287,13961,5.778,13970,8.279,13972,7.401,13974,7.141,13975,5.47,16694,8.957,17292,5.47,17297,10.123,17336,5.778,17398,8.957,17405,5.47,17411,5.778,17812,7.401,17813,9.323,18941,6.305,18969,6.246,18970,8.821,18971,6.246,18972,6.246,18973,8.161,18974,8.821,18975,6.246,18976,6.246,18977,6.246,18978,6.246,18979,6.246,18980,5.24,18981,6.246,18982,6.246,18983,6.246,18984,6.246,18985,6.246,18986,6.246,18987,6.246,18988,6.246,18989,6.246,18990,6.246,18991,6.246,18992,6.246]],["title/interfaces/SanisResponse.html",[105,0.702,18980,5.759]],["body/interfaces/SanisResponse.html",[3,0.022,4,0.022,5,0.011,7,0.141,30,0.001,32,0.165,47,0.897,95,0.142,101,0.015,103,0.001,104,0.001,105,1.007,107,2.312,112,0.91,824,4.217,18941,8.498,18959,11.621,18960,11.897,18964,11.621,18965,9.105,18980,9.975,18993,9.842,18994,13.269,18995,13.269]],["title/injectables/SanisResponseMapper.html",[539,0.921,17813,5.759]],["body/injectables/SanisResponseMapper.html",[0,0.18,3,0.012,4,0.024,5,0.006,7,0.076,8,0.951,27,0.49,29,0.91,30,0.001,31,0.696,32,0.154,33,0.552,35,1.336,47,0.373,95,0.142,99,0.861,100,1.805,101,0.008,103,0,104,0,112,0.6,177,0.989,226,0.776,236,1.678,239,1.838,345,1.692,349,1.29,379,0.67,437,1.75,480,1.477,484,4.026,486,1.599,539,1.053,541,1.275,556,2.702,593,4.552,603,2.367,651,2.557,652,2.557,655,4.724,782,3.168,824,1.883,975,3.824,988,2.313,1338,2.458,1341,1.702,2312,4.769,3002,3.599,3122,2.291,3140,2.671,4544,7.076,4660,5.658,6212,4.911,6722,5.509,8709,3.274,8956,8.792,8959,6.869,8964,5.993,8967,9.345,8969,4.454,8980,3.543,8987,7.683,8989,4.955,9345,4.167,10075,7.516,10258,5.235,10259,5.235,11685,4.649,11828,4.649,11832,8.899,11834,4.911,12844,5.993,13663,7.127,13921,7.256,13922,7.256,14561,4.911,15509,4.911,17813,6.58,18940,4.911,18942,6.58,18949,4.649,18950,4.649,18968,4.911,18980,11.041,18996,12.219,18997,9.328,18998,7.843,18999,7.843,19000,7.843,19001,7.843,19002,7.843,19003,5.308,19004,7.843,19005,5.308,19006,7.843,19007,5.308,19008,7.843,19009,7.843,19010,5.308,19011,7.843,19012,5.308,19013,5.308,19014,5.308,19015,5.308,19016,5.308,19017,5.308,19018,5.308,19019,5.308,19020,5.308,19021,5.308,19022,5.308,19023,5.308,19024,5.308,19025,5.308,19026,5.308,19027,5.308,19028,5.308,19029,5.308,19030,5.308,19031,5.308,19032,9.328,19033,5.308,19034,7.843,19035,4.911,19036,5.308,19037,5.308,19038,5.308,19039,5.308,19040,5.308,19041,7.843,19042,5.308,19043,5.308,19044,5.308,19045,5.308,19046,5.308,19047,5.308,19048,5.308,19049,5.308,19050,5.308,19051,5.308,19052,5.308]],["title/interfaces/SanisSonstigeGruppenzugehoerigeResponse.html",[105,0.702,11832,5.557]],["body/interfaces/SanisSonstigeGruppenzugehoerigeResponse.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.157,47,0.909,95,0.121,101,0.016,103,0.001,104,0.001,105,1.04,107,2.387,112,0.927,276,4.407,975,4.954,11832,9.811,18037,7.264,18934,7.413,18941,7.264,18947,9.401,18948,9.401,18949,11.745,18950,11.745,19035,12.407]],["title/classes/SaveH5PEditorParams.html",[0,0.232,11451,5.119]],["body/classes/SaveH5PEditorParams.html",[0,0.446,2,0.839,3,0.017,4,0.017,5,0.009,7,0.109,26,2.054,27,0.313,30,0.001,32,0.098,47,0.925,95,0.154,99,1.233,101,0.02,103,0.001,104,0.001,112,0.772,138,1.36,148,2.354,150,1.707,154,1.538,245,3.615,247,3.265,248,4.521,249,3.947,271,4.205,808,5.112,809,7.091,839,3.749,852,3.538,1105,5.044,1108,6.76,1150,7.55,1218,3.814,2024,3.538,2171,5.497,2922,5.779,3632,3.5,4260,9.272,4263,8.656,5663,5.238,5833,7.347,5883,4.359,5930,8.182,5933,3.519,7299,6.841,10530,4.583,11405,6.544,11443,5.667,11444,5.966,11448,7.922,11449,5.667,11450,5.667,11451,7.525,11452,5.807,11453,5.966,11454,5.667,11455,5.966,19053,7.599]],["title/interfaces/ScanResult.html",[105,0.702,1203,4.393]],["body/interfaces/ScanResult.html",[3,0.021,4,0.021,5,0.01,7,0.134,30,0.001,32,0.162,33,0.654,47,1.007,55,1.907,101,0.019,103,0.001,104,0.001,105,1.278,107,2.195,112,0.881,119,2.766,990,4.459,1172,7.565,1181,7.024,1183,9.325,1185,7.188,1187,7.47,1196,6.555,1200,8.184,1201,7.84,1202,7.565,1203,7.371,1204,8.573,1205,8.573]],["title/classes/ScanResultDto.html",[0,0.232,10767,5.759]],["body/classes/ScanResultDto.html",[0,0.324,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,27,0.519,29,0.756,30,0.001,31,0.544,32,0.163,33,0.459,47,0.82,95,0.114,101,0.015,103,0.001,104,0.001,112,0.894,154,1.935,181,3.162,347,4.552,379,1.207,381,3.241,1986,5.539,1987,6.484,6419,6.151,6440,8.298,10677,8.553,10680,7.133,10681,7.133,10767,11.306,19054,13.14,19055,9.565,19056,11.684,19057,9.565]],["title/classes/ScanResultParams.html",[0,0.232,6485,4.582]],["body/classes/ScanResultParams.html",[0,0.455,2,0.695,3,0.014,4,0.019,5,0.01,7,0.09,26,2.483,27,0.423,30,0.001,32,0.162,33,0.585,39,1.72,47,0.959,95,0.149,99,1.021,101,0.021,103,0,104,0,105,0.644,112,0.679,119,2.122,138,1.838,143,1.396,147,4.793,148,1.95,149,4.295,150,1.414,151,5.92,153,1.442,154,1.273,245,3.575,247,2.704,248,4.867,249,4.362,348,3.167,808,4.828,809,6.124,839,3.19,852,2.93,988,2.742,990,3.513,1079,3.717,1147,2.694,1203,6.572,1204,6.754,1205,6.754,1262,2.196,2739,4.656,2922,4.918,3632,2.899,4266,2.126,5826,6.409,5933,2.914,6088,6.622,6419,5.22,6432,7.334,6438,6.124,6467,4.338,6468,4.415,6469,4.415,6472,7.846,6475,4.338,6476,8.14,6477,7.821,6478,7.821,6479,4.415,6480,4.338,6481,4.338,6482,4.415,6483,4.267,6484,6.013,6485,5.92,6486,4.267,6487,4.338,6488,4.267,6489,4.267,6490,4.028,6491,4.415,6492,4.415,6493,4.415,6494,4.028,6495,4.028,6496,4.14,6497,4.201,6498,4.415,19058,10.27,19059,6.294,19060,6.294,19061,6.294]],["title/entities/SchoolEntity.html",[154,1.389,644,3.196]],["body/entities/SchoolEntity.html",[0,0.293,3,0.01,4,0.01,5,0.005,7,0.124,27,0.522,30,0.001,31,0.551,32,0.162,33,0.641,47,0.901,83,2.516,95,0.131,96,1.252,101,0.016,102,2.373,103,0,104,0,105,0.479,112,0.662,119,2.153,128,1.909,133,2.475,138,2.269,143,3.068,144,4.353,145,2.713,154,1.445,155,1.53,160,6.131,172,4.01,173,1.362,175,2.092,178,1.862,180,0.817,181,1.268,182,1.489,236,1.163,261,3.42,480,1.303,486,1.411,556,1.756,593,1.745,644,3.325,655,5.276,742,2.573,839,1.455,992,3.286,1717,2.244,1723,4.383,2044,1.819,2351,4.841,2562,4.412,2670,5.81,2673,3.922,2677,3.922,2678,5.606,3135,4.57,3136,4.059,4326,3.286,4332,3.829,4342,2.071,4392,6.46,4409,3.58,4410,5.606,4580,6.851,5094,4.007,6713,7.18,6721,6.46,6728,4.334,6735,4.631,6786,4.404,6805,5.456,6806,3.494,7000,4.841,7119,2.795,7120,4.404,8989,6.114,8993,3.494,8994,5.781,9006,4.752,9007,3.494,10327,7.22,10669,2.96,10926,6.489,11376,6.954,12405,5.606,13008,5.606,13009,3.93,13010,7.395,13011,7.06,13012,6.67,13013,6.918,13014,8.187,13015,3.793,13016,3.793,13017,3.93,13018,3.793,13019,3.93,13020,3.93,13021,5.991,13022,3.93,13023,3.93,13024,3.93,13025,3.93,13026,3.93,13027,3.93,13028,3.93,13029,3.93,13030,7.005,13031,3.93,13032,3.93,13033,7.835,13034,5.991,13035,5.991,13036,5.991,13037,5.009,13038,5.606,13039,3.494,13040,3.793,13041,3.93,13042,5.991,13043,3.58,13044,3.93,13045,3.93,13046,5.781,13047,3.793,13048,3.349,13049,3.93,19062,4.685,19063,4.685,19064,4.685,19065,4.685,19066,4.685,19067,4.685,19068,4.685,19069,4.685,19070,4.685,19071,4.685,19072,4.685,19073,4.334,19074,4.685]],["title/classes/SchoolExternalTool.html",[0,0.232,1898,3.681]],["body/classes/SchoolExternalTool.html",[0,0.239,2,0.781,3,0.016,4,0.016,5,0.008,7,0.101,8,1.166,27,0.549,29,0.969,30,0.001,31,0.698,32,0.17,33,0.62,34,1.826,35,0.859,47,0.956,55,2.501,95,0.14,101,0.015,103,0.001,104,0.001,105,0.724,112,0.736,180,1.676,181,2.601,347,4.229,349,0.731,379,0.892,381,2.396,382,2.112,564,4.414,1147,2.92,1746,6.853,1898,5.155,1929,3.468,1986,4.095,1987,4.794,2044,2.745,2642,7.709,4266,3.959,4342,3.126,4343,4.135,4344,5.273,5451,8.378,5453,7.64,5951,5.551,5955,8.956,5963,5.158,5965,5.551,5966,4.72,5967,5.054,5968,5.403,5975,4.72,5976,5.158,5977,6.871,5978,5.273,7502,8.328,9314,6.437,9469,5.158,9470,5.551,19075,11.688,19076,9.833,19077,9.613,19078,7.071,19079,7.071,19080,7.071,19081,7.071,19082,7.071,19083,7.071]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.232,19084,5.759]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.313,2,1.021,3,0.02,4,0.02,5,0.01,7,0.133,27,0.471,29,0.73,30,0.001,31,0.526,32,0.161,33,0.443,95,0.136,101,0.014,103,0.001,104,0.001,112,0.875,138,1.653,150,2.076,245,2.933,284,4.03,379,1.166,556,2.271,564,4.056,654,2.775,814,6.481,817,6.562,819,4.648,834,5.033,1077,7.662,2079,5.739,2546,5.691,2548,4.372,5988,8.98,5989,8.547,19084,9.596,19085,11.493,19086,11.156]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.232,19086,5.557]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.262,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,26,2.326,27,0.534,29,0.96,30,0.001,31,0.692,32,0.171,33,0.548,47,0.853,55,2.082,95,0.136,99,1.254,101,0.012,103,0.001,104,0.001,112,0.781,138,2.26,149,4.4,150,1.737,245,3.444,379,0.975,556,1.9,564,4.133,819,3.889,1130,4.394,2044,3,2079,5.937,2546,6.061,2548,4.455,5111,6.174,5975,5.159,5990,7.15,5991,8.013,5992,6.494,5994,9.44,5996,7.15,5997,7.15,5998,7.15,5999,9.538,6000,9.44,6001,7.15,6002,6.769,6003,6.484,6004,7.15,6007,7.15,6008,5.083,6009,7.15,6010,7.15,6011,6.068,6012,7.15,19085,12.239,19086,10.225]],["title/entities/SchoolExternalToolEntity.html",[154,1.389,6034,5.007]],["body/entities/SchoolExternalToolEntity.html",[0,0.261,3,0.017,4,0.017,5,0.009,7,0.11,27,0.499,30,0.001,32,0.157,55,2.326,95,0.15,96,2.058,101,0.016,103,0.001,104,0.001,105,0.788,112,0.779,138,2.171,143,2.69,154,2.059,155,2.514,172,3.562,173,2.239,174,3.891,178,3.061,180,1.342,181,2.083,182,2.448,564,4.317,644,5.873,654,3.644,1732,5.337,2548,4.085,4326,5.401,4332,5.458,4333,4.595,5094,5.617,5453,7.165,5977,5.504,5978,5.742,6026,6.233,6032,9.639,6034,7.425,6037,6.46,6038,4.994,6792,4.805,6793,4.644,7000,5.22,7502,7.873,9219,8.671,11726,5.401,12862,8.24,13000,8.539,13001,11.67,13002,10.624,13003,7.123,13004,7.123,13005,7.123,13006,7.123,13007,7.123,19087,7.7,19088,7.7,19089,7.7,19090,7.7]],["title/classes/SchoolExternalToolFactory.html",[0,0.232,19091,6.35]],["body/classes/SchoolExternalToolFactory.html",[0,0.167,2,0.544,3,0.011,4,0.011,5,0.006,7,0.071,8,0.9,27,0.539,29,1.052,30,0.001,31,0.746,32,0.173,33,0.607,34,1.24,35,1.486,47,0.748,55,2.37,59,3.281,95,0.118,101,0.008,103,0,104,0,112,0.568,120,3.144,133,2.572,140,2.707,153,2.045,154,1.806,155,2.423,177,1.383,180,1.294,236,0.803,271,4.698,319,3.144,347,1.778,349,0.767,379,0.622,382,3.874,413,2.241,437,0.978,447,7.009,448,4.542,449,5.5,452,4.11,453,5.5,454,5.535,455,4.11,456,4.11,457,4.11,458,4.043,459,4.52,460,4.943,461,6.61,462,5.803,463,6.97,464,2.753,469,2.729,470,4.11,471,2.753,472,5.171,473,5.326,474,4.228,475,5.03,476,4.076,477,2.729,478,2.585,479,4.125,480,3.467,481,2.664,482,2.623,483,2.729,484,5.099,485,2.753,486,3.601,487,4.862,488,2.729,489,7.102,490,4.255,491,6.62,492,2.753,493,3.64,494,2.729,495,2.753,496,2.729,497,2.753,498,2.729,501,2.729,502,6.098,503,2.753,504,2.729,505,4.11,506,3.863,507,4.11,508,2.753,509,2.643,510,2.623,511,2.19,512,2.729,513,2.729,514,2.729,515,2.753,516,2.753,517,1.863,518,2.729,519,1.518,520,2.753,521,2.938,522,2.729,523,2.753,525,2.828,526,2.882,527,2.911,564,2.788,708,1.975,1898,2.643,1901,2.448,2642,4.881,4266,3.355,4374,6.261,4376,3.523,5451,3.523,5453,2.911,5459,4.135,6049,3.99,6054,3.87,6127,3.523,9314,4.076,19076,4.135,19091,8.257,19092,7.421,19093,7.421,19094,7.421,19095,4.929,19096,4.929,19097,4.929]],["title/classes/SchoolExternalToolIdParams.html",[0,0.232,19098,5.389]],["body/classes/SchoolExternalToolIdParams.html",[0,0.401,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.403,30,0.001,32,0.127,47,0.832,95,0.141,101,0.015,103,0.001,104,0.001,112,0.907,138,1.753,142,4.62,143,2.629,144,3.189,145,3.323,148,3.034,150,2.201,245,3.04,256,7.001,564,4.139,808,4.693,2548,3.992,5993,9.299,6058,8.218,6059,8.578,7502,7.398,19098,9.307,19099,9.597]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.193,708,2.287,19098,4.48]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.404,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,26,2.609,27,0.408,30,0.001,32,0.128,95,0.153,99,1.609,101,0.015,103,0.001,104,0.001,112,0.914,138,1.774,148,3.071,150,2.228,245,3.063,256,7.087,564,3.731,808,4.728,2546,5.471,2548,4.021,5993,9.348,6061,7.232,6062,8.026,19098,9.375,19100,11.047]],["title/modules/SchoolExternalToolModule.html",[201,1.848,6068,5.389]],["body/modules/SchoolExternalToolModule.html",[0,0.295,3,0.019,4,0.019,5,0.01,30,0.001,95,0.151,101,0.013,103,0.001,104,0.001,201,3.255,203,3.163,204,3.392,205,3.488,206,3.474,207,3.46,208,4.472,209,4.588,218,4.416,219,3.419,220,3.34,225,4.38,226,1.272,560,3.577,564,3.777,2548,2.931,5134,5.041,5429,9.77,5439,7.047,6067,10.234,6068,11.205,6308,9.449,7502,5.432,19101,8.705,19102,8.705,19103,8.705,19104,8.705,19105,11.877,19106,8.705]],["title/classes/SchoolExternalToolPostParams.html",[0,0.232,19107,5.759]],["body/classes/SchoolExternalToolPostParams.html",[0,0.396,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,27,0.51,29,0.926,30,0.001,32,0.173,33,0.506,47,0.87,55,2.152,95,0.147,101,0.013,103,0.001,104,0.001,112,0.807,138,2.217,143,1.803,148,2.518,149,4.063,150,1.827,245,3.177,248,4.673,249,4.127,363,4.581,564,4.324,808,4.635,1130,4.622,1142,5.074,2406,4.541,2548,4.323,3493,7.54,4266,3.955,5111,6.328,5590,6.505,6074,7.522,6080,9.81,6081,6.821,6082,6.821,6083,6.821,6085,7.522,6086,7.522,6088,5.943,7502,8.012,9314,6.43,19099,10.393,19107,8.849,19108,8.131,19109,9.758,19110,8.131,19111,8.131,19112,8.131]],["title/interfaces/SchoolExternalToolProps.html",[105,0.702,19076,5.759]],["body/interfaces/SchoolExternalToolProps.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.113,29,1.005,30,0.001,31,0.724,32,0.172,33,0.626,34,2.048,47,0.994,55,2.595,95,0.146,101,0.016,103,0.001,104,0.001,105,0.808,107,1.854,112,0.792,180,1.376,181,2.136,347,4.589,349,0.816,564,3.232,1147,2.398,1746,6.05,1898,4.233,1929,3.872,1986,4.572,1987,5.352,2044,3.064,2642,8.364,4266,4.296,4342,3.49,4343,4.616,4344,5.887,5451,9.09,5453,7.854,5951,6.197,5955,6.032,5965,6.197,5966,5.269,5967,5.643,5968,6.032,5975,5.269,5976,5.758,5977,7.396,5978,5.887,7502,4.926,9314,6.984,9469,5.758,9470,6.197,19075,6.914,19076,9.684]],["title/classes/SchoolExternalToolRefDO.html",[0,0.232,5961,5.557]],["body/classes/SchoolExternalToolRefDO.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,27,0.515,29,0.74,30,0.001,31,0.533,32,0.162,33,0.599,47,0.916,101,0.015,103,0.001,104,0.001,112,0.883,181,3.121,379,1.182,381,3.174,564,4.361,2548,4.393,4266,4.222,4343,5.477,4344,6.985,5961,10.845,6053,9.118,6193,8.665,7502,8.141,19075,11.425,19113,9.366,19114,11.535,19115,9.366,19116,9.366]],["title/injectables/SchoolExternalToolRepo.html",[539,0.921,1807,5.119]],["body/injectables/SchoolExternalToolRepo.html",[0,0.133,3,0.009,4,0.009,5,0.004,7,0.056,8,0.755,10,2.527,12,2.795,18,3.113,26,2.26,27,0.542,29,1.04,30,0.001,31,0.744,32,0.169,33,0.627,34,1.471,35,1.577,36,2.734,40,1.893,47,0.802,95,0.145,96,1.664,97,1.636,99,0.637,101,0.006,103,0,104,0,112,0.301,133,2.158,154,1.781,155,2.526,173,1.142,177,1.16,180,1.086,236,1.26,262,2.966,310,2.701,349,1.235,379,0.496,381,1.331,382,3.685,437,1.575,448,3.139,519,1.21,539,0.836,541,0.944,564,3.853,603,2.458,608,1.793,644,1.829,654,2.324,680,4.222,686,2.853,687,4.737,718,2.107,740,5.912,1341,1.26,1665,4.454,1807,4.645,1898,6.7,1901,1.952,2000,2.254,2299,8.795,2301,4.452,2302,4.452,2303,4.452,2304,4.452,2305,4.369,2306,4.369,2307,4.452,2308,4.369,2309,4.452,2310,2.866,2311,5.004,2312,3.649,2313,4.012,2315,4.543,2316,2.808,2318,5.098,2319,2.808,2321,2.808,2323,6.224,2324,4.369,2325,2.808,2327,2.808,2329,4.452,2333,4.452,2335,4.222,2336,4.369,2338,2.808,2340,2.37,2341,2.423,2342,2.808,2344,2.808,2346,2.756,2347,2.808,2353,2.664,2364,5.333,2365,5.77,2387,5.225,2400,3.441,2548,2.605,2627,1.952,4266,2.613,4446,2.452,4581,2.93,4743,3.29,5453,3.678,5558,3.152,6034,8.998,6038,4.039,6091,3.441,6092,5.762,6097,5.762,6105,5.225,6114,2.866,6115,2.866,6116,2.866,6117,2.866,6118,2.866,6119,2.866,6120,2.866,6121,2.866,6122,2.866,6126,2.808,6127,5.53,6128,3.181,6129,3.441,6130,3.002,6132,3.607,6133,3.635,6134,2.708,6141,3.635,6147,3.635,6154,3.635,6155,3.635,7521,2.452,9219,2.808,9314,5.271,9546,3.635,9547,3.002,9548,3.635,13000,8.567,13002,3.441,15594,3.296,19117,10.267,19118,6.228,19119,6.228,19120,5.762,19121,9.898,19122,3.929,19123,8.943,19124,6.228,19125,3.929,19126,3.929,19127,3.929,19128,6.228,19129,3.929,19130,5.762,19131,3.929,19132,3.929,19133,3.929,19134,3.929,19135,3.929,19136,3.929,19137,3.929,19138,3.929,19139,3.181,19140,3.929,19141,3.441,19142,3.441,19143,3.929,19144,3.929]],["title/injectables/SchoolExternalToolRequestMapper.html",[539,0.921,19145,5.759]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,8,1.306,27,0.444,29,0.94,30,0.001,31,0.677,32,0.139,33,0.516,35,1.309,95,0.149,101,0.013,103,0.001,104,0.001,141,3.932,226,1.227,349,1.23,480,2.337,539,1.446,541,2.018,564,4.215,603,2.447,790,4.226,2548,4.004,2642,7.821,4266,2.837,5453,4.961,5966,5.606,6080,9.91,6126,6.004,6161,6.594,6163,10.414,6167,7.356,6169,9.037,6176,7.77,6177,7.356,6178,7.047,6179,7.356,7502,7.421,8450,7.77,9314,4.613,19107,10.523,19145,9.037,19146,11,19147,10.771,19148,10.771,19149,8.399,19150,10.414,19151,7.356,19152,8.399,19153,8.399,19154,8.399]],["title/classes/SchoolExternalToolResponse.html",[0,0.232,19155,5.557]],["body/classes/SchoolExternalToolResponse.html",[0,0.234,2,0.764,3,0.015,4,0.015,5,0.008,7,0.099,27,0.547,29,0.918,30,0.001,31,0.661,32,0.174,33,0.518,34,1.805,47,0.943,55,1.932,95,0.129,101,0.011,103,0.001,104,0.001,112,0.725,131,2.624,138,2.343,149,4.159,150,1.554,245,3.532,347,3.896,363,3.896,379,0.873,404,2.782,556,1.7,564,4.442,819,3.479,824,2.453,839,2.148,1130,3.931,1986,4.004,2044,2.684,2079,3.057,2921,4.084,3810,5.428,4266,3.647,4343,4.043,5453,6.377,5975,4.615,5977,4.942,5992,6.137,6008,4.548,6181,6.056,6182,7.665,6183,8.292,6184,6.056,6185,6.056,6186,6.056,6187,6.056,6188,9.116,6189,6.056,6190,6.056,6191,6.056,6192,5.283,6198,6.056,6199,6.397,6200,6.056,7502,8.386,9314,5.929,9469,5.044,9752,6.056,17937,6.397,19099,10.878,19155,9.846,19156,10.204,19157,6.056,19158,6.914,19159,6.914,19160,6.914]],["title/injectables/SchoolExternalToolResponseMapper.html",[539,0.921,19161,5.759]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.252,3,0.016,4,0.016,5,0.008,7,0.107,8,1.207,27,0.462,29,0.946,30,0.001,31,0.71,32,0.145,33,0.538,34,1.245,35,1.362,95,0.153,101,0.012,103,0.001,104,0.001,131,2.825,226,1.088,236,1.621,347,3.592,349,1.16,437,0.982,480,2.071,539,1.336,541,1.789,564,4.214,603,2.307,782,4.443,790,3.746,1778,2.925,1898,7.233,1955,6.521,2548,4.031,2642,8.443,3731,4.97,4266,2.515,5453,4.398,5539,6.028,5966,4.97,6089,5.69,6188,9.398,6206,6.521,6214,6.247,6215,6.889,7502,7.47,9060,6.028,9083,6.247,9087,6.521,9314,4.089,9583,6.889,9642,6.889,9643,6.889,9644,6.889,11935,5.432,19146,11.074,19155,9.691,19156,6.247,19161,8.351,19162,9.954,19163,9.954,19164,9.954,19165,9.954,19166,7.446,19167,9.954,19168,9.954,19169,6.889,19170,9.408,19171,7.446,19172,7.446,19173,7.446,19174,7.446,19175,7.446,19176,7.446,19177,7.446,19178,7.446,19179,6.889]],["title/injectables/SchoolExternalToolRule.html",[539,0.921,1769,5.759]],["body/injectables/SchoolExternalToolRule.html",[0,0.248,3,0.016,4,0.016,5,0.008,7,0.105,8,1.194,27,0.458,29,0.879,30,0.001,31,0.633,32,0.154,33,0.533,35,1.196,95,0.152,101,0.011,103,0.001,104,0.001,119,2.64,131,4.22,154,2.72,177,1.365,226,1.07,239,3.184,345,2.336,349,1.018,379,0.924,437,0.966,539,1.321,541,1.76,564,3.992,604,4.57,662,3.969,1147,2.225,1670,6.478,1697,7.973,1718,4.418,1735,7.96,1769,8.26,1875,4.751,1879,6.144,1886,6.572,1898,7.116,1901,3.638,3411,6.572,3412,4.966,3415,6.476,3418,4.966,3419,6.675,3420,7.343,6034,9.806,6038,4.751,6127,7.038,6234,6.777,6235,6.777,6236,6.777,6237,6.777,6238,7.038,19139,5.93,19180,11.892,19181,6.777]],["title/classes/SchoolExternalToolScope.html",[0,0.232,19123,6.012]],["body/classes/SchoolExternalToolScope.html",[0,0.253,2,0.826,3,0.016,4,0.016,5,0.008,7,0.107,8,1.21,26,2.671,27,0.54,29,0.948,30,0.001,31,0.682,32,0.17,33,0.575,35,1.212,95,0.134,99,1.213,101,0.012,103,0.001,104,0.001,112,0.764,119,2.321,180,1.739,310,3.241,349,1.032,382,3.731,480,2.079,486,2.251,519,2.302,556,3.277,564,3.745,603,2.644,654,2.245,2350,6.635,2548,2.517,4266,3.795,5558,5.499,6034,5.452,6038,4.847,6127,5.342,6241,6.545,6242,6.661,6243,6.661,6244,6.661,6249,6.661,6250,6.661,6251,5.067,6252,4.988,6253,5.067,6254,5.067,6263,4.988,6264,6.661,6265,5.067,6266,4.988,6267,5.067,6268,4.988,6269,6.661,9314,6.17,9803,6.914,10846,8.739,10855,8.739,17941,9.232,17945,9.232,19117,10.393,19123,8.739,19182,7.473,19183,7.473]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.232,19170,5.759]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.314,2,1.025,3,0.02,4,0.02,5,0.01,7,0.133,27,0.472,29,0.734,30,0.001,31,0.528,32,0.161,33,0.445,95,0.137,101,0.014,103,0.001,104,0.001,112,0.878,138,1.661,150,2.085,245,2.942,284,4.035,379,1.171,556,2.282,564,4.309,654,2.788,813,8.732,814,6.51,817,6.58,819,4.67,834,5.056,2548,4.192,5988,9.005,6271,8.128,7502,7.769,19099,10.078,19155,11.167,19170,9.623]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.232,19184,6.012]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.405,2,1.098,3,0.022,4,0.022,5,0.011,7,0.143,27,0.409,30,0.001,32,0.129,47,0.84,95,0.142,101,0.015,103,0.001,104,0.001,112,0.915,138,1.778,148,3.078,150,2.233,245,3.067,248,4.773,564,4.159,808,4.734,2548,4.027,4266,4.333,7502,7.463,9807,8.704,9810,8.704,19099,9.682,19109,9.194,19184,10.474]],["title/injectables/SchoolExternalToolService.html",[539,0.921,6308,4.582]],["body/injectables/SchoolExternalToolService.html",[0,0.188,3,0.012,4,0.012,5,0.006,7,0.08,8,0.984,12,3.642,26,2.382,27,0.51,29,0.979,30,0.001,31,0.719,32,0.16,33,0.594,35,1.468,36,2.817,95,0.147,99,0.902,101,0.009,103,0,104,0,177,1.512,226,0.813,227,2.305,236,0.906,262,3.013,310,2.412,347,2.929,349,1.159,379,1.024,437,1.477,539,1.089,541,1.336,564,4.339,603,2.675,608,2.869,933,3.08,1778,2.185,1807,8.724,1898,7.537,1901,2.763,1929,2.728,2548,3.548,2627,6.373,4266,1.879,5446,4.503,5451,7.531,5993,5.921,6126,3.976,6285,5.146,6287,5.146,6308,5.418,6315,3.56,6324,3.431,6349,7.45,7502,7.88,9065,6.851,9150,4.872,9418,4.25,9782,4.872,19121,9.747,19151,4.872,19185,11.682,19186,8.117,19187,8.117,19188,8.117,19189,8.117,19190,7.509,19191,8.117,19192,5.562,19193,5.562,19194,5.562,19195,8.117,19196,5.562,19197,8.117,19198,5.562,19199,8.117,19200,5.562,19201,8.117,19202,8.117,19203,5.562,19204,8.117,19205,5.562,19206,5.562,19207,5.562,19208,5.146,19209,5.562,19210,8.117,19211,5.562,19212,5.562,19213,5.562,19214,5.562,19215,8.866,19216,5.562,19217,5.562]],["title/injectables/SchoolExternalToolUc.html",[539,0.921,19218,5.759]],["body/injectables/SchoolExternalToolUc.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.892,26,2.821,27,0.476,29,0.915,30,0.001,31,0.659,32,0.15,33,0.555,34,0.814,35,1.354,36,2.74,39,3.332,47,0.622,95,0.142,99,0.79,101,0.008,103,0,104,0,131,5.001,177,1.839,226,0.712,236,1.443,262,2.971,305,2.82,310,3.842,349,1.021,379,0.928,437,1.686,539,0.987,541,1.17,560,2.001,564,4.203,603,2.38,608,3.028,643,3.3,933,4.072,1670,6.641,1675,2.969,1778,1.913,1898,7.381,2531,2.255,2548,2.476,3044,2.744,4266,1.645,5993,9.062,6069,7.503,6126,3.481,6300,4.265,6307,8.628,6308,7.438,6309,4.505,6315,7.403,6323,3.823,6324,3.003,7502,7.433,9100,7.76,9110,4.265,9125,3.721,9126,9.804,9127,4.505,9145,6.441,9146,9.804,9150,4.265,9954,6.803,19105,9.706,19150,11.632,19190,6.803,19208,6.803,19215,6.803,19218,6.17,19219,11.91,19220,8.197,19221,6.803,19222,6.803,19223,8.197,19224,4.505,19225,4.87,19226,4.87,19227,4.87,19228,7.354,19229,4.87,19230,4.87,19231,7.354,19232,9.871,19233,7.354,19234,4.87,19235,4.87,19236,4.87,19237,4.87,19238,7.354,19239,4.87,19240,4.87,19241,4.87,19242,4.87]],["title/injectables/SchoolExternalToolValidationService.html",[539,0.921,19105,5.759]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.257,3,0.017,4,0.017,5,0.009,7,0.109,8,1.223,27,0.466,29,0.896,30,0.001,31,0.645,32,0.147,33,0.543,35,1.226,36,2.162,55,2.634,95,0.154,101,0.012,103,0.001,104,0.001,177,1.88,226,1.11,236,1.238,262,2.501,274,4.583,283,6.223,340,3.683,361,4.32,379,1.273,437,1.002,519,3.108,529,2.169,539,1.354,541,1.826,564,4.273,603,2.584,608,1.761,1123,6.544,1778,2.985,1898,7.065,1901,3.774,2548,4.064,2627,5.626,5111,5.453,5436,10.343,5463,5.966,5476,6.655,6324,4.687,6349,7.963,6354,5.966,6359,7.03,7502,7.531,9105,5.966,9147,5.543,19105,8.465,19185,11.164,19243,10.09,19244,7.599,19245,10.09,19246,12.56,19247,7.599,19248,11.328,19249,10.09,19250,7.599,19251,7.599,19252,7.599,19253,7.599,19254,7.599]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.232,17319,6.012]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,8,1.37,27,0.465,29,0.716,30,0.001,31,0.515,32,0.117,33,0.434,35,1.1,95,0.134,100,3.078,101,0.014,103,0.001,104,0.001,177,1.687,284,2.734,292,4.585,345,2.887,349,0.936,379,1.143,654,2.719,975,6.595,1025,3.584,1147,3.43,1338,5.7,1339,6.364,1341,2.904,1343,6.403,3083,6.472,8829,6.409,8830,6.653,8956,9.85,8959,7.929,11772,7.929,17319,9.892,19255,12.311,19256,8.376,19257,8.376,19258,8.376,19259,8.376,19260,7.929,19261,9.054,19262,9.054,19263,9.054]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.232,19264,6.35]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.283,2,0.924,3,0.018,4,0.018,5,0.009,7,0.12,8,1.303,26,2.55,27,0.442,29,0.661,30,0.001,31,0.476,32,0.108,33,0.401,34,2.216,35,1.016,47,0.931,59,2.576,95,0.128,99,1.357,101,0.013,103,0.001,104,0.001,177,2.211,239,3.035,284,2.526,349,0.865,361,7.119,379,1.356,603,2.442,654,3.982,1025,3.312,1147,3.263,1338,5.495,1339,6.135,1341,2.683,1343,6.22,4266,4.23,4343,4.891,4565,5.353,8829,6.178,8830,6.414,12597,7.018,13674,6.772,19264,9.939,19265,10.394,19266,8.365,19267,8.365,19268,11.868,19269,8.365,19270,11.868,19271,8.365,19272,8.365,19273,8.365]],["title/classes/SchoolIdParams.html",[0,0.232,19274,5.389]],["body/classes/SchoolIdParams.html",[0,0.405,2,1.101,3,0.022,4,0.022,5,0.011,7,0.143,26,2.615,27,0.41,30,0.001,32,0.129,95,0.153,99,1.616,101,0.015,103,0.001,104,0.001,112,0.917,128,4.88,138,1.783,148,3.086,150,2.238,245,3.072,256,7.121,808,4.741,4266,4.338,4565,5.402,5663,6.867,6062,8.066,19274,9.403,19275,11.976]],["title/classes/SchoolIdParams-1.html",[0,0.193,708,2.287,19274,4.48]],["body/classes/SchoolIdParams-1.html",[0,0.407,2,1.106,3,0.022,4,0.022,5,0.011,7,0.144,26,2.62,27,0.412,30,0.001,32,0.13,95,0.153,99,1.624,101,0.016,103,0.001,104,0.001,112,0.919,138,1.791,148,3.101,150,2.249,245,3.081,256,7.156,808,4.755,2546,5.503,4266,4.347,6061,7.303,6062,8.105,19100,11.113,19274,9.43]],["title/classes/SchoolInMigrationError.html",[0,0.232,16506,6.012]],["body/classes/SchoolInMigrationError.html",[0,0.264,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,27,0.546,29,0.617,30,0.001,31,0.444,32,0.178,33,0.55,35,0.948,47,0.806,52,4.947,55,1.592,59,2.403,95,0.122,101,0.012,103,0.001,104,0.001,112,0.786,128,4.184,138,2.267,177,2.56,180,1.79,182,2.481,226,1.14,239,1.829,340,3.781,347,2.816,379,0.985,382,3.886,595,6.333,654,2.344,821,5.647,824,2.768,951,5.373,988,5.313,990,4.172,1025,4.544,1269,8.396,1270,7.269,1271,3.799,1272,7.344,1276,5.061,1277,4.358,1278,5.061,1279,5.061,1280,5.061,1281,5.061,1282,5.061,1283,4.706,1284,4.436,1290,4.93,1696,7.219,2493,5.132,3526,5.819,7275,4.87,14573,5.819,14608,8.615,16506,8.993,19276,10.268,19277,6.834,19278,7.803]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.232,19279,6.35]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.309,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,8,1.377,27,0.468,29,0.722,30,0.001,31,0.52,32,0.118,33,0.438,35,1.11,47,0.868,52,6.229,95,0.109,101,0.014,103,0.001,104,0.001,177,1.702,239,2.897,284,2.759,345,2.912,349,0.945,379,1.153,654,2.744,1025,3.617,1147,3.45,1338,5.724,1339,6.39,1341,2.93,1343,6.423,3291,5.57,4565,5.575,8829,6.435,8830,6.68,13219,9.218,19265,10.825,19279,10.507,19280,9.135,19281,9.135,19282,9.135,19283,9.135,19284,8.451]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.232,19285,6.35]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.29,2,0.947,3,0.019,4,0.019,5,0.01,7,0.123,8,1.324,26,2.574,27,0.449,29,0.678,30,0.001,31,0.488,32,0.111,33,0.411,35,1.042,39,2.983,47,0.843,52,6.089,95,0.13,99,1.391,101,0.013,103,0.001,104,0.001,119,2.481,177,2.237,191,4.672,239,2.814,284,2.59,321,6.256,349,0.887,379,1.378,603,2.471,654,3.279,1025,3.395,1147,3.315,1338,5.56,1339,6.207,1341,2.751,1343,6.278,1351,5.562,4565,5.416,4753,5.814,8829,6.251,8830,6.49,11321,6.943,13219,9.426,13593,11.109,19265,10.517,19284,7.934,19285,10.099,19286,7.934,19287,7.934,19288,8.576,19289,8.576,19290,8.576]],["title/classes/SchoolInfoMapper.html",[0,0.232,16032,6.012]],["body/classes/SchoolInfoMapper.html",[0,0.328,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,8,1.427,27,0.399,29,0.765,30,0.001,31,0.67,32,0.125,33,0.464,34,1.618,35,1.176,95,0.14,99,1.57,100,4.001,101,0.015,103,0.001,104,0.001,236,1.577,349,1.001,413,3.83,437,1.276,644,6.143,783,6.573,790,4.87,16004,10.681,16032,10.307,19291,11.769,19292,8.476,19293,11.769,19294,8.476,19295,9.678,19296,9.678,19297,9.678]],["title/classes/SchoolInfoResponse.html",[0,0.232,16004,5.557]],["body/classes/SchoolInfoResponse.html",[0,0.304,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.505,29,0.709,30,0.001,31,0.788,32,0.159,33,0.43,34,2.289,47,0.902,95,0.107,101,0.014,103,0.001,104,0.001,112,0.86,138,2.01,150,2.016,153,2.81,154,2.6,245,3.145,253,4.429,379,1.418,404,3.611,654,3.86,774,4.576,821,4.155,2044,3.483,2162,7.045,2917,5.902,2918,6.023,2919,6.023,4424,7.859,16004,10.711,19298,12.849,19299,7.859,19300,8.302]],["title/classes/SchoolMigrationError.html",[0,0.232,19301,6.012]],["body/classes/SchoolMigrationError.html",[0,0.26,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,8,1.233,27,0.544,29,0.608,30,0.001,31,0.437,32,0.177,33,0.546,35,0.934,47,0.8,52,4.897,55,1.568,59,3.131,95,0.121,101,0.012,103,0.001,104,0.001,112,0.778,128,4.142,138,2.256,177,2.553,180,1.772,182,2.443,226,1.123,239,1.801,340,3.724,347,2.773,379,0.97,382,3.869,595,4.74,654,3.053,821,5.613,824,2.726,951,5.333,988,5.282,990,4.147,1025,4.51,1218,2.905,1269,8.371,1270,7.232,1271,3.776,1272,7.29,1276,4.984,1277,4.292,1278,4.984,1279,4.984,1280,4.984,1281,4.984,1282,4.984,1283,4.635,1284,4.369,1290,4.855,3918,9.517,4565,4.585,7082,4.796,7275,4.796,9282,6.448,12477,5.493,14573,5.731,14608,8.529,19277,6.731,19301,8.903,19302,9.405,19303,7.685]],["title/interfaces/SchoolMigrationFlags.html",[105,0.702,19304,6.35]],["body/interfaces/SchoolMigrationFlags.html",[3,0.023,4,0.023,5,0.012,7,0.148,30,0.001,32,0.158,52,4.97,101,0.016,103,0.001,104,0.001,105,1.056,107,2.423,112,0.936,119,2.883,128,4.203,4565,4.653,19304,11.313,19305,10.317,19306,10.317,19307,13.477,19308,13.477]],["title/injectables/SchoolMigrationService.html",[539,0.921,4572,5.119]],["body/injectables/SchoolMigrationService.html",[0,0.122,3,0.008,4,0.008,5,0.004,7,0.052,8,0.707,27,0.481,29,0.923,30,0.001,31,0.664,32,0.151,33,0.56,35,1.387,36,2.547,47,0.975,52,4.437,55,2.198,59,1.114,95,0.132,99,0.587,101,0.006,103,0,104,0,119,1.513,128,4.845,143,1.293,145,2.355,177,1.565,226,0.529,227,1.499,236,1.686,262,2.882,283,2.231,292,1.832,340,1.753,349,1.071,379,0.736,437,1.636,519,2.256,529,2.81,539,0.783,541,0.869,556,2.065,579,1.94,593,3.667,603,2.581,608,2.875,654,3.34,655,4.986,696,1.404,822,4.07,936,2.315,990,2.506,1025,1.432,1218,1.368,1242,1.955,1341,1.16,1958,2.929,1959,5.306,1961,3.835,1963,2.038,1964,7.135,2166,7.77,2176,7.77,2207,2.182,2312,3.035,2313,3.828,2318,3.377,2739,3.32,3122,2.517,3134,3.373,3603,1.82,4266,3.942,4565,5.363,4572,4.348,4578,6.715,4580,6.94,4587,5.75,4590,4.348,4593,5.107,4597,2.765,4598,3.035,4699,2.929,4706,2.494,4743,1.911,4753,3.953,4822,6.115,5703,2.258,7275,2.258,7322,5.239,8176,2.84,8989,6.541,12218,2.929,13415,2.698,13925,7.456,13929,5.394,13930,5.394,14501,3.035,14583,6.127,14971,4.892,15816,8.128,16337,6.799,16992,2.765,17224,6.414,17321,9.965,17327,3.347,19309,11.89,19310,5.831,19311,5.394,19312,5.831,19313,5.831,19314,5.831,19315,5.394,19316,5.831,19317,5.831,19318,3.347,19319,5.831,19320,9.21,19321,3.618,19322,5.831,19323,8.033,19324,3.618,19325,5.831,19326,8.399,19327,3.618,19328,5.831,19329,5.831,19330,3.618,19331,5.831,19332,3.618,19333,5.831,19334,3.618,19335,5.831,19336,3.618,19337,5.831,19338,3.618,19339,3.618,19340,5.831,19341,3.618,19342,5.831,19343,3.618,19344,3.169,19345,3.618,19346,3.618,19347,3.035,19348,3.035,19349,3.347,19350,2.765,19351,3.618,19352,3.618,19353,3.618,19354,3.618,19355,3.618,19356,3.618,19357,3.618,19358,3.618,19359,5.831,19360,3.618,19361,3.618,19362,8.399,19363,6.775,19364,5.394,19365,3.618,19366,7.324,19367,3.347,19368,3.618,19369,3.618,19370,5.394,19371,3.618,19372,3.618,19373,5.831,19374,5.831,19375,3.618,19376,3.618,19377,3.618,19378,3.618,19379,5.831,19380,3.618,19381,3.618,19382,3.347,19383,3.618,19384,3.618,19385,3.618,19386,3.618,19387,3.618]],["title/entities/SchoolNews.html",[154,1.389,7130,5.245]],["body/entities/SchoolNews.html",[0,0.346,3,0.011,4,0.02,5,0.006,7,0.164,9,3.688,26,2.081,27,0.215,30,0.001,31,0.441,32,0.132,34,0.872,47,0.872,83,2.252,95,0.145,96,2.468,101,0.017,103,0,104,0,105,0.534,112,0.835,138,0.934,143,2.536,144,3.723,154,2.209,155,1.704,172,3.698,173,1.518,174,2.961,175,2.331,180,1.781,181,2.765,182,1.659,236,1.504,239,2.558,349,0.54,355,5.835,358,4.124,381,1.769,403,5.158,413,1.577,459,4.678,521,3.656,563,4.622,643,2.342,644,5.512,654,3.279,655,3.923,839,2.406,996,4.449,997,4.758,998,4.398,999,4.647,1000,5.072,1271,2.877,1289,4.777,1664,1.952,1717,3.71,1723,2.644,1739,3.568,1815,3.433,1832,2.867,1926,2.907,2255,3.531,2565,5.25,2670,4.231,2683,3.083,2739,5.885,2784,2.471,3452,3.598,3454,3.34,3455,3.661,3457,3.731,3458,3.661,3459,3.893,3473,3.115,3606,3.539,3631,3.34,4266,1.763,4358,3.988,4359,3.598,4500,3.808,5094,4.277,5174,3.808,5747,6.737,5932,2.821,5935,4.915,6683,3.661,6770,3.219,6772,2.941,6793,3.148,7000,3.539,7006,3.257,7093,3.893,7094,4.226,7096,4.723,7097,4.226,7098,6.888,7099,5.99,7100,4.226,7101,8.978,7102,5.17,7103,5.777,7104,5.777,7105,6.824,7106,7.654,7107,4.226,7108,5.537,7109,4.226,7110,3.988,7111,3.988,7112,5.024,7113,4.226,7114,3.988,7115,3.988,7116,4.226,7117,3.893,7118,4.226,7119,3.115,7120,3.219,7121,3.988,7122,4.226,7123,4.226,7124,7.251,7125,4.226,7126,7.477,7127,4.226,7128,4.226,7129,5.919,7130,5.919,7131,6.479,7132,4.098,7133,5.095,7134,3.988,7135,3.808,7136,3.988,7137,4.226,19388,5.22]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.232,19389,6.012]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.295,2,0.964,3,0.019,4,0.019,5,0.01,7,0.125,8,1.338,18,4.361,27,0.454,29,0.69,30,0.001,31,0.497,32,0.143,33,0.418,35,1.06,47,0.85,55,2.595,95,0.131,101,0.014,103,0.001,104,0.001,177,1.625,180,1.923,182,2.773,226,1.275,284,2.635,345,2.781,349,0.902,379,1.101,590,5.38,654,3.635,1025,3.454,1147,3.351,1338,5.604,1339,6.257,1341,2.798,1343,6.317,1456,5.738,3083,6.236,5703,7.553,8829,6.301,8830,6.541,8989,7.646,8993,6.506,9276,5.511,9283,5.101,9284,5.319,9292,7.062,9293,7.062,10317,7.96,14583,6.364,19389,9.664,19390,12.103,19391,12.103,19392,8.724,19393,8.724]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.232,19394,5.759]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,26,2.582,27,0.452,29,0.684,30,0.001,31,0.492,32,0.142,33,0.415,35,1.051,55,2.587,95,0.144,99,1.403,101,0.013,103,0.001,104,0.001,128,4.912,177,1.612,180,1.913,182,2.75,226,1.264,284,2.612,345,2.758,349,0.894,379,1.092,654,3.297,936,5.535,1025,3.424,1147,3.333,1338,5.582,1339,6.232,1341,2.774,1343,6.298,4266,4.072,4343,5.058,4565,5.437,5703,7.523,8829,6.276,8830,6.515,9276,5.465,9278,6.183,9283,5.058,9284,5.274,14583,6.309,19302,11.153,19394,9.208,19395,12.055,19396,8.002,19397,7.002,19398,8.649]],["title/classes/SchoolParams.html",[0,0.232,14776,6.012]],["body/classes/SchoolParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,34,1.987,47,0.835,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,245,3.049,654,3.571,808,4.707,3876,5.813,4266,4.315,10317,7.82,14776,10.413,19399,9.842,19400,9.842]],["title/classes/SchoolRolePermission.html",[0,0.232,13030,5.557]],["body/classes/SchoolRolePermission.html",[0,0.327,2,0.624,3,0.012,4,0.012,5,0.006,7,0.139,27,0.338,30,0.001,31,0.467,32,0.106,33,0.509,47,0.89,83,2.386,95,0.14,96,1.509,101,0.017,102,2.86,103,0,104,0,105,0.578,112,0.74,119,2.43,128,2.301,133,1.957,138,1.468,143,3.033,144,4.369,145,2.301,154,1.661,160,4.584,172,4.12,173,1.642,175,2.521,178,2.245,180,0.984,181,1.528,182,1.795,236,0.92,261,2.705,556,1.388,593,2.104,644,2.629,655,4.896,742,3.101,839,1.754,992,3.961,1717,2.705,1723,2.86,2044,2.192,2351,5.564,2562,4.929,2670,5.56,2673,3.101,2677,4.507,2678,6.443,3135,5.252,3136,4.665,4332,4.401,4342,2.497,4392,5.478,4409,4.315,4410,6.443,4580,6.033,5094,4.477,6713,7.314,6721,5.478,6735,3.663,6786,5.062,6805,6.271,6806,4.212,7119,3.37,7120,5.062,8989,5.185,8993,4.212,8994,6.644,9006,5.309,9007,4.212,10327,6.359,10669,3.568,10926,6.032,11376,7.083,12405,6.443,13008,6.443,13009,4.738,13010,6.271,13011,5.987,13012,5.657,13013,6.91,13014,8.407,13015,4.572,13016,4.572,13017,4.738,13018,4.572,13019,4.738,13020,4.738,13021,6.885,13022,4.738,13023,4.738,13024,4.738,13025,4.738,13026,4.738,13027,4.738,13028,4.738,13029,4.738,13030,8.591,13031,8.111,13032,8.111,13033,7.827,13034,4.738,13035,4.738,13036,4.738,13037,3.961,13038,6.443,13039,4.212,13040,4.572,13041,4.738,13042,6.885,13043,4.315,13044,4.738,13045,4.738,13046,6.644,13047,4.572,13048,4.037,13049,4.738,19401,5.647,19402,5.647]],["title/classes/SchoolRoles.html",[0,0.232,13033,5.557]],["body/classes/SchoolRoles.html",[0,0.326,2,0.62,3,0.012,4,0.012,5,0.006,7,0.138,27,0.337,30,0.001,31,0.465,32,0.106,33,0.508,47,0.889,83,2.377,95,0.14,96,1.501,101,0.017,102,2.844,103,0,104,0,105,0.575,112,0.737,119,2.187,128,2.288,133,1.946,138,1.463,143,3.03,144,4.365,145,2.291,154,1.654,160,4.565,172,4.116,173,1.633,175,2.508,178,2.232,180,0.979,181,1.52,182,1.785,236,0.915,261,2.69,556,1.381,593,2.092,644,2.615,655,4.881,742,3.084,839,1.745,992,3.94,1717,2.69,1723,2.844,2044,2.18,2351,5.542,2562,4.914,2670,5.799,2673,3.084,2677,4.489,2678,6.417,3135,7.198,3136,6.394,4332,4.383,4342,2.483,4392,5.456,4409,4.291,4410,6.417,4580,6.014,5094,4.462,6713,7.295,6721,5.456,6735,3.642,6786,5.041,6805,6.246,6806,4.188,7119,3.351,7120,5.041,8989,5.164,8993,4.188,8994,6.617,9006,5.293,9007,4.188,10327,6.338,10669,3.548,10926,6.017,11376,7.065,12405,6.417,13008,6.417,13009,4.712,13010,6.246,13011,5.963,13012,5.634,13013,6.889,13014,8.388,13015,4.547,13016,4.547,13017,4.712,13018,4.547,13019,4.712,13020,4.712,13021,6.858,13022,4.712,13023,4.712,13024,4.712,13025,4.712,13026,4.712,13027,4.712,13028,4.712,13029,4.712,13030,9.106,13031,4.712,13032,4.712,13033,8.569,13034,4.712,13035,4.712,13036,4.712,13037,3.94,13038,6.417,13039,4.188,13040,4.547,13041,4.712,13042,6.858,13043,4.291,13044,4.712,13045,4.712,13046,6.617,13047,4.547,13048,4.014,13049,4.712,19403,5.616,19404,5.616]],["title/interfaces/SchoolSpecificFileCopyService.html",[105,0.702,3328,5.389]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.02,4,0.02,5,0.014,7,0.132,8,1.381,26,2.763,27,0.378,29,0.725,30,0.001,31,0.522,32,0.16,33,0.44,35,1.115,36,2.44,39,2.508,95,0.147,99,1.489,101,0.019,103,0.001,104,0.001,105,0.939,107,2.155,271,3.406,993,6.361,1231,7.196,2480,6.727,3145,8.703,3328,8.942,3600,4.558,4838,8.489,4840,8.489,5933,4.249,6418,7.012,6438,6.255,10752,8.037,11061,9.221,18139,8.489,18141,8.489,19405,9.975,19406,9.176,19407,10.537,19408,11.982,19409,9.176,19410,8.489,19411,8.037]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[539,0.921,3598,5.759]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.298,3,0.019,4,0.019,5,0.015,7,0.126,8,1.345,27,0.457,29,0.877,30,0.001,31,0.632,32,0.144,33,0.532,35,1.069,95,0.152,101,0.014,103,0.001,104,0.001,177,1.639,226,1.286,236,1.433,345,2.805,349,0.91,379,1.11,381,3.76,454,5.137,539,1.489,541,2.114,654,3.332,993,7.346,1231,5.559,2480,7.932,3040,7.382,3145,9.285,3328,9.54,3329,7.382,3598,9.308,3600,4.37,3601,3.541,6547,9.6,19405,10.642,19411,11.174,19412,8.799,19413,8.14,19414,8.799,19415,11.095,19416,8.799,19417,7.706,19418,8.799]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.232,19417,6.012]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.28,2,0.913,3,0.018,4,0.023,5,0.014,7,0.119,8,1.292,27,0.439,29,0.843,30,0.001,31,0.607,32,0.138,33,0.511,35,1.004,36,2.283,39,2.258,95,0.14,101,0.013,103,0.001,104,0.001,177,1.986,262,2.605,271,3.067,349,0.854,379,1.345,381,3.998,603,2.193,654,2.482,662,3.665,993,6.962,1147,3.237,1231,6.734,2480,6.968,2739,3.746,2993,6.487,3145,9.016,3328,9.263,3329,6.932,3600,5.294,3601,3.325,3632,4.909,4266,3.6,5933,4.935,6418,6.314,6547,9.444,6897,7.644,11061,8.629,17886,6.689,19405,10.334,19407,9.86,19408,11.532,19410,7.644,19411,10.917,19413,7.644,19417,9.335,19419,8.263,19420,8.263,19421,8.263,19422,10.658,19423,8.263,19424,8.263,19425,8.263]],["title/injectables/SchoolValidationService.html",[539,0.921,14857,5.759]],["body/injectables/SchoolValidationService.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.116,8,1.277,27,0.482,29,0.925,30,0.001,31,0.666,32,0.151,33,0.561,35,1.28,36,2.652,47,0.57,95,0.147,99,1.317,101,0.013,103,0.001,104,0.001,143,1.799,177,1.512,226,1.186,227,3.363,236,1.322,262,2.903,345,2.587,349,1.089,379,1.024,437,1.07,529,2.316,539,1.414,541,1.95,593,3.924,603,2.407,608,2.441,654,3.164,662,3.633,990,2.776,1123,6.832,1427,8.684,1964,7.645,1966,6.569,5463,6.371,9394,7.107,9414,7.507,10317,8.143,12954,8.528,14857,8.838,14916,7.507,15821,6.569,19389,7.107,19426,12.38,19427,10.534,19428,8.114,19429,10.534,19430,10.534,19431,8.114,19432,8.114,19433,10.534,19434,8.114,19435,8.114]],["title/entities/SchoolYearEntity.html",[154,1.389,11376,4.582]],["body/entities/SchoolYearEntity.html",[0,0.302,3,0.02,4,0.02,5,0.01,7,0.128,27,0.503,30,0.001,31,0.73,32,0.158,47,0.858,83,3.918,95,0.133,96,2.383,101,0.017,103,0.001,104,0.001,105,0.912,112,0.856,138,2.187,154,2.263,155,2.911,172,4.272,173,2.592,175,3.98,178,3.544,180,1.554,181,2.412,182,2.834,1147,2.708,2044,3.461,2351,7.584,4342,3.941,6724,9.163,6801,7.217,6802,6.812,11376,7.467,13050,10.706,13051,8.247,13052,10.755,13053,7.479,13054,8.247,13055,8.247,19436,8.915,19437,8.915,19438,8.915]],["title/injectables/SchoolYearRepo.html",[539,0.921,14858,5.759]],["body/injectables/SchoolYearRepo.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.107,8,1.211,10,4.054,12,4.483,18,4.994,26,2.034,27,0.529,29,0.948,30,0.001,31,0.683,32,0.155,33,0.575,34,1.252,35,1.519,36,2.678,40,3.607,49,3.791,83,2.177,95,0.134,99,1.215,101,0.012,103,0.001,104,0.001,154,1.515,155,3.262,180,1.742,226,1.094,236,1.22,262,2.981,349,1.033,382,3.584,437,1.317,479,5.069,539,1.341,541,1.799,593,2.789,608,1.735,679,7.53,685,4.177,686,4.577,687,5.55,711,4.468,712,4.515,713,4.468,714,4.515,715,5.16,716,4.468,717,4.515,718,4.015,723,5.352,3659,6.061,4269,7.288,6724,5.352,7170,6.061,8485,9.848,10317,7.396,11376,7.505,13052,6.282,14858,8.382,19439,7.487,19440,11.997,19441,7.487,19442,7.487,19443,7.487]],["title/injectables/SchoolYearService.html",[539,0.921,14856,5.759]],["body/injectables/SchoolYearService.html",[0,0.287,3,0.019,4,0.019,5,0.01,7,0.122,8,1.315,12,4.866,26,2.564,27,0.492,29,0.857,30,0.001,31,0.617,32,0.14,33,0.52,34,1.419,35,1.317,36,2.697,40,5.223,95,0.142,99,1.377,101,0.013,103,0.001,104,0.001,177,1.581,226,1.24,262,2.938,345,2.706,349,1.121,379,1.071,437,1.43,539,1.455,541,2.039,608,2.513,685,3.548,1726,3.629,1778,3.333,1834,6.066,2487,4.483,3894,5.85,4269,7.91,4392,5.665,4706,7.474,10317,8.281,10325,7.12,10326,6.485,10327,5.582,11376,7.976,14856,9.097,14858,11.163,19444,12.591,19445,8.487,19446,12.591,19447,8.487,19448,8.487,19449,8.487,19450,8.487,19451,8.487,19452,8.487]],["title/classes/Scope.html",[0,0.232,5558,2.797]],["body/classes/Scope.html",[0,0.248,2,0.811,3,0.016,4,0.016,5,0.008,7,0.105,8,1.195,27,0.538,29,0.88,30,0.001,31,0.634,32,0.172,33,0.534,35,1.198,95,0.117,96,1.961,101,0.011,103,0.001,104,0.001,112,0.754,119,2.565,145,2.057,173,2.134,310,5.543,349,1.231,379,0.926,437,0.968,480,2.042,486,2.21,519,3.036,603,2.767,686,4.516,696,2.849,708,2.941,768,8.634,1568,4.696,2350,8.026,5558,4.849,6242,7.43,6243,7.43,6244,7.43,6249,6.58,6250,6.58,6252,8.533,6263,6.58,6264,7.943,6266,6.58,6268,6.58,16134,10.298,19453,7.339,19454,9.858,19455,9.858,19456,7.339,19457,7.339,19458,7.339,19459,7.339,19460,7.339,19461,7.339,19462,7.339,19463,7.339,19464,9.858,19465,11.131,19466,9.858,19467,7.339,19468,7.339,19469,7.339]],["title/classes/ScopeRef.html",[0,0.232,19470,5.245]],["body/classes/ScopeRef.html",[0,0.318,2,1.039,3,0.021,4,0.021,5,0.011,7,0.135,26,2.78,27,0.516,29,0.744,30,0.001,31,0.536,32,0.162,33,0.451,34,2.242,95,0.112,99,1.527,101,0.015,103,0.001,104,0.001,112,0.885,379,1.188,404,3.786,1998,6.802,2297,7.843,5558,5.636,6372,8.705,6373,10.702,6374,8.705,7472,6.379,13057,12.088,19470,8.839,19471,10.721]],["title/classes/ServerConsole.html",[0,0.232,19472,6.012]],["body/classes/ServerConsole.html",[0,0.275,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,8,1.279,27,0.482,29,0.834,30,0.001,31,0.6,32,0.137,33,0.506,35,1.282,47,0.822,95,0.126,101,0.013,103,0.001,104,0.001,138,1.887,153,2.942,220,4.048,345,2.592,349,1.091,379,1.026,519,3.816,591,6.98,934,8.187,1288,4.429,2024,5.451,2220,7.108,3504,6.821,3505,8.27,3508,8.539,3510,8.539,3513,5.604,3514,9.067,3515,8.576,3516,4.852,10297,9.192,11558,10.03,19472,9.238,19473,8.131,19474,11.462,19475,10.548,19476,8.131,19477,8.131,19478,10.548,19479,9.238,19480,8.131,19481,9.758,19482,8.131,19483,8.131]],["title/modules/ServerConsoleModule.html",[201,1.848,19484,6.012]],["body/modules/ServerConsoleModule.html",[0,0.246,3,0.016,4,0.016,5,0.008,30,0.001,32,0.094,47,0.51,87,3.677,95,0.168,96,2.616,99,1.178,101,0.011,103,0.001,104,0.001,119,1.5,143,1.61,155,2.371,173,2.111,201,3.19,203,2.638,204,2.829,205,2.909,206,2.897,207,2.886,208,4.094,209,2.755,218,3.922,219,2.851,220,2.786,225,3.89,226,1.061,236,1.183,239,1.701,292,3.677,573,4.922,598,4.204,599,5.296,687,4.83,1231,6.183,1519,4.127,1609,6.358,1726,3.104,2024,3.38,2079,3.209,2080,3.583,2081,3.457,2681,3.893,3515,6.183,3516,4.332,3590,9.737,3940,4.09,4729,4.846,4956,5.004,5624,4.922,5654,5.877,6437,5.902,8056,6.358,8202,7.478,10752,6.358,10988,10.691,11207,7.299,11208,7.299,11209,5.296,11211,5.189,11212,5.189,11213,6.995,11217,7.139,11218,7.139,11219,7.139,11220,5.189,11221,5.004,11233,5.414,11234,5.414,11235,5.296,12617,5.414,13074,6.091,13077,5.004,13486,7.923,15662,10.004,15673,6.091,15681,6.358,15899,6.716,19472,8.571,19484,11.878,19485,7.26,19486,7.26,19487,7.26,19488,7.26,19489,7.26,19490,7.26,19491,7.26,19492,9.787,19493,7.26,19494,7.26]],["title/controllers/ServerController.html",[259,2.624,19495,5.759]],["body/controllers/ServerController.html",[0,0.337,3,0.022,4,0.022,5,0.011,7,0.143,8,1.452,27,0.41,30,0.001,35,1.21,47,0.841,95,0.119,101,0.015,103,0.001,104,0.001,138,1.783,223,4.147,226,1.456,259,4.578,316,6.473,349,1.03,486,3.607,662,3.72,934,7.223,1288,5.427,2024,4.638,10111,9.403,12360,8.359,19474,12.325,19495,10.048,19496,9.963,19497,9.963]],["title/modules/ServerModule.html",[201,1.848,19498,5.759]],["body/modules/ServerModule.html",[0,0.183,3,0.007,4,0.007,5,0.004,8,0.401,27,0.223,29,0.261,30,0.001,31,0.308,32,0.07,33,0.158,35,0.401,47,0.778,52,1.591,55,1.105,72,3.59,87,1.673,95,0.165,96,1.447,99,0.536,101,0.011,103,0,104,0,118,4.404,119,1.645,122,2.24,128,2.206,143,0.733,145,1.518,153,0.757,155,1.079,173,0.961,177,1.483,201,2.801,202,7.64,203,2.892,204,1.287,205,1.324,206,1.318,207,1.313,208,1.222,209,1.253,214,4.64,218,2.17,219,1.298,220,1.268,223,3.313,225,3.164,226,0.483,236,0.882,239,0.774,292,1.673,349,0.342,358,2.418,379,0.683,413,0.998,437,1.158,454,1.53,490,2.449,493,1.62,511,1.468,519,1.018,521,1.308,556,2.45,564,1.032,573,3.671,598,1.913,603,1.638,639,1.555,654,0.992,676,2.361,687,2.673,762,2.173,970,2.277,971,2.594,972,2.594,973,2.594,992,2.317,996,1.591,997,1.538,998,1.573,999,1.662,1076,2.205,1077,2.037,1128,2.143,1130,1.878,1147,1.645,1171,2.277,1174,3.615,1185,2.062,1187,2.143,1225,2.143,1231,2.087,1341,1.06,1371,2.014,1376,7.409,1475,2.317,1491,1.932,1519,3.078,1636,2.361,1726,2.943,1822,1.971,1963,1.861,2024,3.204,2079,1.46,2080,1.631,2081,1.573,2082,2.114,2207,1.992,2312,2.852,2313,3.627,2396,3.107,2681,1.772,2748,7.64,3519,2.173,3592,7.038,3600,2.69,3601,2.179,3603,2.725,3942,5.258,3954,4.252,3955,9.036,4633,2.524,4677,1.696,4719,7.64,4956,2.277,5573,2.24,5624,2.24,6671,6.504,6865,1.971,8542,1.861,8898,2.037,10462,2.361,11049,2.317,11206,6.62,11207,4.039,11208,4.039,11209,2.41,11210,4.138,11211,2.361,11212,2.361,11213,3.871,11217,3.95,11218,3.95,11219,3.95,11220,2.361,11221,2.277,11232,6.082,11233,2.464,11234,2.464,11235,2.41,11236,2.674,11237,2.524,11238,2.594,11273,2.317,11274,5.02,11276,4.039,11278,2.41,11279,10.31,11280,4.039,11388,2.524,11466,2.41,11615,7.64,12095,2.361,12199,2.893,12364,2.772,12450,2.277,12469,5.02,12471,2.41,12548,2.062,13077,2.277,13745,7.64,13864,2.674,14021,2.674,14271,2.524,14488,2.674,14692,7.64,14757,7.64,14764,2.772,14975,7.64,15455,5.02,15648,2.594,15673,2.772,15703,7.64,15707,7.409,16063,7.64,16573,7.64,16755,7.64,16937,4.543,16957,2.772,17164,2.893,17166,2.893,17168,2.893,17169,2.893,17170,2.893,17887,7.64,18064,2.772,18285,8.068,18289,2.893,18468,2.674,19495,7.37,19498,11.913,19499,3.304,19500,3.304,19501,7.409,19502,7.64,19503,7.64,19504,7.64,19505,7.64,19506,7.64,19507,7.64,19508,7.64,19509,3.056,19510,6.366,19511,8.73,19512,3.304,19513,3.056,19514,3.056,19515,3.056,19516,3.056,19517,3.056,19518,3.056,19519,3.056,19520,3.056,19521,3.056,19522,3.056,19523,3.056,19524,3.056,19525,3.056,19526,3.056,19527,2.772,19528,3.056,19529,2.674,19530,2.674,19531,6.366,19532,3.056,19533,3.056,19534,3.056,19535,3.056,19536,3.056,19537,7.363,19538,3.056,19539,3.056,19540,3.056,19541,3.056,19542,3.056,19543,3.056,19544,3.056,19545,3.056,19546,3.056,19547,6.366,19548,3.056,19549,5.01,19550,6.366,19551,3.056,19552,3.056,19553,3.056,19554,3.056,19555,3.056,19556,3.056,19557,3.056,19558,3.056,19559,3.056,19560,3.056,19561,3.056,19562,2.893,19563,3.056,19564,3.056,19565,3.056,19566,3.056,19567,3.056,19568,3.056,19569,3.056,19570,5.01,19571,3.056,19572,5.01,19573,3.056,19574,5.01,19575,3.056,19576,3.056,19577,3.056,19578,4.543,19579,3.056]],["title/modules/ServerTestModule.html",[201,1.848,19578,5.759]],["body/modules/ServerTestModule.html",[0,0.177,3,0.007,4,0.007,5,0.004,8,0.385,27,0.276,29,0.414,30,0.001,31,0.381,32,0.087,33,0.251,35,0.637,47,0.768,52,1.529,55,1.069,59,0.978,72,3.504,87,1.608,95,0.164,96,1.401,99,0.515,101,0.01,103,0,104,0,118,4.283,119,1.605,122,2.152,128,2.135,143,0.704,145,1.469,153,0.728,155,1.037,173,0.923,177,1.448,201,2.757,202,7.495,203,3.559,204,1.237,205,1.272,206,1.267,207,1.262,208,1.174,209,1.205,214,4.56,218,2.1,219,1.247,220,1.218,223,3.234,225,3.088,226,0.464,236,0.854,239,0.744,292,1.608,349,0.328,358,2.988,379,0.661,413,1.583,437,1.134,454,1.47,490,2.765,493,1.557,511,1.41,519,0.978,521,1.257,556,2.408,564,1.637,573,3.553,598,1.838,603,1.599,639,1.495,654,0.954,676,2.269,687,2.587,762,2.088,970,2.188,971,2.492,972,2.492,973,2.492,992,3.676,996,1.529,997,1.478,998,1.512,999,1.597,1076,2.119,1077,1.958,1128,3.399,1130,2.979,1147,1.592,1170,2.316,1171,3.612,1174,4.467,1185,1.981,1187,2.059,1225,3.399,1231,2.006,1341,1.018,1371,3.196,1376,7.268,1475,2.227,1491,1.856,1519,3.805,1636,2.269,1726,3.677,1822,3.127,1963,1.789,2024,3.116,2079,1.403,2080,1.567,2081,1.512,2082,2.032,2207,3.161,2312,2.774,2313,3.541,2396,4.457,2681,1.702,2748,7.495,3519,2.088,3592,6.904,3600,2.603,3601,2.109,3603,2.637,3942,5.114,3954,4.115,3955,8.905,4633,2.426,4677,1.63,4719,7.495,4956,2.188,5573,2.152,5624,2.152,6671,6.381,6865,1.894,8542,1.789,8898,1.958,10462,2.269,11049,2.227,11206,3.676,11207,3.909,11208,3.909,11209,2.316,11210,4.005,11211,2.269,11212,2.269,11213,3.746,11217,3.823,11218,3.823,11219,3.823,11220,2.269,11221,2.188,11232,5.937,11233,2.368,11234,2.368,11235,2.316,11236,2.57,11237,2.426,11238,2.492,11273,6.032,11274,7.144,11276,5.794,11278,2.316,11279,10.214,11280,3.909,11388,4.005,11466,2.316,11615,7.495,12095,3.746,12199,2.78,12364,2.663,12450,3.612,12469,3.823,12471,2.316,12548,1.981,13077,2.188,13745,7.495,13864,2.57,14021,2.57,14271,2.426,14488,2.57,14692,7.495,14757,7.495,14764,2.663,14975,7.495,15455,4.882,15648,2.492,15673,2.663,15703,7.495,15707,7.268,16063,7.495,16573,7.495,16755,7.495,16937,4.397,16957,2.663,17164,2.78,17166,2.78,17168,2.78,17169,2.78,17170,2.78,17887,7.495,18064,2.663,18285,7.929,18289,2.78,18468,2.57,19495,7.214,19498,7.214,19501,7.268,19502,7.495,19503,7.495,19504,7.495,19505,7.495,19506,7.495,19507,7.495,19508,7.495,19509,2.937,19510,6.192,19511,8.565,19513,2.937,19514,2.937,19515,2.937,19516,2.937,19517,2.937,19518,2.937,19519,2.937,19520,2.937,19521,2.937,19522,2.937,19523,2.937,19524,2.937,19525,2.937,19526,2.937,19527,2.663,19528,2.937,19529,2.57,19530,2.57,19531,6.192,19532,2.937,19533,2.937,19534,2.937,19535,2.937,19536,2.937,19537,7.188,19538,2.937,19539,2.937,19540,2.937,19541,2.937,19542,2.937,19543,2.937,19544,2.937,19545,2.937,19546,2.937,19547,6.192,19548,2.937,19549,4.849,19550,6.192,19551,2.937,19552,2.937,19553,2.937,19554,2.937,19555,2.937,19556,2.937,19557,2.937,19558,2.937,19559,2.937,19560,2.937,19561,2.937,19562,2.78,19563,2.937,19564,2.937,19565,2.937,19566,2.937,19567,2.937,19568,2.937,19569,2.937,19570,4.849,19571,2.937,19572,4.849,19573,2.937,19574,4.849,19575,4.849,19576,4.849,19577,4.849,19578,11.89,19579,2.937,19580,3.175,19581,3.175,19582,3.175,19583,3.175]],["title/classes/SetHeightBodyParams.html",[0,0.232,4075,6.012]],["body/classes/SetHeightBodyParams.html",[0,0.406,2,1.103,3,0.022,4,0.022,5,0.011,7,0.143,27,0.411,30,0.001,32,0.129,55,2.447,95,0.143,101,0.015,103,0.001,104,0.001,112,0.918,138,1.787,142,3.892,143,2.66,144,3.904,145,3.362,148,3.094,150,2.244,245,3.076,3275,8.226,4075,10.505,19584,11.994,19585,9.987,19586,9.987,19587,9.987,19588,11.096]],["title/entities/ShareToken.html",[154,1.389,6723,4.731]],["body/entities/ShareToken.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.154,26,2.465,27,0.515,30,0.001,32,0.162,33,0.6,34,1.14,49,4.862,83,3.117,95,0.144,96,2.507,97,2.84,101,0.015,103,0,104,0,105,0.698,112,0.718,124,5.848,131,3.559,138,2.238,143,2.774,144,3.758,154,1.898,155,2.227,159,7.388,172,3.908,173,1.984,174,3.586,178,2.712,180,1.189,181,1.846,182,2.169,187,5.213,188,5.723,197,5.087,198,5.723,236,1.528,349,0.97,490,2.428,556,2.306,696,2.648,839,3.586,2670,4.297,3366,4.63,3392,8.679,3632,4.32,4333,4.071,4856,6.996,4858,6.963,4864,5.723,5933,5.346,5938,7.268,5939,4.876,5942,4.365,5943,4.702,6016,5.926,6044,5.723,6045,5.523,6046,5.723,6723,6.465,6740,5.723,10347,5.087,10418,5.723,10493,4.976,10652,6.311,10653,6.311,10692,5.213,13078,7.87,13079,11.854,13080,6.311,13081,9.347,13082,7.958,13083,9.064,13084,6.311,13085,4.553,13086,4.487,13087,6.311,13088,6.311,19589,6.822,19590,6.822,19591,6.822,19592,6.822,19593,6.822,19594,6.822]],["title/classes/ShareTokenBodyParams.html",[0,0.232,19595,6.012]],["body/classes/ShareTokenBodyParams.html",[0,0.334,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,27,0.547,30,0.001,32,0.166,33,0.571,34,1.652,47,0.694,55,2.432,95,0.133,101,0.011,103,0.001,104,0.001,112,0.756,119,2.042,133,4.13,138,2.132,142,5.178,143,2.946,144,4.325,145,3.725,147,5.341,148,2.281,150,1.655,153,2.731,245,3.188,249,4.363,274,5.96,654,2.968,708,3.96,808,3.912,839,3.07,844,8.291,852,3.429,1057,7.551,2460,9.106,3122,4.265,3632,5.136,3876,4.35,5552,6.179,5591,8,5933,5.164,6723,8.214,8171,8,13082,8.567,13085,4.916,13086,4.844,19588,9.142,19595,8.655,19596,9.759,19597,7.365,19598,9.767,19599,9.767,19600,7.365,19601,9.882,19602,7.365,19603,9.356,19604,7.365,19605,7.365,19606,7.365,19607,9.882,19608,8.291,19609,7.365,19610,7.365]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.232,19611,6.012]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.317,2,1.035,3,0.021,4,0.021,5,0.011,7,0.134,8,1.399,27,0.386,29,0.74,30,0.001,31,0.533,32,0.149,33,0.449,35,1.138,95,0.149,101,0.015,103,0.001,104,0.001,226,1.369,236,1.879,349,0.969,413,3.775,437,1.521,529,2.674,1664,3.502,1846,8.768,2647,6.388,3255,7.288,3860,6.832,6863,8.107,11167,9.678,11172,9.678,11186,8.665,11193,7.583,13081,10.561,13085,6.252,13086,6.16,15801,8.203,15804,8.203,19611,10.103,19612,11.535,19613,9.366]],["title/controllers/ShareTokenController.html",[259,2.624,19614,5.759]],["body/controllers/ShareTokenController.html",[0,0.177,3,0.011,4,0.011,5,0.006,7,0.075,8,0.939,27,0.38,29,0.73,30,0.001,31,0.526,32,0.183,33,0.443,35,1.122,36,2.45,95,0.155,100,1.774,101,0.008,103,0,104,0,124,5.175,138,1.653,150,1.173,177,0.973,223,2.173,226,0.763,259,1.995,261,2.5,262,2.743,270,6.2,278,5.251,282,4.834,285,3.433,287,7.521,290,7.454,294,6.36,324,6.291,333,3.931,335,6.163,336,8.261,337,2.717,338,2.778,340,2.53,343,2.799,345,1.664,346,5.511,347,4.733,349,0.955,437,1.508,602,4.226,608,2.14,631,2.661,685,3.239,824,3.872,1226,4.923,1266,5.251,1606,4.226,1607,3.893,1608,4.572,1616,2.941,2530,6.098,2681,4.953,2764,2.471,2933,6.737,2935,7.621,2937,3.988,2938,7.057,2941,7.521,2962,4.364,2963,2.737,3025,3.385,3043,3.183,3044,2.941,3255,4.894,3632,2.404,3779,4.575,5933,2.417,6398,6.081,6635,4.226,6723,5.339,8902,8.738,12152,4.829,12153,4.829,13077,3.598,13994,6.271,14955,5.777,15719,4.829,18667,4.379,18682,4.572,18684,4.572,19595,8.95,19598,4.572,19599,4.572,19614,6.499,19615,10.219,19616,5.22,19617,8.544,19618,8.544,19619,8.544,19620,5.22,19621,8.738,19622,7.746,19623,5.22,19624,5.22,19625,5.22,19626,10.368,19627,8.95,19628,5.22,19629,5.22,19630,7.746,19631,5.22,19632,7.746,19633,5.22,19634,5.22,19635,5.22,19636,5.22,19637,5.22,19638,5.22,19639,4.572,19640,4.572,19641,7.477,19642,6.499,19643,6.499,19644,5.22,19645,5.22,19646,5.22,19647,5.22,19648,5.22,19649,5.22,19650,5.22,19651,5.22,19652,4.572,19653,5.22,19654,7.746,19655,5.22,19656,5.22,19657,5.22,19658,5.22,19659,5.22]],["title/classes/ShareTokenDO.html",[0,0.232,19660,5.245]],["body/classes/ShareTokenDO.html",[0,0.265,2,0.865,3,0.017,4,0.017,5,0.009,7,0.112,26,2.341,27,0.536,29,0.619,30,0.001,31,0.446,32,0.176,33,0.636,34,1.721,47,0.723,83,2.993,95,0.123,101,0.02,103,0.001,104,0.001,112,0.788,124,5.824,131,4.363,159,7.358,180,1.794,187,5.985,197,5.842,379,0.989,382,2.34,654,2.353,839,3.198,1616,6.478,1665,3.261,1746,7.141,1926,2.939,2501,3.773,2686,3.533,2696,3.647,3417,5.311,3632,3.608,4833,4.375,4858,4.724,5146,4.338,5158,4.536,5933,3.627,5963,5.714,6016,4.949,7432,8.082,7433,6.15,10669,4.949,13081,8.334,13082,7.095,13083,9.027,14753,6.86,17554,6.342,19660,9.693,19661,13.022,19662,7.833,19663,10.294,19664,9.647,19665,7.833,19666,9.309,19667,7.833,19668,7.833,19669,7.247,19670,7.833,19671,7.833,19672,7.247]],["title/classes/ShareTokenFactory.html",[0,0.232,19673,6.35]],["body/classes/ShareTokenFactory.html",[0,0.302,2,0.987,3,0.02,4,0.02,5,0.01,7,0.128,8,1.358,26,2.612,27,0.368,29,0.706,30,0.001,31,0.509,32,0.116,33,0.428,34,1.872,35,1.085,49,3.39,59,2.752,95,0.153,99,1.45,101,0.014,103,0.001,104,0.001,124,5.673,180,1.953,236,1.825,349,1.158,437,1.178,461,6.054,463,6.512,521,3.537,524,5.079,525,5.125,1616,5.034,2340,5.388,3081,6.386,3632,4.115,4188,5.576,5933,4.137,7536,6.267,13082,6.158,13086,5.876,19621,6.827,19660,6.827,19673,11.32,19674,11.201,19675,8.934,19676,11.201,19677,11.201,19678,8.934,19679,8.934,19680,8.934,19681,8.934,19682,7.825]],["title/classes/ShareTokenImportBodyParams.html",[0,0.232,19627,6.012]],["body/classes/ShareTokenImportBodyParams.html",[0,0.375,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,27,0.456,30,0.001,31,0.631,32,0.143,33,0.531,34,1.852,47,0.895,95,0.145,101,0.014,103,0.001,104,0.001,112,0.848,124,6.148,133,3.84,138,1.982,142,4.968,143,2.827,144,4.15,145,3.574,148,2.72,150,1.973,153,2.539,236,1.805,245,3.113,247,3.772,248,4.845,249,4.334,1926,4.157,6404,10.632,6909,10.632,7297,7.108,7299,7.511,10527,6.756,12597,9.295,19596,9.53,19627,9.704,19683,8.78,19684,8.78,19685,11.079,19686,8.78,19687,8.78]],["title/interfaces/ShareTokenInfoDto.html",[105,0.702,19688,5.759]],["body/interfaces/ShareTokenInfoDto.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.166,47,0.972,95,0.119,101,0.015,103,0.001,104,0.001,105,1.022,107,2.346,112,0.918,124,6.908,4389,9.24,5933,6.174,13082,9.19,13085,6.666,13086,6.569,19688,10.063,19689,9.987,19690,10.795]],["title/classes/ShareTokenInfoResponse.html",[0,0.232,19642,5.759]],["body/classes/ShareTokenInfoResponse.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,27,0.522,29,0.684,30,0.001,31,0.492,32,0.164,33,0.415,47,0.89,95,0.144,101,0.013,103,0.001,104,0.001,112,0.84,124,7.082,138,2.157,150,1.943,187,6.609,245,3.356,247,3.716,379,1.385,774,4.41,839,2.687,2779,6.183,2782,6.934,2921,5.108,5933,6.059,5942,5.535,13082,9.019,13085,5.773,13086,5.689,19596,10.273,19642,10.979,19690,10.594,19691,8.649,19692,8.649,19693,8.649,19694,8.649,19695,8.649,19696,8.649]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.232,19639,6.012]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.323,2,1.054,3,0.028,4,0.021,5,0.011,7,0.137,8,1.415,27,0.393,29,0.754,30,0.001,31,0.543,32,0.124,33,0.458,35,1.159,95,0.139,100,3.966,101,0.015,103,0.001,104,0.001,124,6.383,236,1.554,349,0.987,413,3.807,437,1.258,782,5.694,783,6.516,790,4.801,1618,6.693,5933,4.418,15430,8.357,19639,10.218,19642,11.015,19652,8.357,19688,11.015,19690,7.725,19697,10.794,19698,11.667,19699,9.542,19700,9.542,19701,9.542]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.232,19702,6.012]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.314,2,1.025,3,0.02,4,0.02,5,0.01,7,0.133,8,1.391,27,0.382,29,0.734,30,0.001,31,0.528,32,0.148,33,0.445,35,1.128,95,0.148,101,0.014,103,0.001,104,0.001,226,1.356,236,1.868,349,0.96,413,3.76,437,1.512,529,2.649,1664,3.47,1846,8.732,2647,6.352,3255,7.247,3860,6.77,6863,8.074,6956,7.786,11167,9.623,11172,9.623,11181,8.586,11188,8.128,11193,7.514,13082,8.963,13085,6.195,13086,6.104,15801,8.128,15804,8.128,15805,8.586,19702,10.046,19703,11.47,19704,9.281,19705,9.281]],["title/classes/ShareTokenPayloadResponse.html",[0,0.232,19706,6.012]],["body/classes/ShareTokenPayloadResponse.html",[0,0.31,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,27,0.509,29,0.724,30,0.001,31,0.521,32,0.16,33,0.439,47,0.799,95,0.135,101,0.014,103,0.001,104,0.001,112,0.87,124,6.554,138,2.035,150,2.057,245,3.319,379,1.155,839,2.844,1616,5.158,2921,5.407,3632,5.699,5933,5.729,5942,5.859,6452,7.188,13082,9.173,13085,6.111,13086,6.022,19596,10.16,19666,10.477,19706,9.961,19707,9.156,19708,11.374,19709,9.156,19710,9.156,19711,9.156,19712,8.47,19713,8.47]],["title/injectables/ShareTokenRepo.html",[539,0.921,19714,5.557]],["body/injectables/ShareTokenRepo.html",[0,0.17,3,0.011,4,0.011,5,0.006,7,0.072,8,0.913,10,3.055,12,3.379,18,3.765,26,2.448,27,0.546,29,1.039,30,0.001,31,0.748,32,0.17,33,0.63,34,1.51,35,1.597,36,2.634,40,2.421,95,0.128,96,1.343,101,0.008,103,0,104,0,112,0.691,124,5.08,131,2.857,133,2.61,154,2.174,159,4.819,173,1.462,180,1.313,226,0.734,236,1.227,262,2.927,349,1.111,381,1.703,382,3.89,437,1.487,448,4.879,519,1.548,539,1.011,541,1.208,556,1.851,603,2.474,608,1.165,680,5.106,686,3.45,687,5.302,718,2.695,1616,4.243,1665,4.694,2000,2.883,2299,9.203,2301,5.383,2302,5.383,2303,5.383,2304,5.383,2305,5.283,2306,5.283,2307,5.383,2308,5.283,2309,5.383,2316,3.593,2318,5.808,2319,3.593,2321,3.593,2323,3.26,2324,5.283,2325,3.593,2327,3.593,2329,5.383,2335,3.408,2336,5.283,2338,3.593,2340,3.031,2341,3.1,2342,3.593,2344,3.593,2346,3.526,2347,3.593,2365,3.748,3632,3.468,4858,4.542,5933,3.487,6016,4.758,6114,3.666,6115,3.666,6116,3.666,6117,3.666,6118,3.666,6119,3.666,6120,3.666,6121,3.666,6122,3.666,6144,6.967,6723,8.475,9547,3.841,13078,9.81,13083,7.874,13085,3.355,13086,3.306,15584,4.65,15594,4.217,19660,8.934,19664,6.318,19666,6.097,19669,4.65,19672,4.65,19714,6.097,19715,9.031,19716,5.026,19717,7.531,19718,7.531,19719,5.026,19720,7.531,19721,5.026,19722,5.026,19723,5.026,19724,5.026,19725,5.026,19726,5.026,19727,5.026,19728,5.026,19729,5.026,19730,7.531,19731,5.026,19732,5.026,19733,5.026,19734,5.026,19735,5.026,19736,5.026]],["title/classes/ShareTokenResponse.html",[0,0.232,19643,5.759]],["body/classes/ShareTokenResponse.html",[0,0.299,2,0.976,3,0.019,4,0.019,5,0.01,7,0.127,27,0.526,29,0.699,30,0.001,31,0.503,32,0.165,33,0.584,47,0.781,83,3.235,95,0.132,101,0.014,103,0.001,104,0.001,112,0.851,124,6.81,138,2.179,149,4.69,150,1.986,159,8.428,187,6.753,197,6.591,236,1.44,245,3.378,379,1.404,774,4.506,1616,7.2,17192,8.176,17554,7.154,19596,10.34,19621,6.753,19643,11.05,19706,10.663,19737,8.837,19738,8.837,19739,8.837,19740,8.837,19741,8.837,19742,8.837]],["title/classes/ShareTokenResponseMapper.html",[0,0.232,19640,6.012]],["body/classes/ShareTokenResponseMapper.html",[0,0.324,2,1.057,3,0.021,4,0.021,5,0.011,7,0.137,8,1.417,27,0.394,29,0.756,30,0.001,31,0.544,32,0.124,33,0.459,35,1.162,95,0.139,100,3.972,101,0.015,103,0.001,104,0.001,124,6.39,159,6.121,236,1.558,349,0.989,413,3.81,437,1.261,782,5.707,783,6.526,790,4.812,1616,5.389,6723,6.592,13085,6.384,13086,6.291,15430,8.377,19640,10.233,19643,11.024,19660,10.04,19697,10.809,19743,11.684,19744,9.565,19745,9.565,19746,8.848]],["title/injectables/ShareTokenService.html",[539,0.921,19747,5.557]],["body/injectables/ShareTokenService.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.089,8,1.067,27,0.482,29,0.926,30,0.001,31,0.666,32,0.162,33,0.561,35,1.348,36,2.603,59,1.918,83,1.811,95,0.149,101,0.01,103,0,104,0,120,3.73,124,5.929,131,3.34,159,5.633,177,2.181,226,0.91,236,1.014,262,2.865,349,1.056,379,1.111,437,1.463,486,1.875,490,3.634,519,1.918,539,1.181,541,1.496,593,2.319,603,2.626,608,2.816,1309,5.912,1616,5.752,1911,8.47,1931,3.934,3047,5.041,3048,5.041,5106,9.808,5107,9.546,5310,6.815,6723,8.611,10215,4.758,13082,4.292,13083,9.808,13085,4.156,13086,4.095,13450,5.76,17602,5.453,19660,8.946,19664,7.385,19666,8.984,19682,5.453,19690,9.478,19714,10.114,19746,8.143,19747,7.126,19748,12.153,19749,8.802,19750,10.209,19751,8.802,19752,8.802,19753,6.226,19754,9.839,19755,6.226,19756,8.802,19757,6.226,19758,6.226,19759,6.226,19760,8.802,19761,6.226,19762,8.802,19763,6.226,19764,5.453,19765,5.453,19766,6.226,19767,6.226,19768,6.226,19769,6.226,19770,6.226,19771,6.226,19772,6.226,19773,5.76,19774,6.226,19775,5.76,19776,6.226,19777,5.76,19778,6.226]],["title/injectables/ShareTokenUC.html",[539,0.921,19641,5.557]],["body/injectables/ShareTokenUC.html",[0,0.102,3,0.007,4,0.007,5,0.003,7,0.043,8,0.608,26,2.587,27,0.464,29,0.891,30,0.001,31,0.641,32,0.153,33,0.54,34,0.838,35,1.338,36,2.413,39,3.358,47,0.962,55,1.533,59,2.314,83,2.185,95,0.141,99,0.488,100,1.023,101,0.005,102,3.263,103,0,104,0,119,1.553,120,2.124,124,5.267,131,2.851,142,1.953,159,1.925,177,1.866,226,0.44,236,1.631,239,2.113,262,2.887,349,0.989,379,0.632,437,1.584,486,2.263,490,2.675,519,0.926,521,1.984,529,2.729,539,0.673,541,0.723,556,1.232,560,1.236,603,2.746,608,2.9,631,1.534,643,2.891,739,3.603,996,2.414,997,2.333,998,2.386,1107,3.509,1181,3.928,1226,1.449,1309,6.765,1341,0.965,1515,2.15,1616,5.642,1670,4.094,1673,6.414,1675,1.834,1678,3.928,1758,5.088,1802,7.506,1855,4.582,1911,6.482,1920,5.169,1922,2.435,1926,2.417,1931,4.748,1940,3.738,2079,1.33,2080,1.485,2081,1.432,2312,2.67,2313,3.424,2480,2.96,2531,1.393,2680,1.742,2686,2.26,2696,2.333,2997,4.205,2998,5.215,3004,7.506,3005,8.021,3013,5.899,3025,3.25,3043,1.834,3044,1.695,3047,2.435,3048,2.435,3089,2.634,3090,2.634,3092,2.634,3093,6.304,3255,1.9,3366,1.485,3671,4.237,3860,2.194,3865,4.699,3940,1.695,4858,1.814,5121,4.582,5310,7.162,5933,4.427,6016,1.9,6238,2.15,6404,8.373,6723,5.179,6889,7.74,6891,4.205,6908,8.108,6909,9.647,6947,4.205,6951,4.636,6957,2.783,6961,4.874,8171,4.057,9958,2.524,10215,2.298,12449,2.15,13072,5.96,13081,2.435,13082,6.59,13085,2.008,13086,1.978,13996,4.205,15009,4.636,18015,2.524,19598,2.634,19599,2.634,19611,2.634,19617,6.952,19618,6.952,19619,5.96,19641,4.057,19652,4.389,19660,2.298,19664,7.004,19666,7.74,19682,6.581,19688,4.205,19690,4.057,19702,2.634,19712,2.783,19713,2.783,19747,7.298,19773,6.952,19775,6.952,19777,6.952,19779,11.485,19780,3.008,19781,5.012,19782,5.012,19783,5.012,19784,5.012,19785,3.008,19786,3.008,19787,5.012,19788,3.008,19789,5.012,19790,3.008,19791,5.012,19792,3.008,19793,5.012,19794,3.008,19795,3.008,19796,3.008,19797,2.783,19798,3.008,19799,3.008,19800,3.008,19801,3.008,19802,3.008,19803,5.012,19804,3.008,19805,5.012,19806,3.008,19807,3.008,19808,3.008,19809,3.008,19810,5.012,19811,3.008,19812,5.012,19813,3.008,19814,6.442,19815,3.008,19816,3.008,19817,3.008,19818,3.008,19819,3.008,19820,5.012,19821,5.012,19822,7.514,19823,3.008,19824,3.008,19825,6.442,19826,5.012,19827,3.008,19828,3.008,19829,3.008,19830,5.012,19831,3.008,19832,4.636,19833,5.012,19834,5.012,19835,3.008,19836,5.012,19837,5.012,19838,3.008,19839,3.008,19840,3.008,19841,3.008,19842,6.442,19843,5.642,19844,3.008,19845,6.442,19846,3.008,19847,3.008,19848,3.008]],["title/classes/ShareTokenUrlParams.html",[0,0.232,19626,6.012]],["body/classes/ShareTokenUrlParams.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.401,30,0.001,32,0.126,47,0.83,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,124,6.862,133,4.097,138,1.744,142,4.606,143,2.621,144,3.848,145,3.314,148,3.019,150,2.19,153,2.234,245,3.031,248,4.717,257,7.27,19596,9.28,19603,9.28,19626,10.352,19849,9.748,19850,11.82,19851,9.748]],["title/modules/SharingApiModule.html",[201,1.848,19501,5.389]],["body/modules/SharingApiModule.html",[0,0.339,3,0.017,4,0.017,5,0.008,30,0.001,95,0.164,101,0.016,103,0.001,104,0.001,201,3.237,203,2.736,204,2.934,205,3.017,206,3.005,207,2.993,208,4.447,209,3.805,214,6.12,218,4.018,219,2.957,220,2.889,223,4.694,225,4.482,226,1.1,560,3.094,1341,2.415,1752,7.472,1797,9.396,2531,3.486,2686,3.396,2696,3.505,2764,3.564,3605,5.911,11057,5.753,11058,5.753,14696,9.396,14697,9.803,14715,9.803,19501,11.227,19614,9.46,19641,10.425,19714,8.118,19747,9.128,19754,8.118,19764,6.594,19765,6.594,19852,7.529,19853,7.529,19854,7.529,19855,10.804,19856,6.965,19857,6.965,19858,6.965]],["title/modules/SharingModule.html",[201,1.848,19855,5.759]],["body/modules/SharingModule.html",[0,0.334,3,0.016,4,0.016,5,0.008,30,0.001,95,0.163,101,0.015,103,0.001,104,0.001,201,3.204,203,2.666,204,2.86,205,2.941,206,2.929,207,2.917,208,4.401,209,4.224,214,6.08,218,3.95,219,2.882,220,2.816,223,4.103,225,4.425,226,1.072,560,3.015,1341,2.354,1752,7.424,1797,9.335,2531,3.398,2686,3.31,2696,3.417,2764,3.474,3605,5.761,11057,5.607,11058,5.607,14696,9.335,14697,9.74,14715,9.74,19501,5.761,19614,8.27,19641,7.981,19714,10.349,19747,11.178,19754,10.349,19764,6.427,19765,6.427,19855,12.068,19856,6.789,19857,6.789,19858,6.789,19859,7.339,19860,7.339,19861,7.339,19862,7.339]],["title/classes/SingleColumnBoardResponse.html",[0,0.232,18563,5.759]],["body/classes/SingleColumnBoardResponse.html",[0,0.241,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,27,0.522,29,0.564,30,0.001,31,0.406,32,0.173,33,0.342,34,1.616,47,0.89,95,0.131,101,0.011,103,0.001,104,0.001,112,0.74,119,2.43,138,2.2,150,1.603,153,2.905,172,3.021,245,3.251,247,3.064,253,4.773,379,1.22,556,1.754,774,3.637,819,3.589,821,5.08,849,6.809,993,5.401,1042,8.474,1271,4.039,1726,3.05,1732,5.071,1944,5.754,2692,6.848,2769,10.179,2782,6.11,2784,3.377,2918,5.186,2919,5.186,3460,9.869,3797,7.673,4145,6.247,5146,5.355,5158,5.6,5616,10.302,6718,6.455,7076,5.6,7080,7.592,7631,5.45,7671,8.772,7845,6.247,8676,10.315,18462,6.599,18563,10.315,19863,7.133,19864,7.133,19865,7.133,19866,7.133,19867,7.133,19868,7.133,19869,7.133,19870,5.45,19871,7.133,19872,7.133]],["title/classes/SingleFileParams.html",[0,0.232,6486,4.654]],["body/classes/SingleFileParams.html",[0,0.459,2,0.732,3,0.015,4,0.02,5,0.01,7,0.095,26,2.588,27,0.273,30,0.001,32,0.155,39,1.81,47,0.953,95,0.151,99,1.074,101,0.021,103,0,104,0,105,0.678,112,0.703,119,1.899,138,1.185,143,1.468,147,4.966,148,2.051,149,4.391,150,1.488,151,6.134,153,1.518,154,1.34,245,3.597,247,2.845,248,4.946,249,4.46,348,3.332,808,4.907,809,6.261,839,3.278,852,3.083,988,2.885,990,2.265,1079,3.911,1147,2.011,1203,5.881,1204,4.355,1205,4.355,1262,2.31,2739,4.785,2922,5.054,3632,3.05,4266,2.237,5663,4.564,5826,6.586,5933,3.066,6088,6.747,6419,4.302,6432,6.044,6438,6.261,6467,4.564,6468,4.645,6469,4.645,6472,7.994,6475,4.564,6476,8.273,6477,7.997,6478,7.997,6479,4.645,6480,4.564,6481,4.564,6482,4.645,6483,4.489,6484,7.729,6485,4.42,6486,6.23,6487,4.564,6488,4.489,6489,4.489,6490,4.237,6491,4.645,6492,4.645,6493,4.645,6494,4.237,6495,4.237,6496,4.355,6497,4.42,6498,4.645,19873,6.622]],["title/classes/SortExternalToolParams.html",[0,0.232,9685,5.759]],["body/classes/SortExternalToolParams.html",[0,0.383,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,31,0.645,32,0.147,33,0.543,34,1.893,95,0.147,101,0.018,103,0.001,104,0.001,112,0.867,138,2.027,148,2.817,149,4.363,150,2.043,180,1.974,247,3.907,249,4.431,382,3.383,480,2.53,486,2.739,721,8.057,743,6.165,839,3.518,852,4.234,2546,4.166,2548,3.062,3049,9.426,4510,10.753,4514,7.63,4515,7.965,9154,7.362,9685,9.502,19874,9.094,19875,13.282,19876,9.094,19877,8.413,19878,9.094]],["title/classes/SortHelper.html",[0,0.232,19879,6.35]],["body/classes/SortHelper.html",[0,0.283,2,0.924,3,0.018,4,0.018,5,0.009,7,0.12,8,1.303,27,0.344,29,0.849,30,0.001,31,0.476,32,0.139,33,0.401,35,1.016,47,0.754,55,2.643,95,0.1,99,1.357,101,0.013,103,0.001,104,0.001,349,0.865,413,3.584,479,4.968,556,3.079,662,2.598,696,3.247,708,4.305,721,8.521,1568,8.738,2093,7.693,2723,9.411,7222,6.392,19879,9.939,19880,10.743,19881,7.326,19882,10.743,19883,10.743,19884,8.365,19885,8.365]],["title/classes/SortImportUserParams.html",[0,0.232,13576,5.759]],["body/classes/SortImportUserParams.html",[0,0.383,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,32,0.147,33,0.543,95,0.154,101,0.018,103,0.001,104,0.001,112,0.867,138,2.027,148,2.817,149,4.363,150,2.043,180,1.974,247,3.907,249,4.431,382,3.383,480,2.53,486,2.739,651,5.456,652,5.456,721,8.057,743,6.165,839,3.518,852,4.234,3049,9.426,4510,10.753,4514,7.63,4515,7.965,4565,4.102,11283,7.63,13576,9.502,13687,12.288,19877,8.413,19886,9.094,19887,9.094,19888,9.094]],["title/classes/SortingParams.html",[0,0.232,4510,5.557]],["body/classes/SortingParams.html",[0,0.383,2,1.363,3,0.02,4,0.02,5,0.01,7,0.13,9,6.147,27,0.466,30,0.001,32,0.167,33,0.543,95,0.135,101,0.014,103,0.001,104,0.001,112,0.867,138,2.207,148,2.817,149,4.363,150,2.043,249,4.431,479,4.174,480,2.53,486,2.739,517,4.282,721,8.663,743,7.679,839,3.518,852,4.234,3049,9.426,3676,9.502,4510,9.169,4514,7.63,11008,9.169,19889,9.094,19890,9.094,19891,11.326,19892,9.094,19893,9.094]],["title/injectables/StartUserLoginMigrationUc.html",[539,0.921,19894,5.759]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.227,3,0.015,4,0.015,5,0.008,7,0.096,8,1.124,27,0.438,29,0.84,30,0.001,31,0.605,32,0.138,33,0.51,35,1.127,36,2.456,39,2.534,47,0.968,95,0.155,99,1.089,101,0.01,103,0,104,0,128,5.297,131,3.519,177,2.136,236,1.511,239,2.989,262,2.748,349,0.694,379,1.17,437,1.401,529,2.647,539,1.245,541,1.612,560,2.757,593,2.499,603,2.359,608,2.789,643,3.011,654,3.192,990,2.295,1338,3.107,1341,2.152,1670,5.052,1675,4.091,1758,6.788,1855,4.091,1959,7.243,1961,6.99,1963,3.78,1964,5.225,1966,5.432,2312,5.287,2531,3.107,2535,4.706,4266,4.391,4565,5.171,4567,5.432,4570,5.432,4571,8.895,4574,6.207,4578,6.014,4580,7.154,4581,5.003,4584,5.267,4589,7.78,4590,6.916,9345,5.267,14957,5.432,18407,5.629,18410,6.207,18411,5.876,19394,5.629,19894,7.78,19895,11.464,19896,9.273,19897,8.122,19898,9.273,19899,6.709,19900,9.273,19901,6.709,19902,7.507,19903,6.709,19904,6.709,19905,6.709,19906,6.709]],["title/classes/StatelessAuthorizationParams.html",[0,0.232,17094,6.012]],["body/classes/StatelessAuthorizationParams.html",[0,0.378,2,0.981,3,0.019,4,0.019,5,0.01,7,0.127,27,0.527,30,0.001,32,0.166,33,0.663,47,0.945,95,0.133,101,0.014,103,0.001,104,0.001,112,0.854,138,2.29,148,2.749,248,5.108,249,5.159,388,9.359,809,6.127,852,4.132,951,5.711,990,4.174,1783,9.578,1784,11.286,1785,8.211,1787,11.286,1788,8.211,1793,8.211,1794,5.68,1795,8.211,1796,8.211,17094,9.77,19907,13.187,19908,8.876,19909,8.876,19910,8.876,19911,8.876,19912,8.876]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.232,13092,5.759]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.236,2,0.77,3,0.015,4,0.015,5,0.008,7,0.1,8,1.155,27,0.48,29,0.857,30,0.001,31,0.617,32,0.172,33,0.52,35,1.157,47,0.999,59,2.148,95,0.129,96,1.864,101,0.011,103,0.001,104,0.001,112,0.729,153,1.598,173,2.028,180,1.66,182,2.217,349,1.302,379,0.88,437,1.256,480,3.503,556,3.096,560,2.865,572,8.514,593,3.547,603,2.231,696,3.697,1218,3.6,1454,8.33,1611,5.087,1726,2.982,1731,8.088,1822,5.683,1984,5.908,2079,3.083,2080,3.442,2081,3.321,2082,4.463,6777,4.985,7386,6.947,8786,8.779,12596,6.947,12781,8.34,12782,9.098,13092,7.99,15451,5.851,19913,6.974,19914,8.81,19915,9.523,19916,9.523,19917,9.523,19918,9.523,19919,9.523,19920,10.845,19921,9.523,19922,6.974,19923,9.523,19924,6.974,19925,6.974,19926,6.974,19927,9.523,19928,8.81,19929,9.523,19930,6.974,19931,6.452,19932,9.523,19933,6.974,19934,6.452]],["title/entities/StorageProviderEntity.html",[154,1.389,8197,5.119]],["body/entities/StorageProviderEntity.html",[0,0.28,3,0.018,4,0.018,5,0.009,7,0.119,27,0.514,30,0.001,32,0.171,33,0.512,47,0.987,95,0.141,96,2.213,101,0.017,103,0.001,104,0.001,105,0.847,112,0.817,138,2.232,143,2.367,144,2.695,154,2.159,155,2.703,160,4.624,172,4.202,173,2.408,174,4.08,175,3.697,178,3.291,180,1.443,181,2.24,182,2.632,2670,3.793,4856,6.175,6515,8.458,6517,8.458,6518,8.962,8197,7.959,12509,7.251,13089,9.347,13090,7.66,13091,11.541,13092,9.908,13093,7.66,13094,7.66,13095,7.66,13096,7.66,13097,7.66,13098,7.66,13099,7.66,13100,7.66,13101,7.66,19935,8.28,19936,8.28,19937,8.28,19938,8.28]],["title/injectables/StorageProviderRepo.html",[539,0.921,8194,5.759]],["body/injectables/StorageProviderRepo.html",[0,0.254,3,0.017,4,0.017,5,0.008,7,0.108,8,1.214,10,4.064,12,4.494,18,5.007,26,2.039,27,0.541,29,0.989,30,0.001,31,0.712,32,0.162,33,0.6,34,1.256,35,1.52,36,2.681,40,3.62,49,3.8,95,0.143,96,2.008,97,3.128,99,1.219,101,0.012,103,0.001,104,0.001,154,1.52,155,3.27,177,1.4,180,1.746,208,3.704,226,1.098,262,2.984,349,1.036,379,0.948,382,3.589,437,0.991,479,5.072,539,1.344,541,1.806,679,7.537,685,4.187,686,4.588,687,5.56,711,4.484,712,4.532,713,4.484,714,4.532,715,5.18,716,4.484,717,4.532,718,4.03,2310,5.482,2311,6.83,2315,7.306,2353,5.095,3697,5.18,6130,5.742,8194,8.403,8197,7.469,15950,9.432,19939,7.515,19940,7.515,19941,7.515,19942,7.515,19943,7.515]],["title/classes/StringValidator.html",[0,0.232,13686,5.389]],["body/classes/StringValidator.html",[0,0.293,2,0.955,3,0.019,4,0.019,5,0.01,7,0.124,8,1.331,27,0.452,29,0.868,30,0.001,31,0.625,32,0.142,33,0.526,35,1.333,47,0.974,59,3.38,101,0.013,103,0.001,104,0.001,119,2.268,143,2.434,145,3.554,248,4.38,349,1.311,413,4.039,437,1.447,480,3.72,486,2.605,593,3.222,696,4.26,739,5.472,1568,5.535,13686,8.616,13847,11.105,19928,8.002,19944,8.649,19945,10.975,19946,10.975,19947,8.649,19948,10.975,19949,8.649,19950,8.649,19951,8.649]],["title/entities/Submission.html",[154,1.389,2883,3.049]],["body/entities/Submission.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.149,26,2.119,27,0.506,30,0.001,32,0.164,33,0.564,34,0.781,47,0.801,55,1.763,62,2.76,72,2.108,95,0.14,96,1.249,101,0.011,103,0,104,0,105,0.478,112,0.74,119,2.582,138,2.199,143,2.608,144,3.388,145,1.998,154,1.442,155,1.526,160,4.826,168,4.089,172,3.674,173,1.359,174,2.725,175,2.087,178,1.858,180,0.815,181,1.265,182,1.486,226,0.683,236,1.575,239,2.756,349,1.216,437,1.725,480,1.3,486,1.408,528,2.399,529,1.334,556,2.376,603,1.467,644,4.845,654,2.903,662,3.407,766,2.61,915,3.279,938,2.707,951,2.188,1226,3.434,1664,1.747,1717,2.238,1816,3.221,1818,3.12,1824,3.341,1832,2.567,2670,5.631,2673,3.915,2677,2.567,2686,5.544,2687,2.917,2883,3.839,3136,6.235,3454,2.991,3455,3.279,3742,2.657,3819,6.553,3824,6.553,3832,5.981,3834,5.981,4266,1.579,5094,3.301,5932,3.852,6767,6.945,6768,3.12,6770,2.883,6772,2.633,6788,5.095,6792,2.917,6793,2.819,7000,3.169,7001,4.324,7112,4.623,7292,2.991,9432,7.386,12714,5,12715,5,12720,5,12721,3.279,12935,7.051,13102,5.981,13103,4.324,13104,8.942,13105,9.57,13106,6.243,13107,4.324,13108,6.595,13109,4.324,13110,4.324,13111,4.324,13112,4.324,13113,3.784,13114,4.324,13115,4.324,13116,4.324,13117,3.921,13118,4.324,13119,4.324,13120,4.324,13121,4.324,13122,4.324,13123,4.324,13124,9.628,13125,4.324,13126,4.324,13127,4.324,13128,4.324,13129,4.324,13130,4.324,13131,8.942,13132,4.324,13133,6.444,13134,3.784,13135,10.147,13136,6.595,13137,3.921,13138,6.595,13139,4.094,13140,3.409,13141,3.669,13142,4.324,13143,4.324,13144,4.324,13145,4.324,13146,6.595,13147,6.595,13148,4.324,13149,4.324,13150,4.324,13151,4.324,13152,6.444,13153,3.784,13154,3.921,13155,6.595,19952,4.674,19953,4.674,19954,4.674,19955,4.674,19956,4.674,19957,4.674,19958,4.674,19959,4.674,19960,4.674,19961,4.674,19962,4.674]],["title/classes/SubmissionContainerContentBody.html",[0,0.232,5775,4.582]],["body/classes/SubmissionContainerContentBody.html",[0,0.456,2,0.637,3,0.013,4,0.013,5,0.006,7,0.083,9,2.746,27,0.237,30,0.001,31,0.647,32,0.178,33,0.4,47,0.878,83,2.423,95,0.135,99,0.936,101,0.021,103,0,104,0,112,0.638,138,1.032,143,1.279,148,1.786,149,3.769,150,1.296,153,2.242,172,1.802,180,1.981,245,3.577,248,4.875,249,4.634,284,1.742,305,3.34,480,3.162,807,5.333,808,3.299,839,1.792,852,2.685,1142,3.599,1262,2.012,1271,1.797,1643,4.873,1942,4.091,2255,4.345,2501,2.778,2882,2.746,2883,3.702,2922,2.762,3278,3.442,3280,3.442,3283,3.406,3286,5.094,3289,5.058,3294,3.249,3767,3.599,3788,3.599,3789,6.931,4163,5.703,5681,6.261,5683,6.345,5685,6.261,5687,6.345,5689,6.345,5734,3.793,5771,6.531,5772,6.531,5773,6.531,5774,6.531,5775,7.153,6088,6.881,7227,3.85,7286,4.839,7287,4.922,8699,8.281,8700,5.743,8701,3.975,8704,5.481,8705,6.531,8706,6.531,8707,3.975,8708,6.531,8709,5.139,8710,5.649,8711,6.531,8712,6.531,8713,3.85,8714,3.85,8715,3.85,8716,3.85,8717,3.975,8718,3.975,8719,3.975,8720,3.975,8721,3.975,19963,5.767]],["title/classes/SubmissionContainerElement.html",[0,0.232,2873,4.337]],["body/classes/SubmissionContainerElement.html",[0,0.216,2,0.706,3,0.014,4,0.014,5,0.007,7,0.092,8,1.087,27,0.545,29,0.995,30,0.001,31,0.716,32,0.169,33,0.604,35,1.561,36,1.921,55,1.83,59,1.969,83,3.438,95,0.123,101,0.016,103,0,104,0,105,0.654,112,0.686,119,2.14,137,5.596,180,1.805,262,2.287,349,1.071,381,3.039,382,3.837,437,0.843,448,3.638,474,2.721,479,3.304,480,2.494,517,2.417,519,3.641,593,4.404,604,3.684,608,1.482,662,2.785,686,4.108,1218,2.417,1664,2.39,1665,4.673,1668,6.543,1739,4.13,1944,2.697,2512,6.335,2525,5.296,2786,7.96,2789,6.409,2790,6.409,2791,6.409,2792,5.985,2793,6.409,2795,4.146,2796,5.53,2797,6.631,2799,6.29,2800,5.53,2801,6.502,2803,4.484,2804,4.772,2806,6.543,2807,4.484,2809,6.409,2811,4.484,2813,4.146,2840,5.468,2873,7.093,2883,2.84,2884,6.246,2885,5.175,3289,5.804,4026,6.541,4027,4.663,4028,4.663,4037,4.039,4042,5.468,4796,5.914,4797,5.914,9173,4.57,18430,5.914,18432,5.914,19964,8.385,19965,6.393,19966,6.393,19967,8.295,19968,5.914,19969,5.914,19970,5.914,19971,5.599,19972,5.914]],["title/classes/SubmissionContainerElementContent.html",[0,0.232,19973,5.759]],["body/classes/SubmissionContainerElementContent.html",[0,0.357,2,0.896,3,0.018,4,0.018,5,0.009,7,0.116,27,0.434,29,0.642,30,0.001,31,0.462,32,0.17,33,0.389,34,1.955,47,0.821,83,3.823,95,0.139,99,1.317,101,0.016,103,0.001,104,0.001,112,0.806,138,1.452,150,1.823,153,2.414,245,3.372,253,4.005,379,1.476,404,3.265,517,3.982,593,4.612,774,4.137,819,4.083,839,2.521,2255,4.472,2492,6.353,2566,3.623,2884,7.054,2918,4.351,2919,4.351,2922,3.886,3289,6.92,3461,5.692,3473,4.842,3716,6.98,3720,6.16,3724,5.416,3726,5.416,4084,8.049,4163,6.225,5687,5.263,9189,6.569,10389,7.107,13291,6.2,19973,11.031,19974,10.821,19975,9.226,19976,9.746,19977,9.746]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.232,8711,4.582]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.455,2,0.63,3,0.013,4,0.013,5,0.006,7,0.082,9,2.715,27,0.34,30,0.001,31,0.644,32,0.18,47,0.875,83,1.658,95,0.135,99,0.925,101,0.021,103,0,104,0,112,0.633,138,1.479,143,1.265,148,1.766,149,3.745,150,1.281,153,2.228,172,1.782,180,2.057,245,3.572,248,4.858,249,4.617,284,1.722,305,3.303,382,1.704,480,3.148,556,1.402,807,5.289,808,3.272,819,2.869,839,1.771,852,2.655,1142,3.559,1262,1.989,1271,1.777,1643,3.335,1942,4.064,2255,4.653,2501,2.747,2882,2.715,2883,2.534,2922,2.731,3278,3.403,3280,3.403,3283,3.368,3286,5.061,3289,2.948,3294,3.213,3767,3.559,3788,3.559,3789,6.9,4163,5.673,5681,6.221,5683,6.305,5685,6.221,5687,6.914,5689,6.305,5734,3.751,5771,6.489,5772,6.489,5773,6.489,5774,6.489,5775,7.116,6088,6.858,7227,3.807,7287,3.368,8699,8.614,8700,5.697,8701,3.931,8704,5.436,8705,6.489,8706,6.489,8707,3.931,8708,6.489,8709,3.517,8710,3.866,8711,7.116,8712,6.489,8713,3.807,8714,3.807,8715,3.807,8716,3.807,8717,3.931,8718,3.931,8719,3.931,8720,3.931,8721,3.931,9194,4.477,19978,5.703,19979,5.703]],["title/entities/SubmissionContainerElementNode.html",[154,1.389,3216,5.389]],["body/entities/SubmissionContainerElementNode.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,27,0.362,30,0.001,32,0.114,83,3.533,95,0.152,96,2.352,101,0.017,103,0.001,104,0.001,105,0.9,112,0.849,138,1.574,143,2.46,144,2.864,154,2.245,155,2.873,160,4.914,172,3.466,173,2.559,180,1.934,181,2.381,349,0.91,403,4.914,437,1.16,593,4.526,1664,3.29,1665,5.058,1942,4.639,2512,5.313,2565,5.002,2566,3.929,2884,6.691,3171,5.86,3182,6.691,3216,8.71,3249,5.427,3273,9.717,3289,6.596,3620,6.842,3641,5.491,4126,5.631,4128,5.631,10397,7.706,13291,6.723,13292,7.123,19980,9.308,19981,9.717,19982,8.14]],["title/interfaces/SubmissionContainerElementProps.html",[105,0.702,19971,6.012]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.288,3,0.019,4,0.019,5,0.01,7,0.122,30,0.001,32,0.141,36,1.822,83,3.786,95,0.142,101,0.019,103,0.001,104,0.001,105,0.87,107,1.998,112,0.831,119,1.757,180,2.085,262,1.878,349,1.237,437,1.121,474,3.62,480,2.366,517,3.215,519,2.619,593,4.85,604,4.461,608,1.971,1218,3.215,1664,3.18,1665,3.54,1739,5.001,1944,3.588,2512,5.2,2525,6.413,2786,6.621,2796,5.245,2797,6.413,2800,5.245,2801,6.288,2809,6.079,2840,7.293,2873,7.557,2883,3.778,2884,5.129,2885,6.885,3289,6.73,4037,5.373,4042,6.621,9173,6.079,19964,6.885,19967,10.045,19968,7.868,19969,7.868,19970,7.868,19971,9.509,19972,7.868]],["title/classes/SubmissionContainerElementResponse.html",[0,0.232,4084,5.245]],["body/classes/SubmissionContainerElementResponse.html",[0,0.344,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,27,0.519,29,0.608,30,0.001,31,0.437,32,0.179,33,0.368,34,2.107,47,0.8,83,3.312,95,0.136,99,1.247,101,0.016,103,0.001,104,0.001,112,0.778,138,2.169,150,1.727,153,1.761,245,3.44,253,3.793,379,1.438,404,3.092,517,2.905,593,3.787,774,3.919,839,2.387,2255,4.82,2492,4.635,2566,3.431,2884,7.812,2917,5.055,2918,5.451,2919,5.451,2921,4.539,2922,4.868,3289,6.266,3461,5.391,3473,4.586,3716,7.523,3720,6.661,3724,5.13,3726,5.13,4084,9.633,4163,6.709,5687,6.593,10402,6.731,10403,6.731,10404,6.731,10405,6.731,10406,6.731,13291,5.872,19973,10.17,19974,11.983,19975,6.731,19976,7.11,19977,7.11]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.232,5711,6.012]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.258,2,0.841,3,0.017,4,0.017,5,0.009,7,0.109,8,1.225,27,0.497,29,0.799,30,0.001,31,0.575,32,0.156,33,0.484,34,1.273,35,1.378,95,0.135,99,1.235,100,2.588,101,0.012,103,0.001,104,0.001,112,0.773,119,2.087,236,2.047,349,1.172,376,3.169,413,3.902,437,1.004,603,2.333,604,3.128,662,2.365,739,4.36,782,4.543,783,5.642,786,5.977,788,5.678,1147,3.068,1942,5.596,2000,4.368,2255,2.91,2503,8.456,2506,7.931,2507,7.931,2509,7.719,2873,8.456,2884,7.58,3289,5.222,3716,4.543,3720,5.907,3737,5.442,4084,9.228,4163,4.052,5284,7.163,5687,4.938,5706,5.977,5711,11.544,9211,9.228,9213,5.977,9215,6.163,9216,6.163,9217,6.163,19973,9.513,19983,11.627,19984,7.613,19985,11.338,19986,11.338,19987,7.613]],["title/interfaces/SubmissionContainerNodeProps.html",[105,0.702,19981,6.012]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.3,3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.115,83,3.719,95,0.152,96,2.367,101,0.017,103,0.001,104,0.001,105,0.906,107,2.08,112,0.853,143,1.964,144,2.883,154,2.254,172,3.48,173,2.575,180,2.124,181,2.396,349,0.916,403,4.946,437,1.168,593,4.764,1664,3.311,1665,5.073,1942,3.703,2512,5.335,2565,5.034,2566,3.954,2884,5.341,3171,5.884,3182,6.719,3216,6.953,3249,5.462,3273,9.757,3289,6.813,3620,7.517,3641,5.527,4126,5.668,4128,5.668,13291,6.767,13292,7.17,19980,7.43,19981,10.674,19982,8.193]],["title/classes/SubmissionContainerUrlParams.html",[0,0.232,3756,6.012]],["body/classes/SubmissionContainerUrlParams.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.401,30,0.001,32,0.126,34,1.976,47,0.83,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,138,1.744,142,4.606,143,2.621,144,3.848,145,3.314,148,3.019,150,2.19,153,2.234,245,3.031,808,4.679,2883,5.251,2884,7.129,3756,10.352,3876,5.757,7303,9.28,19988,10.352,19989,9.748,19990,11.769,19991,9.748]],["title/controllers/SubmissionController.html",[259,2.624,19992,6.012]],["body/controllers/SubmissionController.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.112,8,1.248,10,4.665,27,0.424,29,0.814,30,0.001,31,0.586,32,0.133,33,0.494,35,1.251,36,2.616,95,0.155,100,2.663,101,0.012,103,0.001,104,0.001,138,1.842,150,1.76,177,1.459,223,3.261,226,1.145,236,1.276,259,2.995,261,3.751,262,2.875,270,6.511,271,4.268,294,6.776,333,4.382,337,4.078,338,4.169,343,4.201,345,2.497,349,1.065,437,1.61,608,2.386,631,3.994,739,4.443,2764,3.708,2941,6.771,2963,4.107,3742,5.852,14987,6.572,14993,6.572,19992,9.016,19993,7.833,19994,11.499,19995,10.696,19996,10.294,19997,7.833,19998,7.833,19999,10.246,20000,10.294,20001,7.833,20002,6.86,20003,9.647,20004,6.572,20005,7.833,20006,7.833,20007,7.833,20008,7.833,20009,7.833,20010,7.247,20011,7.833,20012,10.294,20013,7.833,20014,7.833,20015,7.833]],["title/classes/SubmissionFactory.html",[0,0.232,20016,6.35]],["body/classes/SubmissionFactory.html",[0,0.156,2,0.51,3,0.01,4,0.01,5,0.005,7,0.066,8,0.856,27,0.546,29,1.032,30,0.001,31,0.709,32,0.172,33,0.597,34,1.433,35,1.459,47,0.496,55,2.5,59,3.187,95,0.13,99,0.749,101,0.007,103,0,104,0,112,0.54,120,2.992,133,2.447,140,2.535,143,1.566,153,1.965,154,2.094,155,2.305,177,1.315,180,1.231,271,4.799,319,2.992,349,1.07,379,0.582,382,3.822,413,2.132,437,1.439,447,7.111,448,4.428,449,5.318,452,3.91,453,5.318,454,5.559,455,3.91,456,3.91,457,3.91,458,3.846,459,4.342,460,4.748,461,6.33,462,5.638,463,6.946,464,2.578,469,2.556,470,3.91,471,2.578,472,5,473,5.15,474,4.088,475,4.864,476,3.877,477,2.556,478,2.42,479,4.022,480,3.258,481,2.494,482,2.456,483,2.556,484,4.93,485,2.578,486,3.528,487,4.671,488,2.556,489,7.227,490,4.169,491,6.486,492,2.578,493,4.206,494,2.556,495,2.578,496,2.556,497,2.578,498,2.556,499,2.88,500,2.699,501,2.556,502,5.945,503,2.578,504,2.556,505,3.91,506,3.676,507,3.91,508,2.578,509,2.475,510,2.456,511,2.051,512,2.556,513,2.556,514,2.556,515,2.578,516,2.578,517,1.745,518,2.556,519,1.422,520,2.578,521,2.795,522,2.556,523,2.578,525,2.648,526,2.699,527,5.672,648,3.299,649,3.527,654,1.386,2686,2.082,2883,3.137,3136,4.013,3819,7.016,3824,7.016,6985,3.624,6986,3.737,6995,3.624,9432,5.395,13102,3.872,13105,5.923,20016,7.932,20017,4.616,20018,9.603,20019,7.06,20020,4.616,20021,4.616,20022,4.616,20023,7.06,20024,4.616,20025,4.616,20026,4.042,20027,4.616,20028,4.042,20029,4.616,20030,4.616,20031,4.616,20032,4.27]],["title/classes/SubmissionItem.html",[0,0.232,2525,4.054]],["body/classes/SubmissionItem.html",[0,0.203,2,0.663,3,0.013,4,0.013,5,0.007,7,0.086,8,1.04,26,2.445,27,0.549,29,0.999,30,0.001,31,0.72,32,0.169,33,0.606,35,1.563,36,1.838,39,2.984,55,1.75,59,1.85,95,0.119,99,0.974,101,0.017,103,0,104,0,105,0.615,112,0.657,119,2.612,137,5.354,180,1.745,262,2.21,349,1.129,381,2.907,382,3.776,437,1.131,448,3.481,474,2.556,479,3.162,480,3.037,517,3.243,519,3.699,604,2.468,608,1.392,662,2.665,686,3.93,1218,2.27,1664,2.245,1665,3.571,1668,6.323,1739,3.951,1942,3.587,1944,2.533,2512,6.326,2525,6.448,2786,7.846,2789,6.132,2790,6.132,2791,6.132,2792,5.726,2793,6.132,2795,3.895,2796,5.291,2797,6.448,2799,6.018,2800,5.291,2801,6.323,2803,4.213,2804,4.566,2806,6.898,2807,4.213,2811,4.213,2813,3.895,2840,5.231,2864,5.291,2870,5.231,3291,6.657,4026,4.381,4027,4.381,4028,4.381,4037,3.794,4042,5.231,4808,5.26,7656,4.862,17886,6.945,19964,9.349,20033,5.556,20034,6.006,20035,6.006,20036,7.937,20037,6.006,20038,6.006,20039,6.006,20040,6.006,20041,6.006,20042,6.006,20043,6.006,20044,5.26,20045,5.26,20046,7.937,20047,5.556,20048,5.556,20049,5.556,20050,5.556,20051,5.556,20052,5.556,20053,5.26,20054,5.556,20055,5.26,20056,5.26,20057,5.26]],["title/injectables/SubmissionItemFactory.html",[539,0.921,20058,6.35]],["body/injectables/SubmissionItemFactory.html",[0,0.327,3,0.021,4,0.021,5,0.011,7,0.139,8,1.425,27,0.398,30,0.001,34,1.614,35,1.173,39,2.639,49,3.664,83,3.417,95,0.151,101,0.015,103,0.001,104,0.001,145,2.707,226,1.411,236,2.201,349,0.998,376,4.019,377,4.187,454,6.104,524,5.489,539,1.577,541,2.32,2525,7.786,2883,4.29,2885,7.817,3291,5.887,4188,7.334,19964,9.514,20058,10.872,20059,9.655,20060,9.655]],["title/entities/SubmissionItemNode.html",[154,1.389,3219,5.389]],["body/entities/SubmissionItemNode.html",[0,0.273,3,0.018,4,0.018,5,0.009,7,0.151,26,2.515,27,0.432,30,0.001,32,0.136,39,3.376,95,0.152,96,2.156,99,1.309,101,0.016,103,0.001,104,0.001,105,0.825,112,0.803,119,2.41,138,1.878,154,2.123,155,2.634,172,3.859,173,2.346,180,1.829,181,2.183,191,4.394,192,5.162,239,2.459,349,0.834,403,4.505,437,1.063,595,4.975,600,5.034,685,3.372,769,7.233,990,2.76,1181,4.918,1664,3.016,1665,4.855,1726,3.449,2425,5.162,2512,5.025,2565,4.585,2566,3.601,2883,4.662,3136,5.965,3171,5.543,3182,6.329,3219,8.238,3222,7.464,3249,4.975,3288,9.19,3291,7.532,3620,6.472,3641,5.034,4126,5.162,4127,7.462,4128,5.162,5578,8.018,8053,6.016,9199,7.064,9432,6.163,12443,5.884,19980,9.785,20061,8.066,20062,9.708,20063,9.708,20064,7.462,20065,9.19,20066,7.064,20067,7.462,20068,7.462]],["title/interfaces/SubmissionItemNodeProps.html",[105,0.702,20065,6.012]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.154,26,2.632,30,0.001,32,0.139,39,3.533,95,0.154,96,2.222,99,1.349,101,0.017,103,0.001,104,0.001,105,0.851,107,1.953,112,0.819,119,2.582,154,2.165,172,3.697,173,2.417,180,2.063,181,2.25,191,4.529,192,5.32,239,1.948,349,0.86,403,4.643,437,1.096,595,5.127,600,5.188,685,3.476,769,5.73,990,2.844,1181,5.069,1664,3.108,1665,4.926,1726,3.555,2425,5.32,2512,5.125,2565,4.726,2566,3.712,2883,3.693,3136,4.726,3171,5.652,3182,6.453,3219,6.527,3222,5.32,3249,5.127,3288,9.372,3291,7.883,3620,7.298,3641,5.188,4126,5.32,4128,5.32,5578,6.352,8053,6.2,9432,6.352,12443,6.064,19980,6.975,20062,7.691,20063,7.691,20064,7.691,20065,10.364,20066,7.281,20067,7.691,20068,7.691]],["title/interfaces/SubmissionItemProps.html",[105,0.702,20053,6.012]],["body/interfaces/SubmissionItemProps.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,26,2.668,30,0.001,32,0.151,36,1.718,39,3.493,95,0.138,99,1.301,101,0.019,103,0.001,104,0.001,105,0.821,107,1.883,112,0.8,119,2.708,180,2.027,262,1.77,349,1.274,437,1.378,474,3.413,480,2.908,517,3.951,519,2.47,604,3.295,608,1.858,1218,3.031,1664,2.998,1739,4.814,1942,4.37,1944,3.382,2512,5.57,2525,6.869,2786,6.374,2796,4.945,2797,6.174,2800,4.945,2801,6.053,2840,7.092,2864,6.447,2870,6.374,3291,7.794,4037,5.066,4042,6.374,17886,8.462,19964,6.492,20033,7.418,20036,7.418,20044,7.023,20045,7.023,20046,9.67,20047,7.418,20048,7.418,20049,7.418,20050,7.418,20051,7.418,20052,7.418,20053,9.155,20054,7.418,20055,7.023,20056,7.023,20057,7.023]],["title/classes/SubmissionItemResponse.html",[0,0.232,8744,5.557]],["body/classes/SubmissionItemResponse.html",[0,0.254,2,0.83,3,0.017,4,0.017,5,0.008,7,0.108,27,0.53,29,0.594,30,0.001,31,0.428,32,0.17,33,0.36,34,2.092,39,3.42,47,0.844,95,0.134,101,0.012,103,0.001,104,0.001,112,0.766,119,2.069,138,2.239,150,1.688,191,4.094,245,3.423,253,4.943,379,1.264,404,3.024,556,1.847,774,3.832,819,3.781,827,5.8,849,6.93,1732,5.252,1942,3.142,2917,6.587,2918,6.443,2919,6.443,3291,7.631,3716,7.467,3720,6.587,3724,5.016,3726,5.016,3766,5.742,3767,4.69,3771,8.052,3772,8.588,3788,4.69,3789,6.107,3790,6.084,3791,6.084,4145,6.582,7303,10.315,8744,10.131,19988,11.507,20066,6.582,20069,7.515,20070,7.515,20071,7.515,20072,7.515,20073,7.515,20074,7.515,20075,7.515,20076,7.515]],["title/classes/SubmissionItemResponseMapper.html",[0,0.232,3774,5.759]],["body/classes/SubmissionItemResponseMapper.html",[0,0.229,2,0.749,3,0.015,4,0.015,5,0.008,7,0.097,8,1.132,27,0.497,29,0.845,30,0.001,31,0.608,32,0.149,33,0.512,34,1.133,35,1.399,39,2.552,95,0.127,99,1.099,100,2.304,101,0.011,103,0,104,0,112,0.715,236,1.967,239,1.588,349,1.191,376,2.821,413,3.77,437,1.646,603,2.568,651,3.264,652,3.264,662,3.973,739,4.969,782,4.044,783,5.215,786,5.32,788,5.053,824,3.312,849,3.753,1942,2.833,2255,2.59,2525,7.696,2543,5.935,2794,4.67,2864,5.759,2870,5.693,3122,4.611,3139,9.773,3174,4.523,3175,4.395,3222,7.988,3291,4.132,3716,4.044,3720,5.46,3737,4.844,3768,8.963,3773,5.178,3774,10.731,3777,5.935,3794,6.269,4149,6.269,5284,6.749,6829,4.943,8744,9.776,9211,8.797,9212,5.685,9213,5.32,11613,5.685,18264,6.269,18265,6.269,19983,11.548,20055,5.935,20077,9.337,20078,9.337,20079,9.337,20080,9.337,20081,9.337,20082,6.776,20083,8.963,20084,10.683,20085,6.269,20086,6.776,20087,6.776,20088,9.337,20089,6.776,20090,6.776,20091,6.776,20092,6.776,20093,6.776,20094,6.776]],["title/injectables/SubmissionItemService.html",[539,0.921,3596,5.557]],["body/injectables/SubmissionItemService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.098,8,1.14,12,4.219,26,2.611,27,0.476,29,0.914,30,0.001,31,0.658,32,0.162,33,0.554,34,1.795,35,1.305,36,2.682,39,2.935,40,4.529,49,2.597,83,3.123,95,0.149,99,1.111,101,0.011,103,0.001,104,0.001,119,2.389,120,3.984,177,1.752,226,1,236,2.089,262,2.926,283,4.221,340,3.317,345,2.182,349,0.972,376,2.849,377,2.968,379,0.864,437,1.524,524,3.891,529,2.684,539,1.262,541,1.644,603,1.408,604,2.812,608,2.489,685,4.49,1616,6.051,1818,4.569,1942,4.49,1944,2.887,2487,3.616,2525,7.828,2681,3.67,2873,7.305,2958,5.553,3149,5.105,3150,8.783,3158,6.332,3291,7.39,3378,5.995,3427,9.564,3596,7.612,4181,5.541,4188,4.272,5703,5.868,5716,5.995,8772,5.995,16151,6.332,20095,12.119,20096,6.845,20097,6.845,20098,11.562,20099,6.845,20100,6.845,20101,9.402,20102,6.845,20103,6.845,20104,6.845,20105,6.845,20106,6.845,20107,6.845,20108,6.845,20109,9.402]],["title/injectables/SubmissionItemUc.html",[539,0.921,2756,5.759]],["body/injectables/SubmissionItemUc.html",[0,0.178,3,0.012,4,0.012,5,0.006,7,0.075,8,0.943,26,2.845,27,0.488,29,0.937,30,0.001,31,0.675,32,0.17,33,0.569,34,0.877,35,1.392,36,2.609,39,3.459,59,1.616,95,0.13,99,0.851,101,0.008,103,0,104,0,119,1.914,177,1.909,180,1.355,226,0.767,236,1.509,262,2.948,349,0.958,379,0.981,382,2.767,437,1.511,448,5.135,529,2.645,539,1.044,541,1.261,560,2.156,608,2.933,639,2.47,1107,5.959,1688,3.451,1758,6.311,1826,3.502,1861,5.558,1912,7.473,1942,3.251,2512,5.487,2513,8.754,2515,6.104,2516,8.043,2517,3.827,2518,8.393,2520,3.913,2521,5.672,2522,6.622,2524,4.119,2525,7.474,2527,4.119,2528,5.558,2531,2.429,2542,4.402,2544,3.913,2680,4.503,2681,2.814,2756,6.524,2864,3.236,2870,3.199,2873,5.853,2883,2.331,2884,3.164,3122,3.998,3139,4.009,3157,3.913,3291,6.247,3596,9.6,3743,7.772,3745,8.57,3777,8.113,3857,4.248,3858,4.248,3859,4.248,3862,4.248,3863,4.248,4163,5.452,4216,8.113,4218,4.854,4743,2.771,5681,3.357,5685,3.357,5703,4.852,8772,4.595,8773,4.854,8782,7.193,8784,4.854,8793,4.854,9149,4.595,19990,8.57,20044,4.595,20045,4.595,20056,4.595,20057,4.595,20110,10.939,20111,5.247,20112,9.264,20113,5.247,20114,10.599,20115,5.247,20116,5.247,20117,5.247,20118,5.247,20119,5.247,20120,5.247,20121,5.247,20122,5.247,20123,5.247,20124,5.247,20125,5.247,20126,5.247,20127,5.247,20128,7.776,20129,5.247,20130,5.247]],["title/classes/SubmissionItemUrlParams.html",[0,0.232,3747,6.012]],["body/classes/SubmissionItemUrlParams.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.401,30,0.001,32,0.126,34,1.976,47,0.83,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,138,1.744,142,4.606,143,2.621,144,3.848,145,3.314,148,3.019,150,2.19,153,2.234,245,3.031,808,4.679,2883,5.251,3222,7.564,3747,10.352,3876,5.757,7303,9.28,19988,10.352,20114,11.769,20131,9.748,20132,9.748]],["title/classes/SubmissionMapper.html",[0,0.232,20002,6.012]],["body/classes/SubmissionMapper.html",[0,0.323,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,8,1.415,27,0.393,29,0.754,30,0.001,31,0.543,32,0.124,33,0.458,34,1.595,35,1.159,95,0.139,99,1.548,100,3.966,101,0.015,103,0.001,104,0.001,236,1.554,349,0.987,413,3.807,437,1.258,790,4.801,2883,5.983,12935,6.961,13133,7.116,13152,7.116,13335,7.725,13339,8.006,13347,8.006,20002,10.218,20133,9.542,20134,11.667,20135,11.667,20136,9.542,20137,11.015,20138,9.542,20139,8.357,20140,9.542,20141,8.357,20142,9.542]],["title/injectables/SubmissionRepo.html",[539,0.921,1808,5.245]],["body/injectables/SubmissionRepo.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.032,10,3.452,12,3.818,18,4.253,26,2.651,27,0.528,29,0.996,30,0.001,31,0.717,32,0.163,33,0.604,34,0.992,35,1.531,36,2.852,39,3.142,40,4.098,47,0.698,95,0.129,96,1.586,98,3.542,99,0.963,101,0.009,103,0,104,0,154,1.201,155,2.778,173,1.726,180,1.483,226,0.867,262,3.067,310,3.689,349,1.189,382,3.244,437,1.516,479,4.857,539,1.142,541,1.426,603,2.461,608,2.92,679,7.068,685,3.557,686,3.897,687,4.908,711,3.542,712,3.58,713,3.542,714,3.58,716,3.542,717,3.58,718,3.183,739,3.672,1519,3.374,1726,2.538,1808,6.501,2350,3.506,2686,2.677,2883,5.473,3044,3.344,3136,3.374,3697,4.091,3742,5.652,4488,6.679,4494,6.887,5558,2.418,6132,4.927,6725,3.75,6767,5.873,7031,4.536,13105,4.98,15199,7.87,18644,5.491,20143,5.936,20144,8.507,20145,8.507,20146,8.507,20147,8.507,20148,5.936,20149,8.507,20150,5.936,20151,8.507,20152,5.936,20153,5.491,20154,8.507,20155,5.936,20156,5.936,20157,5.936,20158,5.936,20159,5.936,20160,8.507,20161,5.936,20162,5.936,20163,5.936,20164,5.936]],["title/injectables/SubmissionRule.html",[539,0.921,1770,5.759]],["body/injectables/SubmissionRule.html",[0,0.182,3,0.012,4,0.012,5,0.006,7,0.077,8,0.96,27,0.505,29,0.97,30,0.001,31,0.698,32,0.162,33,0.588,35,1.452,95,0.132,101,0.008,103,0,104,0,119,2.47,131,3.934,145,2.22,154,2.098,177,1.476,226,0.786,236,0.876,239,3.313,345,1.715,349,1.236,379,0.679,437,1.524,529,1.535,539,1.063,541,1.292,603,2.778,604,2.21,662,3.591,739,3.418,1107,7.187,1147,1.634,1515,3.845,1670,5.648,1673,6.395,1687,5.458,1688,5.209,1697,7.214,1718,3.244,1735,4.829,1770,6.644,1771,9.676,1875,5.136,1879,4.942,1886,3.59,2883,6.424,3255,3.398,3411,5.286,3412,3.646,3415,5.209,3418,3.646,3419,5.369,13335,4.354,15104,4.976,20165,5.378,20166,11.56,20167,10.368,20168,10.368,20169,11.56,20170,10.368,20171,5.378,20172,7.919,20173,5.378,20174,7.919,20175,5.378,20176,7.919,20177,5.378,20178,5.378,20179,7.919,20180,5.378,20181,7.919,20182,5.378,20183,5.378,20184,5.378,20185,5.378,20186,7.919,20187,5.378,20188,7.919,20189,5.378,20190,5.378,20191,5.378,20192,7.919,20193,7.919]],["title/injectables/SubmissionService.html",[539,0.921,20194,5.557]],["body/injectables/SubmissionService.html",[0,0.271,3,0.018,4,0.018,5,0.009,7,0.115,8,1.266,10,4.236,12,4.685,26,2.716,27,0.507,29,0.974,30,0.001,31,0.701,32,0.159,33,0.59,35,1.412,36,2.806,95,0.147,98,4.775,99,1.298,101,0.012,103,0.001,104,0.001,177,1.945,226,1.169,227,3.317,262,3.02,349,1.08,379,1.317,437,1.055,539,1.401,541,1.923,603,2.148,608,2.419,1231,5.056,1808,10.009,2883,5.675,3600,3.975,3601,3.22,3742,5.934,6547,9.536,20194,8.452,20195,8.003,20196,9.658,20197,8.003,20198,8.003,20199,10.44,20200,8.003,20201,10.44,20202,8.003,20203,6.283,20204,10.44,20205,8.003,20206,7.009,20207,8.003,20208,8.003,20209,8.003,20210,8.003]],["title/classes/SubmissionStatusListResponse.html",[0,0.232,20004,5.759]],["body/classes/SubmissionStatusListResponse.html",[0,0.373,2,0.964,3,0.019,4,0.019,5,0.01,7,0.125,27,0.454,29,0.69,30,0.001,31,0.497,32,0.157,33,0.418,34,2.023,47,0.85,55,1.78,95,0.104,101,0.017,103,0.001,104,0.001,112,0.844,119,2.28,138,1.561,149,4.662,150,1.96,245,3.437,284,3.963,379,1.393,404,3.51,556,2.145,817,6.33,819,4.389,834,4.752,12935,8.829,13117,7.319,13133,9.026,13137,7.319,13152,9.026,13154,7.319,20004,9.258,20137,11.553,20139,10.6,20141,10.6,20211,8.07,20212,8.724,20213,8.724,20214,8.07,20215,8.07]],["title/classes/SubmissionStatusResponse.html",[0,0.232,20137,5.759]],["body/classes/SubmissionStatusResponse.html",[0,0.349,2,0.867,3,0.017,4,0.017,5,0.009,7,0.113,27,0.547,29,0.62,30,0.001,31,0.447,32,0.174,33,0.609,34,2.122,47,0.915,55,2.103,95,0.093,101,0.016,103,0.001,104,0.001,112,0.789,119,2.525,138,2.331,149,4.89,150,1.763,245,3.528,284,3.113,379,1.301,404,3.158,774,4.002,817,4.502,834,4.275,12935,9.26,13117,6.585,13133,9.467,13137,6.585,13152,9.467,13154,6.585,20004,6.585,20137,11.304,20139,11.117,20141,11.117,20211,7.261,20214,7.261,20215,7.261,20216,7.848,20217,7.848,20218,7.848,20219,7.848,20220,7.848,20221,7.848,20222,7.848]],["title/injectables/SubmissionUc.html",[539,0.921,20003,5.759]],["body/injectables/SubmissionUc.html",[0,0.242,3,0.016,4,0.016,5,0.008,7,0.103,8,1.174,10,3.928,26,2.818,27,0.485,29,0.931,30,0.001,31,0.67,32,0.152,33,0.564,35,1.334,36,2.074,39,2.646,95,0.14,99,1.159,101,0.011,103,0.001,104,0.001,143,1.584,177,1.804,226,1.044,239,3.198,262,2.8,349,1.217,379,1.222,437,1.71,539,1.299,541,1.717,560,2.936,603,2.531,608,2.728,643,3.206,933,3.957,1218,2.701,1675,4.357,1735,5.904,1758,6.903,1855,5.904,1857,5.61,2531,3.309,2883,5.942,3742,5.504,13334,5.995,15149,8.479,20003,8.123,20194,10.268,20196,8.957,20203,8.621,20206,9.617,20223,7.145,20224,9.682,20225,7.145,20226,7.145,20227,7.145,20228,9.682,20229,7.145,20230,9.682,20231,7.145,20232,7.145,20233,11.771,20234,7.145,20235,7.145,20236,7.145,20237,7.145,20238,6.61,20239,9.682,20240,7.145]],["title/classes/SubmissionUrlParams.html",[0,0.232,19995,6.012]],["body/classes/SubmissionUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2883,5.297,3876,5.841,19995,10.443,20206,11.212,20241,9.89,20242,9.89]],["title/classes/SubmissionsResponse.html",[0,0.232,3768,5.759]],["body/classes/SubmissionsResponse.html",[0,0.302,2,0.987,3,0.02,4,0.02,5,0.01,7,0.128,27,0.504,29,0.706,30,0.001,31,0.509,32,0.171,33,0.428,95,0.146,101,0.014,103,0.001,104,0.001,112,0.857,138,2.004,150,2.007,239,2.094,245,3.138,379,1.128,556,2.754,819,5.636,2883,3.969,3122,5.905,3768,9.398,7303,10.072,8744,11.076,8971,7.014,20083,11.478,20085,12.224,20243,8.934,20244,11.201,20245,8.934,20246,8.934,20247,8.934,20248,8.934,20249,8.934,20250,8.934]],["title/interfaces/SuccessfulRes.html",[105,0.702,11933,5.119]],["body/interfaces/SuccessfulRes.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.544,47,0.955,55,2.535,101,0.021,103,0.001,104,0.001,105,1.41,107,2.17,112,0.875,119,2.567,284,2.79,347,3.334,479,3.405,986,8.42,991,6.264,1025,3.658,3122,3.987,4600,6.264,6722,5.457,11925,6.89,11926,7.059,11927,6.89,11928,6.89,11929,7.059,11930,8.563,11931,7.059,11932,7.059,11933,8.53,11934,7.059,11935,6.739,11936,6.89,11937,7.059,11938,6.89]],["title/classes/SuccessfulResponse.html",[0,0.232,20251,6.012]],["body/classes/SuccessfulResponse.html",[0,0.336,2,1.098,3,0.022,4,0.022,5,0.011,7,0.143,27,0.492,29,0.786,30,0.001,31,0.566,32,0.155,33,0.477,95,0.118,101,0.015,103,0.001,104,0.001,112,0.915,119,2.814,138,1.778,150,2.233,245,3.29,379,1.254,14641,11.427,20251,10.474,20252,9.938,20253,11.959,20254,9.938,20255,9.938,20256,9.938]],["title/injectables/SymetricKeyEncryptionService.html",[539,0.921,8803,6.012]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,8,1.269,27,0.54,29,0.92,30,0.001,31,0.663,32,0.151,33,0.558,35,1.272,47,0.988,59,2.475,95,0.147,101,0.012,103,0.001,104,0.001,226,1.174,284,3.725,345,2.562,349,1.356,379,1.014,539,1.405,541,1.93,603,1.653,662,4.073,769,5.538,1147,2.44,1341,2.577,1611,5.861,1984,7.143,2312,4.338,2313,5.621,2882,4.984,3002,5.447,3895,7.806,6777,5.743,7386,8.492,8802,7.433,8803,9.167,9825,7.635,12781,9.167,12782,8.781,12783,9.683,12785,9.683,13488,7.433,15451,6.741,19931,7.433,19934,7.433,20257,8.034,20258,8.034,20259,8.034,20260,8.034,20261,11.641,20262,11.641,20263,8.034,20264,8.034]],["title/modules/SystemApiModule.html",[201,1.848,19502,5.557]],["body/modules/SystemApiModule.html",[0,0.319,3,0.021,4,0.021,5,0.011,30,0.001,95,0.156,101,0.015,103,0.001,104,0.001,201,3.376,203,3.427,204,3.675,205,3.779,206,3.764,207,3.749,208,4.637,209,3.579,218,4.642,219,3.704,220,3.619,222,5.886,223,4.822,225,4.605,226,1.378,1421,9.584,19502,11.315,20265,9.431,20266,9.431,20267,9.431,20268,11.463,20269,9.431,20270,10.981,20271,9.431,20272,9.431,20273,9.431]],["title/controllers/SystemController.html",[259,2.624,20270,6.012]],["body/controllers/SystemController.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.094,8,1.103,27,0.375,29,0.719,30,0.001,31,0.518,32,0.16,33,0.436,35,1.499,36,2.427,72,5.11,95,0.156,101,0.01,103,0,104,0,128,4.616,138,1.628,150,1.466,153,2.596,177,1.216,223,2.717,226,0.954,259,2.495,261,3.125,262,2.724,271,3.377,278,7.68,284,3.422,310,2.83,319,3.855,333,2.778,335,6.316,336,6.535,337,3.398,345,2.081,346,5.428,347,3.283,349,0.941,437,1.494,482,6.029,560,2.682,608,2.108,692,9.922,824,2.315,1306,5.611,1456,5.983,2094,6.987,2417,6.987,2493,7.451,3122,3.926,3134,5.487,3731,4.356,4544,6.561,4743,4.805,10926,7.34,11628,8.416,11880,7.562,16157,7.967,17089,8.894,18032,9.504,18035,9.171,20268,8.786,20270,7.967,20274,6.526,20275,9.097,20276,6.526,20277,9.922,20278,6.526,20279,10.48,20280,6.526,20281,6.526,20282,11.329,20283,6.526,20284,6.526,20285,6.526,20286,6.526,20287,6.526,20288,6.526,20289,8.416,20290,6.038,20291,6.526,20292,6.038,20293,5.716,20294,6.526,20295,6.526,20296,6.526,20297,6.526,20298,6.526,20299,6.526,20300,6.526,20301,6.526,20302,6.526,20303,6.526,20304,6.526,20305,6.526,20306,6.526]],["title/classes/SystemDto.html",[0,0.232,11880,4.582]],["body/classes/SystemDto.html",[0,0.26,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,26,2.319,27,0.564,29,0.608,30,0.001,31,0.437,32,0.181,33,0.682,34,1.904,47,0.962,95,0.136,99,1.247,101,0.012,103,0.001,104,0.001,112,0.778,119,2.1,379,0.97,404,3.092,1262,3.974,2566,3.431,3134,3.54,5953,5.848,5973,4.918,6446,4.153,11880,8.415,12263,7.388,12661,5.731,13158,7.604,13161,7.197,13162,7.991,13163,7.492,13164,5.13,13165,5.13,13250,5.872,13252,5.872,13258,5.872,13260,5.872,13504,8.704,14628,5.493,18038,9.405,18045,6.448,18046,6.222,18047,6.448,20307,7.685,20308,10.538,20309,10.166,20310,7.685,20311,7.685,20312,7.685,20313,7.685,20314,7.685,20315,7.685,20316,7.685,20317,7.685,20318,6.731,20319,6.448,20320,7.11,20321,7.11,20322,7.11,20323,7.685,20324,7.11]],["title/entities/SystemEntity.html",[154,1.389,9006,3.77]],["body/entities/SystemEntity.html",[0,0.311,3,0.009,4,0.009,5,0.005,7,0.061,26,1.347,27,0.482,30,0.001,32,0.163,33,0.621,47,1.011,83,2.365,95,0.109,96,1.134,101,0.015,103,0,104,0,105,0.434,112,0.506,119,0.877,133,2.294,138,2.095,143,3.069,144,4.401,145,1.855,153,0.973,154,1.646,155,1.386,160,6.365,172,4.422,173,1.234,174,2.53,175,1.895,177,0.791,178,1.687,180,0.74,181,1.149,182,1.349,276,1.841,511,1.886,570,2.618,578,2.588,839,2.527,950,2.618,1262,3.474,1371,2.588,1454,3.034,1486,2.649,1664,1.587,2021,2.753,2046,3.166,2562,3.374,2566,1.895,4332,3.549,4370,4.731,4404,2.56,4677,3.397,5558,1.729,5643,3.33,5953,4.716,5973,2.716,5974,2.926,6446,3.577,7385,2.682,7472,2.878,7528,4.035,9006,3.635,9343,2.878,10327,2.792,10926,2.413,12263,7.595,12344,3.166,12345,3.166,12346,3.166,12347,3.243,12391,2.926,12394,2.833,12396,2.926,12399,2.926,12402,2.618,12406,2.878,12447,2.792,12867,3.243,13048,3.034,13156,5.057,13157,3.436,13158,6.132,13159,8.734,13160,8.214,13161,5.804,13162,6.444,13163,6.042,13164,2.833,13165,2.833,13166,3.436,13167,4.561,13168,4.935,13169,3.332,13170,4.935,13171,3.243,13172,3.243,13173,3.243,13174,3.243,13175,3.332,13176,3.243,13177,3.243,13178,3.243,13179,3.332,13180,4.935,13181,3.332,13182,3.243,13183,3.332,13184,3.243,13185,3.243,13186,3.243,13187,3.332,13188,4.561,13189,3.436,13190,3.436,13191,3.436,13192,3.436,13193,3.436,13194,3.436,13195,3.436,13196,3.436,13197,3.436,13198,3.436,13199,3.436,13200,3.436,13201,3.332,13202,3.436,13203,3.436,13204,3.436,13205,3.436,13206,3.436,13207,3.436,13208,3.436,13209,3.436,13210,3.436,13211,3.436,13212,3.436,13213,3.436,13214,3.436,13215,3.436,13216,3.436,13217,3.436,13218,3.436,13219,3.166,13220,3.436,13221,3.436,13222,3.436,13223,3.436,13224,3.436,13225,3.436,13226,3.436,13227,3.436,13228,3.436,13229,3.436,13230,3.436,13231,3.436,13232,3.436,13233,3.436,13234,3.243,13235,3.436,13236,3.166,13237,3.332,13238,3.243,13239,3.332,13240,3.243,13241,3.243,13242,3.332,13243,3.243,13244,3.332,13245,3.243,13246,3.096,13247,3.096,13248,3.096,13249,3.166,13250,3.243,13251,3.436,13252,3.243,13253,3.436,13254,3.436,13255,3.436,13256,3.436,13257,3.436,13258,3.243,13259,3.332,13260,3.243,13261,3.332,20325,4.245,20326,4.245,20327,4.245,20328,4.245,20329,4.245,20330,4.245,20331,4.245,20332,4.245,20333,4.245,20334,4.245,20335,4.245]],["title/classes/SystemFactory.html",[0,0.232,13649,6.012]],["body/classes/SystemFactory.html",[0,0.149,2,0.487,3,0.01,4,0.01,5,0.005,7,0.063,8,0.826,27,0.537,29,1.023,30,0.001,31,0.701,32,0.171,33,0.591,34,1.566,35,1.439,47,0.478,55,2.279,59,3.299,95,0.112,99,0.715,101,0.011,103,0,104,0,112,0.521,120,2.886,133,2.361,140,2.42,143,0.977,153,1.909,154,2.05,155,2.224,177,1.269,180,1.187,236,1.357,271,4.701,319,2.886,349,0.969,379,0.556,382,3.784,413,2.057,437,1.236,447,7.051,448,4.346,449,5.19,452,3.772,453,5.19,454,5.484,455,3.772,456,3.772,457,3.772,458,3.711,459,4.218,460,4.612,461,6.236,462,5.52,463,6.884,464,2.461,469,2.44,470,3.772,471,2.461,472,4.879,473,5.025,474,3.989,475,4.746,476,3.741,477,2.44,478,2.31,479,3.948,480,3.21,481,2.381,482,2.345,483,2.44,484,4.811,485,2.461,486,3.475,487,4.537,488,2.44,489,7.225,490,4.107,491,6.39,492,2.461,493,4.085,494,2.44,495,2.461,496,2.44,497,2.461,498,2.44,499,2.749,500,2.576,501,2.44,502,5.836,503,2.461,504,2.44,505,3.772,506,3.546,507,3.772,508,2.461,509,2.363,510,2.345,511,1.957,512,2.44,513,2.44,514,2.44,515,2.461,516,2.461,517,1.665,518,2.44,519,1.357,520,2.461,521,2.697,522,2.44,523,2.461,525,2.527,526,2.576,527,4.919,570,2.717,653,2.262,951,2.062,1262,2.376,1486,2.749,1491,2.576,2021,2.857,3134,3.137,3601,2.741,4677,2.262,5554,3.872,5558,1.795,5643,3.427,5953,2.262,7528,4.154,7530,4.969,9006,2.42,9255,7.587,9343,2.987,12263,5.401,12391,3.037,12394,2.941,12395,3.696,12396,3.037,12399,3.037,12402,2.717,12406,2.987,12447,2.898,13156,3.366,13158,2.941,13159,6.075,13160,5.842,13161,2.783,13162,3.09,13163,2.898,13164,2.941,13165,2.941,13188,6.459,13246,3.214,13247,3.214,13248,3.214,13249,3.286,13649,7.294,14234,3.567,15440,4.076,17294,4.076,20336,4.406,20337,6.302,20338,8.67,20339,8.67,20340,6.812,20341,4.406,20342,6.812,20343,4.406,20344,4.406,20345,4.406,20346,4.406,20347,4.406,20348,4.406,20349,4.406,20350,4.406,20351,4.406,20352,4.406,20353,4.406,20354,4.406,20355,4.406,20356,4.406,20357,4.406,20358,4.406,20359,4.406,20360,4.406,20361,4.406,20362,4.406]],["title/classes/SystemFilterParams.html",[0,0.232,20277,6.012]],["body/classes/SystemFilterParams.html",[0,0.383,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,32,0.178,33,0.619,95,0.154,99,1.472,101,0.014,103,0.001,104,0.001,112,0.866,119,2.337,138,2.024,141,5.295,147,6.113,148,2.811,149,4.747,150,2.039,151,7.55,153,2.592,247,3.898,249,4.821,852,4.225,1277,6.317,1971,4.225,3134,4.179,5554,6.429,10926,6.429,11316,8.435,20277,9.906,20363,9.074,20364,11.4,20365,9.074,20366,9.074,20367,9.675,20368,9.074,20369,9.074,20370,9.074]],["title/classes/SystemIdParams.html",[0,0.232,17089,5.389]],["body/classes/SystemIdParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,34,1.987,47,0.835,48,6.118,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,245,3.049,256,7.035,258,9.105,808,4.707,3134,5.476,3876,5.813,17089,9.334,20371,11.889]],["title/classes/SystemIdParams-1.html",[0,0.193,708,2.287,17089,4.48]],["body/classes/SystemIdParams-1.html",[0,0.408,2,1.111,3,0.022,4,0.022,5,0.011,7,0.144,26,2.626,27,0.414,30,0.001,32,0.13,48,6.176,95,0.154,99,1.632,101,0.016,103,0.001,104,0.001,112,0.922,138,1.8,148,3.116,150,2.261,245,3.09,256,7.192,808,4.77,6061,7.339,6062,8.145,17089,9.458,20372,12.047]],["title/classes/SystemMapper.html",[0,0.232,20373,6.012]],["body/classes/SystemMapper.html",[0,0.259,2,0.844,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.468,29,0.898,30,0.001,31,0.647,32,0.157,33,0.545,34,1.277,35,1.38,95,0.135,99,1.24,101,0.012,103,0.001,104,0.001,154,1.546,155,2.495,236,1.65,349,1.251,413,4.095,556,3.179,1262,2.666,1486,4.769,2364,5.267,4446,4.769,4677,3.923,5558,3.114,5643,3.845,5953,3.923,6146,7.07,7528,4.66,9006,7.246,9343,5.181,9607,6.693,11880,8.632,12263,8.556,12344,5.699,12345,5.699,12346,5.699,12347,5.839,12391,5.267,12394,5.101,12396,5.267,12399,5.267,12402,4.713,12406,5.181,13158,5.101,13161,4.828,13162,5.361,13169,6,13171,5.839,13173,5.839,13175,6,13179,6,13181,6,13183,6,13185,5.839,13187,6,13188,5.267,13504,9.242,17210,5.839,18484,8.87,18485,8.497,18489,8.497,18493,6.693,20308,7.07,20318,6.693,20319,6.411,20373,8.87,20374,7.642,20375,10.128,20376,9.369,20377,7.642,20378,7.642,20379,10.128,20380,7.642,20381,7.642,20382,10.128,20383,7.642,20384,7.642,20385,7.642,20386,7.642]],["title/modules/SystemModule.html",[201,1.848,1421,4.815]],["body/modules/SystemModule.html",[0,0.293,3,0.019,4,0.019,5,0.01,30,0.001,95,0.156,101,0.013,103,0.001,104,0.001,201,3.249,203,3.149,204,3.378,205,3.473,206,3.459,207,3.445,208,4.463,209,4.579,218,4.404,219,3.404,220,3.326,225,4.368,226,1.266,227,3.592,599,6.323,616,10.503,622,9.759,1421,10.006,12832,6.805,14183,11.87,14227,8.019,15680,7.591,16394,10.32,20387,8.668,20388,8.668,20389,8.668,20390,8.668,20391,8.668,20392,8.019,20393,8.668]],["title/classes/SystemOidcMapper.html",[0,0.232,20394,6.012]],["body/classes/SystemOidcMapper.html",[0,0.269,2,0.877,3,0.017,4,0.017,5,0.009,7,0.114,8,1.259,27,0.477,29,0.915,30,0.001,31,0.659,32,0.15,33,0.555,35,1.406,47,0.813,48,4.974,95,0.124,99,1.288,101,0.012,103,0.001,104,0.001,154,2.342,155,3.391,236,1.293,349,1.27,413,4.125,556,3.018,2021,5.15,5643,3.995,7528,4.842,9006,7.313,13160,9.341,13188,5.473,13234,6.067,13236,5.922,13238,6.067,13240,6.067,13241,6.067,13243,6.067,13245,6.067,13246,5.792,13247,5.792,13248,5.792,13249,5.922,14194,10.724,17243,7.346,18484,9.096,18485,8.714,18489,8.714,18493,6.954,20319,6.662,20376,9.609,20394,9.096,20395,12.277,20396,7.94,20397,10.386,20398,7.94,20399,7.94,20400,10.386,20401,7.94,20402,7.94,20403,10.386,20404,7.94,20405,7.94,20406,7.94,20407,7.94]],["title/injectables/SystemOidcService.html",[539,0.921,14183,5.759]],["body/injectables/SystemOidcService.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.118,8,1.291,12,4.777,26,2.536,27,0.485,29,0.842,30,0.001,31,0.606,32,0.138,33,0.51,34,1.779,35,1.293,36,2.668,40,5.128,95,0.157,99,1.338,100,2.803,101,0.013,103,0.001,104,0.001,177,1.536,226,1.205,227,3.418,236,1.343,262,2.916,291,6.015,340,3.996,345,2.629,349,1.101,379,1.041,437,1.554,529,2.354,539,1.429,541,1.981,608,2.467,622,9.633,3134,4.903,9006,4.529,14183,8.931,14194,6.474,14648,7.222,15950,9.779,20367,6.474,20394,7.222,20408,12.456,20409,8.246,20410,8.246,20411,8.246,20412,8.246,20413,8.246,20414,8.246,20415,7.629,20416,11.787,20417,8.246,20418,7.222,20419,7.629,20420,8.246]],["title/injectables/SystemRepo.html",[539,0.921,622,5.007]],["body/injectables/SystemRepo.html",[0,0.236,3,0.015,4,0.015,5,0.008,7,0.1,8,1.155,10,3.864,12,4.273,18,4.76,26,1.939,27,0.531,29,0.964,30,0.001,31,0.694,32,0.172,33,0.585,34,1.166,35,1.53,36,2.761,40,3.359,49,3.613,95,0.139,99,1.131,101,0.011,103,0.001,104,0.001,154,1.411,155,3.109,180,1.66,226,1.019,236,1.551,262,3.024,349,1.121,382,3.481,437,0.919,479,5.007,486,2.1,521,2.761,529,1.991,539,1.278,541,1.675,622,6.947,679,7.394,685,3.982,686,4.363,687,5.353,711,4.161,712,4.206,713,4.161,714,4.206,715,4.807,716,4.161,717,4.206,718,3.74,723,4.985,762,4.587,996,3.359,997,3.247,998,3.321,999,3.509,1076,4.655,1077,4.301,1218,2.636,1309,6.28,1931,4.406,5310,7.239,5558,3.88,6134,4.807,9006,5.23,15950,9.149,20367,9.149,20421,6.974,20422,8.81,20423,6.974,20424,8.81,20425,6.974,20426,6.974,20427,8.34,20428,6.974,20429,6.974,20430,6.974,20431,6.452,20432,6.974,20433,6.974,20434,6.974,20435,6.974,20436,9.523]],["title/classes/SystemResponseMapper.html",[0,0.232,20293,6.012]],["body/classes/SystemResponseMapper.html",[0,0.245,2,0.801,3,0.016,4,0.016,5,0.008,7,0.104,8,1.185,27,0.455,29,0.874,30,0.001,31,0.63,32,0.153,33,0.53,34,1.211,35,1.344,95,0.147,101,0.011,103,0.001,104,0.001,236,1.802,349,1.144,413,4.051,437,1.561,556,1.782,782,4.324,824,2.571,1486,4.523,2585,5.867,3134,5.453,4544,4.197,4677,3.72,5558,2.953,5643,3.646,5953,3.72,7528,4.419,9213,5.69,9343,4.913,10452,5.405,10926,4.12,11795,6.704,11880,8.836,12263,4.7,12391,4.995,12394,4.837,12396,4.995,12399,4.995,12402,4.47,12406,4.913,12661,5.405,13158,4.837,13188,4.995,13504,9.446,14628,5.18,15247,6.347,16652,6.704,16654,6.704,16655,6.704,16656,6.704,16657,6.704,16658,6.704,16659,6.704,16660,6.704,16661,6.704,16662,6.704,16663,6.704,16664,6.704,16665,10.922,17210,5.538,18032,9.933,18035,10.539,18036,6.704,18044,6.704,18045,6.08,18046,5.867,18047,6.08,20289,9.043,20290,6.704,20293,8.561,20318,6.347,20319,6.08,20437,11.84,20438,9.775,20439,9.775,20440,9.775,20441,9.775,20442,9.775,20443,9.775,20444,7.247,20445,7.247,20446,9.775,20447,7.247,20448,9.775,20449,7.247,20450,6.704]],["title/classes/SystemScope.html",[0,0.232,20427,6.012]],["body/classes/SystemScope.html",[0,0.26,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,8,1.233,27,0.552,29,0.804,30,0.001,31,0.579,32,0.163,33,0.487,35,1.532,95,0.121,99,1.247,101,0.012,103,0.001,104,0.001,112,0.778,119,2.354,180,1.772,310,3.333,349,1.178,382,3.766,480,2.138,486,2.315,519,2.367,593,4.243,603,2.665,2350,6.728,5558,5.584,6242,6.785,6243,6.785,6244,6.785,6249,6.785,6250,6.785,6251,5.21,6252,5.13,6253,5.21,6254,5.21,6263,5.13,6264,6.785,6265,5.21,6266,5.13,6267,5.21,6268,5.13,6269,7.604,8499,6.034,9006,4.221,10859,9.977,12263,4.984,13159,5.606,13160,5.391,15119,7.11,15120,7.11,20337,11.214,20338,11.214,20339,11.214,20427,11.747,20451,12.122,20452,7.685]],["title/injectables/SystemService.html",[539,0.921,16394,5.007]],["body/injectables/SystemService.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,8,0.993,12,3.675,18,4.094,26,2.158,27,0.464,29,0.89,30,0.001,31,0.641,32,0.169,33,0.54,34,1.369,35,1.288,36,2.662,40,3.946,59,1.735,95,0.144,99,0.914,101,0.009,103,0,104,0,177,1.526,226,0.823,227,2.334,236,1.572,262,2.91,291,4.108,340,2.729,349,1.254,379,1.034,437,1.273,529,1.608,539,1.099,541,1.353,599,4.108,600,3.515,603,2.317,608,3.021,622,8.571,1262,2.857,3134,5.585,5953,4.205,9006,6.956,10926,6.679,11880,7.516,12263,3.652,12661,7.198,12664,7.577,12832,4.421,13158,5.467,13161,5.175,13162,5.745,13487,8.32,13489,4.725,14628,5.854,14648,4.932,15273,8.93,16394,5.975,17210,4.303,18045,4.725,18046,7.814,18047,8.098,20320,7.577,20321,7.577,20322,7.577,20367,8.32,20373,4.932,20415,5.21,20418,4.932,20419,5.21,20431,7.577,20453,5.632,20454,8.19,20455,8.19,20456,5.632,20457,5.632,20458,8.19,20459,5.632,20460,8.19,20461,5.632,20462,8.19,20463,5.632,20464,5.632,20465,5.632,20466,8.19,20467,7.577,20468,5.632,20469,8.19,20470,5.632,20471,5.632,20472,5.632,20473,5.632,20474,5.632,20475,5.632,20476,8.19,20477,8.19,20478,8.19,20479,8.19,20480,8.19,20481,8.19,20482,8.19,20483,5.632,20484,5.632,20485,5.21,20486,8.19,20487,5.632,20488,9.652,20489,5.632,20490,5.632,20491,5.632,20492,5.632,20493,5.632,20494,5.632]],["title/injectables/SystemUc.html",[539,0.921,20268,5.759]],["body/injectables/SystemUc.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.112,8,1.248,12,4.619,26,2.487,27,0.473,29,0.909,30,0.001,31,0.655,32,0.158,33,0.551,34,1.721,35,1.251,36,2.616,40,4.959,59,2.413,95,0.151,99,1.271,101,0.012,103,0.001,104,0.001,145,3.424,177,1.459,226,1.145,236,1.276,262,2.875,291,5.714,340,3.796,345,2.497,349,1.065,379,0.989,437,1.033,480,2.179,486,2.359,529,2.236,539,1.382,541,1.882,608,2.665,3134,4.741,9006,4.302,10926,7.211,11880,8.152,16394,9.499,17210,5.985,17825,7.247,20268,8.637,20324,9.524,20364,11.299,20367,6.15,20392,7.247,20418,6.86,20422,9.524,20424,9.524,20485,7.247,20495,7.833,20496,7.833,20497,12.213,20498,7.833,20499,7.833,20500,7.247,20501,7.833,20502,7.833]],["title/classes/TargetInfoMapper.html",[0,0.232,16034,6.012]],["body/classes/TargetInfoMapper.html",[0,0.327,2,1.067,3,0.021,4,0.021,5,0.011,7,0.139,8,1.425,27,0.398,29,0.763,30,0.001,31,0.669,32,0.125,33,0.463,34,1.614,35,1.173,95,0.14,99,1.567,100,3.995,101,0.015,103,0.001,104,0.001,236,1.573,349,0.998,413,3.826,437,1.273,783,6.563,2739,4.377,4430,8.101,7098,9.831,16005,10.672,16034,10.292,19292,8.456,19294,8.456,20503,11.752,20504,11.752,20505,9.655,20506,9.655,20507,9.655]],["title/classes/TargetInfoResponse.html",[0,0.232,16005,5.557]],["body/classes/TargetInfoResponse.html",[0,0.304,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.505,29,0.709,30,0.001,31,0.788,32,0.159,33,0.43,34,2.289,47,0.902,95,0.107,101,0.014,103,0.001,104,0.001,112,0.86,138,2.01,150,2.016,153,2.81,154,2.6,245,3.145,253,4.429,379,1.418,404,3.611,774,4.576,821,4.155,2044,3.483,2162,7.045,2739,5.825,2917,5.902,2918,6.023,2919,6.023,4424,7.859,16005,10.711,19299,7.859,19300,8.302,20508,12.849]],["title/entities/Task.html",[154,1.389,2686,3.096]],["body/entities/Task.html",[0,0.166,3,0.006,4,0.006,5,0.003,7,0.16,26,1.672,27,0.477,30,0.001,31,0.359,32,0.16,33,0.535,34,0.818,47,0.722,55,0.998,83,2.743,95,0.136,96,0.781,101,0.013,103,0,104,0,105,0.501,112,0.68,119,2.353,138,2.073,143,2.645,144,3.221,145,3.129,153,1.446,154,0.99,155,0.954,160,4.121,172,3.557,173,0.85,174,1.87,175,1.304,178,1.161,180,0.509,181,0.791,182,0.929,226,0.427,236,1.729,239,2.757,347,3.404,349,1.324,437,1.789,474,1.244,480,1.755,486,1.9,517,1.104,519,2.272,528,1.5,529,1.396,556,2.019,578,1.781,593,1.088,603,2.484,604,2.01,644,3.435,654,1.895,662,3.467,696,1.899,708,2.957,739,1.261,766,1.632,827,1.692,915,2.049,1147,0.887,1218,1.104,1226,1.407,1456,1.922,1717,1.399,1726,1.249,1739,2.253,1822,2.919,1920,3.957,1926,3.712,1948,4.348,1986,1.692,2044,1.134,2443,1.87,2670,4.864,2673,4.052,2677,1.605,2682,3.13,2683,1.726,2684,3.357,2685,2.049,2686,4.92,2696,2.937,2700,5.402,2883,3.649,3136,1.661,3286,3.284,3289,3.814,3366,4.385,3454,1.87,3742,5.845,3744,2.451,3796,4.092,3815,5.482,3819,3.316,3820,5.761,3821,4.853,3822,5.843,3823,6.35,3824,3.316,3835,5.973,4119,1.726,4266,1.652,4278,1.846,4323,2.451,4342,1.292,4973,1.846,4974,1.895,5094,2.265,5121,2.982,5935,3.357,6718,4.211,6746,2.559,6751,2.703,6757,1.823,6760,2.982,6771,3.09,6772,1.646,6784,2.294,6788,2.088,6790,1.981,6791,1.802,6792,1.823,6793,1.762,6809,1.87,6997,2.559,7006,1.823,7007,1.95,7080,3.84,7112,1.895,7117,2.179,7889,2.703,8184,5.685,8621,2.131,10144,1.87,11726,2.049,12726,2.014,12746,2.014,12879,2.365,13113,2.365,13133,5.502,13134,2.365,13152,5.502,13153,2.365,13264,4.602,13267,3.496,13268,4.705,13269,4.602,13270,2.559,13272,2.559,13273,2.451,13274,2.559,13275,2.559,13276,2.559,13277,2.559,13278,2.559,13279,5.525,13280,5.107,13281,4.953,13282,2.559,13283,4.284,13284,2.451,13285,4.284,13286,2.559,13287,2.559,13288,2.451,13289,7.781,13290,2.559,13291,2.232,13292,2.365,13293,4.284,13294,6.462,13295,3.96,13296,6.462,13297,2.559,13298,2.559,13299,2.559,13300,4.284,13301,2.559,13302,2.559,13303,2.559,13304,2.559,13305,2.559,13306,2.559,13307,2.559,13308,2.559,13309,2.559,13310,2.559,13311,2.559,13312,2.559,13313,4.284,13314,2.559,13315,2.559,13316,2.232,13317,2.559,13318,2.559,13319,2.559,13320,2.559,13321,2.559,13322,2.559,13323,4.284,13324,2.559,13325,2.559,13326,4.284,13327,2.559,13328,4.284,13329,2.294,13330,2.451,13331,2.559,13332,6.462,13333,5.525,13334,4.104,13335,2.365,13336,5.525,13337,2.559,13338,5.525,13339,2.451,13340,4.284,13341,2.559,13342,2.559,13343,2.559,13344,5.525,13345,2.559,13346,4.284,13347,2.451,13348,2.559,13349,2.559,13350,6.462,13351,2.559,13352,2.559,13353,2.559,13354,2.559,13355,2.559,13356,2.559,13357,2.559,13358,4.284,13359,2.559,13360,2.559,13361,4.284,13362,2.559,13363,2.559,13364,2.559,13365,2.559,13366,2.451,13367,2.559,13368,6.462,13369,2.559,13370,2.559,13371,2.559,13372,2.559,13373,2.559,13374,2.559,13375,2.559,13376,2.559,13377,2.559,13378,2.559,20509,2.922,20510,2.922,20511,2.922,20512,2.922,20513,2.922,20514,2.922,20515,2.922,20516,2.922,20517,2.922,20518,2.922,20519,2.922,20520,2.922,20521,2.922,20522,2.922,20523,2.922]],["title/modules/TaskApiModule.html",[201,1.848,19503,5.557]],["body/modules/TaskApiModule.html",[0,0.269,3,0.017,4,0.017,5,0.009,30,0.001,95,0.159,101,0.012,103,0.001,104,0.001,201,3.119,203,2.891,204,3.1,205,3.188,206,3.175,207,3.162,208,4.285,209,3.019,218,4.167,219,3.125,220,3.053,222,4.965,223,4.329,225,4.134,226,1.162,227,3.297,259,3.041,1752,7.434,1804,7.974,1805,8.601,1809,9.174,2531,3.684,2764,3.767,3043,4.851,6587,9.54,6591,7.36,14715,9.753,19503,11.681,19992,10.147,20003,10.972,20524,7.956,20525,7.956,20526,7.956,20527,10.972,20528,10.972,20529,7.956,20530,10.147,20531,7.956,20532,7.956]],["title/entities/TaskBoardElement.html",[154,1.389,2697,5.557]],["body/entities/TaskBoardElement.html",[0,0.306,3,0.02,4,0.02,5,0.01,7,0.13,27,0.373,30,0.001,32,0.117,95,0.147,96,3.29,101,0.014,103,0.001,104,0.001,112,0.864,138,1.62,143,2.505,144,4.007,154,2.285,155,2.956,173,2.633,180,1.578,181,2.45,403,5.057,997,4.215,1289,6.966,1739,4.17,1832,4.972,2565,5.147,2666,8.867,2686,5.814,2687,5.65,2688,8.073,2690,7.596,2697,9.144,2739,5.844,3034,6.918,3071,9.476,3606,6.138,4500,6.604,5094,4.192,5095,7.929,6683,6.351,7132,7.108,7133,7.429,7134,6.918,7135,6.604,13106,9.892,14984,8.376,20533,11.295,20534,9.054]],["title/controllers/TaskController.html",[259,2.624,20530,6.012]],["body/controllers/TaskController.html",[0,0.156,3,0.01,4,0.01,5,0.005,7,0.066,8,0.855,10,3.476,27,0.482,29,0.926,30,0.001,31,0.666,32,0.152,33,0.561,35,1.423,36,2.818,56,3.398,70,3.549,95,0.152,100,2.913,101,0.007,103,0,104,0,138,2.031,143,1.564,145,2.402,150,1.036,177,1.314,223,1.919,226,0.674,236,0.751,247,1.981,259,1.762,261,2.208,262,3.029,270,6.754,271,3.18,285,3.032,294,7.007,310,4.162,324,3.573,333,3.647,334,2.99,337,2.4,338,2.454,340,2.234,343,2.472,345,1.47,349,1.211,437,1.686,480,1.283,486,1.389,602,3.732,603,1.975,608,2.631,631,2.351,739,4.142,816,3.843,824,3.87,836,8.591,1606,3.732,1607,3.438,1608,4.038,2686,3.864,2941,8.193,2962,2.597,2963,2.418,2998,6.936,3025,2.99,3043,2.811,3044,2.597,3779,4.166,5158,2.67,6398,3.62,6635,3.732,6644,8.052,6650,4.265,6861,7.796,8184,6.142,13077,3.178,14987,3.868,14993,3.868,15950,6.727,15956,4.265,18667,3.868,18668,4.265,18682,4.038,18684,4.038,18796,6.178,19999,11.037,20527,7.188,20528,7.188,20530,6.178,20535,4.61,20536,7.926,20537,8.568,20538,7.054,20539,7.926,20540,4.61,20541,4.61,20542,4.61,20543,7.054,20544,4.61,20545,4.61,20546,4.61,20547,7.054,20548,4.61,20549,4.61,20550,4.61,20551,4.61,20552,7.054,20553,4.61,20554,4.61,20555,7.054,20556,4.61,20557,4.61,20558,7.054,20559,4.61,20560,4.038,20561,4.61,20562,4.61,20563,3.868,20564,3.732,20565,4.61,20566,4.61,20567,4.61,20568,7.054,20569,4.61,20570,4.61,20571,4.61,20572,4.61,20573,4.61,20574,9.598,20575,4.61,20576,4.61,20577,7.054,20578,10.344,20579,4.61,20580,4.61,20581,4.61,20582,4.61,20583,4.61,20584,4.61]],["title/classes/TaskCopyApiParams.html",[0,0.232,6644,5.759]],["body/classes/TaskCopyApiParams.html",[0,0.37,2,0.949,3,0.019,4,0.019,5,0.01,7,0.123,27,0.45,30,0.001,32,0.142,33,0.607,34,2.114,47,0.888,95,0.13,100,3.716,101,0.013,103,0.001,104,0.001,112,0.836,138,1.956,148,2.662,149,4.63,150,1.931,153,2.993,249,4.702,253,5.395,808,4.759,1455,9.931,1920,5.79,1926,4.102,2480,6.456,2686,6.021,2696,5.089,2918,6.783,2919,6.783,3366,6.244,5121,7.329,6406,11.079,6644,9.171,7282,8.581,11310,9.573,14997,7.951,14998,7.951,20585,10.084,20586,8.595]],["title/injectables/TaskCopyService.html",[539,0.921,3004,5.389]],["body/injectables/TaskCopyService.html",[0,0.182,3,0.012,4,0.012,5,0.006,7,0.077,8,0.961,26,1.614,27,0.455,29,0.874,30,0.001,31,0.658,32,0.165,33,0.53,35,1.261,36,1.698,47,0.378,95,0.142,99,0.874,101,0.008,103,0,104,0,153,1.234,177,1.753,226,0.787,227,2.232,236,0.877,239,3.062,262,2.765,271,3.851,347,4.173,349,0.973,379,1,437,1.577,528,2.765,539,1.064,541,1.294,556,2.843,603,2.688,608,2.68,654,1.618,849,4.39,1218,2.036,1231,5.008,1271,1.678,1718,3.248,1809,8.113,1926,4.34,2684,5.885,2686,6.049,2696,2.507,2993,4.228,2998,6.418,3004,6.223,3007,8.723,3013,9.388,3023,11.309,3025,7.501,3041,4.228,3042,4.016,3043,3.284,3044,3.034,3056,4.717,3057,4.228,3058,4.518,3093,4.518,3600,3.937,3601,2.167,4826,4.717,5541,3.361,5935,2.866,6540,10.032,6541,4.982,6545,7.334,6554,9.598,6563,6.943,6568,10.23,6570,8.239,6581,6.223,6616,4.518,6908,4.36,6926,4.518,6933,4.982,11123,4.982,13264,3.929,13269,3.929,20587,11.566,20588,9.407,20589,7.927,20590,4.717,20591,5.386,20592,7.927,20593,11.958,20594,5.386,20595,11.062,20596,5.386,20597,7.927,20598,12.524,20599,5.386,20600,7.927,20601,5.386,20602,5.386,20603,5.386,20604,5.386,20605,5.386,20606,5.386,20607,5.386,20608,5.386,20609,5.386,20610,5.386,20611,5.386,20612,5.386,20613,5.386,20614,4.982,20615,5.386,20616,4.982,20617,5.386,20618,5.386,20619,5.386,20620,5.386]],["title/injectables/TaskCopyUC.html",[539,0.921,20527,5.759]],["body/injectables/TaskCopyUC.html",[0,0.144,3,0.009,4,0.009,5,0.005,7,0.061,8,0.804,26,2.44,27,0.483,29,0.902,30,0.001,31,0.649,32,0.152,33,0.547,35,1.386,36,2.363,39,1.164,47,0.857,95,0.136,99,0.691,101,0.007,102,2.157,103,0,104,0,119,0.88,131,4.008,177,1.968,226,0.622,227,1.765,236,1.328,239,2.906,262,2.738,284,1.286,285,2.801,347,2.394,349,1.092,379,0.837,437,1.58,475,2.157,519,3.398,529,2.627,539,0.89,541,1.023,556,3.187,560,1.75,562,2.935,579,2.283,603,2.824,608,2.448,643,1.911,766,2.378,933,4.513,934,2.568,990,1.457,1025,1.686,1181,4.97,1218,1.61,1226,2.051,1242,2.301,1297,2.801,1306,2.626,1519,3.771,1664,1.592,1675,2.596,1678,2.596,1726,1.821,1729,2.69,1758,4.897,1804,6.442,1805,7.255,1809,7.738,1920,3.196,1926,3.742,2079,1.882,2080,2.102,2081,2.027,2082,2.725,2480,2.515,2530,2.541,2531,1.972,2681,2.283,2684,5.308,2686,4.975,2696,1.982,2998,5.371,3004,8.66,3007,8.047,3013,9.584,3023,9.252,3025,2.762,3043,2.596,3044,2.399,3092,3.729,3093,3.572,3094,3.939,3608,6.399,3671,2.801,4081,4.191,4702,3.254,4743,2.249,5121,4.045,5932,2.301,6604,6.838,6646,8.513,6774,3.447,6781,3.176,6895,3.572,6908,5.371,6910,3.939,6946,3.729,6947,7.72,6953,3.729,6959,3.729,6960,3.729,6961,2.762,9149,3.729,11994,6.838,13141,3.343,13994,3.447,14946,7.83,15010,3.939,15012,3.939,15013,3.729,15016,3.939,15032,5.566,18015,3.572,18730,3.939,19797,6.137,19843,3.729,20203,6.399,20527,5.566,20595,11.087,20621,11.984,20622,6.634,20623,6.634,20624,6.634,20625,8.15,20626,6.634,20627,8.15,20628,4.258,20629,6.634,20630,4.258,20631,6.634,20632,4.258,20633,4.258,20634,6.634,20635,4.258,20636,6.634,20637,9.973,20638,4.258,20639,4.258,20640,6.634,20641,4.258,20642,6.634,20643,4.258,20644,3.447,20645,3.939,20646,3.939,20647,4.258,20648,3.729,20649,4.258,20650,4.258,20651,4.258,20652,3.572,20653,3.939,20654,4.258,20655,4.258,20656,4.258,20657,6.634,20658,4.258,20659,4.258,20660,3.939,20661,4.258,20662,4.258,20663,4.258,20664,4.258,20665,4.258,20666,4.258]],["title/classes/TaskCreateParams.html",[0,0.232,20667,6.012]],["body/classes/TaskCreateParams.html",[0,0.319,2,0.759,3,0.015,4,0.015,5,0.008,7,0.099,27,0.516,30,0.001,31,0.612,32,0.174,33,0.643,34,1.935,47,0.918,83,3.972,95,0.138,99,1.114,101,0.011,103,0.001,104,0.001,112,0.721,133,4.013,138,2.243,142,4.512,143,2.568,144,3.068,145,2.642,148,2.127,149,4.828,150,1.543,153,3.105,245,2.417,247,2.95,248,4.842,249,4.903,253,5.715,807,6.885,808,4.259,1126,8.254,1147,2.862,1271,2.936,1920,5.183,1926,3.536,2686,5.896,2696,4.388,2773,6.198,2918,6.209,2919,6.209,3286,3.575,3289,5.562,3742,5.357,3796,6.977,5121,6.56,7286,7.906,7297,5.56,7299,6.389,8709,5.812,9155,5.56,13266,8.023,16530,6.354,20585,10.769,20667,8.254,20668,6.868,20669,8.718,20670,6.868,20671,6.354,20672,6.868,20673,6.868,20674,6.868,20675,6.354]],["title/classes/TaskFactory.html",[0,0.232,20026,6.012]],["body/classes/TaskFactory.html",[0,0.151,2,0.493,3,0.01,4,0.01,5,0.005,7,0.064,8,0.834,27,0.543,29,1.025,30,0.001,31,0.714,32,0.171,33,0.592,34,1.403,35,1.444,47,0.483,55,2.289,59,3.138,95,0.128,99,0.723,101,0.007,103,0,104,0,112,0.526,120,2.913,133,2.383,140,2.449,143,1.525,145,2.644,153,1.923,154,2.061,155,2.245,177,1.281,180,1.198,236,1.367,239,2.523,271,4.766,319,2.913,349,1.054,379,0.868,382,3.794,413,2.077,437,1.527,447,7.067,448,4.368,449,5.223,452,3.807,453,5.223,454,5.503,455,3.807,456,3.807,457,3.807,458,3.745,459,4.25,460,4.647,461,6.26,462,5.55,463,6.9,464,2.49,469,2.469,470,3.807,471,2.49,472,4.91,473,5.057,474,4.014,475,4.776,476,3.776,477,2.469,478,2.338,479,3.967,480,3.223,481,2.41,482,2.373,483,2.469,484,4.842,485,2.49,486,3.58,487,4.571,488,2.469,489,7.18,490,4.123,491,6.415,492,2.49,493,4.116,494,2.469,495,2.49,496,2.469,497,2.49,498,2.469,499,2.783,500,2.607,501,2.469,502,5.864,503,2.49,504,2.469,505,3.807,506,3.579,507,3.807,508,2.49,509,2.391,510,2.373,511,1.981,512,2.469,513,2.469,514,2.469,515,2.49,516,2.49,517,1.686,518,2.469,519,1.373,520,2.49,521,2.722,522,2.469,523,2.49,525,2.558,526,2.607,527,5.57,603,2.215,648,3.187,649,3.407,654,2.52,766,2.49,934,2.689,1134,3.187,1718,2.689,2686,3.101,3796,5.442,5935,3.659,6985,3.501,6986,3.61,6990,6.412,6995,3.501,8184,5.37,10753,6.021,10754,4.125,13267,3.187,13316,7.206,13329,7.404,13330,7.912,20026,7.349,20032,4.125,20676,4.459,20677,4.459,20678,6.875,20679,4.459,20680,4.459,20681,4.459,20682,6.875,20683,4.459]],["title/classes/TaskListResponse.html",[0,0.232,20563,5.759]],["body/classes/TaskListResponse.html",[0,0.306,2,0.715,3,0.014,4,0.014,5,0.007,7,0.093,27,0.489,29,0.512,30,0.001,31,0.643,32,0.174,33,0.57,34,1.743,47,0.919,55,2.815,56,5.928,59,2.786,70,6.192,83,3.283,95,0.134,99,1.05,100,2.201,101,0.014,103,0,104,0,112,0.692,119,1.338,133,2.244,138,2.02,145,1.815,149,4.74,150,1.455,153,2.39,180,1.577,245,3.401,247,2.781,284,3.588,347,3.763,348,3.257,376,4.341,377,4.522,379,1.142,381,2.194,382,3.372,404,2.605,406,3.993,408,3.993,556,1.592,815,7.79,816,6.704,817,5.19,819,3.257,821,4.828,822,3.137,823,3.446,824,2.297,825,4.541,826,5.867,827,5.239,828,4.258,829,3.347,830,4.541,831,4.541,833,4.09,834,3.527,1288,3.527,1664,2.421,1920,5.023,1948,7.187,1986,3.749,2044,2.513,2220,3.714,2255,2.475,2686,4.703,2782,7.132,3289,3.347,3796,4.199,3797,4.04,3810,5.083,6401,5.083,6402,4.462,6403,4.321,13280,5.241,13281,5.083,18415,8.442,20563,7.59,20564,10.433,20684,5.99,20685,6.474,20686,6.474,20687,7.324,20688,5.99,20689,5.99,20690,5.99]],["title/classes/TaskMapper.html",[0,0.232,20560,6.012]],["body/classes/TaskMapper.html",[0,0.233,2,0.76,3,0.015,4,0.015,5,0.008,7,0.099,8,1.144,27,0.443,29,0.851,30,0.001,31,0.714,32,0.15,33,0.516,34,1.15,35,1.308,95,0.128,99,1.116,100,4.263,101,0.011,103,0.001,104,0.001,145,1.929,153,2.162,236,1.537,271,3.502,347,3.404,349,1.114,376,2.864,377,2.983,413,4.007,437,1.653,783,5.269,790,3.461,1920,5.187,1948,4.742,2255,2.63,2686,4.255,3286,3.581,3289,4.877,3580,8.263,3796,6.119,5121,5.753,5195,6.364,6669,8.728,6670,8.728,8621,8.452,9745,8.263,13265,8.641,13266,8.641,13281,5.401,13288,5.772,13316,5.257,18415,7.638,18579,8.728,20560,8.263,20564,9.38,20614,8.728,20667,10.148,20691,6.879,20692,9.435,20693,9.435,20694,9.435,20695,6.879,20696,9.435,20697,10.148,20698,6.879,20699,9.435,20700,6.879,20701,6.025,20702,6.879,20703,6.879,20704,6.879,20705,9.435,20706,6.879,20707,6.879,20708,6.879,20709,6.879,20710,6.879,20711,6.879,20712,6.879,20713,6.879,20714,6.879,20715,6.879,20716,6.879,20717,6.879,20718,6.879,20719,6.879,20720,9.435,20721,6.879,20722,6.879,20723,6.879,20724,10.719,20725,9.435,20726,9.435,20727,9.435]],["title/modules/TaskModule.html",[201,1.848,14715,5.119]],["body/modules/TaskModule.html",[0,0.264,3,0.017,4,0.017,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,201,3.087,203,2.83,204,3.035,205,3.121,206,3.108,207,3.096,208,4.241,209,4.351,218,4.11,219,3.059,220,2.989,225,4.076,226,1.138,227,3.228,560,3.2,1231,4.92,1804,7.928,1805,8.551,1808,9.934,1809,9.12,3004,10.939,3043,4.749,3044,4.388,3592,9.696,3600,3.868,3601,3.134,5107,10.647,6587,9.484,14715,10.794,20194,11.28,20728,7.788,20729,7.788,20730,7.788,20731,7.788,20732,7.788]],["title/injectables/TaskRepo.html",[539,0.921,1809,4.815]],["body/injectables/TaskRepo.html",[0,0.125,3,0.008,4,0.008,5,0.004,7,0.106,8,0.717,10,2.398,12,2.653,18,2.955,26,2.63,27,0.483,29,0.907,30,0.001,31,0.653,32,0.166,33,0.55,34,0.615,35,1.425,36,2.697,39,1.006,40,2.848,53,2.685,56,1.773,58,2.387,59,3.055,72,1.66,83,1.719,95,0.124,96,0.984,98,2.196,101,0.006,103,0,104,0,119,1.531,120,4.593,143,1.881,153,0.843,154,0.745,155,1.93,173,1.07,180,1.03,226,0.538,236,1.946,262,2.951,310,2.563,319,3.594,333,3.153,349,1.078,382,2.534,437,1.703,479,4.322,480,1.024,486,1.108,490,4.481,539,0.793,541,0.884,556,2.085,593,2.202,603,2.041,608,2.512,679,5.981,685,2.471,686,2.708,687,3.656,711,2.196,712,2.22,713,2.196,714,2.22,715,2.537,716,2.196,717,2.22,718,1.974,721,2.297,741,2.495,742,3.246,743,2.495,755,2.421,765,2.387,822,1.783,1456,2.421,1718,2.22,1809,4.146,1920,3.569,1926,2.218,2091,2.745,2093,4.779,2350,5.01,2427,2.297,2501,1.773,2686,5.55,2696,3.949,3135,5.428,3289,3.056,3366,1.816,3635,9.131,3697,2.537,3742,2.092,4741,3.946,4743,3.913,4833,4.737,4834,5.469,4969,2.27,5146,3.273,5158,5.38,5558,3.456,5932,4.584,6132,3.423,6861,5.603,7027,2.812,7031,2.812,7149,7.995,7150,7.4,7179,2.685,7180,2.685,8053,2.745,8184,2.355,9525,3.088,9555,3.405,9559,5.177,12548,2.297,13316,2.812,18647,3.405,19870,4.517,20733,3.68,20734,5.911,20735,7.408,20736,7.408,20737,6.853,20738,5.911,20739,5.911,20740,3.68,20741,3.68,20742,3.68,20743,5.469,20744,7.408,20745,3.68,20746,3.68,20747,3.405,20748,3.68,20749,5.911,20750,3.68,20751,5.911,20752,3.68,20753,3.68,20754,9.493,20755,3.68,20756,3.68,20757,3.68,20758,3.68,20759,3.68,20760,3.405,20761,3.405,20762,3.405,20763,3.405,20764,9.29,20765,3.68,20766,3.68,20767,3.68,20768,3.68,20769,3.68,20770,3.68,20771,3.68,20772,3.68,20773,3.68,20774,3.68,20775,3.68,20776,3.68,20777,3.68,20778,2.979,20779,3.68,20780,3.68,20781,3.68,20782,3.68,20783,3.68,20784,3.68,20785,3.68,20786,3.68,20787,3.68,20788,3.68,20789,3.68,20790,3.68,20791,3.68,20792,3.68,20793,3.68,20794,3.68,20795,3.68,20796,9.92,20797,7.408,20798,3.223,20799,3.223,20800,3.223,20801,3.68,20802,7.408,20803,3.68,20804,3.68,20805,3.68,20806,3.68,20807,3.68,20808,3.68,20809,3.68,20810,3.68,20811,3.68,20812,3.68,20813,5.911,20814,3.68,20815,3.68,20816,3.68,20817,3.68,20818,3.68,20819,3.68,20820,3.223,20821,3.68,20822,5.911,20823,3.68,20824,3.68,20825,3.68,20826,3.223,20827,3.68,20828,3.223,20829,3.68,20830,3.405,20831,2.979,20832,3.68,20833,3.223,20834,3.68,20835,3.68,20836,3.405,20837,3.68,20838,3.405,20839,3.68,20840,3.68]],["title/classes/TaskResponse.html",[0,0.232,20564,5.557]],["body/classes/TaskResponse.html",[0,0.28,2,0.632,3,0.013,4,0.013,5,0.006,7,0.082,27,0.554,29,0.452,30,0.001,31,0.672,32,0.179,33,0.627,34,1.894,47,0.967,55,1.987,56,3.99,70,4.167,83,3.628,95,0.127,99,0.928,100,2.815,101,0.013,103,0,104,0,112,0.634,119,1.711,133,2.87,138,2.387,145,1.603,149,4.974,150,1.285,153,2.792,180,0.997,245,3.495,247,2.457,284,2.501,347,4.088,348,4.167,376,4.716,377,4.913,379,1.045,381,2.807,404,2.301,406,3.527,408,3.527,480,2.304,486,2.495,774,2.916,815,5.108,816,3.115,817,3.281,833,3.613,834,3.115,1277,3.194,1288,4.512,1664,3.096,1920,5.458,1948,7.808,1986,3.312,2044,2.22,2220,4.751,2255,3.166,2686,5.11,2779,5.92,2782,6.744,3289,5.033,3796,6.315,3797,6.077,3810,4.49,6401,6.502,6402,5.708,6403,5.528,13280,7.883,13281,7.644,18415,8.642,20563,4.798,20564,10.101,20684,5.291,20687,7.883,20688,5.291,20689,5.291,20690,5.291,20841,5.719,20842,5.719,20843,5.719,20844,5.719,20845,5.719,20846,5.719,20847,5.719,20848,5.719,20849,5.719,20850,5.719,20851,5.719,20852,5.719,20853,5.719,20854,5.719,20855,5.719]],["title/injectables/TaskRule.html",[539,0.921,1771,5.557]],["body/injectables/TaskRule.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.092,8,1.086,27,0.462,29,0.887,30,0.001,31,0.639,32,0.153,33,0.538,35,1.257,95,0.146,101,0.01,103,0,104,0,119,2.531,131,4.483,143,1.415,145,1.789,154,2.73,177,1.928,226,0.933,239,3.186,349,1.267,379,1.13,437,1.693,539,1.202,541,1.534,603,2.521,604,2.623,643,2.864,662,3.805,739,3.866,1107,7.349,1147,1.939,1670,6.112,1673,6.919,1687,4.399,1697,7.645,1718,3.849,1726,2.729,1735,5.462,1763,9.383,1767,10.185,1771,7.251,1875,5.809,1879,5.59,1886,4.26,2686,6.029,3366,3.15,3411,5.979,3412,4.327,3415,5.891,3418,4.327,3419,6.072,5935,3.397,7039,5.59,7040,5.59,7041,5.355,7042,7.845,15101,8.286,18638,7.845,18640,8.286,20856,6.383,20857,10.379,20858,6.383,20859,8.957,20860,6.383,20861,6.383,20862,6.383,20863,6.383,20864,8.957,20865,6.383,20866,6.383,20867,6.383,20868,8.957,20869,6.383]],["title/classes/TaskScope.html",[0,0.232,20754,6.012]],["body/classes/TaskScope.html",[0,0.147,2,0.48,3,0.01,4,0.01,5,0.005,7,0.062,8,0.817,26,2.783,27,0.544,29,1.01,30,0.001,31,0.727,32,0.17,33,0.612,35,1.567,39,2.256,83,3.429,95,0.111,96,1.161,101,0.007,103,0,104,0,112,0.516,119,2.575,143,1.831,173,1.263,180,1.175,236,0.708,310,4.819,349,1.306,382,3.007,437,1.226,480,2.801,486,1.309,519,1.338,593,3.465,603,2.628,1718,2.62,1926,2.529,2350,6.784,2501,2.093,2686,1.959,2696,3.843,3289,4.808,3659,6.683,3796,6.529,3820,5.791,5558,4.91,5932,6.513,5935,5.358,6242,4.498,6243,4.498,6244,4.498,6249,4.498,6250,4.498,6251,2.945,6252,2.9,6253,2.945,6254,2.945,6263,2.9,6264,4.498,6265,2.945,6266,2.9,6267,2.945,6268,2.9,6269,8.044,6990,3.32,7027,5.149,7170,3.517,8184,4.312,8499,3.411,10851,3.805,10854,4.019,10858,3.805,10859,7.23,10860,6.234,15117,6.234,15118,6.234,15121,3.805,20754,11.926,20798,5.902,20799,5.902,20800,8.146,20820,8.146,20870,12.771,20871,6.739,20872,6.739,20873,6.739,20874,6.739,20875,6.739,20876,6.739,20877,6.739,20878,6.739,20879,6.739,20880,6.739,20881,6.739,20882,4.344,20883,6.739,20884,4.344,20885,6.739,20886,6.739,20887,4.344,20888,6.739,20889,6.739,20890,4.344,20891,6.739,20892,4.344,20893,6.739,20894,4.344,20895,6.739,20896,4.344,20897,6.739,20898,4.344,20899,6.739,20900,4.344,20901,4.344,20902,4.344,20903,4.344,20904,4.344,20905,4.344]],["title/injectables/TaskService.html",[539,0.921,5107,5.245]],["body/injectables/TaskService.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.144,10,3.828,12,4.234,26,2.733,27,0.5,29,0.96,30,0.001,31,0.691,32,0.166,33,0.582,35,1.408,36,2.802,59,2.906,95,0.145,98,4.105,99,1.116,101,0.011,103,0.001,104,0.001,119,1.949,120,3.998,177,2.006,226,1.005,227,2.851,262,3.017,349,0.976,379,1.191,437,1.244,490,4.124,539,1.266,541,1.653,603,2.58,608,2.685,1231,4.346,1809,8.796,1920,5.582,2357,5.018,2362,5.401,2686,5.984,3600,3.417,3601,2.768,3742,3.911,5107,7.209,5932,5.099,6547,9.179,7149,8.282,7150,7.065,13316,5.257,20010,6.364,20194,10.397,20203,5.401,20238,6.364,20590,6.025,20648,6.025,20737,9.962,20747,6.364,20820,6.025,20906,6.879,20907,9.435,20908,6.879,20909,9.435,20910,6.879,20911,9.435,20912,6.879,20913,9.435,20914,6.879,20915,6.879,20916,6.879,20917,6.879,20918,6.879,20919,6.879,20920,6.879,20921,6.879]],["title/classes/TaskStatusMapper.html",[0,0.232,20701,6.012]],["body/classes/TaskStatusMapper.html",[0,0.331,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,8,1.435,27,0.402,29,0.773,30,0.001,31,0.556,32,0.127,33,0.469,35,1.187,95,0.141,99,1.585,100,4.024,101,0.015,103,0.001,104,0.001,236,1.592,347,3.526,349,1.01,413,3.846,437,1.288,783,6.611,3810,7.671,3814,10.367,3815,8.835,20687,10.309,20701,10.367,20922,11.837,20923,9.771,20924,9.771,20925,9.771,20926,9.771]],["title/classes/TaskStatusResponse.html",[0,0.232,20687,5.557]],["body/classes/TaskStatusResponse.html",[0,0.274,2,0.893,3,0.018,4,0.018,5,0.009,7,0.116,27,0.551,29,0.639,30,0.001,31,0.46,32,0.173,33,0.388,55,2.68,95,0.096,101,0.013,103,0.001,104,0.001,112,0.804,119,2.714,138,2.35,150,1.816,245,3.611,379,1.326,774,4.121,3818,7.477,3819,8.687,3820,8.988,3821,8.428,3822,8.428,3823,9.159,3824,8.687,3825,7.477,3832,6.781,3833,7.477,3834,6.781,3835,6.543,3836,7.477,3837,7.477,20585,11.375,20687,10.374,20927,8.082,20928,8.082,20929,8.082,20930,8.082,20931,8.082,20932,8.082]],["title/injectables/TaskUC.html",[539,0.921,20528,5.759]],["body/injectables/TaskUC.html",[0,0.107,3,0.007,4,0.007,5,0.004,7,0.045,8,0.633,10,2.117,26,2.657,27,0.461,29,0.863,30,0.001,31,0.621,32,0.141,33,0.523,35,1.326,36,2.661,39,2.895,59,0.972,83,2.493,95,0.102,98,3.113,99,0.512,101,0.005,103,0,104,0,119,1.771,143,0.7,145,2.171,154,0.639,177,1.597,226,0.461,227,1.309,236,1.725,239,3.024,262,2.91,310,1.369,347,4.203,349,1.224,358,1.41,379,0.658,437,1.817,480,1.451,510,1.68,528,3.975,529,0.901,539,0.7,541,0.759,560,1.297,603,2.6,608,3.024,643,2.341,721,1.97,739,3.342,743,2.141,760,2.413,816,5.03,824,2.747,933,1.749,1107,4.218,1123,2.048,1309,1.829,1519,1.795,1675,1.925,1678,3.181,1679,3.483,1687,3.596,1688,4.385,1726,1.35,1748,2.257,1758,5.2,1804,5.958,1805,6.426,1809,6.477,1855,5.228,1857,4.096,1877,3.483,1926,3.217,2093,3.756,2396,1.811,2404,2.921,2443,2.021,2531,1.462,2535,4.677,2684,1.68,2686,4.407,3136,2.966,3289,4.432,3476,3.296,3815,3.483,3821,5.093,4381,1.904,4833,5.706,5107,7.466,5146,3.692,5158,3.861,5932,3.603,6476,2.108,6861,7.415,7027,5.917,7144,4.569,7222,3.987,8184,3.339,8621,2.303,8651,7.509,9501,8.9,10527,1.925,10693,2.355,15032,6.497,15149,4.569,15950,4.096,18015,2.649,19870,2.413,20203,8.316,20528,4.377,20536,4.827,20539,4.827,20590,2.765,20616,4.827,20648,5.839,20760,4.827,20761,4.827,20762,4.827,20763,4.827,20798,4.569,20799,2.765,20800,4.569,20933,3.157,20934,5.217,20935,5.217,20936,7.743,20937,5.217,20938,5.217,20939,3.157,20940,5.217,20941,3.157,20942,3.157,20943,5.217,20944,3.157,20945,5.217,20946,3.157,20947,5.217,20948,3.157,20949,5.217,20950,3.157,20951,3.157,20952,5.217,20953,8.573,20954,3.157,20955,5.217,20956,3.157,20957,5.217,20958,3.157,20959,3.157,20960,6.667,20961,5.217,20962,6.667,20963,6.667,20964,9.233,20965,5.217,20966,9.233,20967,5.217,20968,5.217,20969,7.743,20970,3.157,20971,9.233,20972,6.667,20973,7.743,20974,6.667,20975,4.827,20976,3.157,20977,3.157,20978,3.157,20979,3.157,20980,3.157,20981,3.157,20982,3.157,20983,3.157,20984,7.743,20985,5.217,20986,3.157,20987,7.743,20988,5.217,20989,5.217,20990,5.217,20991,3.157,20992,5.217,20993,3.157,20994,3.157,20995,7.743,20996,3.157,20997,3.157,20998,3.157,20999,3.157,21000,3.157,21001,3.157,21002,3.157,21003,3.157,21004,3.157,21005,3.157,21006,3.157,21007,5.217,21008,5.217,21009,3.157,21010,3.157,21011,5.217,21012,5.217,21013,3.157,21014,3.157]],["title/classes/TaskUpdateParams.html",[0,0.232,20697,6.012]],["body/classes/TaskUpdateParams.html",[0,0.319,2,0.759,3,0.015,4,0.015,5,0.008,7,0.099,27,0.516,30,0.001,31,0.612,32,0.174,33,0.643,34,1.935,47,0.918,83,3.972,95,0.138,99,1.114,101,0.011,103,0.001,104,0.001,112,0.721,133,4.013,138,2.243,142,4.512,143,2.568,144,3.068,145,2.642,148,2.127,149,4.828,150,1.543,153,3.105,245,2.417,247,2.95,248,4.842,249,4.903,253,5.715,807,6.885,808,4.259,1126,8.254,1147,2.862,1271,2.936,1920,5.183,1926,3.536,2686,5.896,2696,4.388,2773,6.198,2918,6.209,2919,6.209,3286,3.575,3289,5.562,3742,5.357,3796,6.977,5121,6.56,7286,7.906,7297,5.56,7299,6.389,8709,5.812,9959,5.762,13265,8.023,20585,10.769,20669,8.718,20671,6.354,20675,6.354,20697,8.254,21015,6.868,21016,6.868,21017,6.868,21018,6.868,21019,6.868,21020,6.868]],["title/classes/TaskUrlParams.html",[0,0.232,19999,5.759]],["body/classes/TaskUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,2686,5.378,3876,5.841,19999,10.004,20203,10.05,21021,9.89,21022,9.89]],["title/classes/TaskWithStatusVo.html",[0,0.232,8621,5.007]],["body/classes/TaskWithStatusVo.html",[0,0.182,2,0.361,3,0.007,4,0.007,5,0.004,7,0.166,26,1.778,27,0.281,29,0.258,30,0.001,31,0.305,32,0.146,33,0.157,34,0.897,47,0.696,55,1.095,83,2.539,95,0.14,96,0.873,101,0.014,103,0,104,0,105,0.549,112,0.718,119,2.338,143,2.448,144,3.055,145,3.238,153,0.749,154,1.086,172,3.351,173,0.95,174,2.051,175,1.458,178,1.298,180,0.569,181,0.884,182,1.038,226,0.477,236,1.687,239,2.799,347,4.082,349,1.35,379,0.412,437,1.812,474,1.39,517,1.235,519,2.435,528,1.677,529,1.532,556,1.943,578,1.992,593,1.217,603,2.491,604,2.205,644,3.179,654,0.981,662,3.588,696,2.083,708,3.168,739,1.41,766,1.824,827,1.892,915,2.291,1147,0.992,1218,1.235,1226,1.574,1456,2.148,1717,1.564,1726,1.397,1739,2.471,1822,3.202,1920,3.808,1926,3.277,1948,4.706,1986,1.892,2044,1.268,2443,2.09,2670,4,2673,2.947,2677,1.794,2682,3.433,2683,1.929,2684,2.855,2685,2.291,2686,5.461,2696,1.521,2700,5.743,2883,3.879,3136,1.857,3286,2.793,3289,2.774,3366,4.633,3454,2.09,3742,5.637,3744,2.74,3796,2.118,3815,6.913,3819,3.638,3820,6.125,3821,5.199,3822,6.173,3823,6.709,3824,3.638,3835,6.4,4119,1.929,4266,1.103,4278,2.064,4342,1.444,4973,2.064,4974,2.118,5094,2.484,5121,1.992,5935,1.738,6718,4.557,6757,2.038,6760,3.272,6771,3.39,6772,1.84,6784,2.564,6788,2.335,6790,2.215,6791,2.015,6792,2.038,6793,1.97,6809,2.09,7006,2.038,7007,2.18,7080,2.564,7112,2.118,7117,2.436,8184,5.059,8621,3.914,10144,2.09,11726,2.291,12726,2.251,12746,2.251,12879,2.644,13113,2.644,13133,5.895,13134,2.644,13152,5.895,13153,2.644,13264,2.383,13267,3.835,13268,2.436,13269,2.383,13270,2.861,13272,2.861,13273,2.74,13274,2.861,13275,2.861,13276,2.861,13277,2.861,13278,4.699,13279,5.98,13280,5.528,13281,5.36,13282,2.861,13283,2.861,13284,2.74,13285,2.861,13286,2.861,13287,2.861,13288,2.74,13289,8.22,13290,2.861,13291,2.496,13292,2.644,13293,4.699,13294,6.923,13295,4.344,13296,6.923,13297,2.861,13298,2.861,13299,2.861,13300,4.699,13301,2.861,13302,2.861,13303,2.861,13304,2.861,13305,2.861,13306,2.861,13307,2.861,13308,2.861,13309,2.861,13310,2.861,13311,2.861,13312,2.861,13313,4.699,13314,2.861,13315,2.861,13316,2.496,13317,2.861,13318,2.861,13319,2.861,13320,2.861,13321,2.861,13322,2.861,13323,4.699,13324,2.861,13325,2.861,13326,4.699,13327,2.861,13328,4.699,13329,2.564,13330,2.74,13331,2.861,13332,6.923,13333,5.98,13334,4.501,13335,2.644,13336,5.98,13337,2.861,13338,5.98,13339,2.74,13340,4.699,13341,2.861,13342,2.861,13343,2.861,13344,5.98,13345,2.861,13346,4.699,13347,2.74,13348,2.861,13349,2.861,13350,6.923,13351,2.861,13352,2.861,13353,2.861,13354,2.861,13355,2.861,13356,2.861,13357,2.861,13358,4.699,13359,2.861,13360,2.861,13361,4.699,13362,2.861,13363,2.861,13364,2.861,13365,2.861,13366,2.74,13367,2.861,13368,6.923,13369,2.861,13370,2.861,13371,2.861,13372,2.861,13373,2.861,13374,2.861,13375,2.861,13376,2.861,13377,2.861,13378,2.861,21023,5.365,21024,3.266]],["title/classes/TeamDto.html",[0,0.232,4620,4.906]],["body/classes/TeamDto.html",[0,0.365,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,26,2.423,27,0.517,29,0.665,30,0.001,31,0.714,32,0.163,33,0.404,34,1.99,39,2.3,47,0.911,95,0.1,99,1.366,100,3.667,101,0.017,103,0.001,104,0.001,112,0.825,153,1.929,181,3.221,191,4.585,192,5.386,201,2.904,379,1.062,381,2.852,404,3.387,405,4.514,1726,4.612,2044,3.267,2368,6.814,4266,2.843,4342,3.721,4343,4.922,4344,6.277,4620,9.276,4688,9.103,4748,6.277,10536,7.868,11908,7.371,11909,7.371,12768,7.199,13381,8.682,13390,6.608,16252,10.162,17194,9.446,18281,9.049,21025,7.787,21026,9.446,21027,9.049,21028,10.786,21029,8.417,21030,8.417,21031,7.787]],["title/entities/TeamEntity.html",[154,1.389,7096,4.185]],["body/entities/TeamEntity.html",[0,0.328,3,0.016,4,0.016,5,0.008,7,0.103,27,0.399,30,0.001,31,0.67,32,0.125,39,1.953,47,0.771,62,6.486,72,3.223,95,0.146,96,2.587,101,0.018,103,0.001,104,0.001,105,0.991,112,0.741,138,1.732,143,2.147,154,1.959,155,2.333,172,3.431,173,2.078,174,3.701,175,3.19,178,2.84,180,1.246,181,2.62,182,2.271,191,5.982,236,1.164,239,3.092,276,5.5,349,1.136,480,3.055,517,4.151,603,1.47,644,5.905,654,2.908,1732,5.077,2044,2.774,2130,5.212,2562,5.599,2670,3.273,3606,4.844,4266,2.414,4326,5.012,4332,5.192,4342,3.159,4343,6.421,4346,8.621,5094,5.696,6770,4.407,6772,4.026,6793,4.309,7096,5.904,7133,4.7,10688,5.212,10689,5.212,11915,5.212,11916,5.46,12768,4.769,13379,7.601,13380,5.995,13381,7.063,13382,9.271,13383,5.61,13384,7.838,13385,5.995,13386,5.995,13387,5.995,13388,5.995,13389,5.995,13390,5.61,13391,5.995,13392,5.995,21032,7.145,21033,7.145]],["title/classes/TeamFactory.html",[0,0.232,21034,6.35]],["body/classes/TeamFactory.html",[0,0.163,2,0.532,3,0.011,4,0.011,5,0.005,7,0.069,8,0.884,27,0.542,29,1.048,30,0.001,31,0.735,32,0.174,33,0.612,34,1.47,35,1.476,39,2.404,47,0.74,55,2.351,59,3.247,95,0.117,99,0.781,101,0.007,103,0,104,0,112,0.558,120,3.088,133,2.526,140,2.643,153,2.016,154,2.133,155,2.38,177,1.358,180,1.27,271,4.735,276,4.571,319,3.088,349,0.91,379,0.607,382,3.856,413,2.201,437,1.16,447,7.164,448,4.501,449,5.434,452,4.036,453,5.434,454,5.626,455,4.036,456,4.036,457,4.036,458,3.97,459,4.455,460,4.871,461,6.413,462,5.743,463,6.999,464,2.688,469,2.665,470,4.036,471,2.688,472,5.108,473,5.262,474,4.177,475,4.969,476,4.003,477,2.665,478,2.523,479,4.088,480,3.301,481,2.601,482,2.561,483,2.665,484,5.037,485,2.688,486,3.574,487,4.792,488,2.665,489,7.147,490,4.224,491,6.572,492,2.688,493,4.315,494,2.665,495,2.688,496,2.665,497,2.688,498,2.665,499,3.003,500,2.814,501,2.665,502,6.043,503,2.688,504,2.665,505,4.036,506,3.794,507,4.036,508,2.688,509,2.581,510,2.561,511,2.138,512,2.665,513,2.665,514,2.665,515,2.688,516,2.688,517,1.819,518,2.665,519,1.482,520,2.688,521,2.885,522,2.665,523,2.688,525,2.761,527,4.304,4367,4.037,4622,3.003,7096,2.934,13379,3.778,13381,6.417,13382,7.014,16248,6.114,21034,8.138,21035,4.812,21036,6.742,21037,7.288,21038,6.742,21039,4.812,21040,7.288,21041,4.812,21042,4.215,21043,4.812,21044,4.812,21045,4.812,21046,4.812,21047,4.812]],["title/injectables/TeamMapper.html",[539,0.921,4725,5.759]],["body/injectables/TeamMapper.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,27,0.361,29,0.693,30,0.001,31,0.63,32,0.113,33,0.42,34,1.464,35,1.064,39,2.394,95,0.144,99,1.421,100,3.761,101,0.014,103,0.001,104,0.001,153,2.008,154,2.577,226,1.28,236,1.802,333,3.729,349,1.144,437,1.155,539,1.485,541,2.105,662,3.767,4266,2.959,4620,9.106,4622,6.905,4653,8.957,4688,7.761,4725,9.283,4748,6.534,7096,8.18,13381,8.071,13382,7.909,16248,7.35,16252,9.818,21048,8.761,21049,11.064,21050,11.064,21051,8.761,21052,10.236,21053,8.761,21054,8.761,21055,8.105,21056,8.761,21057,8.761,21058,8.761,21059,8.761]],["title/entities/TeamNews.html",[154,1.389,7136,5.245]],["body/entities/TeamNews.html",[0,0.346,3,0.011,4,0.02,5,0.006,7,0.164,9,3.688,26,2.081,27,0.215,30,0.001,31,0.441,32,0.132,34,0.872,47,0.872,83,2.252,95,0.145,96,2.468,101,0.017,103,0,104,0,105,0.534,112,0.835,138,0.934,143,2.536,144,3.723,154,2.209,155,1.704,172,3.698,173,1.518,174,2.961,175,2.331,180,1.781,181,2.765,182,1.659,236,1.504,239,2.558,349,0.54,355,5.835,358,4.124,381,1.769,403,5.158,413,1.577,459,4.678,521,3.656,563,4.622,643,2.342,644,5.324,654,3.279,655,3.923,839,2.406,996,4.449,997,4.758,998,4.398,999,4.647,1000,5.072,1271,2.877,1289,4.777,1664,1.952,1717,3.71,1723,2.644,1739,3.568,1815,3.433,1832,2.867,1926,2.907,2255,3.531,2565,5.25,2670,4.231,2683,3.083,2739,5.885,2784,2.471,3452,3.598,3454,3.34,3455,3.661,3457,3.731,3458,3.661,3459,3.893,3473,3.115,3606,3.539,3631,3.34,4266,1.763,4358,3.988,4359,3.598,4500,3.808,5094,4.277,5174,3.808,5747,6.737,5932,2.821,5935,4.915,6683,3.661,6770,3.219,6772,2.941,6793,3.148,7006,3.257,7093,3.893,7094,4.226,7096,5.632,7097,4.226,7098,6.888,7099,5.99,7100,4.226,7101,8.978,7102,5.17,7103,5.777,7104,5.777,7105,6.824,7106,7.654,7107,4.226,7108,5.537,7109,4.226,7110,3.988,7111,3.988,7112,5.024,7113,4.226,7114,3.988,7115,3.988,7116,4.226,7117,3.893,7118,4.226,7119,3.115,7120,3.219,7121,3.988,7122,4.226,7123,4.226,7124,7.251,7125,4.226,7126,7.477,7127,4.226,7128,4.226,7129,5.919,7130,3.988,7131,6.479,7132,4.098,7133,5.095,7134,3.988,7135,3.808,7136,5.919,7137,6.271,21060,5.22]],["title/controllers/TeamNewsController.html",[259,2.624,16070,6.012]],["body/controllers/TeamNewsController.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,8,1.231,27,0.316,29,0.606,30,0.001,31,0.437,32,0.099,33,0.368,35,0.932,36,2.175,72,3.46,95,0.157,100,2.608,101,0.012,103,0.001,104,0.001,138,1.372,150,1.723,177,1.429,223,3.193,226,1.121,236,1.249,239,2.379,247,3.295,259,2.932,261,3.674,262,2.513,270,5.942,274,6.864,294,6.339,310,4.935,333,4.322,337,3.993,338,4.082,343,4.113,345,2.446,349,0.793,437,1.5,608,1.778,824,3.602,836,8.497,2764,3.632,2941,6.678,2963,4.022,3779,4.53,4381,4.626,4622,7.863,5558,4.637,6132,5.88,6861,7.305,7106,5.825,11307,9.806,12612,6.21,12768,5.12,13620,6.436,15958,9.393,15967,6.21,15968,6.718,15969,9.213,15971,6.21,15973,7.096,15978,6.718,15979,6.718,15980,7.096,15981,7.096,15982,7.096,15983,7.096,16070,8.892,21061,10.153,21062,7.671,21063,11.381,21064,7.671,21065,10.609,21066,10.153,21067,7.671,21068,7.671,21069,7.096,21070,7.671,21071,7.671,21072,7.671]],["title/classes/TeamPermissionsBody.html",[0,0.232,4696,5.557]],["body/classes/TeamPermissionsBody.html",[0,0.374,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,10,4.915,27,0.541,30,0.001,32,0.17,95,0.132,101,0.014,103,0.001,104,0.001,112,0.846,119,2.894,138,2.349,147,7.246,148,2.708,150,1.964,245,3.439,685,5.065,1678,7.387,1679,8.087,4688,9.405,4696,8.945,7581,10.031,19621,9.257,21073,12.404,21074,8.742,21075,8.742,21076,8.742,21077,8.742,21078,8.742,21079,8.742]],["title/classes/TeamPermissionsDto.html",[0,0.232,4631,5.389]],["body/classes/TeamPermissionsDto.html",[0,0.291,2,0.951,3,0.019,4,0.019,5,0.01,7,0.124,10,4.881,27,0.55,29,0.681,30,0.001,31,0.49,32,0.173,33,0.674,101,0.013,103,0.001,104,0.001,112,0.838,119,2.887,181,2.962,379,1.087,381,2.919,685,5.03,1678,7.336,1679,8.031,4631,10.26,4634,11.885,4688,9.519,10634,7.543,10635,7.543,10636,7.543,10637,7.543,10638,7.543,10639,7.543,10640,7.543,10641,7.543,19621,9.193,21080,7.968,21081,10.945,21082,7.968,21083,7.968,21084,7.968,21085,7.968,21086,8.613,21087,8.613]],["title/injectables/TeamPermissionsMapper.html",[539,0.921,4726,5.759]],["body/injectables/TeamPermissionsMapper.html",[0,0.301,3,0.02,4,0.02,5,0.01,7,0.128,8,1.354,10,3.609,27,0.366,29,0.703,30,0.001,31,0.506,32,0.115,33,0.427,35,1.081,95,0.145,100,3.797,101,0.014,103,0.001,104,0.001,153,2.039,226,1.3,236,1.449,324,6.821,333,3.786,349,1.155,539,1.499,541,2.137,662,3.793,685,3.719,1678,5.424,1679,5.937,4544,6.469,4631,10.056,4635,6.984,4653,9.043,4688,7.836,4696,10.37,4711,7.791,4726,9.372,4749,11.85,4785,10.334,4787,8.229,19621,6.797,21052,10.334,21088,8.895,21089,11.171,21090,11.171,21091,8.895,21092,8.895,21093,8.895,21094,8.895,21095,8.895,21096,8.895,21097,8.895]],["title/classes/TeamRoleDto.html",[0,0.232,4694,5.759]],["body/classes/TeamRoleDto.html",[0,0.4,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.487,30,0.001,32,0.153,47,0.929,95,0.141,101,0.015,103,0.001,104,0.001,112,0.905,138,2.115,148,3.019,150,2.19,245,3.263,808,5.036,3970,8.768,4688,8.923,4694,9.917,4748,9.487,6061,8.622,21073,11.769,21098,9.748,21099,9.748,21100,9.748]],["title/classes/TeamRolePermissionsDto.html",[0,0.232,4655,5.557]],["body/classes/TeamRolePermissionsDto.html",[0,0.303,2,0.989,3,0.02,4,0.02,5,0.01,7,0.128,27,0.544,29,0.708,30,0.001,31,0.51,32,0.171,33,0.429,47,0.947,101,0.014,103,0.001,104,0.001,112,0.858,119,2.318,181,3.035,276,5.85,379,1.13,381,3.034,1723,6.204,3970,8.442,3975,8.284,4600,9.146,4655,10.704,4658,10.728,4660,6.727,8985,8.284,8986,8.284,10471,6.678,10499,7.03,21080,8.284,21082,8.284,21083,10.377,21084,8.284,21085,8.284,21101,13.49,21102,8.954,21103,8.954,21104,8.954]],["title/injectables/TeamRule.html",[539,0.921,1772,5.759]],["body/injectables/TeamRule.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,8,1.269,27,0.479,29,0.92,30,0.001,31,0.663,32,0.16,33,0.558,35,1.272,95,0.147,101,0.012,103,0.001,104,0.001,119,2.548,131,4.417,145,2.252,154,2.702,177,1.497,226,1.174,239,3.208,345,2.562,349,1.082,379,1.014,437,1.059,528,4.125,539,1.405,541,1.93,604,3.301,662,4.073,1147,2.44,1670,6.719,1697,8.183,1718,4.845,1735,7.798,1772,8.781,1875,6.788,1879,6.532,3411,6.986,3412,5.447,3415,6.884,3418,5.447,3420,5.992,7096,8.257,13382,7.481,21055,7.433,21105,8.034,21106,8.034,21107,8.034,21108,8.034,21109,10.466,21110,8.034,21111,8.034]],["title/injectables/TeamService.html",[539,0.921,21112,6.012]],["body/injectables/TeamService.html",[0,0.283,3,0.018,4,0.018,5,0.009,7,0.12,8,1.301,26,2.743,27,0.488,29,0.937,30,0.001,31,0.675,32,0.153,33,0.568,35,1.304,36,2.681,39,3.24,95,0.141,99,1.354,101,0.013,103,0.001,104,0.001,177,1.555,226,1.22,227,3.46,262,2.925,345,2.661,349,1.109,379,1.053,437,1.415,539,1.44,541,2.006,608,2.748,662,4.115,1810,9.131,7096,5.09,12768,7.914,13469,9.925,21112,9.396,21113,8.348,21114,10.729,21115,10.729,21116,8.348,21117,8.348,21118,10.729,21119,8.348,21120,10.729,21121,8.348,21122,8.348,21123,8.348,21124,8.348,21125,8.348,21126,8.348,21127,8.348]],["title/classes/TeamUrlParams.html",[0,0.232,21065,6.012]],["body/classes/TeamUrlParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,34,1.993,47,0.837,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,138,1.77,142,4.647,143,2.644,144,3.882,145,3.343,148,3.063,150,2.222,153,2.267,245,3.058,808,4.721,3876,5.841,3970,8.823,4622,7.441,21065,10.443,21128,9.89,21129,9.89]],["title/classes/TeamUserDto.html",[0,0.232,16252,5.557]],["body/classes/TeamUserDto.html",[0,0.37,2,0.951,3,0.019,4,0.019,5,0.01,7,0.124,26,2.229,27,0.521,29,0.681,30,0.001,31,0.623,32,0.164,33,0.413,34,1.44,39,3.288,47,0.953,95,0.103,99,1.397,100,2.928,101,0.017,103,0.001,104,0.001,112,0.838,181,3.256,191,4.692,192,5.512,201,2.319,379,1.087,381,2.919,404,3.466,405,4.619,1726,3.683,2044,3.343,2368,5.441,4266,4.064,4342,3.807,4343,5.036,4344,6.423,4620,7.824,4688,9.167,4748,8.973,10536,6.283,11908,7.543,11909,7.543,12768,5.749,13381,6.283,13390,6.762,16252,10.813,17194,7.543,18281,7.226,21025,7.968,21026,7.543,21027,7.226,21031,7.968,21130,10.945,21131,8.613,21132,8.613]],["title/classes/TeamUserEntity.html",[0,0.232,13382,4.906]],["body/classes/TeamUserEntity.html",[0,0.305,2,0.712,3,0.014,4,0.014,5,0.007,7,0.092,27,0.53,29,0.822,30,0.001,31,0.675,32,0.159,33,0.499,35,1.095,39,2.843,47,0.633,62,3.806,72,2.906,95,0.141,96,2.41,101,0.017,103,0,104,0,105,0.923,112,0.69,138,1.861,143,1.429,154,1.824,172,2.817,173,1.874,174,3.447,175,2.877,178,2.561,180,1.123,181,2.814,182,2.048,191,5.666,236,1.05,239,3.191,276,5.671,349,1.076,379,0.813,381,2.183,480,3.299,517,3.932,519,2.777,603,2.14,644,6.089,654,3.384,686,4.131,1732,3.379,2044,2.501,2130,4.7,2562,5.303,2670,2.952,3606,4.368,4266,3.513,4332,4.835,4342,2.849,4343,6.082,4346,8.166,5094,5.491,6770,3.974,6772,3.63,6793,3.886,7000,7.051,7096,3.929,7133,4.238,10089,5.643,10688,4.7,10689,4.7,11915,4.7,11916,4.924,12768,4.301,13379,7.079,13380,5.406,13381,6.577,13382,9.017,13383,5.059,13384,9.12,13385,5.406,13386,5.406,13387,5.406,13388,5.406,13389,5.406,13390,5.059,13391,5.406,13392,5.406,21133,6.443,21134,6.443,21135,6.443,21136,6.443,21137,6.443,21138,6.443,21139,6.443,21140,6.443,21141,6.443,21142,6.443,21143,6.443]],["title/classes/TeamUserFactory.html",[0,0.232,21042,6.012]],["body/classes/TeamUserFactory.html",[0,0.155,2,0.507,3,0.01,4,0.01,5,0.005,7,0.066,8,0.852,27,0.537,29,1.039,30,0.001,31,0.718,32,0.173,33,0.605,34,1.428,35,1.456,39,2.976,47,0.821,55,2.313,59,3.179,95,0.13,99,0.745,101,0.007,103,0,104,0,112,0.538,120,2.979,133,2.436,140,2.521,153,1.958,154,2.089,155,2.295,177,1.31,180,1.225,236,0.748,239,2.244,271,4.685,276,5.305,319,2.979,349,0.884,379,0.579,382,3.817,413,2.123,437,1.542,447,7.104,448,4.418,449,5.303,452,3.893,453,5.303,454,5.55,455,3.893,456,3.893,457,3.893,458,3.83,459,4.327,460,4.731,461,5.885,462,5.623,463,6.938,464,2.563,469,2.542,470,3.893,471,2.563,472,4.985,473,5.135,474,4.076,475,4.85,476,3.861,477,2.542,478,2.407,479,4.013,480,3.253,481,2.48,482,2.443,483,2.542,484,4.916,485,2.563,486,3.522,487,4.654,488,2.542,489,7.077,490,4.162,491,6.475,492,2.563,493,4.191,494,2.542,495,2.563,496,2.542,497,2.563,498,2.542,499,2.864,500,2.684,501,2.542,502,5.932,503,2.563,504,2.542,505,3.893,506,3.66,507,3.893,508,2.563,509,2.461,510,2.443,511,2.039,512,2.542,513,2.542,514,2.542,515,2.563,516,2.563,517,1.735,518,2.542,519,1.414,520,2.563,521,2.783,522,2.542,523,2.563,525,2.633,527,4.152,648,3.281,654,3.512,2141,6.503,3140,4.299,4367,3.851,6985,3.603,6995,5.519,13382,5.025,20028,7.483,21036,6.503,21038,6.503,21042,7.483,21144,4.59,21145,4.59,21146,7.03,21147,4.59,21148,4.59,21149,4.59,21150,4.246,21151,4.59,21152,4.59,21153,4.59,21154,4.246,21155,4.59]],["title/modules/TeamsApiModule.html",[201,1.848,19504,5.557]],["body/modules/TeamsApiModule.html",[0,0.334,3,0.022,4,0.022,5,0.011,30,0.001,95,0.142,101,0.015,103,0.001,104,0.001,201,3.443,203,3.585,204,3.845,205,3.954,206,3.938,207,3.922,208,4.403,209,4.518,218,4.771,219,3.875,220,3.786,222,6.157,223,4.107,225,4.733,226,1.442,19504,11.18,21156,9.866,21157,9.866,21158,11.587,21159,9.866,21160,9.866]],["title/modules/TeamsModule.html",[201,1.848,21158,5.759]],["body/modules/TeamsModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.15,101,0.015,103,0.001,104,0.001,201,3.383,203,3.443,204,3.693,205,3.797,206,3.782,207,3.766,208,4.647,209,4.767,218,4.655,219,3.722,220,3.636,226,1.384,227,3.927,560,3.893,1810,9.428,21112,12.536,21158,11.826,21161,9.475,21162,9.475,21163,9.475,21164,9.475]],["title/injectables/TeamsRepo.html",[539,0.921,1810,4.731]],["body/injectables/TeamsRepo.html",[0,0.206,3,0.013,4,0.013,5,0.007,7,0.087,8,1.051,10,3.518,12,3.891,13,6.325,18,4.334,26,2.528,27,0.523,29,0.954,30,0.001,31,0.687,32,0.161,33,0.579,34,1.449,35,1.466,36,2.805,39,2.758,40,4.177,42,6.325,49,2.313,55,1.244,62,3.6,95,0.131,96,1.629,97,2.537,99,0.989,101,0.009,103,0,104,0,112,0.664,145,2.431,154,1.233,155,2.831,180,1.511,226,0.891,236,0.993,239,2.032,262,2.979,276,5.384,333,2.595,349,1.201,382,3.284,437,1.143,479,4.882,480,2.412,486,2.612,539,1.164,541,1.465,603,2.076,608,2.877,679,7.123,685,3.625,686,3.972,687,4.981,692,7.594,711,3.638,712,3.676,713,3.638,714,3.676,716,3.638,717,3.676,718,3.269,725,4.546,933,4.802,1002,5.878,1732,4.547,1810,5.976,3140,4.363,3697,4.202,3953,4.786,4622,5.411,4741,7.337,7096,6.153,12768,8.056,13382,6.198,16248,5.114,18518,9.336,18524,8.021,18528,5.639,20153,5.639,21165,6.096,21166,7.594,21167,6.096,21168,7.594,21169,6.096,21170,6.096,21171,6.096,21172,6.096,21173,6.096,21174,6.096,21175,6.096,21176,6.096,21177,6.096,21178,6.096,21179,6.096,21180,6.096]],["title/injectables/TemporaryFileRepo.html",[539,0.921,12180,5.557]],["body/injectables/TemporaryFileRepo.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.085,8,1.026,10,3.434,12,3.798,18,4.231,26,2.77,27,0.535,29,0.994,30,0.001,31,0.716,32,0.163,33,0.603,34,0.985,35,1.556,36,2.874,39,3.438,40,2.839,47,0.838,49,3.211,83,2.461,95,0.129,99,0.956,101,0.009,103,0,104,0,154,1.712,155,2.763,159,5.416,180,1.475,226,0.861,236,1.379,262,3.087,349,1.234,382,3.233,437,1.116,479,4.849,539,1.136,541,1.416,679,7.052,685,3.538,686,3.877,687,4.888,711,3.516,712,3.554,713,3.516,714,3.554,715,4.062,716,3.516,717,3.554,718,3.16,723,4.212,740,8.27,1105,6.145,1818,7.225,2374,4.771,5826,7.849,8505,7.412,11746,7.412,12180,6.851,12186,6.467,12221,9.081,21181,12.293,21182,5.893,21183,8.463,21184,8.463,21185,10.824,21186,8.463,21187,8.463,21188,5.893,21189,8.463,21190,5.893,21191,8.463,21192,5.893,21193,5.893,21194,8.463,21195,5.893,21196,5.893]],["title/injectables/TemporaryFileStorage.html",[539,0.921,12181,5.759]],["body/injectables/TemporaryFileStorage.html",[0,0.149,3,0.01,4,0.01,5,0.014,7,0.063,8,0.825,27,0.498,29,0.956,30,0.001,31,0.688,32,0.157,33,0.58,35,1.438,36,2.743,39,3.05,47,0.98,55,2.065,59,2.095,83,2.722,95,0.141,101,0.007,103,0,104,0,177,1.267,226,0.642,236,1.108,239,3.03,262,2.922,349,1.107,360,2.227,379,0.858,437,1.471,480,1.223,486,1.324,519,2.095,528,2.257,529,1.255,539,0.913,541,1.056,556,2.301,591,2.477,603,2.488,608,2.672,639,2.07,662,4.111,696,3.634,708,1.762,765,2.851,813,3.084,824,1.559,1105,6.153,1125,2.681,1147,1.335,1215,2.414,1217,2.477,1731,3.278,1818,2.934,1822,2.623,2024,2.047,2405,2.98,2487,3.592,2837,4.77,3130,2.651,3172,3.359,3601,1.769,4731,4.067,5515,2.596,5826,8.26,5883,2.522,6441,5.225,6523,4.961,7047,3.688,8189,6.291,8200,6.978,8228,3.85,10337,2.711,10369,3.688,10930,3.85,10959,3.688,11333,3.559,11393,6.828,11438,4.067,11460,3.559,11930,3.03,11987,11.423,12180,7.578,12181,5.706,12186,3.359,12189,3.85,12218,3.559,12232,5.956,14765,3.084,21197,12.309,21198,6.801,21199,6.801,21200,6.801,21201,6.801,21202,6.801,21203,8.317,21204,8.317,21205,4.396,21206,6.801,21207,4.396,21208,6.801,21209,4.396,21210,6.801,21211,4.396,21212,6.801,21213,4.396,21214,4.396,21215,4.396,21216,6.801,21217,4.396,21218,4.396,21219,9.36,21220,9.36,21221,4.396,21222,6.801,21223,4.396,21224,4.396,21225,8.317,21226,9.36,21227,9.36,21228,4.396,21229,6.801,21230,4.396,21231,4.396,21232,4.396,21233,4.396,21234,4.396,21235,4.396,21236,4.396,21237,4.396,21238,4.396,21239,4.396,21240,4.396,21241,4.396,21242,4.396,21243,4.396,21244,4.396,21245,10.122,21246,6.801,21247,4.396,21248,4.396,21249,4.396,21250,4.396,21251,4.396,21252,4.396,21253,4.396,21254,8.317,21255,4.396,21256,4.396,21257,4.396,21258,4.396,21259,4.396,21260,3.688,21261,4.396,21262,4.396]],["title/classes/TestApiClient.html",[0,0.232,1510,6.012]],["body/classes/TestApiClient.html",[0,0.124,2,0.405,3,0.008,4,0.008,5,0.004,7,0.053,8,0.714,10,2.39,27,0.518,29,0.958,30,0.001,31,0.69,32,0.161,33,0.581,35,1.45,36,1.262,47,0.99,51,2.889,55,1.507,59,3.049,87,2.983,94,4.604,95,0.101,99,0.594,101,0.006,103,0,104,0,105,0.375,112,0.451,119,1.217,128,2.4,133,3.607,137,3.676,153,0.84,177,2.081,226,0.535,236,1.378,261,1.755,262,1.631,271,1.36,284,3.373,324,5.27,334,3.82,349,1.234,360,6.301,379,0.462,429,2.619,437,1.753,480,2.579,486,2.792,529,1.681,531,5.158,593,1.365,603,2.771,608,0.849,662,3.978,696,2.286,708,1.468,755,3.874,824,3.512,990,1.253,1086,4.624,1218,1.385,1288,6.917,1478,6.21,1495,7.409,1496,11.747,1497,3.389,1498,4.93,1499,9.627,1500,5.158,1501,3.389,1502,3.389,1503,2.672,1504,3.209,1505,3.389,1506,3.074,1507,3.389,1508,3.389,1509,3.209,1510,6.468,1511,3.389,1512,2.286,1513,3.389,1514,5.449,1515,4.21,1516,5.158,1517,4.941,1518,4.768,1519,3.348,1520,7.222,1521,9.627,1522,6.833,1523,5.449,1524,5.449,1525,5.449,1526,3.389,1527,9.159,1528,3.389,1529,5.449,1530,10.603,1531,8.575,1532,10.603,1533,3.389,1534,5.449,1535,8.575,1536,3.389,1537,7.827,1538,5.449,1539,3.389,1540,6.196,1541,5.449,1542,3.389,1543,5.449,1544,5.449,1545,3.389,1546,3.389,1547,3.389,1548,3.389,1549,5.449,1550,3.389,1551,3.209,1552,5.449,1553,5.643,1554,7.827,1555,3.389,1556,5.449,1557,3.389,1558,8.575,1559,5.449,1560,5.449,1561,3.389,1562,5.449,1563,5.449,1564,3.389,1565,3.389,1566,5.449,1567,7.827,1568,2.344,1569,3.389,1570,5.449,1571,3.389,1572,3.389,1573,3.389,1574,3.389,1575,3.389,1576,3.389,1577,3.389,1578,3.389,2962,3.318,4081,3.721,21263,5.89,21264,5.89,21265,5.89,21266,5.89,21267,5.89,21268,3.664,21269,3.664,21270,3.664,21271,3.664,21272,3.664,21273,9.269,21274,3.664,21275,3.664,21276,3.664,21277,3.664,21278,3.664,21279,3.664,21280,3.664,21281,3.664,21282,3.664,21283,3.664]],["title/classes/TestBootstrapConsole.html",[0,0.232,21284,6.35]],["body/classes/TestBootstrapConsole.html",[0,0.297,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.343,27,0.362,30,0.001,35,1.067,36,2.6,47,0.616,95,0.156,101,0.017,103,0.001,104,0.001,180,1.931,207,3.49,225,3.49,262,1.939,349,1.146,437,1.461,521,3.476,608,2.035,685,5.33,934,5.295,996,4.23,997,4.088,998,4.181,999,4.418,1000,4.822,1953,6.405,1954,6.276,2653,6.893,3505,5.861,3513,6.052,3515,7,3516,5.239,3518,6.893,8043,6.893,19479,9.704,21284,10.25,21285,11.079,21286,11.079,21287,8.78,21288,12.139,21289,8.78,21290,8.123,21291,8.78,21292,6.709,21293,8.123,21294,8.78,21295,8.78,21296,11.079,21297,8.123,21298,8.78,21299,8.78,21300,11.079,21301,8.78,21302,7.69,21303,6.548,21304,8.78,21305,8.78]],["title/classes/TestHelper.html",[0,0.232,21306,6.35]],["body/classes/TestHelper.html",[0,0.287,2,0.938,3,0.019,4,0.019,5,0.013,7,0.122,27,0.446,30,0.001,31,0.617,47,0.761,95,0.142,101,0.013,103,0.001,104,0.001,105,0.869,112,0.83,284,2.563,349,1.121,413,4.019,437,1.754,480,3.016,486,3.266,662,3.368,1215,6.562,1217,4.781,2882,4.041,3601,3.415,5838,4.869,6419,5.594,6519,7.606,6520,5.234,6521,5.118,6522,7.206,10337,5.234,10869,7.132,10870,11.027,19881,7.433,21306,10.031,21307,11.949,21308,11.949,21309,11.949,21310,8.487,21311,8.487,21312,8.487,21313,8.487,21314,8.487,21315,8.487,21316,8.487,21317,8.487,21318,8.487]],["title/injectables/TimeoutInterceptor.html",[539,0.921,13900,6.012]],["body/injectables/TimeoutInterceptor.html",[0,0.268,3,0.017,4,0.017,5,0.009,7,0.114,8,1.258,27,0.427,29,0.82,30,0.001,31,0.59,32,0.134,33,0.497,35,0.963,55,2.359,95,0.146,101,0.012,103,0.001,104,0.001,131,3.007,141,4.856,153,1.816,177,1.477,226,1.158,236,1.69,259,3.966,274,6.256,345,2.527,349,1.196,379,1,437,1.368,521,4.578,539,1.392,541,1.904,604,3.256,966,5.212,967,6.222,968,6.055,990,2.711,1147,2.407,1243,6.924,2175,7.567,2244,8.836,4018,8.624,4729,6.924,6693,8.398,8686,9.085,8688,9.085,8689,10.745,8690,10.745,8692,9.085,8909,6.055,12491,8.398,12640,9.596,13900,9.085,14260,9.085,18357,10.698,18365,7.331,18367,7.331,18667,8.703,21319,7.925,21320,10.373,21321,9.596,21322,7.925,21323,7.925,21324,7.925,21325,10.373,21326,11.564,21327,10.373,21328,7.925,21329,10.373,21330,7.925,21331,7.925,21332,7.925,21333,7.925]],["title/classes/TimestampsResponse.html",[0,0.232,3720,4.014]],["body/classes/TimestampsResponse.html",[0,0.308,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.532,29,0.719,30,0.001,31,0.518,32,0.167,33,0.591,83,3.938,95,0.108,101,0.014,103,0.001,104,0.001,112,0.867,138,2.207,149,4.752,150,2.043,245,3.406,376,5.529,379,1.429,406,5.609,774,4.637,3720,7.767,3737,9.494,10414,10.149,10475,7.362,21334,9.094,21335,9.094,21336,9.094,21337,9.094,21338,9.094,21339,9.094]],["title/injectables/ToggleUserLoginMigrationUc.html",[539,0.921,21340,5.759]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.22,3,0.014,4,0.014,5,0.007,7,0.093,8,1.099,27,0.43,29,0.826,30,0.001,31,0.595,32,0.135,33,0.501,35,1.102,36,2.422,39,2.478,47,0.969,95,0.154,99,1.054,101,0.01,103,0,104,0,119,2.158,128,5.255,131,3.44,177,2.106,226,0.949,236,1.701,239,2.963,262,2.72,349,0.672,379,1.144,437,1.377,529,2.982,539,1.217,541,1.56,560,2.669,593,2.419,603,2.326,608,2.756,643,2.915,654,3.138,990,2.222,1338,3.007,1341,2.083,1670,4.939,1675,3.96,1758,6.728,1855,3.96,1861,6.481,1959,7.142,1961,6.87,1963,3.659,1964,5.108,2312,5.24,2520,6.762,2531,3.007,2535,4.556,2544,4.844,4266,4.357,4565,5.099,4567,5.258,4570,5.258,4571,8.805,4578,5.88,4580,7.055,4582,7.118,4583,4.963,4584,5.099,4585,5.449,4587,7.118,4589,8.764,4590,6.762,4597,4.963,4598,5.449,12675,8.869,14957,5.258,17606,5.449,18411,5.688,19902,7.34,21340,7.607,21341,11.305,21342,7.941,21343,6.495,21344,6.495,21345,9.067,21346,6.495,21347,5.688,21348,6.495,21349,6.495]],["title/injectables/TokenGenerator.html",[539,0.921,19754,5.557]],["body/injectables/TokenGenerator.html",[0,0.336,3,0.022,4,0.022,5,0.011,7,0.143,8,1.45,27,0.409,30,0.001,35,1.207,95,0.153,101,0.015,103,0.001,104,0.001,124,6.057,226,1.452,349,1.028,437,1.31,539,1.605,541,2.388,12340,10.033,13083,10.071,13085,6.634,13086,6.537,17625,9.194,19754,9.682,21350,11.959,21351,13.312,21352,9.938,21353,9.938]],["title/classes/TokenRequestMapper.html",[0,0.232,16422,6.012]],["body/classes/TokenRequestMapper.html",[0,0.284,2,0.928,3,0.018,4,0.018,5,0.009,7,0.121,8,1.306,27,0.444,29,0.852,30,0.001,31,0.613,32,0.139,33,0.516,35,1.309,47,0.989,95,0.142,101,0.013,103,0.001,104,0.001,105,0.86,121,5.524,236,1.755,349,1.114,413,4.008,824,2.979,951,5.872,1387,10.154,1389,6.8,1391,6.004,1392,6.8,1393,7.356,1394,7.356,1398,7.77,1401,7.77,1402,7.047,1403,6.264,1498,5.606,5643,5.983,6161,6.594,12269,9.149,12402,7.735,16422,9.434,16424,10.154,16481,11.603,16487,7.77,17122,6.8,21354,11.891,21355,11.891,21356,10.771,21357,8.399,21358,8.399,21359,10.771,21360,8.399,21361,8.399,21362,8.399,21363,8.399]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.232,21364,6.35]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.239,2,0.781,3,0.016,4,0.016,5,0.008,7,0.101,8,1.166,27,0.542,29,0.559,30,0.001,31,0.402,32,0.176,33,0.524,35,1.168,47,0.888,55,1.443,95,0.14,101,0.011,103,0.001,104,0.001,112,0.736,138,2.193,177,2.538,180,1.676,182,2.248,226,1.033,284,2.136,292,5.532,340,3.426,345,2.254,347,2.551,349,0.731,379,0.892,382,3.777,821,5.427,824,2.508,951,5.113,988,3.081,990,4.01,1025,4.64,1147,2.92,1269,8.231,1270,6.266,1271,3.651,1272,6.989,1276,4.586,1277,3.949,1278,4.586,1279,4.586,1280,4.586,1281,4.586,1282,4.586,1283,4.264,1284,4.019,1290,4.467,1291,5.551,1338,5.058,1339,5.646,1343,5.821,8829,5.686,8830,5.903,9276,4.467,9283,4.135,9284,4.311,9460,6.325,9466,7.29,9467,5.724,11324,5.932,11325,5.932,15201,9.927,21364,8.893,21365,10.922,21366,10.922,21367,7.071,21368,7.071,21369,7.071,21370,9.613]],["title/modules/ToolApiModule.html",[201,1.848,19505,5.557]],["body/modules/ToolApiModule.html",[0,0.187,3,0.012,4,0.012,5,0.006,30,0.001,95,0.167,101,0.009,103,0,104,0,131,3.622,201,2.57,203,2.007,204,2.153,205,2.214,206,2.205,207,2.196,208,3.531,209,2.096,214,5.434,218,3.237,219,2.17,220,2.12,222,3.448,223,3.362,225,3.21,226,0.807,227,2.29,564,4.002,643,2.479,654,3.155,1341,1.772,1650,3.113,1752,6.634,1827,8.704,1829,8.704,1944,2.33,1963,3.113,2531,2.558,2548,3.215,3044,3.113,3593,7.116,3603,2.78,3605,4.337,4673,8.513,5134,3.199,5429,8.513,5434,7.468,6298,9.791,6307,8.704,6323,4.337,6324,3.407,9046,9.448,9096,9.791,9374,8.918,9383,4.635,9645,9.791,9758,9.448,9927,9.791,14696,8.342,19145,9.791,19161,9.791,19218,9.791,19505,11.732,21371,5.525,21372,5.525,21373,5.525,21374,9.791,21375,9.791,21376,8.361,21377,8.361,21378,8.361,21379,8.361,21380,8.361,21381,8.361,21382,9.547,21383,4.473,21384,5.525,21385,9.547,21386,8.077,21387,5.111,21388,5.525,21389,5.525,21390,5.525]],["title/modules/ToolConfigModule.html",[201,1.848,9374,5.245]],["body/modules/ToolConfigModule.html",[0,0.349,3,0.023,4,0.023,5,0.012,30,0.001,95,0.146,101,0.016,103,0.001,104,0.001,201,3.292,203,3.749,208,3.815,209,3.914,226,1.507,636,6.033,1180,7.374,1650,5.812,1971,4.803,2548,3.474,9056,9.959,9374,9.344,13397,8.655,21391,10.317,21392,10.317]],["title/classes/ToolConfiguration.html",[0,0.232,13397,5.759]],["body/classes/ToolConfiguration.html",[0,0.304,2,0.994,3,0.02,4,0.02,5,0.01,7,0.129,27,0.37,30,0.001,32,0.116,47,0.862,55,2.504,95,0.107,101,0.019,103,0.001,104,0.001,105,0.92,112,0.861,119,2.887,413,3.707,437,1.186,480,2.502,486,3.388,1650,6.337,2079,3.976,2080,4.439,2081,4.282,3940,5.067,9054,9.378,9056,9.826,9329,10.749,9362,10.749,12411,6.097,13393,11.354,13394,11.354,13395,11.354,13396,8.32,13397,9.437,13398,10.406,13399,10.406,13400,10.406,13401,10.406,13402,9.437,21393,8.994]],["title/controllers/ToolConfigurationController.html",[259,2.624,21377,6.012]],["body/controllers/ToolConfigurationController.html",[0,0.168,3,0.011,4,0.011,5,0.006,7,0.071,8,0.904,27,0.41,29,0.788,30,0.001,31,0.567,32,0.166,33,0.478,35,1.21,36,2.566,95,0.139,100,1.686,101,0.008,103,0,104,0,131,4.417,138,1.782,150,1.114,153,2.283,177,0.924,223,2.064,226,0.725,259,1.896,261,2.375,262,2.835,270,6.37,271,4.766,274,6.008,294,6.534,319,4.221,333,4.546,335,6.441,337,2.582,338,2.639,343,2.659,345,1.581,346,5.945,349,1.03,437,1.579,564,4.012,608,2.309,654,3.496,662,3.989,1077,7.697,1778,1.948,2079,5.294,2417,7.386,2546,4.893,2548,4.033,2627,4.449,2764,2.348,2963,2.6,3779,5.884,4544,6.935,5985,8.358,5987,8.065,6057,7.612,6315,8.111,6375,8.725,7336,3.789,9061,7.515,9075,6.529,9096,7.515,9101,8.287,9102,8.287,10527,6.074,10939,9.216,14480,4.588,14787,7.252,14789,6.534,14790,6.534,15195,8.358,17902,7.965,19084,8.358,19086,8.065,19098,7.821,19274,7.821,21377,6.529,21383,8.647,21394,8.958,21395,8.958,21396,4.959,21397,7.455,21398,7.455,21399,4.588,21400,4.959,21401,4.959,21402,7.455,21403,4.959,21404,4.959,21405,4.959,21406,6.897,21407,7.455,21408,7.455,21409,7.455,21410,4.959,21411,4.959,21412,7.455,21413,7.455,21414,4.959,21415,4.343,21416,4.959,21417,4.959,21418,3.893,21419,4.588,21420,4.959,21421,4.588,21422,4.959,21423,4.959,21424,4.343,21425,4.343,21426,4.959,21427,4.959,21428,4.588,21429,4.959,21430,4.959,21431,4.16,21432,4.959]],["title/classes/ToolConfigurationMapper.html",[0,0.232,21415,6.012]],["body/classes/ToolConfigurationMapper.html",[0,0.229,2,0.746,3,0.015,4,0.015,5,0.008,7,0.097,8,1.13,27,0.473,29,0.986,30,0.001,31,0.71,32,0.149,33,0.551,35,1.397,95,0.137,101,0.01,103,0,104,0,236,1.873,349,1.189,413,4.114,437,1.685,564,2.11,790,3.398,1778,2.653,1898,3.622,2546,5.526,2548,3.591,2627,6.643,2764,3.197,3731,4.508,4544,7.54,5111,5.035,5985,8.947,5987,9.764,5991,6.535,5992,5.296,5993,4.927,9060,7.542,9061,10.721,9083,5.666,9093,7.816,9132,7.542,9339,6.659,9418,7.118,9758,5.468,9782,8.159,19084,8.947,19086,9.764,21415,8.159,21433,11.158,21434,6.754,21435,10.664,21436,10.664,21437,10.664,21438,10.664,21439,6.754,21440,6.754,21441,9.316,21442,6.754,21443,6.754,21444,10.664,21445,6.754,21446,6.754,21447,6.754,21448,6.754,21449,9.316,21450,8.618,21451,6.754,21452,6.754,21453,6.754,21454,6.754,21455,6.754,21456,6.754]],["title/controllers/ToolContextController.html",[259,2.624,21379,6.012]],["body/controllers/ToolContextController.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.062,8,0.818,10,1.765,27,0.415,29,0.796,30,0.001,31,0.573,32,0.167,33,0.483,34,1.972,35,1.491,36,2.583,95,0.144,100,1.478,101,0.007,103,0,104,0,131,3.531,138,1.802,141,3.157,150,0.977,153,2.442,177,1.257,223,1.81,226,0.635,236,0.708,239,1.936,259,1.663,261,2.083,262,2.849,270,6.385,271,4.626,273,5.153,274,6.929,280,2.998,282,4.209,283,5.095,284,2.037,285,4.436,294,6.549,301,4.502,305,3.906,319,3.944,324,5.975,330,6.415,333,4.287,335,6.427,336,4.209,337,2.264,338,2.315,340,2.108,343,2.332,345,1.387,346,6.01,347,1.569,348,2.188,349,0.962,437,1.618,564,3.686,603,0.895,608,2.334,631,2.218,824,4.076,1284,2.472,1341,1.395,1778,1.708,1899,7.067,2205,4.821,2312,1.803,2313,3.073,2368,5.219,2548,1.464,2764,2.059,2961,3.109,2962,3.8,2963,2.281,3779,6.566,3865,4.92,4081,2.748,4858,2.623,5949,6.231,6013,7.808,6016,2.748,6057,9.212,6073,9.327,6126,3.109,6159,3.809,6166,7.235,6170,3.809,6180,9.551,6192,3.323,6201,3.649,6270,7.235,6273,7.235,6290,7.947,6298,6.93,6301,7.642,6303,7.642,6304,7.642,6305,7.642,6315,4.316,6334,4.024,6338,4.024,7336,5.153,9281,3.521,14788,5.907,14789,6.789,14790,7.774,17902,7.947,21379,5.907,21383,8.627,21418,3.414,21424,5.907,21425,5.907,21431,7.808,21450,4.024,21457,4.349,21458,4.349,21459,4.349,21460,3.809,21461,4.349,21462,3.809,21463,4.349,21464,4.349,21465,4.349,21466,4.349,21467,4.349,21468,4.349,21469,4.349,21470,4.349,21471,6.744,21472,4.349,21473,4.349,21474,4.349,21475,4.349,21476,4.349,21477,4.349,21478,4.349,21479,4.349,21480,4.349,21481,5.907,21482,6.93,21483,4.349,21484,6.744,21485,4.349,21486,4.349,21487,4.349,21488,4.349,21489,3.809,21490,4.349,21491,4.349,21492,4.349,21493,4.024,21494,4.349,21495,4.349,21496,4.349,21497,4.349,21498,4.349,21499,4.349,21500,4.349,21501,4.349]],["title/controllers/ToolController.html",[259,2.624,21381,6.012]],["body/controllers/ToolController.html",[0,0.127,3,0.008,4,0.008,5,0.004,7,0.054,8,0.73,10,1.528,27,0.413,29,0.792,30,0.001,31,0.57,32,0.165,33,0.481,34,1.827,35,1.404,36,2.682,95,0.149,99,0.611,100,1.28,101,0.006,103,0,104,0,138,1.793,141,4.023,150,0.846,153,2.706,177,1.601,223,1.567,226,0.55,236,0.613,239,2.641,247,1.618,259,1.439,261,1.803,262,2.843,270,6.205,271,4.382,273,4.6,274,3.631,280,2.595,282,5.363,283,5.796,284,2.596,285,5.652,292,3.049,294,6.364,301,4.019,305,4.977,310,4.346,316,3.254,319,2.551,324,3.81,330,6.477,333,3.658,335,6.346,336,4.694,337,1.96,338,2.004,340,1.825,343,2.019,346,5.98,347,2.172,348,3.029,349,0.972,379,0.475,437,1.65,481,3.254,490,2.143,560,1.547,564,2.685,603,1.768,608,2.178,631,1.92,822,2.918,824,3.555,836,6.028,1284,2.14,1341,1.208,1778,1.479,2205,4.303,2312,1.561,2313,2.744,2350,4.443,2368,5.43,2546,4.82,2548,3.795,2627,6.395,2764,1.783,2961,2.691,2962,3.392,2963,1.974,3779,5.55,3865,2.747,4042,3.671,4544,5.804,5231,2.691,5967,2.691,6315,6.014,6861,5.183,6863,6.095,6865,2.247,7150,3.671,7567,6.181,9060,4.874,9106,5.61,9153,7.21,9266,10.69,9267,6.311,9273,3.483,9281,4.874,9317,3.483,9538,4.6,9645,5.051,9659,5.273,9661,7.21,9685,7.21,9687,6.09,9690,7.21,9692,5.273,9747,8.849,9758,3.048,9804,7.21,9814,6.588,9815,6.588,9819,6.588,9927,6.311,9929,6.959,9930,6.959,11651,3.298,11652,3.298,13615,3.298,13620,5.051,14787,4.874,14789,5.487,14790,7.311,17902,7.008,21381,5.273,21418,2.956,21460,3.298,21462,5.273,21481,5.273,21482,5.051,21489,3.298,21502,3.765,21503,3.765,21504,6.02,21505,3.765,21506,10.022,21507,3.765,21508,3.765,21509,3.765,21510,3.765,21511,3.483,21512,6.747,21513,3.765,21514,3.765,21515,3.765,21516,3.765,21517,3.483,21518,3.765,21519,3.765,21520,3.765,21521,3.765,21522,3.765,21523,3.765,21524,3.765,21525,3.765,21526,3.765,21527,3.765,21528,3.765,21529,3.765,21530,3.765,21531,3.765,21532,3.765,21533,3.765,21534,3.765,21535,3.765,21536,3.765,21537,6.02,21538,5.57,21539,3.765,21540,3.765,21541,3.765,21542,3.765,21543,3.765,21544,3.765,21545,3.765,21546,3.765,21547,9.397,21548,3.765,21549,3.765,21550,3.765,21551,3.765,21552,3.765,21553,3.765,21554,3.765,21555,3.765,21556,3.765,21557,3.765,21558,3.765,21559,3.765,21560,3.298,21561,3.765,21562,3.765]],["title/controllers/ToolLaunchController.html",[259,2.624,21376,6.012]],["body/controllers/ToolLaunchController.html",[0,0.258,3,0.017,4,0.017,5,0.009,7,0.109,8,1.226,27,0.314,29,0.603,30,0.001,31,0.434,32,0.147,33,0.366,34,1.275,35,0.927,36,2.167,95,0.157,100,2.593,101,0.012,103,0.001,104,0.001,131,3.838,138,1.365,141,5.658,150,1.714,153,2.77,177,1.421,223,3.175,226,1.114,259,2.916,261,3.653,262,2.506,270,5.928,271,4.212,294,6.081,333,4.306,335,6.1,337,3.971,338,4.059,343,4.09,345,2.432,346,4.552,349,0.789,437,1.334,564,3.16,608,1.768,631,3.889,824,3.588,1650,5.699,1664,2.852,2548,4.352,2639,8.279,2651,8.067,2764,3.611,2963,4,3779,4.505,6315,7.262,11333,6.175,14789,7.379,14790,7.379,17902,7.544,21374,9.521,21376,8.859,21387,9.358,21418,5.988,21419,7.056,21431,6.399,21563,7.628,21564,10.499,21565,7.628,21566,10.585,21567,7.628,21568,7.628,21569,7.628,21570,7.628,21571,7.628,21572,8.859,21573,8.859,21574,7.628,21575,9.358,21576,9.521,21577,6.399,21578,7.628,21579,7.628,21580,7.628,21581,7.628]],["title/classes/ToolLaunchData.html",[0,0.232,2629,5.245]],["body/classes/ToolLaunchData.html",[0,0.294,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,27,0.539,29,0.687,30,0.001,31,0.494,32,0.18,33,0.417,47,0.773,95,0.131,101,0.013,103,0.001,104,0.001,112,1.003,119,2.274,172,2.714,181,2.978,284,3.324,379,1.096,381,2.943,1650,7.542,2195,6.866,2548,2.925,2557,6.209,2566,3.878,2567,6.209,2609,9.779,2629,10.012,2651,9.075,4404,5.239,7382,7.208,7417,6.093,7418,6.478,17788,8.036,21582,12.384,21583,11.004,21584,8.686,21585,8.686,21586,11.175,21587,8.686,21588,8.686,21589,8.686]],["title/classes/ToolLaunchMapper.html",[0,0.232,21577,5.759]],["body/classes/ToolLaunchMapper.html",[0,0.241,2,0.787,3,0.016,4,0.016,5,0.008,7,0.102,8,1.171,27,0.484,29,0.929,30,0.001,31,0.669,32,0.152,33,0.564,35,1.428,95,0.13,101,0.011,103,0.001,104,0.001,236,1.16,349,1.215,413,4.15,437,1.738,591,5.442,790,3.582,824,3.426,988,4.776,1262,3.37,1616,5.442,1650,6.923,1664,2.662,1929,3.493,2553,7.076,2556,6.775,2621,8.245,2639,9.243,2649,9.6,2657,6.587,7382,5.764,7456,4.618,7539,6.548,7543,6.657,7557,5.59,9256,5.974,9700,6.236,21576,9.861,21577,8.104,21586,11.722,21590,12.287,21591,7.12,21592,9.659,21593,9.659,21594,9.659,21595,9.659,21596,9.659,21597,7.12,21598,9.659,21599,7.12,21600,7.12,21601,9.659,21602,7.12,21603,7.12,21604,9.659,21605,7.12,21606,7.12,21607,7.12,21608,7.12,21609,7.12,21610,9.659,21611,9.659,21612,9.659,21613,7.12,21614,9.659,21615,7.12,21616,11.754,21617,7.12,21618,7.12]],["title/modules/ToolLaunchModule.html",[201,1.848,21619,5.759]],["body/modules/ToolLaunchModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,95,0.162,101,0.01,103,0,104,0,131,2.437,201,2.796,203,2.334,204,2.503,205,2.574,206,2.563,207,2.553,208,3.84,209,3.94,218,3.605,219,2.523,220,2.465,225,3.576,226,0.939,363,3.619,560,2.639,564,3.244,654,2.702,1650,3.619,1826,6.005,1829,9.154,1830,4.685,1892,10.751,1906,10.751,1922,5.2,1952,10.751,1956,10.751,1963,3.619,2426,4.427,2548,3.496,2586,10.299,3132,5.2,3591,9.637,3593,7.485,3603,3.232,4608,6.099,4672,6.709,4679,5.043,5134,3.72,5429,8.954,5434,7.855,5576,4.908,6067,9.38,6068,9.637,14696,8.774,15445,10.751,16334,10.299,20831,5.2,21619,12.176,21620,6.423,21621,6.423,21622,6.423,21623,6.423,21624,11.331,21625,11.356,21626,6.423,21627,6.423,21628,6.423,21629,6.423,21630,6.423]],["title/classes/ToolLaunchParams.html",[0,0.232,21566,6.012]],["body/classes/ToolLaunchParams.html",[0,0.399,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,32,0.126,34,1.97,47,0.827,95,0.14,101,0.015,103,0.001,104,0.001,112,0.902,131,4.472,138,1.736,142,4.593,143,2.614,144,3.837,145,3.304,148,3.005,150,2.18,153,2.223,245,3.023,564,3.682,808,4.666,1650,6.64,2548,3.969,3294,7.152,3876,5.73,21566,10.322,21631,10.903,21632,9.701,21633,9.701]],["title/classes/ToolLaunchRequest.html",[0,0.232,2639,5.007]],["body/classes/ToolLaunchRequest.html",[0,0.297,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,27,0.541,29,0.694,30,0.001,31,0.5,32,0.17,33,0.582,47,0.895,95,0.105,101,0.014,103,0.001,104,0.001,112,0.848,119,2.289,141,4.11,181,2.998,379,1.108,381,2.975,591,7.183,1262,4.235,1616,6.839,1650,7.562,2613,10.184,2639,9.589,2651,9.097,6446,4.745,7382,7.244,7385,5.547,7417,6.159,7418,6.548,17554,7.108,18321,7.366,21582,12.418,21634,8.78,21635,11.079,21636,8.78,21637,8.78,21638,8.78,21639,8.123,21640,8.123]],["title/classes/ToolLaunchRequestResponse.html",[0,0.232,21576,5.759]],["body/classes/ToolLaunchRequestResponse.html",[0,0.243,2,0.794,3,0.016,4,0.016,5,0.008,7,0.103,27,0.507,29,0.568,30,0.001,31,0.409,32,0.16,33,0.623,47,0.828,95,0.116,101,0.011,103,0.001,104,0.001,112,0.744,119,2.008,138,2.111,141,5.947,142,4.597,143,2.155,145,3.307,150,1.614,153,2.704,181,2.629,236,1.583,245,3.161,379,0.907,381,2.434,480,2.703,556,1.766,591,6.944,821,5.462,839,3.018,1262,4.3,1616,6.944,1650,7.157,1664,2.686,1984,5.293,2492,7.967,2548,4.278,2613,10.34,2651,9.296,2665,6.291,2962,5.474,6446,3.882,7308,7.866,7382,6.57,7385,4.538,7417,5.039,7418,5.357,12612,7.866,17554,5.815,18321,6.026,21573,8.51,21576,10.34,21631,11.752,21639,6.645,21640,6.645,21641,7.183,21642,9.716,21643,7.183,21644,8.989,21645,7.183,21646,9.716,21647,7.183]],["title/injectables/ToolLaunchService.html",[539,0.921,21624,5.759]],["body/injectables/ToolLaunchService.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.932,26,2.468,27,0.469,29,0.859,30,0.001,31,0.619,32,0.157,33,0.521,35,1.235,36,2.178,39,2.509,47,0.645,95,0.156,99,0.838,101,0.008,103,0,104,0,112,0.588,131,1.96,177,2.123,226,0.755,236,1.656,262,2.515,284,1.561,347,2.774,349,0.949,379,0.97,437,1.662,519,2.368,529,2.621,539,1.032,541,1.241,556,1.89,564,3.396,603,2.74,608,2.356,631,2.634,654,2.309,990,1.768,1226,2.489,1650,6.648,1664,1.932,1898,7.085,1899,6.934,1901,4.56,1929,2.534,1971,2.405,2548,2.589,2553,5.127,2586,10.171,2627,6.563,2629,8.705,2639,7.417,2647,5.084,2651,5.131,4608,7.369,5435,9.263,5451,5.495,5459,4.335,5993,6.697,6216,4.056,6217,3.624,6308,7.605,6324,4.741,6349,7.277,6354,4.056,7944,7.112,9145,4.525,9147,3.769,12494,8.04,13405,8.04,16334,10.171,19224,4.78,21577,4.335,21624,6.45,21625,11.216,21648,11.799,21649,5.167,21650,7.687,21651,7.687,21652,9.18,21653,9.18,21654,7.687,21655,7.687,21656,5.167,21657,7.687,21658,5.167,21659,5.167,21660,5.167,21661,5.167,21662,5.167,21663,4.525,21664,5.167,21665,5.167,21666,5.167,21667,5.167,21668,5.167,21669,5.167,21670,7.112,21671,5.167,21672,5.167,21673,5.167,21674,5.167,21675,7.687,21676,5.167,21677,4.78,21678,5.167]],["title/injectables/ToolLaunchUc.html",[539,0.921,21374,5.759]],["body/injectables/ToolLaunchUc.html",[0,0.263,3,0.017,4,0.017,5,0.009,7,0.111,8,1.24,26,2.696,27,0.421,29,0.809,30,0.001,31,0.582,32,0.132,33,0.491,35,0.943,36,2.191,39,2.12,95,0.16,99,1.259,101,0.012,103,0.001,104,0.001,131,4.617,177,2.132,226,1.134,262,2.527,349,0.802,379,1.291,437,1.604,539,1.373,541,1.864,560,3.188,564,3.196,603,2.355,608,2.652,643,4.59,1650,6.448,1664,2.901,1670,5.573,1675,4.731,1899,6.537,1901,3.854,2531,3.593,2629,8.745,2639,7.462,3044,4.371,3294,6.855,6069,8.588,6307,9.876,6323,6.091,6324,4.785,6332,6.795,6336,6.091,21374,8.582,21564,9.464,21624,10.896,21670,9.464,21679,11.445,21680,7.758,21681,7.758,21682,7.758,21683,10.23,21684,7.758,21685,7.178,21686,7.758,21687,7.758]],["title/modules/ToolModule.html",[201,1.848,1827,5.119]],["body/modules/ToolModule.html",[0,0.252,3,0.016,4,0.016,5,0.008,30,0.001,95,0.159,101,0.012,103,0.001,104,0.001,131,2.83,201,3.022,203,2.71,204,2.907,205,2.989,206,2.977,207,2.965,208,4.151,209,4.259,218,3.994,219,2.93,220,2.863,225,3.962,226,1.09,493,3.659,560,3.065,564,3.506,654,2.241,1726,3.19,1739,3.436,1743,5.857,1826,6.652,1827,10.68,1832,4.097,2396,4.28,2487,3.94,2548,4.204,2651,4.979,3591,10.868,5134,4.32,5429,7.27,5435,10.868,6067,10.577,6068,10.868,6354,5.857,9374,9.814,9383,6.259,21619,11.614,21688,7.46,21689,7.46,21690,7.46,21691,7.46,21692,7.46]],["title/injectables/ToolPermissionHelper.html",[539,0.921,6307,5.119]],["body/injectables/ToolPermissionHelper.html",[0,0.2,3,0.013,4,0.013,5,0.007,7,0.085,8,1.028,26,2.505,27,0.408,29,0.784,30,0.001,31,0.565,32,0.128,33,0.476,35,1.03,36,2.322,39,2.962,95,0.155,99,0.959,101,0.009,103,0,104,0,105,0.605,131,5.048,141,2.767,177,2.138,201,1.591,226,0.864,236,0.963,239,2.325,262,2.637,285,3.887,358,2.639,379,1.07,437,1.513,454,2.737,529,1.687,539,1.138,541,1.42,560,3.485,564,2.649,603,2.361,608,2.66,639,2.782,643,4.863,654,3.255,662,3.71,839,1.836,933,3.273,1128,3.833,1607,4.407,1670,6.703,1726,2.527,1758,6.548,1813,6.958,1826,3.945,1830,4.311,1846,4.146,1851,4.64,1854,5.176,1855,5.171,1898,6.598,1899,6.507,1901,4.212,1911,8.342,1912,7.906,1922,4.784,1926,4.067,1928,3.734,1932,7.428,1933,4.224,1936,5.176,1944,3.577,1959,6.847,1961,6.524,1963,3.33,1964,4.778,1965,5.467,2443,3.782,2517,4.311,2518,7.47,2531,2.737,2532,6.186,2535,4.146,2688,4.224,2764,5.131,3157,4.407,3860,4.311,4858,3.564,5575,4.146,6307,6.325,6329,5.467,9099,9.176,9100,8.687,9108,5.467,9110,5.176,10527,3.604,14946,4.64,19881,5.176,20831,4.784,21693,10.838,21694,9.919,21695,9.919,21696,5.91,21697,5.91,21698,5.91,21699,6.658,21700,9.176,21701,9.176,21702,5.91,21703,5.91,21704,9.919,21705,8.481,21706,7.846,21707,5.91,21708,5.91,21709,5.91]],["title/classes/ToolReference.html",[0,0.232,6208,5.245]],["body/classes/ToolReference.html",[0,0.289,2,0.943,3,0.019,4,0.019,5,0.01,7,0.123,27,0.549,29,0.675,30,0.001,31,0.486,32,0.173,33,0.575,47,0.936,95,0.102,101,0.013,103,0.001,104,0.001,112,0.833,119,2.249,347,4.324,379,1.078,564,4.232,1929,4.189,1986,4.946,3474,7.48,5451,8.566,5949,7.92,5953,6.152,5973,5.465,5992,6.812,6008,5.617,6208,10.184,6226,9.702,6227,7.901,6228,7.901,6229,7.48,6230,10.054,6231,7.901,21710,13.545,21711,10.887,21712,10.887,21713,8.54,21714,8.54,21715,8.54,21716,8.54,21717,7.901,21718,7.901,21719,8.54]],["title/controllers/ToolReferenceController.html",[259,2.624,21380,6.012]],["body/controllers/ToolReferenceController.html",[0,0.212,3,0.014,4,0.014,5,0.007,7,0.09,8,1.073,27,0.364,29,0.7,30,0.001,31,0.504,32,0.158,33,0.424,35,1.075,36,2.385,95,0.149,100,2.133,101,0.01,103,0,104,0,131,3.89,138,1.583,150,1.41,153,2.792,177,1.169,223,2.612,226,0.917,236,1.022,239,2.996,259,2.399,261,3.005,262,2.69,270,6.141,271,4.522,274,6.715,294,6.299,316,6.018,330,7.675,333,4.364,335,6.183,337,3.267,338,3.339,343,3.365,345,2,346,5.281,349,0.915,437,1.548,564,3.911,608,2.051,631,3.199,1739,5.128,1778,2.464,2548,3.954,2627,5.531,2668,7.697,2764,2.971,2963,3.29,3779,5.227,4042,6.789,5231,6.326,5949,5.995,6013,9.342,6057,8.508,6201,5.264,6208,8.508,6210,9.863,6213,5.805,6223,5.805,9281,9.014,14789,7.479,14790,7.479,17902,7.646,21375,8.602,21380,7.751,21383,8.3,21399,5.805,21406,8.187,21418,4.926,21424,5.495,21425,5.495,21431,5.264,21511,8.187,21512,8.742,21720,6.274,21721,6.274,21722,8.979,21723,9.485,21724,6.274,21725,6.274,21726,6.274,21727,6.274,21728,6.274,21729,6.274,21730,6.274,21731,6.274,21732,6.274,21733,9.752,21734,6.274,21735,6.274,21736,6.274,21737,6.274,21738,6.274,21739,6.274,21740,6.274,21741,6.274]],["title/classes/ToolReferenceListResponse.html",[0,0.232,21733,6.012]],["body/classes/ToolReferenceListResponse.html",[0,0.319,2,1.042,3,0.021,4,0.021,5,0.011,7,0.135,27,0.477,29,0.746,30,0.001,31,0.537,32,0.162,33,0.452,95,0.138,101,0.015,103,0.001,104,0.001,112,0.887,138,1.688,150,2.119,245,2.971,284,4.054,379,1.19,556,2.319,564,3.917,814,6.616,817,6.646,819,4.745,834,5.138,1739,5.775,2548,3.176,5949,7.332,5988,9.095,6210,11.205,19157,10.981,21733,10.146,21742,9.431]],["title/classes/ToolReferenceMapper.html",[0,0.232,21743,6.012]],["body/classes/ToolReferenceMapper.html",[0,0.303,2,0.989,3,0.02,4,0.02,5,0.01,7,0.128,8,1.36,27,0.369,29,0.708,30,0.001,31,0.51,32,0.116,33,0.429,35,1.088,95,0.146,101,0.014,103,0.001,104,0.001,236,1.459,347,4.633,349,0.926,413,3.7,437,1.181,564,3.827,1778,3.517,1899,7.076,1901,4.447,1929,4.392,2627,6.7,5451,9.178,5949,6.559,5953,4.597,5992,5.09,6208,10.308,6216,7.03,6218,7.842,6226,7.249,6230,7.512,9132,7.249,9418,6.842,9781,8.284,21433,10.377,21743,9.824,21744,8.954,21745,12.249,21746,8.954,21747,8.954]],["title/classes/ToolReferenceResponse.html",[0,0.232,6210,5.557]],["body/classes/ToolReferenceResponse.html",[0,0.231,2,0.754,3,0.015,4,0.015,5,0.008,7,0.098,27,0.515,29,0.539,30,0.001,31,0.61,32,0.162,33,0.514,34,1.568,47,0.878,95,0.112,101,0.011,103,0,104,0,112,0.718,119,1.938,131,3.559,138,2.166,142,5.223,143,2.894,144,4.072,145,3.825,149,3.613,150,1.533,153,3.071,236,1.528,245,3.104,347,4.368,379,0.861,564,4.003,574,6.996,839,2.119,1262,3.272,1986,3.951,2079,3.016,2548,4.46,2921,4.029,2922,4.492,3810,5.356,5949,7.493,5953,5.504,5973,4.365,5992,6.094,6008,4.487,6017,9.389,6210,10.126,6226,8.679,6230,8.994,7308,7.594,7567,6.17,10174,6.705,12612,7.594,19156,10.75,19157,11.222,21717,6.311,21718,6.311,21748,6.822,21749,9.38,21750,9.38,21751,6.822,21752,6.822,21753,6.822,21754,9.38,21755,6.822,21756,8.678,21757,6.822,21758,6.822,21759,6.822,21760,6.822,21761,6.822,21762,6.822]],["title/injectables/ToolReferenceService.html",[539,0.921,6071,5.759]],["body/injectables/ToolReferenceService.html",[0,0.241,3,0.016,4,0.016,5,0.008,7,0.102,8,1.171,26,2.393,27,0.398,29,0.764,30,0.001,31,0.55,32,0.125,33,0.463,35,0.865,36,2.069,95,0.162,99,1.155,101,0.011,103,0.001,104,0.001,131,2.702,177,2.289,226,1.04,262,2.42,347,3.485,349,0.736,379,1.219,437,1.62,539,1.296,541,1.711,564,4.119,603,2.528,608,2.54,631,3.63,654,2.901,1778,2.797,1837,6.587,1898,6.303,1899,6.352,1901,4.797,1929,3.493,2627,6.293,3294,5.442,5435,10.174,5451,6.904,5949,6.41,6069,8.405,6071,8.104,6208,8.981,6217,4.995,6229,6.236,6308,8.65,6324,5.957,6327,5.194,6336,5.59,6349,7.814,6354,5.59,6355,5.764,9105,5.59,9106,9.664,9133,6.587,9134,6.587,9135,6.587,9147,5.194,21677,6.587,21722,8.459,21743,6.236,21763,10.961,21764,7.12,21765,9.659,21766,7.12,21767,7.12]],["title/injectables/ToolReferenceUc.html",[539,0.921,21375,5.759]],["body/injectables/ToolReferenceUc.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,8,0.993,26,2.81,27,0.464,29,0.89,30,0.001,31,0.641,32,0.152,33,0.54,34,0.941,35,1.288,36,2.824,39,3.314,47,0.575,95,0.144,99,0.914,101,0.009,103,0,104,0,131,3.108,177,1.798,226,0.823,236,0.917,262,2.938,349,1.164,379,1.034,437,1.697,539,1.099,541,1.353,560,2.314,564,3.671,579,3.02,593,3.948,603,2.606,608,2.81,643,3.675,1218,2.129,1242,3.044,1670,4.462,1675,3.434,1778,2.212,1899,7.214,1928,6.696,1929,2.762,2318,3.261,2531,2.608,3044,3.173,3294,5.971,4858,6.392,5949,6.87,5952,6.97,6016,6.696,6069,7.62,6071,10.173,6208,10.25,6216,6.43,6290,4.2,6307,9.043,6323,4.421,6336,4.421,6341,4.303,6348,5.21,21375,6.872,21493,5.21,21685,5.21,21722,7.173,21723,8.93,21768,11.749,21769,5.632,21770,8.19,21771,9.652,21772,5.632,21773,8.19,21774,5.632,21775,8.19,21776,5.632,21777,5.632,21778,5.632,21779,5.632,21780,5.632,21781,5.632,21782,5.632,21783,5.632,21784,5.632,21785,8.19,21786,5.632,21787,8.19,21788,8.19,21789,5.632]],["title/controllers/ToolSchoolController.html",[259,2.624,21378,6.012]],["body/controllers/ToolSchoolController.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.063,8,0.824,10,1.782,27,0.417,29,0.8,30,0.001,31,0.576,32,0.166,33,0.485,34,1.927,35,1.437,36,2.589,95,0.146,100,1.493,101,0.007,103,0,104,0,138,1.81,141,4.38,150,0.987,153,2.557,177,1.743,223,1.828,226,0.642,239,1.948,259,1.679,261,2.103,262,2.854,270,6.396,271,4.391,273,5.192,274,5.642,280,3.027,282,4.24,283,6.24,284,2.826,285,6.153,292,4.209,294,6.561,301,4.536,305,5.418,310,2.947,319,2.879,324,5.992,330,6.448,333,3.982,335,6.452,336,4.24,337,2.286,338,2.337,340,2.128,343,2.355,346,6.037,347,1.585,348,3.419,349,0.967,379,0.554,437,1.594,564,3.776,603,1.925,608,2.345,631,2.239,654,2.041,824,3.318,1284,2.496,1341,1.408,1778,1.725,1898,6.993,2205,4.857,2312,1.82,2313,3.097,2368,5.251,2548,2.288,2764,2.079,2961,3.139,2962,3.828,2963,2.303,3779,6.319,3865,3.203,4081,2.774,4266,1.483,4544,5.418,6089,3.356,6126,3.139,6192,3.356,6315,4.348,7502,6.677,9065,6.687,9804,5.701,14772,4.063,14787,5.501,14789,4.957,14790,7.804,17902,7.979,18973,4.063,19098,9.49,19107,9.36,19145,5.701,19150,9.771,19151,3.846,19155,8.661,19161,5.701,19170,5.701,19184,8.193,19218,6.973,19220,7.689,19221,7.689,19222,7.689,19223,7.689,21378,5.951,21383,8.661,21418,3.448,21428,8.655,21460,3.846,21462,5.951,21481,5.951,21482,5.701,21489,3.846,21517,4.063,21538,4.063,21575,6.286,21790,4.391,21791,8.311,21792,4.391,21793,4.391,21794,4.391,21795,4.391,21796,4.391,21797,4.391,21798,4.391,21799,4.391,21800,4.391,21801,4.391,21802,4.391,21803,8.311,21804,4.391,21805,4.391,21806,4.391,21807,4.391,21808,4.391,21809,4.391,21810,4.391,21811,4.391,21812,4.391,21813,4.391,21814,4.391,21815,4.391,21816,4.391,21817,4.391,21818,4.391,21819,6.795,21820,4.391,21821,4.391,21822,6.795,21823,4.391,21824,4.391,21825,4.391,21826,4.391,21827,4.391]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.232,21663,6.012]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.288,2,0.941,3,0.019,4,0.019,5,0.01,7,0.122,8,1.318,26,2.756,27,0.448,29,0.674,30,0.001,31,0.485,32,0.141,33,0.409,35,1.035,39,3.272,95,0.143,99,1.383,101,0.013,103,0.001,104,0.001,177,2.026,180,1.895,182,2.709,191,4.643,226,1.245,239,1.997,284,2.574,345,2.717,347,4.55,349,0.881,379,1.076,603,1.754,1025,3.374,1147,3.302,1338,5.544,1339,6.189,1341,2.733,1343,6.264,1650,6.745,2548,2.87,2680,6.933,8829,6.233,8830,6.47,9276,5.384,9278,6.092,9283,4.984,9284,5.197,9314,6.926,9469,6.217,11321,6.9,19397,6.9,21572,7.464,21573,7.464,21663,9.522,21828,11.972,21829,11.972,21830,8.522]],["title/classes/ToolStatusResponseMapper.html",[0,0.232,6214,5.759]],["body/classes/ToolStatusResponseMapper.html",[0,0.322,2,1.052,3,0.021,4,0.021,5,0.011,7,0.137,8,1.413,27,0.392,29,0.753,30,0.001,31,0.542,32,0.123,33,0.456,35,1.157,95,0.139,101,0.018,103,0.001,104,0.001,131,3.612,347,4.543,349,0.984,413,3.803,437,1.255,564,2.974,782,5.681,783,6.507,839,2.957,988,4.148,3814,10.204,5451,9.377,5459,7.987,5460,8.807,6089,7.274,6214,9.775,19156,10.563,19179,8.807,21831,11.651,21832,9.52,21833,9.52,21834,9.52,21835,9.52,21836,9.52,21837,9.52]],["title/interfaces/ToolVersion.html",[105,0.702,5453,4.054]],["body/interfaces/ToolVersion.html",[3,0.023,4,0.023,5,0.012,7,0.152,8,1.505,27,0.436,30,0.001,35,1.286,55,2.533,101,0.016,103,0.001,104,0.001,105,1.083,107,2.486,5453,7.333,5955,10.384,21838,12.415,21839,10.585,21840,10.585]],["title/classes/UnauthorizedLoggableException.html",[0,0.232,1614,5.759]],["body/classes/UnauthorizedLoggableException.html",[0,0.301,2,0.983,3,0.02,4,0.02,5,0.01,7,0.128,8,1.354,27,0.46,29,0.703,30,0.001,31,0.506,32,0.145,33,0.427,35,1.081,47,0.946,48,6.134,51,5.99,59,2.74,95,0.145,101,0.014,103,0.001,104,0.001,177,2.081,180,1.947,182,2.828,183,7.201,193,6.489,226,1.3,284,2.687,345,2.836,349,0.92,379,1.123,437,1.173,603,1.83,1025,4.422,1147,3.393,1338,5.655,1343,6.362,1614,9.372,1877,8.151,8829,6.668,9276,5.62,9278,6.358,9283,5.201,9284,5.424,11324,7.463,11325,7.463,19397,7.201,21841,12.212,21842,8.895,21843,8.229]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.232,21844,6.35]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.374,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.342,27,0.456,29,0.693,30,0.001,31,0.499,32,0.174,33,0.42,35,1.064,47,0.851,95,0.132,101,0.014,103,0.001,104,0.001,177,1.632,180,1.929,182,2.785,226,1.28,284,2.646,310,5.524,345,2.793,349,0.906,379,1.106,1025,3.469,1147,3.36,1218,3.312,1226,5.842,1338,6.212,1339,6.269,1341,2.81,1343,6.327,3083,6.262,7082,5.468,8829,6.313,8830,6.554,9276,5.535,9283,5.123,9284,5.342,9292,7.093,9293,7.093,13053,7.35,21844,10.236,21845,12.127,21846,8.761,21847,12.127,21848,8.761,21849,8.761]],["title/classes/UpdateElementContentBodyParams.html",[0,0.232,8713,4.582]],["body/classes/UpdateElementContentBodyParams.html",[0,0.455,2,0.632,3,0.013,4,0.013,5,0.006,7,0.082,9,2.723,27,0.235,30,0.001,31,0.645,32,0.177,47,0.876,83,1.663,95,0.135,99,0.928,101,0.021,103,0,104,0,112,0.634,138,1.023,143,1.268,148,1.771,149,3.751,150,1.285,153,2.232,172,1.787,180,1.975,245,3.573,248,4.862,249,4.621,284,2.941,305,3.312,480,3.152,556,2.036,807,5.3,808,3.279,839,1.776,852,2.663,1142,3.569,1262,1.995,1271,1.782,1643,3.344,1942,4.071,2255,4.331,2501,2.755,2882,2.723,2883,2.541,2922,2.739,3278,3.413,3280,3.413,3283,3.378,3286,5.069,3289,2.956,3294,3.222,3767,3.569,3788,3.569,3789,6.908,4163,5.681,5681,6.231,5683,6.315,5685,6.231,5687,6.315,5689,6.315,5734,3.761,5771,6.499,5772,6.499,5773,6.499,5774,6.499,5775,6.499,6088,6.864,7227,3.817,7287,3.378,8699,8.259,8700,5.708,8701,3.942,8704,5.447,8705,7.125,8706,7.125,8707,3.942,8708,7.125,8709,3.527,8710,3.877,8711,7.125,8712,7.125,8713,5.528,8714,5.528,8715,3.817,8716,5.528,8717,3.942,8718,3.942,8719,3.942,8720,3.942,8721,3.942,9158,5.009,21850,5.719,21851,5.719]],["title/classes/UpdateFlagParams.html",[0,0.232,13597,6.012]],["body/classes/UpdateFlagParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,95,0.158,101,0.015,103,0.001,104,0.001,112,0.912,119,2.464,138,1.77,147,6.444,148,3.063,150,2.222,153,2.267,239,2.318,245,3.058,301,7.959,821,4.58,4565,5.378,11284,8.98,11316,8.892,13597,10.443,21852,11.031,21853,9.89,21854,9.89,21855,9.89]],["title/classes/UpdateMatchParams.html",[0,0.232,13589,6.012]],["body/classes/UpdateMatchParams.html",[0,0.401,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.403,30,0.001,32,0.127,39,3.484,47,0.832,95,0.158,101,0.015,103,0.001,104,0.001,112,0.907,138,1.753,148,3.034,150,2.201,153,2.245,239,2.987,245,3.04,301,7.913,808,4.693,821,4.536,1512,7.398,1739,5.46,4565,5.347,13589,10.382,21852,10.967,21856,9.795,21857,9.795,21858,9.795]],["title/classes/UpdateNewsParams.html",[0,0.232,15964,5.759]],["body/classes/UpdateNewsParams.html",[0,0.417,2,0.886,3,0.018,4,0.018,5,0.009,7,0.115,27,0.479,30,0.001,32,0.151,33,0.501,47,0.865,83,3.04,95,0.147,99,1.301,100,3.553,101,0.012,103,0.001,104,0.001,112,0.943,138,2.081,148,2.484,149,4.747,150,1.802,153,2.824,154,2.652,247,3.445,248,4.642,249,4.821,472,5.442,759,7.987,807,6.689,1271,3.982,1643,6.112,2255,4.886,2341,6.447,2830,6.238,3286,4.175,6402,7.205,7102,7.763,7106,7.765,7281,7.023,7287,6.174,7288,8.77,7289,7.987,7299,7.087,7300,7.418,15964,8.77,21859,12.324,21860,10.453,21861,10.453,21862,9.155,21863,8.018,21864,8.018,21865,8.018,21866,8.018,21867,8.018,21868,8.018]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.232,3762,6.012]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.399,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,32,0.126,95,0.14,101,0.015,103,0.001,104,0.001,112,0.902,119,2.728,138,1.736,142,4.593,143,2.614,147,6.37,148,3.005,150,2.18,153,2.223,245,3.023,2883,5.866,3291,8.25,3762,10.322,7303,9.253,7305,8.975,7306,8.497,7307,10.322,7308,9.541,7309,8.975,21869,11.786]],["title/entities/User.html",[154,1.389,239,1.609]],["body/entities/User.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.182,27,0.545,30,0.001,32,0.17,33,0.659,34,0.738,47,0.971,83,3.446,95,0.121,96,1.18,101,0.013,103,0,104,0,105,0.698,112,0.855,119,1.723,138,2.37,143,3.014,144,4.125,154,1.898,155,1.442,160,7.077,168,2.533,170,3.374,172,4.164,173,1.284,174,2.608,175,1.971,178,1.755,180,0.77,181,1.195,182,1.404,236,1.528,239,1.599,276,4.068,349,0.457,437,1.1,480,1.228,486,1.33,529,1.26,644,4.722,651,4.886,652,4.886,653,5.207,654,3.358,655,5.137,662,1.372,827,2.557,839,1.372,988,3.634,1108,5.598,1147,1.341,1717,2.114,1723,4.224,1724,3.867,2670,4.647,2673,3.747,2677,3.747,3122,1.906,3140,5.81,4119,2.608,4260,6.361,4266,2.305,4271,6.408,4323,6.997,4354,3.466,4355,3.293,5094,3.16,5888,3.374,6746,3.867,6760,4.161,6770,2.723,6792,2.755,6793,2.663,7119,2.635,7120,2.723,7549,5.089,10079,2.947,10080,3.221,10081,2.947,10082,3.221,10083,3.221,10084,3.574,10414,7.169,10475,3.574,10479,3.704,12634,6.751,12635,6.751,12636,6.751,12872,5.725,12989,3.704,12990,3.574,12991,3.704,12992,3.574,12994,3.704,12998,5.725,12999,3.574,13012,6.466,13038,3.466,13039,3.293,13383,3.466,13411,5.524,13412,4.085,13413,7.366,13414,7.169,13415,6.997,13416,7.366,13417,6.313,13418,6.313,13419,6.313,13420,6.997,13421,3.704,13422,4.085,13423,4.085,13424,3.704,13425,4.085,13426,3.704,13427,4.085,13428,3.704,13429,4.085,13430,4.085,13431,6.313,21870,4.415,21871,4.415,21872,4.415,21873,4.415,21874,4.415,21875,4.415,21876,4.415,21877,4.415,21878,4.415,21879,4.415,21880,4.415,21881,4.415,21882,4.415,21883,4.415,21884,4.415,21885,4.415,21886,4.415,21887,4.415,21888,4.415]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.232,21889,6.35]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.27,2,0.881,3,0.018,4,0.018,5,0.009,7,0.114,8,1.263,27,0.549,30,0.001,32,0.177,33,0.499,35,0.968,47,0.814,55,1.626,95,0.146,101,0.012,103,0.001,104,0.001,112,0.797,138,2.283,177,2.57,180,1.815,182,2.534,239,2.44,347,2.876,379,1.464,382,3.909,590,7.152,821,5.694,824,2.828,951,5.429,988,3.473,990,4.207,1025,4.591,1128,5.17,1269,8.43,1270,6.653,1271,3.83,1272,7.421,1276,5.17,1277,4.452,1278,5.17,1279,5.17,1280,5.17,1281,5.17,1282,5.17,1283,4.807,1285,6.258,1290,5.036,1739,3.671,3452,5.494,3522,8.736,4042,4.861,10144,5.101,14667,6.981,21889,9.633,21890,10.413,21891,10.413,21892,7.971,21893,7.971,21894,10.413]],["title/interfaces/UserAndAccountParams.html",[105,0.702,656,5.759]],["body/interfaces/UserAndAccountParams.html",[0,0.235,3,0.015,4,0.015,5,0.008,26,1.932,30,0.001,47,0.855,48,4.545,49,3.601,51,4.655,94,6.843,95,0.145,99,1.126,101,0.015,103,0.001,104,0.001,105,1.107,107,1.63,180,1.654,239,3.181,271,4.777,349,1.259,413,3.678,437,1.752,445,5.617,524,3.944,603,1.953,640,9.756,641,6.076,642,6.076,643,5.218,644,4.418,645,5.061,646,4.959,647,6.076,648,8.312,649,5.301,650,10.178,651,4.571,652,4.571,653,4.872,654,2.85,655,4.806,656,10.799,657,5.821,658,6.076,659,8.311,660,6.076,661,6.076,662,3.36,663,6.076,664,9.074,665,8.311,666,8.311,667,5.821,668,9.473,669,9.473,670,6.076,671,8.311,672,8.311,673,5.821,674,6.076,675,8.311,676,6.783,677,5.821]],["title/classes/UserAndAccountTestFactory.html",[0,0.232,657,5.759]],["body/classes/UserAndAccountTestFactory.html",[0,0.191,2,0.625,3,0.012,4,0.012,5,0.006,7,0.081,8,0.996,26,1.673,27,0.464,29,0.892,30,0.001,31,0.642,32,0.161,33,0.541,35,1.37,47,0.792,48,3.934,49,3.117,51,4.03,94,6.668,95,0.134,99,0.918,101,0.013,103,0,104,0,105,0.99,120,4.1,180,0.986,239,3.146,271,4.942,349,1.166,413,4.083,437,1.672,445,4.578,480,2.954,486,3.198,524,3.215,603,2.421,640,8.117,641,10.305,642,4.953,643,5.78,644,3.825,645,4.125,646,4.042,647,4.953,648,7.59,649,4.321,650,9.526,651,3.958,652,3.958,653,4.217,654,2.468,655,4.161,656,11.413,657,6.892,658,7.195,659,7.195,660,7.195,661,4.953,662,3.005,663,8.474,664,10.638,665,7.195,666,7.195,667,4.745,668,8.474,669,8.474,670,8.474,671,7.195,672,7.195,673,4.745,674,8.474,675,7.195,676,5.872,677,4.745,21895,8.215,21896,8.215,21897,5.655,21898,5.655,21899,5.655,21900,5.655,21901,5.655,21902,5.655,21903,5.655,21904,5.655]],["title/modules/UserApiModule.html",[201,1.848,19506,5.557]],["body/modules/UserApiModule.html",[0,0.319,3,0.021,4,0.021,5,0.011,30,0.001,95,0.156,101,0.015,103,0.001,104,0.001,201,3.376,203,3.427,204,3.675,205,3.779,206,3.764,207,3.749,208,4.637,209,3.579,218,4.642,219,3.704,220,3.619,222,5.886,223,4.822,225,4.605,226,1.378,259,3.606,2764,4.465,3593,8.331,13614,11.061,19506,11.315,21905,9.431,21906,9.431,21907,9.431,21908,9.431,21909,10.981,21910,9.431]],["title/interfaces/UserBoardRoles.html",[105,0.702,3139,5.245]],["body/interfaces/UserBoardRoles.html",[0,0.268,3,0.017,4,0.017,5,0.009,7,0.113,26,2.591,30,0.001,32,0.165,33,0.588,34,1.322,39,3.35,47,0.917,95,0.123,101,0.02,102,4.006,103,0.001,104,0.001,105,1.06,107,1.858,112,0.793,133,2.741,180,1.806,302,6.21,349,1.071,517,2.99,556,2.547,643,3.549,651,5.905,652,5.905,839,3.218,1661,5.837,1665,4.312,1729,4.997,1747,4.72,1816,5.451,2501,3.81,2521,7.557,2522,9.983,2532,5.77,2841,6.21,3121,6.927,3122,4.471,3129,9.924,3130,6.248,3131,9.073,3132,6.403,3133,6.927,3134,3.643,3135,7.393,3136,5.889,3137,6.927,3138,6.927,3139,9.367,3140,6.168,3141,6.636,3142,6.403,3143,9.073,3144,6.927]],["title/controllers/UserController.html",[259,2.624,21909,6.012]],["body/controllers/UserController.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.113,8,1.255,27,0.426,29,0.818,30,0.001,31,0.589,32,0.134,33,0.496,35,1.257,36,2.624,95,0.155,100,2.684,101,0.012,103,0.001,104,0.001,138,1.851,150,1.774,177,1.471,223,3.286,226,1.153,236,1.286,239,2.705,259,3.018,261,3.781,262,2.881,270,6.523,271,4.284,294,6.691,324,5.24,334,5.12,337,4.11,338,4.201,343,4.233,345,2.517,349,1.07,437,1.615,608,2.398,631,4.025,739,3.407,1723,5.24,2426,5.441,2764,3.737,2773,5.192,2963,4.139,3140,3.972,4258,10.277,13614,9.344,18378,6.914,18382,6.623,20251,10.109,21909,9.062,21911,7.894,21912,11.542,21913,7.894,21914,10.347,21915,7.894,21916,7.894,21917,10.347,21918,7.894,21919,7.894,21920,6.914,21921,7.894,21922,7.894,21923,9.572,21924,7.894,21925,7.894,21926,7.894,21927,7.894]],["title/classes/UserDO.html",[0,0.232,7322,3.653]],["body/classes/UserDO.html",[0,0.202,2,0.66,3,0.013,4,0.013,5,0.007,7,0.086,26,2.031,27,0.576,29,0.472,30,0.001,31,0.34,32,0.181,33,0.686,34,1.428,47,0.983,83,3.67,95,0.13,101,0.009,103,0,104,0,112,0.654,119,1.765,180,1.489,276,2.589,376,4.153,377,4.326,379,0.753,382,1.784,406,3.682,408,3.682,651,4.806,652,4.806,653,5.121,655,5.052,988,3.722,1108,5.953,1665,2.485,1718,3.601,1739,2.75,1746,6.367,2501,2.876,3140,5.019,4260,6.763,4266,3.37,4271,6.303,4343,3.491,4355,4.453,4471,5.524,5888,4.562,5963,4.355,7119,3.563,7322,6.132,7328,6.763,7398,4.687,7429,4.562,7432,6.707,7433,4.687,7441,5.229,8324,5.229,8325,5.229,10079,3.985,10081,3.985,10083,4.355,12634,8.076,12635,8.076,12636,8.076,13012,6.876,13039,4.453,13413,7.832,13414,7.623,13415,7.44,13416,7.832,13420,8.369,13421,5.009,13424,5.009,13426,5.009,13428,5.009,21928,5.971,21929,8.543,21930,5.971,21931,5.971,21932,5.971,21933,5.971,21934,5.971,21935,5.971,21936,5.971,21937,5.971,21938,5.971,21939,5.971,21940,5.971,21941,5.971,21942,5.971,21943,5.971,21944,5.971,21945,5.971,21946,5.971,21947,5.971,21948,5.971,21949,5.971,21950,5.971,21951,5.971,21952,5.971,21953,5.971,21954,5.971,21955,5.971,21956,5.971,21957,5.971,21958,5.971,21959,5.971,21960,5.971,21961,5.971,21962,5.971,21963,5.971,21964,5.971,21965,5.971,21966,5.971]],["title/injectables/UserDORepo.html",[539,0.921,21967,5.759]],["body/injectables/UserDORepo.html",[0,0.117,3,0.008,4,0.008,5,0.004,7,0.05,8,0.683,10,2.886,12,2.528,18,2.816,26,2.293,27,0.526,29,1.001,30,0.001,31,0.727,32,0.164,33,0.607,34,1.614,35,1.539,36,2.598,40,2.713,47,0.825,48,5.076,55,0.707,56,1.67,58,2.248,59,1.068,95,0.134,96,0.927,99,0.562,101,0.005,103,0,104,0,112,0.265,119,1.164,133,1.952,145,1.579,154,1.657,155,1.132,173,1.008,180,0.982,226,0.507,227,1.437,236,1.572,239,2.842,262,2.925,276,3.907,291,2.529,310,1.503,340,1.68,349,1.164,376,1.443,377,1.503,381,1.175,382,3.57,437,1.599,448,2.285,480,0.964,486,1.044,490,2.532,519,1.068,529,0.99,539,0.756,541,0.833,556,1.385,593,2.65,603,2.495,608,2.237,644,1.614,651,2.713,652,2.713,653,2.892,654,1.041,655,4.563,680,3.819,686,2.581,687,4.447,696,1.346,718,1.859,721,2.164,741,2.35,742,1.904,743,2.35,816,3.069,822,3.97,1108,3.361,1218,1.311,1665,2.961,2000,1.989,2093,3.173,2299,8.564,2301,4.026,2302,4.026,2303,4.026,2304,4.026,2305,3.951,2306,3.951,2307,4.026,2308,3.951,2309,4.026,2316,2.478,2318,4.744,2319,2.478,2321,2.478,2323,2.248,2324,3.951,2325,2.478,2327,2.478,2329,4.026,2333,4.026,2335,3.819,2336,3.951,2338,2.478,2340,2.091,2341,2.138,2342,2.478,2344,2.478,2346,3.951,2347,2.478,2350,3.327,2364,2.39,2365,2.586,2374,2.807,3140,4.122,3334,3.207,3417,2.35,4266,1.171,4271,3.559,4446,2.164,4456,3.036,4460,2.722,4461,2.722,4509,2.807,4661,2.478,4741,6.014,4743,2.975,5558,2.899,6105,4.726,6114,2.529,6115,2.529,6116,2.529,6117,2.529,6118,2.529,6119,2.529,6120,2.529,6121,2.529,6122,2.529,6134,2.39,6861,2.091,6926,2.909,7150,4.995,7160,7.586,7179,2.529,7180,2.529,7322,6.612,7328,5.554,7329,2.807,7331,2.807,7334,3.036,9006,3.094,9122,3.207,9501,4.304,9525,2.909,9529,3.036,9531,3.036,9545,3.207,9559,4.933,9688,6.431,9921,3.207,9923,3.207,9924,3.207,9925,5.211,9926,3.207,10926,3.202,11710,2.909,12634,2.807,12635,2.807,12636,2.807,13012,3.882,13411,7.815,13413,4.422,13414,4.304,13415,4.201,13416,4.422,13420,2.909,14628,2.478,14664,4.726,14862,4.933,14866,4.933,14884,3.207,14891,3.207,14895,3.207,15606,3.207,17347,3.207,19139,2.807,19141,3.036,19142,3.036,21166,4.933,21168,4.933,21967,4.726,21968,10.172,21969,5.633,21970,5.211,21971,5.633,21972,3.467,21973,3.467,21974,7.578,21975,3.467,21976,3.467,21977,5.211,21978,3.467,21979,3.467,21980,3.467,21981,3.467,21982,3.467,21983,3.467,21984,3.207,21985,4.933,21986,3.467,21987,3.467,21988,3.467,21989,3.467,21990,3.467,21991,3.467,21992,3.207,21993,3.467,21994,3.467,21995,3.467,21996,3.207,21997,6.582,21998,3.467,21999,3.207,22000,3.467,22001,5.633,22002,3.467,22003,3.467,22004,3.467,22005,3.207,22006,3.467,22007,3.207,22008,3.207,22009,3.207,22010,3.207,22011,3.467,22012,3.467,22013,3.467,22014,3.467,22015,3.207,22016,3.207,22017,3.207,22018,3.207,22019,3.207,22020,3.467,22021,3.467,22022,3.467,22023,3.467,22024,3.467,22025,3.467,22026,3.467,22027,3.467,22028,3.467,22029,3.467,22030,3.467,22031,3.467,22032,3.467,22033,3.467]],["title/interfaces/UserData.html",[105,0.702,10208,5.389]],["body/interfaces/UserData.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.806,30,0.001,31,0.358,32,0.133,34,1.052,36,2.518,47,0.941,51,5.276,55,0.813,72,1.796,95,0.147,99,0.646,101,0.006,103,0,104,0,105,0.989,107,0.935,112,0.482,119,0.823,177,1.914,203,1.447,226,0.582,236,1.673,239,0.933,262,2.596,284,3.368,349,1.24,358,1.778,379,0.503,437,1.795,475,2.017,528,2.045,529,2.532,539,0.845,560,2.587,564,2.771,593,2.345,603,2.607,608,3.119,696,2.444,933,5.35,975,4.325,1122,2.549,1779,2.429,1898,4.757,1899,4.586,1901,3.877,1911,5.292,1920,3.033,1926,4.307,1928,2.516,1933,4.5,1940,2.97,1941,2.97,2159,8.444,2232,2.244,2395,2.352,2424,2.352,2627,6.411,3602,4.083,3603,2.004,4266,1.345,4417,4.995,4539,2.7,4540,2.794,4541,2.377,4660,4.287,4661,2.847,4822,4.61,4833,4.954,5310,2.659,5575,2.794,5952,5.134,5991,4.416,6055,2.7,6069,5.063,6127,4.5,6217,2.794,6290,5.822,6308,5.211,6324,4.814,6327,2.905,6341,4.81,6349,4.814,6722,3.718,6725,4.932,6726,2.794,6829,2.905,6878,3.127,7322,5.141,7328,4.268,7521,3.929,9065,2.847,9125,3.043,9147,2.905,9314,4.872,9339,6.341,9457,2.847,9460,7.063,9466,5.211,9495,3.043,10168,3.043,10169,3.224,10170,3.224,10171,3.224,10172,3.224,10173,3.224,10174,2.847,10175,3.224,10188,5.38,10190,3.224,10193,3.224,10195,3.224,10197,3.224,10198,7.181,10200,3.224,10202,3.224,10204,3.224,10206,3.224,10208,8.755,10209,3.224,10211,3.224,10213,3.224,10215,3.043,10216,3.224,10217,4.942,10218,6.964,10219,4.942,10220,5.097,10221,5.097,10222,7.821,10223,5.097,10224,3.224,10225,5.097,10226,3.224,10227,3.224,10228,5.097,10229,3.224,10230,3.224,10231,5.097,10232,3.224,10233,3.224,10234,3.224,10235,3.224,10236,3.224,10237,3.224,10238,3.224,10239,3.224,10240,3.224,10241,3.224,10242,6.32,10243,3.224,10244,3.224,10245,3.224,10246,3.224,10247,3.224,10248,3.224,10249,3.224,10250,3.224,10251,3.224,10252,3.224,10253,3.224,10254,5.097,10255,3.224,10256,3.127,10257,3.224,10258,4.202,10259,2.659,10260,3.127,10261,3.127,10262,3.224,10263,5.097,10264,3.224,10265,5.097,10266,3.224,10267,3.127,10268,3.224,10269,3.224,10270,3.224,10271,3.224,10272,3.224,10273,3.224,10274,3.224,10275,3.127,10276,3.127]],["title/classes/UserDataResponse.html",[0,0.232,20083,5.759]],["body/classes/UserDataResponse.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,27,0.531,29,0.716,30,0.001,31,0.515,32,0.167,33,0.434,39,3.625,47,0.95,95,0.108,101,0.014,103,0.001,104,0.001,112,0.864,138,2.203,150,2.034,191,4.932,245,3.519,379,1.425,651,6.39,652,6.39,774,4.616,10079,6.043,10081,6.043,20083,11.129,22034,13.265,22035,9.054,22036,9.054,22037,9.054,22038,9.054,22039,9.054]],["title/classes/UserDoFactory.html",[0,0.232,22040,6.35]],["body/classes/UserDoFactory.html",[0,0.167,2,0.546,3,0.011,4,0.011,5,0.006,7,0.071,8,0.901,26,1.514,27,0.54,29,1.045,30,0.001,31,0.73,32,0.176,33,0.607,34,1.494,35,1.515,47,0.522,49,1.875,55,2.372,59,3.284,95,0.127,99,0.802,101,0.008,103,0,104,0,112,0.569,120,4.214,133,2.577,140,2.713,153,2.048,154,1.808,155,2.427,177,1.385,180,1.296,236,0.805,239,1.158,271,4.701,319,3.15,349,0.769,379,0.624,382,3.876,413,2.245,437,0.98,447,7.013,448,4.546,449,5.507,452,4.117,453,5.507,454,5.539,455,4.117,456,4.117,457,4.117,458,4.05,459,4.527,460,4.95,461,6.465,462,5.809,463,6.973,464,2.759,469,2.736,470,4.117,471,2.759,472,5.177,473,5.332,474,4.233,475,5.036,476,4.083,477,2.736,478,2.591,479,4.129,480,3.328,481,2.67,482,2.629,483,2.736,484,5.105,485,2.759,486,3.603,487,4.869,488,2.736,489,7.106,490,4.258,491,6.625,492,2.759,493,3.647,494,2.736,495,2.759,496,2.736,497,2.759,498,2.736,501,2.736,502,6.104,503,2.759,504,2.736,505,4.117,506,3.87,507,4.117,508,2.759,509,2.65,510,2.629,511,2.195,512,2.736,513,2.736,514,2.736,515,2.759,516,2.759,517,1.868,518,2.736,519,1.522,520,2.759,521,2.943,522,2.736,523,2.759,524,2.809,525,2.834,527,2.918,651,2.38,652,2.38,653,2.536,1665,2.057,3140,4.497,4266,1.669,4374,6.27,4376,3.532,4660,4.083,7322,2.629,7329,4,7994,4.327,13656,4.327,22040,8.269,22041,4.941,22042,7.434,22043,7.434,22044,4.941,22045,4.941,22046,4.571,22047,4.571]],["title/classes/UserDto.html",[0,0.232,22048,5.759]],["body/classes/UserDto.html",[0,0.236,2,0.772,3,0.015,4,0.015,5,0.008,7,0.1,26,2.485,27,0.571,29,0.552,30,0.001,31,0.398,32,0.18,33,0.674,34,1.814,47,0.962,83,3.391,95,0.083,99,1.133,101,0.011,103,0.001,104,0.001,112,0.73,119,1.97,154,1.413,239,2.234,379,0.882,404,2.811,480,2.652,486,2.872,511,3.103,528,3.586,651,5.229,652,5.229,653,5.572,655,5.497,988,4.154,1108,6.477,3174,4.663,3175,4.531,4260,7.359,4266,3.667,4271,6.858,4343,4.085,4355,5.21,4841,5.655,5888,5.338,7119,4.169,10079,4.663,10081,4.663,10083,5.096,11919,7.999,12006,5.21,13413,8.521,13414,8.294,13415,8.095,13416,8.521,13421,5.861,13424,5.861,13426,5.861,13428,5.861,13983,6.118,15826,6.463,19370,6.463,22048,10.241,22049,6.986,22050,10.042,22051,6.986,22052,6.986,22053,6.986,22054,6.986,22055,6.986,22056,6.986,22057,6.986,22058,6.986,22059,6.986,22060,6.986,22061,6.986,22062,6.986,22063,6.986,22064,6.986,22065,6.986,22066,6.986,22067,6.986,22068,6.118,22069,6.986,22070,6.986]],["title/classes/UserFactory.html",[0,0.232,648,4.906]],["body/classes/UserFactory.html",[0,0.137,2,0.447,3,0.009,4,0.009,5,0.005,7,0.058,8,0.774,27,0.537,29,1.039,30,0.001,31,0.753,32,0.172,33,0.61,34,1.319,35,1.402,47,0.448,55,2.209,59,3,95,0.129,99,0.657,101,0.006,103,0,104,0,112,0.488,120,2.703,133,2.211,140,2.224,153,1.809,154,1.971,155,2.083,177,1.189,180,1.112,239,1.849,271,4.72,276,5.388,319,2.703,349,1.07,379,0.511,382,3.712,413,1.927,437,1.615,447,6.939,448,4.197,449,4.958,452,3.533,453,4.958,454,5.344,455,3.533,456,3.533,457,3.533,458,3.475,459,3.997,460,4.37,461,6.062,462,5.306,463,6.768,464,2.262,469,2.243,470,3.533,471,2.262,472,4.661,473,4.801,474,3.811,475,4.535,476,3.503,477,2.243,478,2.124,479,3.812,480,3.351,481,2.189,482,2.156,483,2.243,484,4.596,485,2.262,486,3.629,487,4.299,488,2.243,489,7.11,490,3.992,491,6.211,492,2.262,493,3.871,494,2.243,495,2.262,496,2.243,497,2.262,498,2.243,499,2.528,500,2.368,501,2.243,502,5.635,503,2.262,504,2.243,505,3.533,506,3.321,507,3.533,508,2.262,509,2.172,510,2.156,511,1.799,512,2.243,513,2.243,514,2.243,515,2.262,516,2.262,517,1.531,518,2.243,519,1.247,520,2.262,521,2.526,522,2.243,523,2.262,525,2.324,526,2.368,527,5.752,643,5.301,645,2.955,646,2.895,648,5.641,651,1.951,652,1.951,653,2.079,654,1.217,664,8.679,667,5.352,673,5.352,677,5.352,1723,5.483,2140,5.902,3140,5.205,4660,4.917,6985,3.18,6986,3.279,6995,3.18,10258,2.704,10259,2.704,12844,3.095,13411,3.279,13656,3.547,21150,3.747,21154,8.283,22046,3.747,22047,3.747,22071,4.05,22072,6.379,22073,6.379,22074,6.379,22075,6.379,22076,4.05,22077,4.05,22078,4.05,22079,6.379,22080,4.05,22081,6.379,22082,4.05,22083,6.379,22084,6.379,22085,6.379,22086,4.05,22087,4.05,22088,7.892,22089,4.05]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.232,17320,6.012]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.306,2,0.998,3,0.02,4,0.02,5,0.01,7,0.13,8,1.368,27,0.464,29,0.714,30,0.001,31,0.514,32,0.117,33,0.433,35,1.098,95,0.134,100,3.071,101,0.014,103,0.001,104,0.001,177,1.683,239,2.117,284,2.728,345,2.88,349,0.934,379,1.14,975,6.279,1025,3.576,1147,3.426,1218,3.415,1338,5.695,1339,6.357,1341,2.897,1343,6.397,1519,5.135,3083,6.457,4660,4.961,7275,5.638,8829,6.403,8830,6.646,8967,10.112,8980,6.03,11591,8.619,11837,6.59,17320,9.878,19256,8.357,19257,8.357,19258,8.357,22090,12.298,22091,9.034,22092,9.034,22093,9.034]],["title/interfaces/UserGroup.html",[105,0.702,10219,5.389]],["body/interfaces/UserGroup.html",[0,0.134,3,0.009,4,0.009,5,0.004,7,0.057,26,1.799,30,0.001,31,0.548,32,0.139,34,1.047,36,2.513,47,0.94,51,4.335,55,1.586,72,1.784,95,0.147,99,0.642,101,0.006,103,0,104,0,105,0.985,107,0.929,112,0.479,119,0.817,177,1.908,203,1.437,226,0.578,236,1.668,239,0.927,262,2.59,284,3.36,349,1.238,358,1.766,379,0.499,437,1.793,475,2.003,528,2.031,529,2.523,539,0.84,560,2.573,564,2.761,593,2.332,603,2.603,608,3.116,696,2.431,933,5.332,975,4.308,1122,2.531,1779,2.412,1898,4.739,1899,4.568,1901,3.86,1911,5.269,1920,3.016,1926,4.298,1928,2.499,1933,4.476,1940,2.95,1941,2.95,2159,6.938,2232,2.229,2395,2.336,2424,2.336,2627,6.403,3602,4.061,3603,1.99,4266,1.336,4417,4.973,4539,2.682,4540,2.775,4541,2.36,4660,4.268,4661,2.828,4822,4.59,4833,4.935,5310,2.64,5575,2.775,5952,5.111,5991,4.392,6055,2.682,6069,5.04,6127,4.476,6217,2.775,6290,5.796,6308,5.187,6324,4.793,6327,2.886,6341,4.784,6349,4.793,6722,3.698,6725,4.91,6726,2.775,6829,2.886,6878,3.106,7322,5.124,7328,4.245,7521,3.908,9065,2.828,9125,3.023,9147,2.886,9314,4.853,9339,6.316,9457,2.828,9460,7.051,9466,5.187,9495,3.023,10168,3.023,10169,3.202,10170,3.202,10171,3.202,10172,3.202,10173,3.202,10174,2.828,10175,3.202,10188,5.356,10190,3.202,10193,3.202,10195,3.202,10197,3.202,10198,7.154,10200,3.202,10202,3.202,10204,3.202,10206,3.202,10208,8.422,10209,3.202,10211,3.202,10213,3.202,10215,3.023,10216,3.202,10217,4.916,10218,6.938,10219,6.101,10220,7.795,10221,7.795,10222,7.795,10223,5.069,10224,3.202,10225,5.069,10226,3.202,10227,3.202,10228,5.069,10229,3.202,10230,3.202,10231,5.069,10232,3.202,10233,3.202,10234,3.202,10235,3.202,10236,3.202,10237,3.202,10238,3.202,10239,3.202,10240,3.202,10241,3.202,10242,6.291,10243,3.202,10244,3.202,10245,3.202,10246,3.202,10247,3.202,10248,3.202,10249,3.202,10250,3.202,10251,3.202,10252,3.202,10253,3.202,10254,5.069,10255,3.202,10256,3.106,10257,3.202,10258,4.179,10259,2.64,10260,3.106,10261,3.106,10262,3.202,10263,5.069,10264,3.202,10265,5.069,10266,3.202,10267,3.106,10268,3.202,10269,3.202,10270,3.202,10271,3.202,10272,3.202,10273,3.202,10274,3.202,10275,3.106,10276,3.106]],["title/interfaces/UserGroups.html",[105,0.702,10218,5.389]],["body/interfaces/UserGroups.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.811,30,0.001,31,0.36,32,0.14,34,1.056,36,2.522,47,0.921,51,4.363,55,0.817,72,1.805,95,0.147,99,0.649,101,0.006,103,0,104,0,105,0.991,107,0.94,112,0.484,119,0.827,120,2.678,177,1.918,203,1.454,226,0.585,236,1.677,239,0.938,262,2.599,284,3.627,349,1.242,358,1.787,379,0.505,437,1.796,475,2.027,528,2.055,529,2.539,539,0.848,560,2.597,564,2.779,593,2.354,603,2.61,608,3.121,696,2.453,933,5.363,975,4.336,1122,2.561,1779,2.441,1898,4.77,1899,4.598,1901,3.89,1911,5.309,1920,3.044,1926,4.314,1928,2.529,1933,4.517,1940,2.985,1941,2.985,2159,6.983,2232,2.255,2395,2.364,2424,2.364,2627,6.417,3602,4.099,3603,2.014,4266,1.352,4417,5.011,4539,2.714,4540,2.808,4541,2.388,4660,4.301,4661,2.861,4822,4.625,4833,4.968,5310,2.672,5575,2.808,5952,5.151,5991,4.433,6055,2.714,6069,5.079,6127,4.517,6217,2.808,6290,5.84,6308,5.227,6324,4.83,6327,2.92,6341,4.829,6349,4.83,6722,3.733,6725,4.948,6726,2.808,6829,2.92,6878,3.142,7322,5.154,7328,4.285,7521,3.944,9065,2.861,9125,3.058,9147,2.92,9314,4.885,9339,6.358,9457,2.861,9460,7.072,9466,5.227,9495,3.058,10168,3.058,10169,3.24,10170,3.24,10171,3.24,10172,3.24,10173,3.24,10174,2.861,10175,3.24,10188,5.398,10190,3.24,10193,3.24,10195,3.24,10197,3.24,10198,7.201,10200,3.24,10202,3.24,10204,3.24,10206,3.24,10208,8.46,10209,3.24,10211,3.24,10213,3.24,10215,3.058,10216,3.24,10217,4.962,10218,7.603,10219,4.962,10220,5.116,10221,5.116,10222,7.84,10223,5.116,10224,3.24,10225,5.116,10226,3.24,10227,3.24,10228,5.116,10229,3.24,10230,3.24,10231,5.116,10232,3.24,10233,3.24,10234,3.24,10235,3.24,10236,3.24,10237,3.24,10238,3.24,10239,3.24,10240,3.24,10241,3.24,10242,6.34,10243,3.24,10244,3.24,10245,3.24,10246,3.24,10247,3.24,10248,3.24,10249,3.24,10250,3.24,10251,3.24,10252,3.24,10253,3.24,10254,5.116,10255,3.24,10256,3.142,10257,3.24,10258,4.218,10259,2.672,10260,3.142,10261,3.142,10262,3.24,10263,5.116,10264,3.24,10265,5.116,10266,3.24,10267,3.142,10268,3.24,10269,3.24,10270,3.24,10271,3.24,10272,3.24,10273,3.24,10274,3.24,10275,3.142,10276,3.142]],["title/classes/UserInfoMapper.html",[0,0.232,16035,6.012]],["body/classes/UserInfoMapper.html",[0,0.326,2,1.064,3,0.021,4,0.021,5,0.011,7,0.138,8,1.423,27,0.397,29,0.762,30,0.001,31,0.548,32,0.125,33,0.462,34,1.61,35,1.17,95,0.14,99,1.563,100,3.989,101,0.015,103,0.001,104,0.001,236,1.569,239,3.164,349,0.996,413,3.822,437,1.27,528,4.945,651,4.64,652,4.64,783,6.554,790,4.847,3174,6.43,3175,6.247,16006,10.664,16035,10.277,18380,10.277,19292,8.436,19294,8.436,22094,11.735]],["title/classes/UserInfoResponse.html",[0,0.232,16006,5.557]],["body/classes/UserInfoResponse.html",[0,0.284,2,0.928,3,0.018,4,0.018,5,0.009,7,0.121,27,0.516,29,0.664,30,0.001,31,0.738,32,0.162,33,0.622,34,2.255,47,0.932,95,0.1,101,0.013,103,0.001,104,0.001,112,0.824,138,2.128,149,4.58,150,1.887,153,2.874,154,2.179,239,3.11,245,2.762,253,4.146,359,6.496,379,1.359,404,3.38,651,6.247,652,6.247,774,4.283,1277,6.016,2162,6.594,2917,5.524,2918,5.776,2919,5.776,4421,7.77,7234,9.434,10079,5.606,10081,5.606,16006,10.499,19299,7.356,22095,12.969,22096,8.399,22097,7.77]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.232,19902,5.557]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.283,2,0.922,3,0.018,4,0.018,5,0.009,7,0.12,8,1.301,26,2.548,27,0.442,29,0.66,30,0.001,31,0.475,32,0.139,33,0.4,35,1.014,52,6.028,83,3.448,95,0.141,99,1.354,101,0.013,103,0.001,104,0.001,128,5.398,177,1.999,180,1.87,182,2.654,226,1.22,284,2.521,345,2.661,349,0.863,379,1.053,590,7.718,603,1.718,654,2.507,1025,3.305,1147,3.258,1338,5.49,1339,6.129,1341,2.677,1343,6.215,1351,5.414,4565,5.347,5703,7.399,8829,6.172,8830,6.408,9276,5.274,9278,5.967,9283,4.881,9284,5.09,10973,6.554,13037,8.317,14831,6.554,19397,6.758,19902,8.686,20778,6.758,22098,9.947,22099,11.856,22100,7.723,22101,9.824,22102,8.348,22103,8.348]],["title/modules/UserLoginMigrationApiModule.html",[201,1.848,19507,5.557]],["body/modules/UserLoginMigrationApiModule.html",[0,0.238,3,0.015,4,0.015,5,0.008,30,0.001,52,3.383,95,0.163,101,0.011,103,0.001,104,0.001,122,4.761,128,4.761,201,2.93,203,2.551,204,2.736,205,2.814,206,2.802,207,2.791,208,4.025,209,2.664,214,5.875,218,3.834,219,2.758,220,2.695,222,4.382,223,3.983,225,3.803,226,1.026,239,1.646,631,3.58,654,2.109,1341,2.252,1380,8.555,1419,9.906,1752,7.173,1963,3.956,2531,3.251,2764,3.324,4564,10.586,4565,3.167,5434,8.075,11056,5.891,14761,9.642,16419,5.513,16577,9.906,17431,10.586,18400,10.586,19507,11.708,19527,5.891,19894,10.586,21340,10.586,22104,7.022,22105,7.022,22106,7.022,22107,10.215,22108,9.532,22109,9.532,22110,9.568,22111,9.568,22112,7.022]],["title/controllers/UserLoginMigrationController.html",[259,2.624,22109,6.012]],["body/controllers/UserLoginMigrationController.html",[0,0.11,3,0.007,4,0.007,5,0.004,7,0.046,8,0.646,27,0.407,29,0.781,30,0.001,31,0.563,32,0.178,33,0.474,35,1.201,36,2.553,47,0.477,52,6.551,55,1.088,95,0.134,99,0.526,100,1.102,101,0.005,103,0,104,0,128,5.677,138,1.768,150,0.728,153,2.971,177,1.62,223,1.349,226,0.473,236,0.528,239,3.218,259,1.239,261,1.552,262,2.825,270,6.32,271,3.47,278,2.197,292,5.228,294,6.155,310,2.311,324,5.416,330,3.674,333,2.269,335,3.215,337,1.687,338,1.725,343,1.738,346,1.934,347,1.923,349,1.022,379,0.409,437,1.571,482,1.725,517,2.015,556,1.934,569,3.81,590,6.367,603,1.789,608,2.29,631,1.652,654,2.363,822,2.583,824,2.791,990,1.109,1284,1.842,1306,3.287,1351,5.102,1456,3.506,1478,4.694,2493,5.174,2739,2.416,2764,1.534,2961,2.316,2962,1.826,2963,1.699,3134,2.455,3779,5.135,4081,2.047,4564,5.696,4565,4.656,4568,4.668,4578,6.409,4580,5.835,4582,6.176,4583,6.011,4743,4.155,5550,2.131,7010,3.888,7336,6.011,10144,5.034,11613,4.472,12218,6.369,13586,4.931,14583,3.888,14788,7.615,14789,7.531,14790,5.739,14794,8.357,14799,4.853,15384,2.998,15854,4.668,16277,4.315,16496,6.89,17902,7.37,18400,5.696,18402,4.668,19274,6.176,19347,6.6,19348,6.6,19394,4.472,19894,5.696,19897,4.668,19902,6.369,20292,2.998,20778,8.914,21340,5.696,21342,5.947,21421,2.998,21482,8.661,21920,2.838,22107,5.497,22109,4.668,22113,9.55,22114,2.998,22115,5.33,22116,6.281,22117,6.281,22118,6.79,22119,3.24,22120,3.24,22121,9.55,22122,5.33,22123,5.33,22124,3.24,22125,3.24,22126,3.24,22127,5.33,22128,3.24,22129,3.24,22130,3.24,22131,9.35,22132,3.24,22133,3.24,22134,3.24,22135,6.6,22136,3.24,22137,3.24,22138,3.24,22139,3.24,22140,3.24,22141,3.24,22142,3.24,22143,3.24,22144,3.24,22145,3.24,22146,5.33,22147,6.6,22148,3.24,22149,5.33,22150,3.24,22151,3.24,22152,6.89,22153,3.24,22154,3.24,22155,3.24,22156,4.931,22157,3.24,22158,3.24,22159,3.24,22160,3.24,22161,3.24,22162,3.24,22163,6.79,22164,5.33,22165,2.838,22166,6.369,22167,9.328,22168,6.89,22169,3.24,22170,3.24,22171,3.24,22172,3.24,22173,3.24,22174,3.24,22175,3.24,22176,3.24,22177,3.24,22178,5.33,22179,3.24,22180,6.79,22181,3.24,22182,3.24,22183,3.24,22184,3.24,22185,3.24,22186,3.24,22187,6.79,22188,3.24,22189,3.24,22190,3.24,22191,3.24,22192,3.24,22193,3.24,22194,3.24,22195,3.24,22196,3.24,22197,3.24,22198,3.24,22199,3.24,22200,3.24]],["title/classes/UserLoginMigrationDO.html",[0,0.232,4578,4.452]],["body/classes/UserLoginMigrationDO.html",[0,0.263,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,26,2.696,27,0.56,29,0.613,30,0.001,31,0.442,32,0.176,33,0.663,34,1.71,47,0.545,83,3.908,95,0.122,101,0.012,103,0.001,104,0.001,112,0.783,128,5.54,180,1.783,181,2.768,379,0.979,381,2.629,382,2.318,1664,2.901,1746,7.115,4266,3.866,4343,4.537,4344,5.786,4578,8.202,5963,5.66,5968,5.928,7429,5.928,19323,8.535,19350,8.745,22101,8.985,22201,13.598,22202,7.758,22203,9.265,22204,8.985,22205,8.985,22206,10.23,22207,7.758,22208,7.758,22209,7.758,22210,7.758,22211,7.758,22212,7.758,22213,7.178,22214,7.178,22215,7.178,22216,7.178,22217,6.795,22218,6.795,22219,6.795,22220,6.795,22221,6.795,22222,6.795,22223,6.795,22224,6.795]],["title/entities/UserLoginMigrationEntity.html",[154,1.389,13014,5.119]],["body/entities/UserLoginMigrationEntity.html",[0,0.236,3,0.015,4,0.015,5,0.008,7,0.1,27,0.53,30,0.001,32,0.17,33,0.629,83,3.814,95,0.139,96,1.861,101,0.015,103,0.001,104,0.001,112,0.728,128,5.344,138,2.305,143,2.908,144,4.194,145,2.667,154,1.925,155,2.273,160,6.051,172,3.932,173,2.024,174,3.636,175,3.108,177,1.297,178,2.767,180,1.214,181,1.884,182,2.213,556,2.664,644,5.422,654,3.255,1512,4.345,2678,7.468,5094,5.017,6792,4.345,6793,4.199,7000,6.449,9006,7.075,11726,4.883,13014,7.094,17443,8.772,17444,8.772,19073,6.441,19350,8.279,22101,8.506,22203,8.772,22205,8.506,22217,6.097,22218,6.097,22219,6.097,22220,6.097,22221,6.097,22222,6.097,22223,6.097,22224,6.097,22225,13.115,22226,6.962,22227,6.962,22228,6.962,22229,6.962,22230,6.962,22231,6.962,22232,6.962,22233,6.962,22234,6.962,22235,8.8,22236,6.962,22237,6.962,22238,6.962,22239,6.962,22240,6.962,22241,6.962]],["title/classes/UserLoginMigrationError.html",[0,0.232,22242,6.012]],["body/classes/UserLoginMigrationError.html",[0,0.263,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,8,1.24,27,0.545,29,0.613,30,0.001,31,0.442,32,0.178,33,0.549,35,0.943,47,0.804,52,5.513,55,1.583,59,2.39,95,0.122,101,0.012,103,0.001,104,0.001,112,0.783,128,4.957,138,2.263,177,2.558,180,1.783,182,2.466,226,1.134,239,1.818,340,3.76,347,2.8,379,0.979,382,3.88,595,6.309,821,5.634,824,2.752,951,5.358,988,5.301,990,4.163,1025,4.531,1269,8.387,1270,7.255,1271,3.79,1272,7.324,1276,5.032,1277,4.333,1278,5.032,1279,5.032,1280,5.032,1281,5.032,1282,5.032,1283,4.679,1284,4.41,1290,4.902,4565,4.614,7082,4.842,7275,4.842,9282,6.509,14573,5.786,14608,8.582,19277,6.795,22098,8.582,22242,8.959,22243,7.758]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.232,4582,5.389]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.28,2,0.913,3,0.018,4,0.018,5,0.009,7,0.119,8,1.292,26,2.538,27,0.439,29,0.653,30,0.001,31,0.47,32,0.138,33,0.396,35,1.004,52,6.005,83,3.431,95,0.14,99,1.341,101,0.013,103,0.001,104,0.001,128,5.477,177,1.986,180,1.858,182,2.627,226,1.207,239,1.936,284,2.496,345,2.634,349,0.854,379,1.043,603,1.7,1025,3.271,1147,3.237,1338,5.463,1339,6.099,1341,2.65,1343,6.192,4565,5.322,4582,8.368,5703,7.363,8829,6.143,8830,6.377,9283,4.832,9284,5.038,12218,10.092,13037,8.276,14831,6.487,15854,7.237,19347,10.458,19348,10.458,19349,7.644,19350,9.525,22098,9.899,22100,7.644,22244,8.263,22245,8.263,22246,8.263,22247,8.263,22248,8.263]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.232,21347,6.012]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.286,2,0.934,3,0.019,4,0.019,5,0.009,7,0.121,8,1.311,26,2.751,27,0.445,29,0.668,30,0.001,31,0.481,32,0.109,33,0.405,35,1.027,39,3.259,52,6.056,95,0.129,99,1.371,101,0.013,103,0.001,104,0.001,119,2.464,128,5.505,177,2.222,191,4.604,239,1.981,284,2.553,321,6.165,347,3.05,349,0.874,379,1.365,603,2.454,654,3.248,1025,3.346,1147,3.284,1338,5.522,1339,6.165,1341,2.711,1343,6.244,4565,5.379,8829,6.209,8830,6.445,10973,6.635,11321,6.842,12675,9.375,13037,8.818,14262,7.402,14831,6.635,21347,9.471,22249,11.033,22250,8.452,22251,8.452,22252,8.452,22253,8.452]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.232,22152,6.012]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.406,2,1.103,3,0.022,4,0.022,5,0.011,7,0.143,27,0.411,30,0.001,32,0.129,52,5.778,95,0.143,101,0.015,103,0.001,104,0.001,112,0.918,119,2.478,128,5.433,138,1.787,147,6.482,148,3.094,150,2.244,245,3.076,4565,5.41,7581,7.631,12675,9.587,22152,10.505,22254,11.096,22255,9.987,22256,9.987]],["title/classes/UserLoginMigrationMapper.html",[0,0.232,22165,6.012]],["body/classes/UserLoginMigrationMapper.html",[0,0.285,2,0.932,3,0.019,4,0.019,5,0.009,7,0.121,8,1.31,27,0.445,29,0.854,30,0.001,31,0.615,32,0.14,33,0.518,34,1.41,35,1.312,39,2.305,47,0.592,95,0.142,99,1.368,101,0.013,103,0.001,104,0.001,128,5.412,236,1.374,310,4.683,349,1.117,413,4.012,437,1.424,790,4.244,824,3.831,1665,3.511,2359,6.152,2764,3.993,4565,5.374,4578,8.147,19323,6.29,19350,6.445,22101,6.622,22135,10.539,22165,9.459,22166,10.17,22167,10.513,22203,6.828,22204,6.622,22205,6.622,22257,11.914,22258,7.803,22259,10.8,22260,10.8,22261,10.8,22262,8.434,22263,8.434,22264,10.8,22265,8.434,22266,8.434,22267,8.434,22268,8.434,22269,8.434,22270,8.434,22271,8.434,22272,8.434]],["title/modules/UserLoginMigrationModule.html",[201,1.848,14761,5.245]],["body/modules/UserLoginMigrationModule.html",[0,0.24,3,0.016,4,0.016,5,0.008,30,0.001,95,0.157,101,0.011,103,0.001,104,0.001,128,3.921,201,2.943,203,2.574,204,2.76,205,2.838,206,2.827,207,2.815,208,4.043,209,4.148,213,9.043,214,5.89,218,3.857,219,2.782,220,2.718,225,3.826,226,1.035,227,2.936,560,2.91,654,2.128,1341,2.272,1421,8.874,1437,5.412,1440,4.968,1963,3.991,3593,7.714,3603,3.564,4565,3.195,4571,9.814,4572,10.239,4573,11.115,5434,8.096,14761,11.07,15812,11.519,15816,9.932,16395,10.779,19527,5.943,22273,7.083,22274,7.083,22275,7.083,22276,7.083,22277,7.083]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.232,4583,5.245]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.284,2,0.926,3,0.018,4,0.018,5,0.009,7,0.12,8,1.304,26,2.746,27,0.443,29,0.663,30,0.001,31,0.477,32,0.139,33,0.402,35,1.018,52,6.037,59,2.582,95,0.141,99,1.36,101,0.013,103,0.001,104,0.001,128,5.495,177,2.004,180,1.875,182,2.665,226,1.225,239,1.964,284,2.532,345,2.672,349,0.867,379,1.058,603,1.725,654,2.518,1025,3.318,1147,3.267,1338,5.501,1339,6.141,1341,2.688,1343,6.225,2681,6.37,4266,4.013,4343,4.901,4565,5.358,4583,8.22,4743,4.428,5624,5.683,8829,6.184,8830,6.42,9276,5.296,9278,5.991,9283,4.901,9284,5.111,13037,8.791,14831,6.581,16324,10.99,19396,7.754,19397,6.786,22098,9.966,22278,8.382]],["title/interfaces/UserLoginMigrationQuery.html",[105,0.702,22166,5.557]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.136,33,0.592,39,3.702,47,0.921,52,5.047,101,0.016,103,0.001,104,0.001,105,1.072,107,2.461,112,0.944,128,5.028,4565,4.725,9812,9.175,22166,9.99,22279,10.476]],["title/injectables/UserLoginMigrationRepo.html",[539,0.921,15816,5.389]],["body/injectables/UserLoginMigrationRepo.html",[0,0.162,3,0.011,4,0.011,5,0.005,7,0.069,8,0.881,10,2.949,12,3.262,18,3.633,26,2.595,27,0.545,29,1.039,30,0.001,31,0.748,32,0.17,33,0.63,34,1.637,35,1.583,36,2.6,40,2.31,95,0.137,96,1.943,97,1.996,99,0.778,101,0.007,103,0,104,0,112,0.367,128,4.289,133,2.519,154,1.982,173,1.394,177,1.354,180,1.267,226,0.701,236,1.184,262,2.902,349,1.146,379,0.605,381,1.625,382,3.853,437,1.291,448,3.561,519,1.477,539,0.976,541,1.152,556,1.179,593,2.708,603,2.439,608,1.111,644,2.233,654,2.183,680,4.928,686,3.33,687,5.195,718,2.571,1341,1.538,1665,3.654,2000,2.751,2299,9.13,2301,5.195,2302,5.195,2303,5.195,2304,5.195,2305,5.099,2306,5.099,2307,5.195,2308,5.099,2309,5.195,2310,3.498,2311,5.568,2312,4.059,2313,4.463,2315,5.302,2316,3.428,2318,5.672,2319,3.428,2321,3.428,2323,3.11,2324,5.099,2325,3.428,2327,3.428,2329,5.195,2333,5.195,2335,4.928,2336,5.099,2338,3.428,2340,2.892,2341,2.957,2342,3.428,2344,3.428,2346,3.364,2347,3.428,2353,3.251,4266,2.965,4446,2.993,4578,8.267,4580,4.536,6114,3.498,6115,3.498,6116,3.498,6117,3.498,6118,3.498,6119,3.498,6120,3.498,6121,3.498,6122,3.498,6130,3.664,9006,2.634,9537,4.436,9547,3.664,13014,8.84,13015,3.882,13016,3.882,14873,4.436,14900,6.724,15816,5.706,17443,3.882,17444,3.882,19120,6.724,19130,6.724,19139,3.882,19141,4.2,19142,4.2,19323,3.576,19350,5.554,22101,5.706,22203,5.884,22204,3.765,22205,5.706,22235,10.647,22280,9.794,22281,4.795,22282,4.795,22283,4.795,22284,4.795,22285,4.795,22286,4.795,22287,4.795,22288,4.795,22289,4.795,22290,4.795,22291,4.795,22292,4.795,22293,4.795,22294,4.795,22295,4.795,22296,7.268,22297,7.268,22298,4.795,22299,4.795,22300,4.795,22301,4.795,22302,4.795]],["title/classes/UserLoginMigrationResponse.html",[0,0.232,22167,5.557]],["body/classes/UserLoginMigrationResponse.html",[0,0.226,2,0.736,3,0.015,4,0.015,5,0.007,7,0.096,27,0.534,29,0.527,30,0.001,31,0.379,32,0.168,33,0.632,34,2.128,47,0.872,52,6.548,83,4.048,95,0.079,101,0.01,103,0,104,0,112,0.706,128,5.718,138,2.278,142,3.597,149,4.624,150,1.498,153,2.846,181,2.498,245,3.079,379,0.841,381,2.259,404,2.682,405,3.574,821,4.275,1277,6.385,1351,5.987,2023,7.473,2739,4.185,3134,5.265,3291,6.971,4565,5.943,8170,8.085,10951,7.054,19323,7.898,19347,7.745,19348,7.745,19350,8.092,22101,8.314,22167,9.718,22203,8.574,22204,8.314,22205,8.314,22213,6.166,22214,6.166,22215,6.166,22216,6.166,22217,5.837,22218,5.837,22219,5.837,22220,5.837,22221,5.837,22222,5.837,22223,5.837,22224,5.837,22303,12.191,22304,6.166,22305,9.231,22306,6.665,22307,6.665,22308,6.665,22309,6.665,22310,6.665,22311,6.665]],["title/injectables/UserLoginMigrationRevertService.html",[539,0.921,4573,5.557]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,8,1.334,27,0.453,29,0.87,30,0.001,31,0.626,32,0.142,33,0.528,35,1.055,36,2.357,52,5.819,95,0.151,99,1.409,101,0.013,103,0.001,104,0.001,128,5.54,177,2.05,226,1.269,239,2.036,262,2.667,379,1.389,539,1.477,541,2.087,603,2.264,608,2.55,654,2.609,1959,8.023,1961,7.945,1963,4.894,4565,5.448,4570,7.032,4571,9.568,4573,8.909,4578,8.236,4580,5.421,13013,6.209,14166,7.288,17332,7.608,22312,10.579,22313,8.686,22314,11.004,22315,8.686,22316,11.004,22317,8.686,22318,8.686,22319,8.686]],["title/injectables/UserLoginMigrationRule.html",[539,0.921,1773,5.759]],["body/injectables/UserLoginMigrationRule.html",[0,0.268,3,0.017,4,0.017,5,0.009,7,0.114,8,1.258,27,0.476,29,0.914,30,0.001,31,0.658,32,0.159,33,0.554,35,1.26,95,0.152,101,0.012,103,0.001,104,0.001,119,2.699,128,4.998,131,4.388,154,2.693,177,1.477,226,1.158,239,3.2,345,2.527,349,1.073,379,1,437,1.368,539,1.392,541,1.904,604,3.256,662,4.058,1147,2.407,1670,6.683,1697,8.153,1718,4.779,1735,7.481,1773,8.703,1875,6.727,1879,6.474,1886,5.29,3411,6.924,3412,5.373,3415,6.823,3417,5.373,3418,5.373,3419,7.033,3420,5.91,4578,8.756,6238,5.665,19181,7.331,22320,12.268,22321,7.925,22322,7.925,22323,7.925,22324,7.925]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.232,22168,6.012]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.264,2,0.86,3,0.017,4,0.017,5,0.009,7,0.112,27,0.521,29,0.616,30,0.001,31,0.443,32,0.176,33,0.607,52,4.94,55,2.884,56,6.263,59,3.159,70,6.541,95,0.136,101,0.012,103,0.001,104,0.001,112,0.785,128,5.159,138,2.18,150,1.75,180,1.788,239,1.825,245,2.63,247,3.346,284,3.824,379,0.983,382,3.64,556,1.915,813,7.194,814,5.463,815,8.175,816,7.082,817,5.883,819,3.919,821,5.309,822,3.774,823,4.145,824,2.763,825,5.463,826,6.651,827,5.939,828,5.122,829,4.026,830,5.463,831,5.463,833,4.92,834,4.243,4565,4.625,9805,7.205,9806,7.205,17118,7.205,22167,10.73,22168,8.982,22303,9.488]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.232,22135,5.759]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.404,2,1.093,3,0.022,4,0.022,5,0.011,7,0.142,27,0.407,30,0.001,32,0.128,33,0.572,39,3.499,47,0.837,52,5.744,95,0.142,101,0.015,103,0.001,104,0.001,112,0.912,128,5.415,138,1.77,148,3.063,149,4.593,150,2.222,248,4.759,249,4.665,4565,5.378,9807,8.662,9810,8.662,22135,10.004,22254,11.031,22325,9.89]],["title/injectables/UserLoginMigrationService.html",[539,0.921,4571,4.906]],["body/injectables/UserLoginMigrationService.html",[0,0.233,3,0.007,4,0.007,5,0.004,7,0.047,8,0.656,26,2.192,27,0.477,29,0.916,30,0.001,31,0.659,32,0.15,33,0.556,35,1.379,36,2.686,39,0.902,47,0.88,48,1.581,55,1.403,59,2.118,83,2.743,95,0.128,99,0.536,101,0.005,102,1.672,103,0,104,0,119,2.437,128,5.381,143,0.732,177,1.636,226,0.482,227,1.368,236,1.921,262,2.964,333,3.386,349,1.174,355,2.085,358,2.416,379,0.683,437,1.693,519,1.017,529,2.693,539,0.726,541,0.793,556,2.848,591,1.86,593,3.874,603,2.464,608,3.031,654,2.066,990,1.851,1218,1.248,1226,1.59,1440,2.315,1818,3.612,1959,5.026,1961,4.524,1963,1.86,1964,6.066,2079,1.459,2080,1.629,2081,1.572,2396,3.105,3134,1.52,3603,1.661,3623,2.891,3940,1.86,4266,3.983,4565,5.319,4568,4.74,4571,3.868,4572,7.429,4578,8.481,4580,8.067,4583,2.522,4585,5.77,4587,5.4,4590,5.129,4591,4.74,4743,1.744,4822,5.571,5703,2.06,6990,2.522,7322,4.234,8432,2.522,10187,2.672,11880,5.31,12675,5.933,13013,2.359,13470,3.054,13925,5.568,14166,2.769,14501,2.769,14774,6.024,14845,7.208,14846,7.208,14847,7.946,14949,3.054,14957,4.381,14959,8.123,14965,3.054,14971,2.769,14972,7.36,15816,7.821,15821,2.672,15822,5.007,16394,7.267,17332,2.891,18046,2.672,18402,4.74,18941,3.868,19318,3.054,19323,2.462,19363,6.363,19364,3.054,19382,5.007,19897,4.74,20367,2.592,20467,3.054,20500,3.054,21342,4.74,22204,4.249,22205,2.592,22312,10.328,22326,5.412,22327,5.412,22328,5.412,22329,5.412,22330,5.412,22331,5.412,22332,5.412,22333,3.301,22334,5.412,22335,3.301,22336,5.412,22337,3.301,22338,5.412,22339,3.301,22340,5.412,22341,3.301,22342,5.412,22343,3.301,22344,5.412,22345,3.301,22346,5.007,22347,3.054,22348,5.412,22349,3.301,22350,5.412,22351,3.301,22352,5.412,22353,3.301,22354,5.412,22355,5.412,22356,5.412,22357,5.412,22358,6.878,22359,3.301,22360,5.412,22361,5.412,22362,5.412,22363,3.301,22364,5.412,22365,3.301,22366,5.412,22367,3.301,22368,3.301,22369,3.301,22370,5.412,22371,3.301,22372,3.301,22373,3.301,22374,5.412,22375,3.301,22376,3.301,22377,3.301,22378,5.412,22379,5.007,22380,3.301]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.232,18407,5.759]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.296,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,8,1.34,26,2.772,27,0.455,29,0.691,30,0.001,31,0.498,32,0.113,33,0.419,35,1.062,39,3.311,52,6.132,95,0.132,99,1.418,101,0.014,103,0.001,104,0.001,128,5.463,177,2.059,191,4.762,284,2.64,321,6.377,345,2.787,349,0.904,379,1.103,603,1.799,654,3.319,1025,3.461,1147,3.356,1338,5.61,1339,6.263,1341,2.804,1343,6.322,1351,5.67,4565,5.464,8829,6.307,8830,6.548,11321,7.078,13037,8.929,14831,6.863,18407,9.27,19286,8.088,19287,8.088,22249,11.208,22381,8.742]],["title/injectables/UserLoginMigrationUc.html",[539,0.921,22107,5.557]],["body/injectables/UserLoginMigrationUc.html",[0,0.129,3,0.008,4,0.008,5,0.004,7,0.055,8,0.736,26,2.492,27,0.415,29,0.796,30,0.001,31,0.573,32,0.13,33,0.483,34,0.636,35,1.148,36,2.35,39,2.998,47,0.95,52,2.924,59,2.662,95,0.149,99,0.617,100,1.293,101,0.006,103,0,104,0,122,2.579,128,5.165,177,2.044,226,0.556,236,1.787,239,2.214,262,2.661,284,2.853,292,1.927,310,3.284,330,4.184,347,1.373,349,0.783,379,0.766,437,1.393,519,1.172,529,2.874,539,0.815,541,0.914,556,1.862,560,1.563,579,2.04,593,2.821,603,2.436,604,1.563,608,2.687,643,1.707,654,3.173,696,1.477,708,1.524,763,2.837,822,4.577,951,4.047,988,1.657,990,2.957,1025,2.998,1107,3.307,1218,1.438,1242,2.056,1270,3.482,1297,3.992,1341,1.22,1422,7.879,1673,2.346,1688,2.502,1726,2.596,1758,5.622,1834,4.339,1855,2.32,1964,5.322,2255,2.32,2312,3.139,2313,3.939,2494,2.539,2530,2.27,2531,1.761,2535,2.668,2882,4.116,3601,2.442,4266,3.401,4539,2.579,4540,2.668,4541,2.27,4565,4.765,4567,3.08,4571,7.551,4572,7.879,4578,4.912,4580,6.283,4584,2.987,4586,3.519,4702,2.907,4753,7.162,8980,2.539,8989,3.835,10665,2.837,11333,3.08,11837,2.775,12249,8.072,12269,4.428,12402,5.331,12477,6.179,13915,3.332,13941,6.626,13974,7.647,14232,5.316,14679,5.615,14799,5.414,15318,3.519,15821,3.08,16277,4.914,16337,4.914,16393,8.294,16395,7.904,16419,2.987,16420,3.332,16433,3.08,16451,3.192,16505,3.519,16511,3.332,16512,3.332,16672,5.615,16843,2.987,17122,3.08,17201,3.519,17204,5.615,17209,3.519,17223,3.332,17224,8.817,17225,3.519,17226,5.615,17227,5.615,17229,3.519,17230,3.519,17324,3.519,17407,3.519,17420,4.765,17442,5.316,17443,6.998,17444,8.553,17445,7.571,17451,3.332,19301,3.332,19323,9.126,22107,4.914,22116,5.615,22117,5.615,22166,6.998,22242,5.316,22382,10.564,22383,5.615,22384,7.574,22385,3.804,22386,3.804,22387,6.07,22388,3.804,22389,6.07,22390,3.804,22391,5.615,22392,3.804,22393,3.804,22394,3.804,22395,3.804,22396,3.804,22397,7.574,22398,3.804,22399,3.804,22400,3.804,22401,3.804,22402,3.804,22403,8.644,22404,3.804,22405,3.804,22406,6.07,22407,3.519,22408,3.519,22409,3.804,22410,6.07,22411,6.07,22412,6.07,22413,3.804,22414,3.804,22415,3.804,22416,3.804,22417,3.804,22418,3.804,22419,3.804,22420,9.445,22421,3.804,22422,6.07,22423,3.804]],["title/classes/UserMapper.html",[0,0.232,22424,6.012]],["body/classes/UserMapper.html",[0,0.313,2,1.021,3,0.02,4,0.02,5,0.01,7,0.133,8,1.387,27,0.38,29,0.73,30,0.001,31,0.526,32,0.12,33,0.443,34,1.544,35,1.122,95,0.136,99,1.499,101,0.014,103,0.001,104,0.001,154,1.869,236,1.505,239,3.043,276,4.96,349,0.955,413,3.752,651,4.451,652,4.451,653,4.743,655,4.679,1108,5.513,4266,3.121,4271,5.837,4446,5.766,4456,8.091,7331,7.479,11710,7.751,13413,7.253,13414,7.059,13415,6.89,13416,7.253,18485,9.596,18489,9.596,19139,7.479,22008,8.547,22009,8.547,22010,8.547,22015,8.547,22016,8.547,22017,8.547,22018,8.547,22019,8.547,22048,10.892,22050,8.547,22424,10.017,22425,9.239,22426,9.239,22427,9.239,22428,9.239]],["title/classes/UserMatchListResponse.html",[0,0.232,13611,5.759]],["body/classes/UserMatchListResponse.html",[0,0.354,2,0.719,3,0.014,4,0.014,5,0.007,7,0.093,27,0.49,29,0.514,30,0.001,31,0.517,32,0.174,33,0.571,34,1.087,39,1.778,47,0.794,55,2.817,56,5.937,59,2.796,70,6.201,95,0.142,101,0.014,103,0,104,0,112,0.695,128,2.65,138,2.024,143,1.443,148,2.015,149,3.496,150,1.462,153,2.825,180,1.582,181,1.76,191,3.544,192,4.163,239,2.964,245,3.244,247,2.795,276,2.821,284,3.594,319,2.757,361,5.943,379,0.821,382,3.379,517,2.459,556,1.599,564,2.032,593,2.423,651,4.373,652,4.373,808,3.593,815,7.801,816,6.714,817,5.207,819,3.273,821,4.841,822,3.152,823,3.462,824,2.308,825,4.563,826,5.887,827,5.257,828,4.279,829,3.363,830,4.563,831,4.563,833,4.11,834,3.544,839,2.82,1512,7.06,1903,4.279,3134,2.996,3135,4.163,3136,3.698,3140,3.273,3309,4.11,4565,4.094,5126,3.967,5590,4.012,10079,4.342,10080,4.745,10081,4.342,10082,4.745,11285,4.484,11303,4.65,11304,5.535,12840,4.971,12841,4.41,12858,7.615,12880,5.458,13611,7.615,13661,10.129,13663,7.988,13666,5.458,13667,5.458,13668,5.458,13669,5.458,13733,9.156,22429,8.397,22430,6.018,22431,6.505,22432,6.505,22433,5.697]],["title/classes/UserMatchMapper.html",[0,0.232,13603,5.759]],["body/classes/UserMatchMapper.html",[0,0.247,2,0.805,3,0.016,4,0.016,5,0.008,7,0.105,8,1.19,27,0.404,29,0.776,30,0.001,31,0.631,32,0.127,33,0.47,35,1.192,39,1.991,59,2.244,95,0.147,99,1.182,100,3.335,101,0.011,103,0.001,104,0.001,143,1.616,236,1.187,239,2.902,310,4.254,321,5.315,340,3.531,349,1.319,413,3.853,437,1.682,486,2.195,528,3.74,529,2.08,593,4.132,651,3.51,652,3.51,783,5.479,790,3.666,1309,6.423,1931,4.603,3135,4.663,3136,4.142,3174,4.863,3175,4.725,4565,5.002,4660,5.388,4661,5.208,5558,3.997,11285,5.022,11318,9.955,12006,5.434,12840,7.496,12841,6.651,12842,10.73,12886,9.606,13603,8.231,13605,6.381,13661,9.315,13663,8.475,13686,5.72,13688,6.113,13740,5.72,18380,8.592,18503,9.076,18508,6.74,18509,6.74,18510,6.74,22434,11.091,22435,7.286,22436,9.81,22437,7.286,22438,7.286,22439,7.286,22440,7.286,22441,9.81,22442,7.286,22443,7.286,22444,7.286,22445,7.286,22446,9.81,22447,7.286,22448,7.286,22449,7.286,22450,7.286,22451,7.286]],["title/classes/UserMatchResponse.html",[0,0.232,13661,5.389]],["body/classes/UserMatchResponse.html",[0,0.346,2,0.689,3,0.014,4,0.014,5,0.007,7,0.089,27,0.515,29,0.493,30,0.001,31,0.582,32,0.172,33,0.49,34,1.473,39,2.793,47,0.896,55,2.085,56,4.245,70,4.433,95,0.139,101,0.014,103,0,104,0,112,0.674,128,3.59,138,2.176,143,1.954,148,1.932,149,3.394,150,1.401,153,2.787,180,1.087,181,2.384,191,3.397,192,3.991,239,3.174,245,3.205,247,2.679,276,2.704,284,2.661,319,3.734,361,6.659,379,0.787,381,2.113,517,3.331,564,2.753,593,2.323,651,5.643,652,5.643,808,3.488,815,5.434,816,3.397,817,3.578,821,5.142,833,3.94,834,3.397,839,3.449,1277,3.483,1512,7.966,1903,5.795,3134,4.058,3135,5.639,3136,5.009,3140,4.433,3309,5.567,3876,3.683,4565,5.758,5126,5.373,5590,5.434,10079,4.162,10080,4.549,10081,4.162,10082,4.549,11285,7.043,11303,6.298,11304,6.771,12840,7.808,12841,6.927,12858,7.393,12880,5.232,13611,5.232,13661,10.022,13663,8.951,13666,5.232,13667,5.232,13668,5.232,13669,5.232,13733,10.259,22429,11.81,22430,5.769,22433,7.717,22452,6.236,22453,6.236,22454,6.236,22455,6.236,22456,6.236,22457,6.236,22458,6.236]],["title/interfaces/UserMetdata.html",[105,0.702,10217,5.389]],["body/interfaces/UserMetdata.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.811,30,0.001,31,0.36,32,0.14,34,1.056,36,2.522,47,0.921,51,4.363,55,0.817,72,1.805,95,0.147,99,0.649,101,0.006,103,0,104,0,105,0.991,107,0.94,112,0.484,119,0.827,120,2.678,177,1.918,203,1.454,226,0.585,236,1.677,239,0.938,262,2.599,284,3.627,349,1.242,358,1.787,379,0.505,437,1.796,475,2.027,528,2.055,529,2.539,539,0.848,560,2.597,564,2.779,593,2.354,603,2.61,608,3.121,696,2.453,933,5.363,975,4.336,1122,2.561,1779,2.441,1898,4.77,1899,4.598,1901,3.89,1911,5.309,1920,3.044,1926,4.314,1928,2.529,1933,4.517,1940,2.985,1941,2.985,2159,6.983,2232,2.255,2395,2.364,2424,2.364,2627,6.417,3602,4.099,3603,2.014,4266,1.352,4417,5.011,4539,2.714,4540,2.808,4541,2.388,4660,4.301,4661,2.861,4822,4.625,4833,4.968,5310,2.672,5575,2.808,5952,5.151,5991,4.433,6055,2.714,6069,5.079,6127,4.517,6217,2.808,6290,5.84,6308,5.227,6324,4.83,6327,2.92,6341,4.829,6349,4.83,6722,3.733,6725,4.948,6726,2.808,6829,2.92,6878,3.142,7322,5.154,7328,4.285,7521,3.944,9065,2.861,9125,3.058,9147,2.92,9314,4.885,9339,6.358,9457,2.861,9460,7.072,9466,5.227,9495,3.058,10168,3.058,10169,3.24,10170,3.24,10171,3.24,10172,3.24,10173,3.24,10174,2.861,10175,3.24,10188,5.398,10190,3.24,10193,3.24,10195,3.24,10197,3.24,10198,7.201,10200,3.24,10202,3.24,10204,3.24,10206,3.24,10208,8.46,10209,3.24,10211,3.24,10213,3.24,10215,3.058,10216,3.24,10217,6.148,10218,6.983,10219,4.962,10220,5.116,10221,5.116,10222,7.84,10223,5.116,10224,3.24,10225,5.116,10226,3.24,10227,3.24,10228,5.116,10229,3.24,10230,3.24,10231,5.116,10232,3.24,10233,3.24,10234,3.24,10235,3.24,10236,3.24,10237,3.24,10238,3.24,10239,3.24,10240,3.24,10241,3.24,10242,6.34,10243,3.24,10244,3.24,10245,3.24,10246,3.24,10247,3.24,10248,3.24,10249,3.24,10250,3.24,10251,3.24,10252,3.24,10253,3.24,10254,5.116,10255,3.24,10256,3.142,10257,3.24,10258,4.218,10259,2.672,10260,3.142,10261,3.142,10262,3.24,10263,5.116,10264,3.24,10265,5.116,10266,3.24,10267,3.142,10268,3.24,10269,3.24,10270,3.24,10271,3.24,10272,3.24,10273,3.24,10274,3.24,10275,3.142,10276,3.142]],["title/controllers/UserMigrationController.html",[259,2.624,22108,6.012]],["body/controllers/UserMigrationController.html",[0,0.287,3,0.019,4,0.019,5,0.01,7,0.122,8,1.315,27,0.349,29,0.671,30,0.001,31,0.483,32,0.11,33,0.407,35,1.031,36,2.323,52,5.223,95,0.158,100,2.885,101,0.013,102,4.298,103,0.001,104,0.001,128,4.868,138,1.519,150,1.907,177,2.02,223,3.533,226,1.24,239,1.989,259,3.244,261,4.064,262,2.638,310,3.68,337,4.418,345,2.706,349,0.878,437,1.43,603,1.746,608,1.967,631,4.327,824,3.846,2255,4.568,2764,4.018,4565,4.891,13607,7.433,17122,6.871,17420,8.513,17431,10.025,17434,9.097,17439,11.027,21920,7.433,22107,8.778,22108,9.497,22113,10.031,22114,7.852,22459,10.843,22460,8.487,22461,10.843,22462,8.487,22463,10.843,22464,8.487,22465,8.487,22466,8.487,22467,8.487,22468,8.487,22469,8.487,22470,8.487,22471,8.487]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.232,22472,6.35]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.326,2,1.064,3,0.021,4,0.021,5,0.011,7,0.138,8,1.423,27,0.397,30,0.001,35,1.17,52,6.096,95,0.115,101,0.015,103,0.001,104,0.001,239,2.257,349,0.996,654,2.893,997,4.485,1025,3.813,1147,3.564,1338,5.86,1339,6.542,1341,3.089,1343,6.542,4565,5.293,6961,6.247,8829,6.588,8830,6.839,11316,7.184,13754,6.639,22472,10.856,22473,11.735,22474,9.632,22475,9.632,22476,9.632]],["title/classes/UserMigrationMapper.html",[0,0.232,17120,6.012]],["body/classes/UserMigrationMapper.html",[0,0.327,2,1.067,3,0.021,4,0.021,5,0.011,7,0.139,8,1.425,27,0.398,29,0.763,30,0.001,31,0.55,32,0.125,33,0.463,35,1.173,95,0.14,100,3.282,101,0.015,103,0.001,104,0.001,128,3.934,236,1.573,349,0.998,413,3.826,437,1.273,790,4.858,824,4.169,2119,6.262,3603,4.858,14799,9.423,15833,10.292,15834,10.292,17112,8.456,17116,11.336,17120,10.292,22258,8.932,22477,11.752,22478,9.655,22479,9.655]],["title/classes/UserMigrationResponse.html",[0,0.232,17116,5.759]],["body/classes/UserMigrationResponse.html",[0,0.341,2,1.114,3,0.022,4,0.022,5,0.011,7,0.145,27,0.497,29,0.797,30,0.001,31,0.574,32,0.156,33,0.484,47,0.847,101,0.016,103,0.001,104,0.001,112,0.923,181,3.265,379,1.273,381,3.418,2119,8.373,2135,8.462,17116,11.473,22304,9.331,22480,12.91,22481,10.086,22482,10.086,22483,10.086]],["title/injectables/UserMigrationService.html",[539,0.921,16395,5.389]],["body/injectables/UserMigrationService.html",[0,0.111,3,0.007,4,0.007,5,0.004,7,0.047,8,0.652,26,1.612,27,0.492,29,0.82,30,0.001,31,0.59,32,0.152,33,0.497,35,1.259,36,2.367,47,0.994,52,1.577,55,0.668,59,1.656,66,7.166,83,0.952,85,5.134,94,4.667,95,0.142,99,0.531,101,0.005,102,1.658,103,0,104,0,112,0.411,128,5.051,143,0.726,177,2.372,226,0.478,236,1.947,239,0.767,262,2.675,349,1.143,379,0.678,437,1.665,480,1.903,486,2.384,529,1.952,539,0.722,541,0.787,579,1.756,593,1.22,603,2.777,608,2.624,617,7.586,654,2.378,891,2.651,990,1.839,1025,1.296,1218,2.032,1242,1.77,1262,2.386,1309,3.961,1341,1.05,1456,2.154,1605,2.442,1726,2.299,1931,2.069,1958,2.651,1959,5.002,1961,3.536,1963,1.845,1964,3.029,1971,1.524,2021,4.436,2046,2.442,2079,1.448,2080,1.616,2081,1.559,2119,4.436,2255,3.592,2295,3.029,2312,2.835,2313,3.608,2318,3.113,2680,1.896,2681,1.756,3134,1.508,3430,3.705,3601,2.163,3603,1.647,3940,1.845,4565,5.464,4699,2.651,4753,3.645,4822,5.863,4957,2.571,5554,1.861,5624,2.22,5703,2.043,6422,4.565,7275,2.043,7283,4.797,7322,6.36,7329,2.651,7614,3.396,8176,2.571,8980,6.919,8989,3.396,10665,2.442,11419,3.645,11880,6.272,12661,2.442,12776,4.009,13140,3.922,13402,2.747,13434,5.99,13934,4.973,14225,2.651,14501,2.747,14508,2.747,14628,2.34,14799,8.093,14952,4.708,15820,2.868,15821,2.651,15830,8.693,16394,7.242,16395,4.221,16407,7.078,16438,4.973,16456,6.327,16476,6.327,16477,3.029,16992,2.502,17081,4.973,17420,7.794,17423,5.738,17424,5.738,17436,3.029,17442,5.99,17443,2.651,17444,2.651,17445,6.934,17451,2.868,19311,6.327,19315,6.327,19323,9.335,22204,6.215,22312,10.611,22347,4.973,22379,3.029,22383,4.973,22391,4.973,22484,7.917,22485,5.376,22486,5.376,22487,5.376,22488,7.917,22489,5.376,22490,3.274,22491,3.274,22492,3.274,22493,3.274,22494,5.376,22495,3.274,22496,5.376,22497,7.917,22498,3.274,22499,3.274,22500,3.274,22501,5.376,22502,3.274,22503,3.274,22504,8.743,22505,3.274,22506,6.839,22507,3.274,22508,3.274,22509,3.274,22510,3.274,22511,3.274,22512,3.274,22513,3.274,22514,6.839,22515,5.376,22516,3.274,22517,3.274,22518,3.274,22519,3.274,22520,3.274,22521,3.274,22522,3.274,22523,3.274,22524,3.274,22525,3.274,22526,3.274,22527,6.839,22528,3.274,22529,3.274,22530,3.274,22531,3.274,22532,3.274,22533,3.274,22534,3.274,22535,3.274,22536,3.274,22537,3.274,22538,3.274,22539,3.274,22540,5.376,22541,3.274,22542,3.274,22543,3.274,22544,3.274,22545,5.376,22546,3.274,22547,3.274,22548,3.274,22549,3.274,22550,3.274,22551,3.274,22552,3.274,22553,3.274,22554,3.274,22555,3.274,22556,3.274,22557,3.274,22558,3.274,22559,3.274,22560,3.274,22561,3.274]],["title/modules/UserModule.html",[201,1.848,3593,4.185]],["body/modules/UserModule.html",[0,0.271,3,0.018,4,0.018,5,0.009,30,0.001,95,0.161,101,0.012,103,0.001,104,0.001,201,3.131,203,2.914,204,3.125,205,3.213,206,3.2,207,3.187,208,4.301,209,4.413,213,9.368,214,6.102,217,8.439,218,4.189,219,3.149,220,3.077,225,4.155,226,1.172,227,3.323,654,2.409,1341,2.572,1420,9.774,1437,6.127,1963,4.518,3593,8.77,4822,8.265,5434,8.387,21967,10.996,22562,8.018,22563,8.018,22564,8.018,22565,8.018,22566,8.018,22567,7.418,22568,7.418,22569,8.018,22570,8.018]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.232,16421,6.012]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.25,2,0.817,3,0.016,4,0.016,5,0.008,7,0.106,8,1.201,26,2.43,27,0.527,29,0.584,30,0.001,31,0.421,32,0.161,33,0.354,35,0.898,47,0.955,48,5.716,59,2.277,95,0.133,99,1.199,101,0.011,103,0.001,104,0.001,112,0.758,177,2.557,180,1.727,182,2.35,193,5.392,239,1.732,284,2.233,292,5.658,349,0.764,379,1.25,382,3.565,480,2.756,486,2.984,603,2.299,654,2.22,990,2.529,1025,4.423,1147,3.008,1338,5.173,1339,5.775,1341,2.371,1343,5.928,3083,5.284,3930,5.648,4743,3.905,5550,4.862,5554,5.631,6961,4.794,7082,4.613,8829,5.816,8830,6.038,8980,7.457,8983,6.474,8989,7.54,8993,5.513,9276,4.67,9278,5.284,9279,6.474,9283,4.322,9284,4.507,11837,7.226,12266,9.352,12268,6.474,16339,8.676,16340,8.676,16341,8.311,16375,6.838,16376,6.202,16421,8.676,16445,6.474,22571,11.172,22572,11.172,22573,7.392,22574,7.392,22575,7.392,22576,7.392,22577,7.392,22578,7.392]],["title/classes/UserParams.html",[0,0.232,650,5.557]],["body/classes/UserParams.html",[0,0.402,2,1.087,3,0.022,4,0.022,5,0.011,7,0.141,27,0.405,30,0.001,32,0.127,34,1.987,39,3.491,47,0.835,95,0.142,101,0.015,103,0.001,104,0.001,112,0.91,135,6.64,138,1.761,142,4.633,143,2.636,144,3.87,145,3.333,148,3.049,150,2.211,153,2.256,239,2.786,245,3.049,650,9.625,808,4.707,3876,5.813,22579,9.842,22580,9.842]],["title/injectables/UserRepo.html",[217,4.14,539,0.921]],["body/injectables/UserRepo.html",[0,0.126,3,0.008,4,0.008,5,0.004,7,0.053,8,0.723,10,2.418,12,2.674,18,2.979,26,2.131,27,0.493,29,0.91,30,0.001,31,0.655,32,0.149,33,0.552,34,1.247,35,1.429,36,2.772,39,1.629,40,2.871,47,0.788,48,4.086,49,1.41,55,0.758,56,1.791,59,1.835,70,1.87,72,2.688,95,0.125,96,1.593,97,1.547,98,2.218,99,0.603,101,0.006,103,0,104,0,141,2.79,143,1.321,145,1.67,154,0.752,155,1.946,173,1.081,180,1.039,201,1.604,217,3.594,226,0.543,236,0.971,239,2.453,262,2.942,276,3.699,340,1.801,349,1.082,361,4.849,382,2.548,437,1.706,479,4.334,480,1.034,486,2.246,490,3.547,519,1.145,521,2.953,529,1.061,539,0.8,541,0.893,574,2.772,593,2.22,603,1.535,608,2.521,644,3.972,651,1.791,652,1.791,653,3.059,654,2.562,655,3.018,679,6.005,681,6.899,683,5.513,685,2.491,686,2.73,687,3.681,696,3.624,708,1.49,711,2.218,712,2.242,713,2.218,714,2.242,716,2.218,717,2.242,718,1.993,721,2.32,723,2.657,733,3.256,742,4.096,743,4.04,816,2.025,823,1.978,975,1.812,982,6.223,996,3.593,997,3.472,998,3.551,999,3.752,1000,2.041,1001,2.562,1004,2.84,1218,2.253,1309,5.407,1371,2.267,1726,1.59,1728,2.445,1931,3.765,2093,3.357,2340,3.594,3122,4.03,3140,3.752,3452,4.107,4266,2.013,4509,3.009,4741,6.232,4743,1.964,5310,5.694,5541,4.654,6132,4.94,6861,2.242,6926,3.119,7031,2.84,7149,5.331,7150,5.202,7160,4.444,7179,2.712,7180,2.712,7222,4.553,9432,4.553,10414,2.84,10926,3.387,11012,6.532,11651,3.256,11652,3.256,12813,3.439,12848,9.127,12849,2.657,12875,3.256,12886,6.906,13686,2.918,13740,2.918,13828,3.439,13839,3.119,13840,3.439,13842,3.439,13847,3.256,13848,3.439,14628,2.657,14664,4.999,21166,5.219,21168,5.219,21970,5.513,21977,5.513,21996,3.439,21999,3.439,22005,3.439,22007,3.439,22581,3.717,22582,5.513,22583,5.513,22584,7.458,22585,5.513,22586,3.717,22587,5.513,22588,3.717,22589,3.717,22590,3.717,22591,3.717,22592,3.717,22593,3.717,22594,3.717,22595,3.717,22596,3.717,22597,3.717,22598,3.717,22599,3.717,22600,3.717,22601,5.513,22602,3.717,22603,3.717,22604,5.959,22605,5.959,22606,5.959,22607,3.717,22608,3.717,22609,7.458,22610,3.717,22611,3.717,22612,3.717,22613,5.959,22614,3.717,22615,3.717,22616,3.119,22617,5.959,22618,3.717,22619,3.717,22620,5.959,22621,3.717,22622,3.717,22623,5.959,22624,5.959,22625,5.959,22626,5.959,22627,5.959,22628,5.959,22629,5.959,22630,7.458,22631,3.717,22632,3.717,22633,3.717,22634,3.717,22635,3.717,22636,3.717,22637,5.513,22638,3.717]],["title/injectables/UserRule.html",[539,0.921,1774,5.759]],["body/injectables/UserRule.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.116,8,1.276,27,0.481,29,0.924,30,0.001,31,0.665,32,0.16,33,0.56,35,1.278,95,0.147,101,0.013,103,0.001,104,0.001,119,2.556,131,4.434,154,2.744,177,1.509,226,1.183,239,3.35,345,2.582,349,1.088,379,1.022,437,1.541,539,1.412,541,1.946,604,3.328,662,4.082,1147,2.46,1670,6.739,1697,8.201,1718,4.884,1735,7.543,1774,8.827,1875,6.823,1879,6.566,1886,5.406,3411,7.022,3412,5.49,3415,6.92,3418,5.49,3419,7.133,3420,6.039,22639,8.098,22640,8.098,22641,8.098,22642,8.098,22643,10.521]],["title/classes/UserScope.html",[0,0.232,21985,6.012]],["body/classes/UserScope.html",[0,0.209,2,0.684,3,0.014,4,0.014,5,0.007,7,0.089,8,1.063,26,2.253,27,0.541,29,0.986,30,0.001,31,0.71,32,0.17,33,0.598,35,1.515,59,3.598,83,4.044,95,0.104,99,1.004,101,0.01,103,0,104,0,112,0.671,119,2.506,145,1.735,180,1.528,227,2.565,239,1.45,310,2.684,349,1.208,382,3.489,480,1.722,486,1.864,519,1.906,556,2.872,603,2.496,654,1.859,2350,6.01,2837,6.148,4266,3.437,5558,5.28,6242,5.85,6243,5.85,6244,5.85,6249,5.85,6250,5.85,6251,4.196,6252,4.131,6253,4.196,6254,4.196,6263,4.131,6264,5.85,6265,4.196,6266,4.131,6267,4.196,6268,4.131,6269,7.797,6724,7.273,7170,5.01,8505,7.676,10846,7.676,10855,7.676,13052,9.8,13414,7.775,13415,6.536,15121,5.42,19367,10.806,21985,11.751,21992,8.108,22644,6.189,22645,8.764,22646,8.764,22647,6.189,22648,8.764,22649,6.189,22650,8.764,22651,6.189,22652,8.764,22653,6.189,22654,8.764,22655,6.189]],["title/injectables/UserService.html",[539,0.921,4822,4.054]],["body/injectables/UserService.html",[0,0.136,3,0.009,4,0.009,5,0.004,7,0.058,8,0.767,12,2.84,18,3.164,26,2.609,27,0.517,29,0.992,30,0.001,31,0.714,32,0.162,33,0.602,34,1.058,35,1.506,36,2.938,39,2.434,40,3.049,47,0.87,48,4.264,59,1.235,66,4.105,94,1.992,95,0.154,99,0.651,101,0.006,102,2.031,103,0,104,0,107,0.942,119,1.62,133,2.194,143,1.975,157,2.503,177,1.806,217,6.213,226,0.586,227,1.662,236,0.653,239,2.905,262,3.08,285,2.638,310,1.739,349,1.263,358,1.791,379,0.799,437,1.717,490,3.169,519,1.95,529,1.145,539,0.85,541,0.964,584,7.093,598,2.322,603,2.3,608,2.666,617,8.241,653,2.059,655,2.031,822,3.067,891,3.247,940,3.71,1108,2.393,1437,3.064,1605,2.991,1720,3.512,1723,3.206,1891,4.969,2232,2.259,2308,4.44,2324,4.44,2396,2.301,2680,4.541,3122,3.384,3174,2.677,3175,4.105,3417,2.719,4260,7.312,4630,5.605,4637,3.064,4734,8.241,4756,3.365,4822,3.738,5953,3.249,7150,5.43,7310,2.991,7322,6.597,7325,4.72,7328,4.291,7334,3.512,10089,5.544,13061,3.247,14862,5.544,14866,5.544,17212,3.71,17351,5.856,18293,3.512,21923,5.856,21967,9.048,21974,8.238,21984,3.71,21997,3.71,22048,6.579,22068,3.512,22424,3.512,22567,3.71,22568,3.71,22582,5.856,22583,5.856,22585,5.856,22587,5.856,22637,5.856,22656,4.01,22657,6.33,22658,6.33,22659,6.33,22660,6.33,22661,5.856,22662,4.01,22663,6.33,22664,4.01,22665,4.01,22666,4.01,22667,4.01,22668,4.01,22669,6.33,22670,4.01,22671,6.33,22672,4.01,22673,6.33,22674,4.01,22675,6.33,22676,4.01,22677,5.856,22678,4.01,22679,5.856,22680,8.904,22681,4.01,22682,6.33,22683,4.01,22684,6.33,22685,4.01,22686,4.01,22687,4.01,22688,4.01,22689,4.01,22690,4.01,22691,4.01,22692,4.01,22693,4.01,22694,4.01,22695,4.01,22696,4.01,22697,6.33,22698,4.01,22699,4.01,22700,4.01,22701,4.01,22702,4.01,22703,6.33,22704,4.01,22705,4.01,22706,4.01,22707,4.01,22708,4.01,22709,3.71,22710,4.01,22711,3.71,22712,4.01]],["title/injectables/UserUc.html",[539,0.921,13614,5.557]],["body/injectables/UserUc.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.107,8,1.21,26,2.671,27,0.494,29,0.948,30,0.001,31,0.682,32,0.155,33,0.575,35,1.365,36,2.568,39,2.727,95,0.153,99,1.213,101,0.012,103,0.001,104,0.001,107,1.755,143,2.213,157,4.664,177,1.859,217,7.75,226,1.092,227,3.097,236,1.217,239,2.809,262,2.837,271,4.17,345,2.383,349,1.032,379,0.943,437,1.481,519,3.073,529,2.133,539,1.339,541,1.796,584,8.629,598,4.328,603,2.467,608,2.603,790,3.76,990,3.414,1720,6.545,1723,5.054,1891,7.834,2680,4.328,4258,10.058,4260,8.127,12140,6.914,13061,6.05,13614,8.078,18293,6.545,22068,6.545,22661,9.232,22677,9.232,22679,9.232,22709,6.914,22711,6.914,22713,7.473,22714,9.979,22715,7.473,22716,9.979,22717,7.473,22718,7.473,22719,7.473,22720,7.473,22721,7.473,22722,7.473]],["title/classes/UsersList.html",[0,0.232,6787,5.759]],["body/classes/UsersList.html",[0,0.211,2,0.855,3,0.009,4,0.009,5,0.004,7,0.154,26,2.179,27,0.319,30,0.001,31,0.441,32,0.139,34,1.605,39,2.116,47,0.896,62,2.323,83,2.97,95,0.145,96,1.051,101,0.012,103,0,104,0,105,0.402,112,0.477,119,1.288,143,2.462,144,3.126,145,1.103,153,1.774,154,1.261,168,3.576,172,3.468,173,1.144,174,2.383,175,1.756,178,1.563,180,0.686,181,1.064,182,1.25,236,1.808,239,2.394,253,1.941,316,2.125,348,3.136,349,1.352,379,0.496,404,1.582,413,1.882,437,1.724,473,2.109,486,2.332,490,1.4,519,1.92,528,2.019,529,1.779,556,2.511,565,3.719,603,1.812,644,4.101,651,4.243,652,4.243,654,1.872,662,3.638,708,1.576,726,3.3,839,2.405,915,2.759,1147,1.194,1226,3.002,1271,1.225,1664,1.47,1717,2.985,1726,2.665,1732,2.062,1820,2.372,1926,3.305,2024,1.831,2044,3.419,2670,4.68,2673,5.61,2677,4.252,2685,2.759,2687,2.454,3122,3.802,3174,2.625,3175,2.551,3346,2.347,3454,2.517,3751,2.811,3797,2.454,3821,4.099,3822,4.099,4119,2.323,4266,1.328,4267,5.431,4282,3.3,4316,5.647,4342,2.755,4417,4.954,4833,2.197,4969,2.426,5094,2.886,6624,2.933,6685,2.811,6717,3.444,6718,6.409,6719,5.249,6720,5.534,6721,4.16,6722,4.572,6723,2.711,6724,5.534,6725,4.891,6726,4.372,6727,5.647,6729,3.444,6731,3.444,6734,3.444,6735,2.551,6737,3.444,6739,6.78,6742,3.444,6744,3.444,6753,3.444,6757,2.454,6758,3.444,6759,3.444,6760,3.8,6761,4.455,6762,3.444,6763,5.774,6764,3.444,6765,4.547,6766,3.184,6767,3.681,6768,2.625,6769,4.099,6770,2.426,6771,3.938,6772,2.216,6773,5.046,6774,5.046,6775,3.444,6776,3.184,6777,2.811,6778,3.444,6779,3.444,6780,3.3,6781,2.933,6782,3.444,6783,3.444,6784,3.088,6785,3.444,6786,3.844,6787,10.603,6788,5.534,6789,3.184,6790,4.226,6791,2.426,6792,2.454,6793,2.372,6794,3.184,6795,3.444,6796,3.444,6797,5.459,6798,5.459,6799,5.459,6800,7.131,6801,5.046,6802,4.762,6803,5.459,6804,4.648,6805,4.762,6806,2.933,6807,3.444,6808,3.444,6809,2.517,6810,4.16,6811,3.444,6812,3.444,6813,3.444,6814,5.459,6815,3.444,6816,3.444,6817,3.444,6818,3.444,6819,3.444,6820,3.444,6821,3.444,6822,6.267,6823,6.78,6824,3.444,6825,3.444,6826,3.444,6827,3.444,6828,3.444,6829,2.869,6830,3.444,6831,3.444,6832,3.444,6833,3.444,6834,3.444,6835,2.666,6836,3.444,6837,3.3,6838,3.444,6839,6.78,6840,5.459,6841,3.444,6842,3.444,6843,3.184,6844,3.184,6845,2.711,6846,3.444,6847,6.267,6848,3.444,6849,3.444,6850,3.444,6851,3.444,22723,3.933,22724,3.933,22725,3.933]],["title/classes/ValidationError.html",[0,0.232,283,4.233]],["body/classes/ValidationError.html",[0,0.266,2,0.867,3,0.017,4,0.017,5,0.009,7,0.113,8,1.25,27,0.547,29,0.62,30,0.001,31,0.447,32,0.178,33,0.552,35,0.954,47,0.915,55,1.601,59,2.417,95,0.123,101,0.012,103,0.001,104,0.001,112,0.789,138,2.271,177,2.563,180,1.797,182,2.495,226,1.147,283,6.357,347,2.832,379,0.99,382,3.892,821,5.659,824,2.784,951,5.388,988,5.325,990,4.343,1025,5.158,1269,8.405,1270,7.618,1271,3.807,1272,7.365,1276,5.09,1277,4.383,1278,5.09,1279,5.09,1280,5.09,1281,5.09,1282,5.09,1283,4.733,1284,4.461,1285,6.162,1286,6.585,1289,4.84,1290,4.958,1291,6.162,1691,6.162,22726,7.848,22727,7.848,22728,7.848]],["title/classes/ValidationErrorDetailResponse.html",[0,0.232,1301,6.012]],["body/classes/ValidationErrorDetailResponse.html",[0,0.347,2,1.134,3,0.023,4,0.023,5,0.012,27,0.423,29,0.811,30,0.001,31,0.584,32,0.133,33,0.492,47,0.978,101,0.016,103,0.001,104,0.001,177,1.912,379,1.295,990,4.171,1286,8.612,1297,8.554,1301,10.678,5662,8.552,22729,12.192,22730,10.264,22731,10.264,22732,10.264]],["title/modules/ValidationModule.html",[201,1.848,6677,5.759]],["body/modules/ValidationModule.html",[0,0.348,3,0.023,4,0.023,5,0.012,30,0.001,95,0.155,101,0.016,103,0.001,104,0.001,201,3.288,203,3.739,208,3.806,226,1.504,636,6.017,6677,10.244,6690,11.296,8909,7.863,8913,7.863,11540,10.694,22733,10.29,22734,10.29,22735,10.29]],["title/entities/VideoConference.html",[154,1.389,6786,4.233]],["body/entities/VideoConference.html",[0,0.357,3,0.018,4,0.018,5,0.009,7,0.178,27,0.482,30,0.001,32,0.16,47,0.741,95,0.126,96,2.173,101,0.019,103,0.001,104,0.001,112,0.896,119,2.419,138,2.095,154,2.134,155,2.655,170,6.213,172,4.11,173,2.364,174,4.032,175,3.63,177,1.515,178,3.232,180,1.417,181,2.2,182,2.585,490,4.41,839,2.526,2739,5.617,3459,6.064,4833,5.891,5208,6.582,6786,6.505,7105,7.393,7131,5.703,8542,4.581,8544,5.348,8563,5.604,8564,5.604,8565,5.931,12479,8.281,16013,6.383,16168,9.479,22736,11.462,22737,7.522,22738,9.24,22739,8.131,22740,8.131,22741,8.131,22742,7.121,22743,7.522,22744,7.522,22745,6.582,22746,6.821,22747,6.582,22748,6.383,22749,9.238,22750,7.522,22751,7.522,22752,7.522,22753,7.522,22754,7.522]],["title/classes/VideoConference-1.html",[0,0.193,708,2.287,6786,3.52]],["body/classes/VideoConference-1.html",[0,0.303,2,0.989,3,0.02,4,0.02,5,0.01,7,0.128,27,0.529,29,0.708,30,0.001,31,0.51,32,0.166,33,0.587,95,0.146,99,1.453,100,3.044,101,0.014,103,0.001,104,0.001,112,0.858,238,6.841,379,1.13,643,6.053,1998,6.883,2008,6.281,2014,5.4,2186,10.308,3971,9.411,6786,8.154,8542,5.045,8544,5.889,8555,6.171,8557,7.249,22755,11.58,22756,8.954,22757,11.217,22758,8.954,22759,9.359,22760,8.954,22761,8.284,22762,8.284,22763,8.954,22764,8.954,22765,8.284]],["title/modules/VideoConferenceApiModule.html",[201,1.848,19508,5.557]],["body/modules/VideoConferenceApiModule.html",[0,0.283,3,0.018,4,0.018,5,0.009,30,0.001,95,0.158,101,0.013,103,0.001,104,0.001,201,3.192,203,3.033,204,3.253,205,3.345,206,3.332,207,3.318,208,4.385,209,3.167,218,4.299,219,3.279,220,3.203,222,5.209,223,4.466,225,4.265,226,1.22,259,3.191,1752,7.531,1998,4.346,2531,3.865,2764,3.952,3593,8.078,3603,4.2,8542,4.703,8544,5.49,19508,11.636,19530,6.758,22766,8.348,22767,8.348,22768,8.348,22769,11.115,22770,11.115,22771,11.115,22772,11.115,22773,11.115,22774,9.947,22775,8.348]],["title/classes/VideoConferenceBaseResponse.html",[0,0.232,8545,5.389]],["body/classes/VideoConferenceBaseResponse.html",[0,0.383,2,1.388,3,0.017,4,0.017,5,0.009,7,0.109,27,0.497,29,0.601,30,0.001,31,0.433,32,0.156,33,0.543,47,0.795,95,0.12,99,1.233,101,0.018,102,6.112,103,0.001,104,0.001,112,0.772,119,2.341,180,1.759,236,1.966,238,6.327,347,4.087,358,5.388,379,0.959,490,2.705,643,5.794,824,4.281,986,4.928,1262,2.651,1986,4.401,1998,6.539,2395,7.128,6446,4.107,8540,7.922,8541,9.861,8542,7.705,8543,6.655,8544,8.261,8545,10.343,8546,9.474,8548,5.807,8551,9.171,8554,6.375,8555,5.238,8556,6.375,8557,6.152,8558,6.655,8559,8.169,8560,8.837,8561,6.375,8562,5.432,8563,5.238,8564,5.238,8565,5.543,8566,6.375,22776,10.09,22777,7.599,22778,7.599]],["title/classes/VideoConferenceConfiguration.html",[0,0.232,22779,6.012]],["body/classes/VideoConferenceConfiguration.html",[0,0.291,2,0.949,3,0.019,4,0.019,5,0.01,7,0.123,27,0.45,30,0.001,32,0.142,47,0.964,95,0.143,101,0.013,103,0.001,104,0.001,105,0.88,112,0.836,119,2.259,413,4.032,480,3.041,486,3.62,1181,6.665,1195,8.581,1998,6.257,2014,8.051,2079,3.799,2080,4.242,2081,4.092,2196,8.849,2197,9.573,2199,9.731,3940,4.842,4957,8.581,6786,7.413,8542,6.772,12411,5.827,13432,10.527,13434,9.573,19530,9.731,22779,9.573,22780,10.931,22781,10.931,22782,10.931,22783,8.595,22784,10.931,22785,10.112,22786,8.595]],["title/controllers/VideoConferenceController.html",[259,2.624,22774,5.759]],["body/controllers/VideoConferenceController.html",[0,0.13,3,0.019,4,0.008,5,0.004,7,0.055,8,0.741,27,0.358,29,0.87,30,0.001,31,0.494,32,0.142,33,0.416,35,1.468,36,2.357,95,0.138,100,2.589,101,0.006,103,0,104,0,105,0.393,138,1.554,141,4.066,142,4.288,150,0.862,153,3.207,177,1.618,223,1.597,226,0.561,236,1.646,239,2.579,259,1.467,261,1.837,262,2.667,270,6.015,271,2.827,284,3.324,285,7.238,294,6.17,319,2.589,324,3.095,333,4.037,335,5.72,336,7.997,337,1.997,338,2.042,343,2.057,346,5.183,347,4.662,349,0.632,358,4.913,379,0.484,437,1.495,529,1.095,556,3.122,603,1.787,608,2.013,643,4.938,685,2.555,829,4.903,990,1.313,1284,2.181,1291,6.819,1306,7.169,1351,5.633,1618,2.691,1998,4.938,2094,6.787,2138,8.665,2175,8.657,2190,6.384,2205,6.209,2212,5.352,2232,4.894,2368,3.861,2718,8.909,2764,1.816,2830,3.647,2963,2.012,3083,7.866,4081,2.424,6865,2.289,8262,2.601,8542,7.66,8544,8.618,8548,6.637,9282,7.287,10886,6.336,11334,8.035,11647,8.035,13910,3.36,19470,8.665,22738,6.478,22770,6.39,22771,6.39,22772,6.39,22773,6.39,22774,5.127,22787,8.775,22788,3.836,22789,3.836,22790,3.549,22791,12.079,22792,10.74,22793,3.836,22794,9.348,22795,3.836,22796,8.035,22797,3.836,22798,3.549,22799,3.836,22800,3.836,22801,3.836,22802,3.836,22803,3.836,22804,3.836,22805,6.111,22806,3.836,22807,3.836,22808,3.836,22809,7.032,22810,3.836,22811,6.111,22812,3.836,22813,3.219,22814,3.219,22815,3.106,22816,4.669,22817,4.669,22818,6.39,22819,6.39,22820,3.549,22821,3.836,22822,3.836,22823,3.549,22824,3.836,22825,6.111,22826,3.836,22827,8.686,22828,8.686,22829,3.836,22830,3.836,22831,3.836,22832,3.836,22833,3.836,22834,3.836,22835,3.836,22836,3.836,22837,3.836,22838,3.836,22839,3.836]],["title/classes/VideoConferenceCreateParams.html",[0,0.232,22809,5.557]],["body/classes/VideoConferenceCreateParams.html",[0,0.344,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,27,0.499,30,0.001,32,0.157,33,0.643,47,0.715,95,0.136,101,0.012,103,0.001,104,0.001,105,0.788,112,0.779,118,6.513,119,2.678,138,2.171,145,2.159,147,6.556,148,2.385,149,4.859,150,1.73,153,1.765,220,3.906,249,4.935,486,3.434,1025,4.03,1262,4.232,1277,4.3,1351,6.601,1778,3.998,1998,6.567,2021,7.395,2207,6.139,3122,4.393,3601,4.096,8542,7.447,8562,8.15,8563,7.859,8564,7.859,8704,6.694,9155,6.233,9162,7.123,17457,9.416,21512,7.991,22809,8.24,22840,11.67,22841,11.402,22842,11.402,22843,7.7,22844,7.7,22845,10.178,22846,8.914,22847,10.178,22848,10.178,22849,10.178,22850,7.7,22851,7.7,22852,7.7,22853,6.46,22854,6.744,22855,6.744,22856,6.744,22857,7.7]],["title/injectables/VideoConferenceCreateUc.html",[539,0.921,22770,5.759]],["body/injectables/VideoConferenceCreateUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.937,26,2.407,27,0.47,29,0.903,30,0.001,31,0.673,32,0.148,33,0.548,35,1.324,36,2.446,47,0.802,95,0.145,99,0.844,100,1.768,101,0.008,103,0,104,0,105,0.532,177,1.717,226,0.76,236,1.258,239,1.81,262,2.74,276,3.349,349,0.538,379,0.975,437,1.506,490,4.617,519,1.602,529,1.484,539,1.037,541,1.249,556,2.265,560,2.137,579,4.142,603,2.743,608,2.926,685,3.229,756,4.81,766,2.904,829,2.688,933,2.88,950,3.207,1242,4.174,1509,8.933,1855,3.171,1888,4.082,1926,1.951,1997,5.76,1998,6.155,2002,5.521,2014,3.136,2015,4.21,2020,4.554,2060,10.001,2083,8.516,2098,4.21,2126,4.554,2160,8.556,2186,5.902,2188,8.726,2318,3.011,2443,3.327,2530,3.103,3603,2.616,4042,3.171,4266,1.756,4753,6.247,4822,6.983,5558,5.145,6786,3.207,7096,3.171,7322,4.111,8542,6.661,13056,8.823,14946,4.082,15114,4.81,16992,3.973,19470,9.649,22738,9.417,22748,4.082,22770,6.48,22858,9.92,22859,5.2,22860,7.724,22861,9.215,22862,7.724,22863,7.724,22864,4.362,22865,9.572,22866,5.2,22867,7.724,22868,5.2,22869,7.724,22870,5.2,22871,5.2,22872,9.545,22873,5.2,22874,7.724,22875,5.2,22876,7.724,22877,5.2,22878,4.362,22879,5.2,22880,5.2,22881,7.731,22882,5.2,22883,4.554,22884,4.554,22885,5.2,22886,4.81,22887,7.731,22888,4.81,22889,4.554,22890,5.2,22891,5.2,22892,9.215,22893,5.2,22894,5.2,22895,5.2,22896,5.2,22897,5.2,22898,5.2,22899,4.554,22900,5.2,22901,5.2,22902,4.81]],["title/classes/VideoConferenceDO.html",[0,0.232,22903,5.389]],["body/classes/VideoConferenceDO.html",[0,0.366,2,0.934,3,0.019,4,0.019,5,0.009,7,0.121,27,0.535,29,0.668,30,0.001,31,0.481,32,0.168,33,0.572,34,1.808,47,0.837,95,0.129,101,0.017,103,0.001,104,0.001,112,0.828,119,2.464,180,1.885,379,1.067,382,2.525,490,4.245,1665,3.518,1746,7.351,2739,5.407,5208,6.842,5963,6.165,7105,7.116,7131,5.929,7429,6.458,7432,8.49,7433,6.635,8542,4.762,8562,6.041,8563,5.825,8564,5.825,8565,6.165,16013,6.635,19471,9.363,22745,6.842,22746,7.091,22747,6.842,22748,6.635,22899,7.402,22903,10.201,22904,12.021,22905,7.819,22906,10.814,22907,10.547,22908,8.452,22909,8.452,22910,7.819,22911,7.819,22912,7.402,22913,7.819,22914,7.819,22915,7.819]],["title/controllers/VideoConferenceDeprecatedController.html",[259,2.624,22916,6.012]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.151,3,0.021,4,0.01,5,0.005,7,0.064,8,0.832,10,1.805,27,0.345,29,0.85,30,0.001,31,0.477,32,0.176,33,0.402,35,1.362,36,2.304,47,0.834,95,0.147,100,3.202,101,0.007,102,4.244,103,0,104,0,105,0.455,138,1.499,142,4.191,150,1,153,3.091,177,0.829,223,1.852,226,0.65,239,2.521,259,3.203,261,2.131,262,2.622,270,5.95,271,3.11,278,4.653,282,6.712,284,3.248,285,7.074,287,7.074,294,6.103,319,2.908,324,3.476,333,1.894,335,5.681,336,7.705,337,2.316,338,2.368,343,2.386,345,1.418,346,5,347,4.377,349,0.867,358,3.065,437,1.242,608,2.359,643,4.826,685,2.87,1226,5.4,1306,7.139,1351,4.451,1618,3.121,1998,4.904,2008,3.121,2014,2.683,2138,5.245,2175,6.872,2190,5.294,2205,6.733,2212,6.011,2232,4.721,2395,4.054,2396,3.938,2530,6.689,2680,6.491,2718,8.707,2764,2.106,2962,2.507,2963,2.333,3083,7.688,3731,2.97,4969,2.744,5558,5.229,6786,5.168,8540,6.579,8542,7.301,8544,7.979,8545,3.493,8562,3.18,8563,3.066,8564,3.066,8902,8.218,10112,10.39,19471,9.524,22759,3.4,22774,5.758,22787,8.715,22790,4.116,22794,9.95,22796,7.752,22798,4.116,22809,7.626,22816,6.403,22817,5.245,22820,4.116,22853,3.733,22854,3.897,22855,3.897,22856,3.897,22916,6.011,22917,4.449,22918,8.38,22919,4.449,22920,4.449,22921,4.449,22922,4.449,22923,4.449,22924,4.449,22925,4.449,22926,4.449,22927,3.897,22928,4.449,22929,6.35,22930,4.449,22931,4.116,22932,4.449,22933,4.449,22934,4.449,22935,8.38,22936,8.38,22937,4.449,22938,6.864,22939,4.449,22940,3.733,22941,4.449,22942,4.116,22943,4.116,22944,4.116,22945,4.449,22946,4.449,22947,4.449,22948,4.449,22949,4.449,22950,4.449,22951,4.449]],["title/injectables/VideoConferenceEndUc.html",[539,0.921,22771,5.759]],["body/injectables/VideoConferenceEndUc.html",[0,0.236,3,0.015,4,0.015,5,0.008,7,0.1,8,1.155,26,2.373,27,0.392,29,0.753,30,0.001,31,0.542,32,0.123,33,0.457,35,0.847,36,2.04,39,1.906,47,0.669,95,0.156,99,1.131,100,2.371,101,0.011,103,0.001,104,0.001,177,2.021,226,1.019,236,1.766,238,3.895,239,2.232,262,2.394,349,0.721,379,1.202,437,1.73,528,3.58,529,1.991,539,1.278,541,1.675,560,2.865,603,2.231,608,2.918,643,3.129,766,3.895,933,3.862,1855,4.252,1888,5.475,1926,2.617,1971,3.247,1997,8.088,1998,5.646,2002,4.985,2008,4.892,2014,4.206,2015,5.646,2083,8.691,2098,5.646,2186,8.904,2188,9.622,2190,6.017,2530,4.161,3603,3.509,4753,4.728,4822,7.612,5558,4.748,6786,7.187,7096,4.252,7322,5.068,8542,6.11,13056,7.71,14946,5.475,16992,5.329,19470,8.904,19529,5.646,22759,5.329,22771,7.99,22814,5.851,22815,5.646,22858,9.098,22864,5.851,22865,10.434,22872,6.108,22878,5.851,22881,7.99,22883,6.108,22884,6.108,22887,7.99,22889,6.108,22902,6.452,22952,6.974,22953,6.974,22954,9.523,22955,6.974,22956,6.108,22957,5.851,22958,6.108,22959,6.974,22960,6.974,22961,6.974,22962,6.452,22963,6.452]],["title/classes/VideoConferenceInfo.html",[0,0.232,22816,5.245]],["body/classes/VideoConferenceInfo.html",[0,0.304,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.529,29,0.709,30,0.001,31,0.511,32,0.166,33,0.43,47,0.63,95,0.146,100,3.051,101,0.014,103,0.001,104,0.001,105,0.918,112,0.86,138,2.01,170,6.857,172,2.804,180,1.958,379,1.132,382,3.663,490,4.364,1998,5.848,2014,5.412,2160,7.045,2739,5.092,3971,9.424,6786,8.324,7105,6.703,8542,6.908,8544,5.902,8565,6.546,12757,7.859,16168,7.265,22738,9.144,22755,9.837,22816,10.11,22964,8.974,22965,8.974,22966,8.974,22967,8.974,22968,8.974,22969,8.974]],["title/classes/VideoConferenceInfoResponse.html",[0,0.232,22818,5.759]],["body/classes/VideoConferenceInfoResponse.html",[0,0.29,2,0.945,3,0.019,4,0.019,5,0.01,7,0.123,27,0.494,29,0.677,30,0.001,31,0.487,32,0.155,33,0.41,95,0.143,101,0.013,103,0.001,104,0.001,112,0.834,138,1.951,150,1.923,153,2.749,238,7.285,245,3.077,379,1.08,490,4.643,821,3.963,839,2.658,1998,6.575,2162,6.719,2921,5.055,2922,5.221,8541,9.916,8542,7.864,8544,8.771,8546,8.558,8548,6.54,8551,10.97,8554,7.18,8555,5.899,8556,7.18,8565,6.243,8566,7.18,22097,10.085,22818,10.943,22970,10.064,22971,8.558,22972,7.918]],["title/injectables/VideoConferenceInfoUc.html",[539,0.921,22772,5.759]],["body/injectables/VideoConferenceInfoUc.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.024,26,2.201,27,0.407,29,0.782,30,0.001,31,0.563,32,0.128,33,0.474,35,1.026,36,2.316,95,0.152,99,0.953,100,1.997,101,0.009,103,0,104,0,105,0.601,119,1.214,177,1.842,226,0.859,236,1.761,238,4.717,239,1.979,262,2.632,349,0.873,379,1.066,437,1.688,490,4.556,529,1.677,539,1.134,541,1.412,560,2.414,579,4.529,603,2.453,608,2.966,643,3.79,766,3.282,824,3.834,933,3.254,1242,4.564,1855,3.583,1888,4.613,1926,2.205,1971,2.736,1997,7.373,1998,5.627,2002,4.2,2014,3.544,2015,4.757,2083,8.539,2098,6.837,2160,4.613,2186,8.259,2188,9.109,2193,7.813,2530,3.506,3603,2.956,4753,6.703,4822,7.254,5558,4.665,7096,3.583,7322,4.495,8542,6.09,13056,6.837,14946,4.613,16992,4.49,19470,9.385,19529,4.757,22738,7.373,22748,4.613,22759,4.49,22772,7.086,22814,4.93,22815,4.757,22816,8.259,22853,7.086,22858,9.069,22864,4.93,22865,9.944,22872,5.146,22878,4.93,22881,8.295,22883,5.146,22884,5.146,22886,5.436,22887,9.069,22888,5.436,22889,7.397,22903,6.63,22907,8.295,22940,4.93,22956,5.146,22957,4.93,22958,5.146,22963,7.813,22973,5.876,22974,8.445,22975,5.876,22976,8.445,22977,5.876,22978,8.445,22979,5.876,22980,5.876,22981,5.876,22982,5.436,22983,5.436,22984,5.876,22985,5.876,22986,5.876,22987,5.876,22988,5.876,22989,5.436,22990,5.876]],["title/classes/VideoConferenceJoin.html",[0,0.232,22817,5.245]],["body/classes/VideoConferenceJoin.html",[0,0.305,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,27,0.53,29,0.713,30,0.001,31,0.513,32,0.167,33,0.432,47,0.791,95,0.134,99,1.462,100,3.064,101,0.014,103,0.001,104,0.001,112,0.862,238,6.862,379,1.138,643,6.063,1262,4.286,1998,6.897,3971,9.45,6446,4.871,8542,7.613,8544,5.928,8555,6.213,8557,7.297,22755,11.602,22759,9.388,22761,8.339,22762,8.339,22765,8.339,22817,10.123,22991,9.013,22992,11.263,22993,9.013,22994,9.013,22995,9.013]],["title/classes/VideoConferenceJoinResponse.html",[0,0.232,22819,5.759]],["body/classes/VideoConferenceJoinResponse.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.479,29,0.751,30,0.001,31,0.541,32,0.151,33,0.455,47,0.817,95,0.113,101,0.015,103,0.001,104,0.001,112,0.89,138,1.699,150,2.134,153,2.177,245,2.984,379,1.199,821,4.398,1262,4.692,1998,6.548,2138,8.89,2155,8.786,6446,5.133,8541,9.874,8542,7.577,8544,7.652,8546,9.134,8548,7.257,8561,7.968,22819,11.284,22996,11.634]],["title/injectables/VideoConferenceJoinUc.html",[539,0.921,22773,5.759]],["body/injectables/VideoConferenceJoinUc.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.144,26,2.359,27,0.388,29,0.746,30,0.001,31,0.537,32,0.122,33,0.452,35,0.836,36,2.021,47,0.483,95,0.156,99,1.116,100,2.339,101,0.011,103,0.001,104,0.001,177,2.006,226,1.005,236,1.754,238,3.842,239,1.612,262,2.377,276,4.091,349,0.711,379,1.191,437,1.653,529,1.964,539,1.266,541,1.653,560,2.827,603,2.216,608,2.814,643,3.087,1181,4.195,1262,3.291,1998,5.606,2002,4.917,2014,4.149,2015,5.569,2083,5.13,2117,6.025,2137,9.431,2138,8.228,2188,9.582,2530,5.63,3175,4.462,3603,3.461,4753,6.396,4822,7.585,5558,4.387,6786,4.243,7322,5.021,7671,5.13,8542,6.528,16992,5.257,19470,8.854,19529,5.569,22759,5.257,22773,7.916,22814,5.772,22815,5.569,22817,9.277,22858,9.034,22864,5.772,22865,10.397,22878,5.772,22881,9.034,22887,7.916,22903,7.407,22940,5.772,22956,6.025,22957,5.772,22958,6.025,22983,9.962,22989,6.364,22997,6.879,22998,6.879,22999,9.435,23000,6.879,23001,6.879,23002,6.879,23003,6.879,23004,6.879,23005,6.879,23006,9.435,23007,6.879,23008,9.435,23009,6.879,23010,6.879,23011,6.879,23012,6.879,23013,6.879,23014,6.879]],["title/classes/VideoConferenceMapper.html",[0,0.232,22813,5.759]],["body/classes/VideoConferenceMapper.html",[0,0.241,2,0.787,3,0.016,4,0.016,5,0.008,7,0.102,8,1.171,27,0.484,29,0.929,30,0.001,31,0.669,32,0.152,33,0.564,35,1.428,95,0.151,99,1.155,101,0.015,103,0.001,104,0.001,105,0.729,236,1.786,238,5.394,271,2.643,349,1.215,413,4.15,437,1.273,490,2.534,643,3.195,790,3.582,1262,2.484,1618,4.995,1998,6.397,2014,4.294,2021,4.618,2083,5.31,2098,5.764,2100,6.587,8542,4.011,8551,8.874,8562,5.089,8563,4.908,8564,4.908,22738,8.175,22759,8.981,22809,9.516,22813,8.104,22816,9.389,22817,9.389,22818,9.861,22819,9.861,22823,6.587,22853,5.974,22854,6.236,22855,6.236,22856,6.236,22940,5.974,22942,6.587,22943,6.587,22944,6.587,22957,5.974,22962,6.587,22970,5.974,22972,6.587,22982,6.587,23015,12.287,23016,7.12,23017,9.659,23018,9.659,23019,9.659,23020,9.659,23021,9.659,23022,7.12,23023,9.659,23024,7.12,23025,9.659,23026,7.12,23027,9.659,23028,7.12,23029,6.587,23030,7.12,23031,7.12,23032,7.12,23033,7.12,23034,7.12,23035,7.12,23036,7.12,23037,7.12,23038,7.12,23039,7.12]],["title/modules/VideoConferenceModule.html",[201,1.848,22769,5.759]],["body/modules/VideoConferenceModule.html",[0,0.206,3,0.013,4,0.013,5,0.007,30,0.001,80,7.594,95,0.165,101,0.009,102,3.087,103,0,104,0,105,0.624,201,2.717,203,2.215,204,2.376,205,2.443,206,2.433,207,2.423,208,4.065,209,4.171,214,5.619,218,3.475,219,2.394,220,2.339,223,3.609,225,3.446,226,0.891,227,2.526,259,2.33,340,2.954,560,2.505,636,5.07,654,1.831,964,3.53,1180,6.198,1341,1.955,1726,4.315,1752,6.861,1797,8.627,1810,8.318,1832,5.542,1834,7.213,1963,3.434,1971,2.838,1998,3.174,2014,3.676,2188,10.224,2200,10.126,2202,7.594,2531,2.823,2764,2.886,3593,7.873,3603,3.067,3605,4.786,3992,10.126,3998,5.787,5434,7.723,5444,5.114,8542,4.885,8544,6.637,10777,4.276,11057,4.658,11058,4.658,13435,8.021,14696,8.627,14955,4.546,19530,4.935,22769,12.074,22779,5.339,22785,5.639,22865,10.832,22916,9.627,22929,11.487,23040,6.096,23041,6.096,23042,6.096,23043,6.096,23044,10.57,23045,6.096,23046,6.096,23047,6.096,23048,6.096,23049,6.096,23050,6.096,23051,6.096,23052,6.096,23053,8.671]],["title/classes/VideoConferenceOptions.html",[0,0.232,22738,5.119]],["body/classes/VideoConferenceOptions.html",[0,0.355,2,0.891,3,0.018,4,0.018,5,0.009,7,0.177,27,0.509,29,0.638,30,0.001,31,0.459,32,0.166,33,0.387,47,0.566,95,0.125,96,2.156,101,0.019,103,0.001,104,0.001,112,0.893,119,2.712,154,2.123,172,3.859,173,2.346,174,4.012,175,3.601,177,1.503,178,3.206,180,1.406,181,2.183,182,2.564,379,1.018,490,4.151,839,2.506,2739,4.757,3459,6.016,4833,5.861,5208,8.495,6786,4.975,7105,6.262,7131,5.658,8542,4.544,8544,5.305,8563,8.039,8564,8.039,8565,5.884,12479,8.238,16013,6.333,16168,8.495,22736,11.847,22737,7.462,22738,9.79,22742,10.215,22743,7.462,22744,7.462,22745,6.53,22746,6.767,22747,6.53,22748,6.333,22749,9.19,22750,7.462,22751,7.462,22752,7.462,22753,7.462,22754,7.462,23054,10.493,23055,8.066,23056,8.066]],["title/classes/VideoConferenceOptionsDO.html",[0,0.232,22907,5.759]],["body/classes/VideoConferenceOptionsDO.html",[0,0.372,2,0.96,3,0.019,4,0.019,5,0.01,7,0.125,27,0.523,29,0.687,30,0.001,31,0.494,32,0.164,33,0.417,47,0.61,95,0.131,101,0.017,103,0.001,104,0.001,112,0.842,119,2.766,180,1.514,379,1.096,490,3.917,1746,6.435,2739,3.938,5208,8.909,7105,5.183,7131,6.093,7429,6.637,7432,6.819,7433,6.819,8542,4.894,8562,8.634,8563,8.325,8564,8.325,8565,6.336,16013,6.819,19471,8.639,22745,7.032,22746,7.288,22747,7.032,22748,6.819,22899,7.608,22903,8.639,22904,12.122,22905,8.036,22907,11.231,22910,8.036,22911,8.036,22912,7.608,22913,8.036,22914,8.036,22915,8.036,23057,11.004,23058,8.686,23059,8.686]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.232,22970,5.759]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.279,2,0.909,3,0.018,4,0.018,5,0.009,7,0.118,27,0.512,29,0.651,30,0.001,31,0.468,32,0.161,33,0.395,95,0.098,101,0.013,103,0.001,104,0.001,112,0.814,119,2.727,138,2.107,143,2.357,145,3.489,150,1.849,153,2.699,245,3.192,379,1.039,821,5.453,1998,6.709,2126,10.901,2138,8.123,2179,11.515,2492,7.96,8541,10.117,8542,7.26,8546,8.346,8548,6.288,8562,8.417,8563,8.117,8564,8.117,13899,8.919,22745,6.662,22747,6.662,22912,7.207,22970,10.812,23060,8.229,23061,10.631,23062,12.446,23063,10.631,23064,8.229,23065,8.229,23066,10.631,23067,8.229,23068,8.229,23069,8.229]],["title/injectables/VideoConferenceRepo.html",[539,0.921,23044,6.012]],["body/injectables/VideoConferenceRepo.html",[0,0.17,3,0.011,4,0.011,5,0.006,7,0.072,8,0.913,10,3.055,12,3.379,18,3.765,26,2.448,27,0.546,29,1.039,30,0.001,31,0.748,32,0.17,33,0.63,34,1.676,35,1.597,36,2.634,40,2.421,47,0.634,95,0.134,96,1.343,99,0.815,101,0.008,103,0,104,0,112,0.385,133,2.61,154,2.174,173,1.462,180,1.313,226,0.734,236,1.227,262,2.927,349,1.111,381,1.703,382,3.89,437,1.191,448,4.879,490,2.68,519,1.548,539,1.011,541,1.208,603,2.474,608,1.165,680,5.106,686,3.45,687,5.302,718,2.695,1665,3.759,2000,2.883,2299,9.203,2301,5.383,2302,5.383,2303,5.383,2304,5.383,2305,5.283,2306,5.283,2307,5.383,2308,5.283,2309,5.383,2316,3.593,2318,5.808,2319,3.593,2321,3.593,2323,3.26,2324,5.283,2325,3.593,2327,3.593,2329,5.383,2333,5.383,2335,5.106,2336,5.283,2338,3.593,2340,3.031,2341,3.1,2342,3.593,2344,3.593,2346,3.526,2347,3.593,2365,3.748,2739,4.094,4119,4.448,4446,3.137,4969,3.1,6114,3.666,6115,3.666,6116,3.666,6117,3.666,6118,3.666,6119,3.666,6120,3.666,6121,5.493,6122,5.493,6786,7.211,7105,5.389,8562,3.593,8563,5.191,8564,5.191,9547,3.841,10112,6.097,15594,4.217,16168,4.069,19471,9.18,22742,4.402,22749,9.877,22903,9.18,23044,6.596,23070,9.031,23071,5.026,23072,7.531,23073,7.531,23074,5.026,23075,5.026,23076,5.026,23077,5.026,23078,5.026,23079,5.026,23080,7.531,23081,7.531,23082,7.531,23083,7.531,23084,5.026,23085,5.026,23086,5.026,23087,5.026,23088,4.65,23089,5.026,23090,5.026,23091,5.026,23092,5.026,23093,5.026,23094,5.026,23095,5.026,23096,5.026,23097,5.026]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.232,22927,6.012]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.264,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,27,0.473,29,0.907,30,0.001,31,0.653,32,0.149,33,0.55,35,1.394,95,0.145,101,0.012,102,6.588,103,0.001,104,0.001,236,1.869,238,6.41,349,1.187,358,4.585,413,4.112,490,2.777,643,5.15,782,4.656,1262,2.722,1618,5.474,1998,6.349,2008,5.474,2014,4.706,2395,6.065,2396,5.891,6206,6.834,6786,7.521,8540,9.574,8542,4.396,8544,5.132,8545,9.574,8559,9.872,18564,7.219,19169,7.219,22813,6.547,22815,6.317,22816,9.318,22817,9.318,22927,8.993,22931,7.219,23029,7.219,23098,12.195,23099,10.268,23100,10.268,23101,10.268,23102,10.268,23103,10.268,23104,10.268,23105,10.268,23106,11.477,23107,11.477,23108,7.803,23109,7.803]],["title/classes/VideoConferenceScopeParams.html",[0,0.232,22792,6.012]],["body/classes/VideoConferenceScopeParams.html",[0,0.382,2,0.998,3,0.02,4,0.02,5,0.01,7,0.13,27,0.464,30,0.001,32,0.146,47,0.792,95,0.146,99,1.466,101,0.014,103,0.001,104,0.001,112,0.863,138,2.018,142,5.019,143,2.727,144,3.672,145,3.611,148,2.798,150,2.03,245,3.154,808,4.465,839,3.504,852,4.206,1998,6.403,2922,5.402,5558,5.011,6017,9.878,8542,6.929,10112,9.956,19471,10.614,22792,9.878,22840,11.377,23110,9.034,23111,9.034,23112,9.034,23113,9.034,23114,9.034,23115,9.034]],["title/classes/VisibilitySettingsResponse.html",[0,0.232,4141,5.759]],["body/classes/VisibilitySettingsResponse.html",[0,0.331,2,1.082,3,0.022,4,0.022,5,0.011,7,0.141,27,0.488,29,0.774,30,0.001,31,0.558,32,0.153,33,0.611,47,0.832,95,0.117,101,0.015,103,0.001,104,0.001,112,0.907,138,1.753,149,4.911,150,2.201,379,1.496,774,4.994,4141,11.381,23116,12.748,23117,9.795,23118,13.566,23119,9.795,23120,9.795,23121,9.795]],["title/dependencies.html",[204,3.223,23122,4.998]],["body/dependencies.html",[0,0.249,4,0.011,5,0.008,10,1.978,30,0.001,32,0.063,34,0.815,36,1.899,56,2.349,96,2.37,97,2.03,103,0,104,0,118,3.12,141,3.446,148,2.746,150,1.095,155,1.592,173,1.418,204,1.9,226,0.712,262,1.958,324,2.469,524,2.772,560,2.003,570,3.007,598,2.824,646,3.485,653,2.503,757,3.726,824,1.73,877,4.27,964,2.824,966,3.207,970,3.36,1122,3.12,1130,2.772,1142,3.043,1176,4.27,1224,3.42,1225,3.162,1433,4.27,1435,3.636,1443,3.636,1478,2.909,1512,4.593,1611,3.557,1643,2.851,1678,2.973,1779,5.407,1880,8.584,1982,5.163,2014,2.94,2024,2.27,2080,2.407,2081,3.505,2082,3.12,2171,2.656,2330,3.828,2405,3.305,2647,2.7,3515,3.08,3516,2.909,3600,2.422,3601,3.974,3942,5.624,3952,4.27,3953,5.779,3954,8.324,4604,3.947,5134,2.824,5174,5.369,5222,3.947,5223,3.947,5550,3.207,5554,2.772,5883,2.797,6386,4.511,6679,3.485,6681,4.091,6777,3.485,6865,6.327,7103,3.636,8023,4.511,8210,6.175,8882,5.779,8909,3.726,9255,3.947,9336,4.511,10288,4.27,10361,4.511,10462,8.273,10959,4.091,10960,4.511,11211,3.485,11304,2.973,12086,4.511,12340,4.091,12341,4.091,12450,3.36,12477,3.485,13677,3.828,14010,7.755,14080,3.636,14271,3.726,14619,4.511,15453,4.511,15763,4.091,15764,4.091,15765,4.511,15897,3.947,16250,4.27,16558,4.27,16559,4.511,17639,4.511,18318,4.27,18831,4.511,18832,4.511,19479,4.27,23123,4.876,23124,7.36,23125,4.876,23126,10.603,23127,4.876,23128,4.876,23129,8.867,23130,7.36,23131,4.876,23132,4.876,23133,4.876,23134,7.36,23135,4.876,23136,9.877,23137,7.36,23138,9.877,23139,4.876,23140,4.876,23141,4.876,23142,4.876,23143,4.876,23144,4.876,23145,4.876,23146,4.876,23147,4.876,23148,4.876,23149,4.876,23150,4.876,23151,4.876,23152,4.876,23153,4.876,23154,4.876,23155,4.876,23156,4.876,23157,4.876,23158,4.876,23159,4.876,23160,7.36,23161,4.876,23162,4.876,23163,4.876,23164,7.36,23165,4.876,23166,4.876,23167,7.36,23168,4.876,23169,4.876,23170,4.876,23171,4.876,23172,7.36,23173,7.36,23174,4.876,23175,4.876,23176,4.876,23177,4.876,23178,4.876,23179,4.876,23180,4.876,23181,4.876,23182,4.876,23183,4.876,23184,4.876,23185,4.876,23186,4.876,23187,4.876,23188,4.876,23189,4.876,23190,4.876,23191,4.876,23192,7.36,23193,4.876,23194,4.876,23195,4.876,23196,4.876,23197,4.876,23198,4.876,23199,4.876,23200,4.876,23201,4.876,23202,4.27,23203,4.876,23204,4.876,23205,8.203,23206,4.876,23207,4.876,23208,4.876,23209,4.876,23210,8.867,23211,7.36,23212,4.876,23213,4.511,23214,4.876,23215,4.876,23216,4.876,23217,7.36,23218,4.876,23219,4.876,23220,4.876,23221,4.876,23222,4.876,23223,4.876,23224,4.876,23225,4.876,23226,4.876,23227,4.876,23228,4.876,23229,7.36,23230,4.511,23231,4.876,23232,4.876,23233,7.36,23234,4.876,23235,4.876,23236,4.876,23237,4.876,23238,4.876,23239,4.876,23240,4.876,23241,4.876,23242,4.876,23243,4.876,23244,4.876,23245,4.876,23246,4.876,23247,4.876,23248,7.36,23249,4.876,23250,4.876,23251,4.876,23252,4.511,23253,4.876,23254,4.876,23255,4.876,23256,4.876,23257,4.876,23258,4.876,23259,4.876,23260,4.511,23261,4.876,23262,4.876,23263,4.876,23264,4.876,23265,4.876,23266,4.876,23267,4.876,23268,6.809,23269,4.511,23270,4.876,23271,4.876,23272,4.876,23273,4.876,23274,4.876,23275,4.876,23276,4.876,23277,4.876,23278,4.876,23279,4.876]],["title/index.html",[7,0.082,1351,3.701,23280,4.998]],["body/index.html",[30,0.001,31,0.494,34,1.02,55,2.061,102,3.092,103,0,104,0.001,131,2.316,141,4.063,153,1.399,204,2.379,236,0.994,261,4.837,292,3.092,355,5.484,358,2.726,359,3.682,360,6.43,361,3.47,458,3.326,475,3.092,486,1.839,511,3.856,517,2.308,563,3.643,564,2.712,685,4.223,755,4.015,760,4.665,765,3.959,829,3.156,850,5.122,934,3.682,935,4.793,937,10.422,950,3.765,951,4.728,990,2.97,1025,2.417,1128,3.959,1270,3.502,1271,1.902,1288,4.728,1306,5.353,1520,6.332,1643,3.57,1678,3.723,1729,3.857,1779,7.086,1794,3.907,1813,4.282,1832,3.353,1838,8.905,2024,4.041,2079,2.699,2081,2.907,2093,3.44,2406,6.143,2424,6.496,2425,5.554,2426,5.982,2431,4.208,2443,5.554,2492,3.682,2493,4.015,2806,6.381,3134,2.812,3308,4.075,3516,6.934,3519,7.234,3751,4.364,3915,6.632,3916,8.637,3990,4.665,4607,4.942,4743,3.225,5134,3.535,5284,5.484,5390,5.122,5515,5.126,5562,4.453,5576,4.665,5813,4.942,5837,4.282,6315,3.907,6402,4.208,6496,5.709,6582,4.942,6685,4.364,6686,4.553,6865,6.563,6961,5.629,7106,4.979,7111,4.665,7704,4.553,8070,4.208,9283,3.57,9428,6.632,10050,5.347,10111,4.793,10527,5.293,10547,7.085,10936,8.405,11311,4.793,11419,6.847,12095,4.364,12448,4.139,12591,4.793,12596,6.332,12641,5.347,12874,6.632,14487,8.176,14955,4.553,15015,6.814,15153,4.942,15850,4.942,16238,4.665,16254,5.122,16597,5.122,16598,4.942,17763,4.793,17769,7.027,17986,4.364,18892,6.814,19260,5.347,21512,4.793,22616,5.122,22846,5.347,23281,7.282,23282,4.665,23283,5.347,23284,5.122,23285,5.347,23286,4.942,23287,7.282,23288,7.027,23289,5.347,23290,5.347,23291,5.347,23292,8.03,23293,7.282,23294,5.648,23295,5.648,23296,5.648,23297,5.122,23298,5.347,23299,8.03,23300,5.122,23301,5.122,23302,8.03,23303,5.347,23304,4.665,23305,5.122,23306,5.347,23307,5.347,23308,4.942,23309,5.648,23310,5.347,23311,5.648,23312,5.122,23313,4.793,23314,5.347,23315,8.03,23316,8.03,23317,8.845,23318,10.177,23319,5.347,23320,5.648,23321,8.03,23322,5.347,23323,5.648,23324,5.648,23325,5.648,23326,8.03,23327,8.03,23328,5.648,23329,5.648,23330,5.648,23331,5.122,23332,5.648,23333,4.942,23334,5.648,23335,7.282,23336,5.648,23337,5.122,23338,5.648,23339,5.347,23340,5.648,23341,5.122]],["title/license.html",[1351,3.701,5844,3.701,23280,4.998]],["body/license.html",[0,0.042,4,0.027,5,0.003,8,0.149,27,0.051,30,0,53,2.876,55,0.463,56,1.093,72,3.497,74,0.994,76,1.135,77,0.785,79,1.987,83,0.357,87,0.622,95,0.015,103,0,104,0,105,0.59,107,0.743,131,0.466,133,3.39,137,1.416,142,1.536,154,0.459,172,0.383,220,0.471,236,1.017,238,0.685,239,2.012,274,1.908,284,0.956,292,0.622,301,0.819,315,1.135,316,3.375,319,0.961,324,0.622,347,0.443,348,0.618,349,0.127,358,4.367,359,0.74,362,1.135,472,0.639,475,1.997,490,0.437,493,1.934,500,0.718,502,0.669,510,2.461,511,1.751,519,0.378,521,0.486,535,0.895,560,0.932,562,0.846,567,1.075,577,1.075,578,2.404,590,0.757,603,0.253,636,3.056,643,3.173,654,0.369,662,3.393,708,1.853,710,2.181,739,0.979,763,1.692,765,4.05,766,2.202,768,1.075,769,9.262,829,0.634,935,1.781,951,5.424,993,2.202,998,0.584,1007,1.592,1108,1.354,1128,3.39,1132,0.964,1133,2.418,1134,2.262,1148,2.418,1215,0.674,1270,0.704,1296,1.692,1304,4.919,1306,3.851,1309,2.283,1371,0.748,1372,3.898,1389,3.744,1461,3.667,1512,1.416,1518,7.14,1519,2.241,1606,1.837,1643,2.305,1694,0.757,1695,1.075,1723,3.581,1728,5.1,1729,3.302,1780,0.964,1813,4.96,1815,0.807,1819,0.846,1824,1.622,1825,1.135,1832,1.246,1984,0.669,2023,0.994,2024,3.458,2064,8.205,2092,1.987,2093,1.278,2175,2.876,2190,0.775,2207,2.378,2232,1.278,2255,0.469,2318,1.314,2405,2.145,2406,3.949,2417,4.581,2420,4.666,2443,3.345,2459,2.099,2460,1.734,2480,6.117,2492,4.857,2493,0.807,2494,1.515,2723,3.603,2725,7.915,2773,2.593,3030,1.03,3122,3.206,3134,2.13,3172,0.938,3222,0.785,3308,5.376,3309,1.434,3330,1.622,3455,3.244,3565,4.666,3600,0.61,3624,1.781,3671,3.791,3893,0.964,3912,0.994,3914,1.564,3916,0.785,3918,1.781,3982,0.994,4042,1.93,4204,1.075,4206,2.771,4209,1.135,4338,1.03,4603,0.895,4607,4.666,4609,1.075,4691,1.03,4743,1.199,4744,1.03,4745,1.472,4752,1.904,4973,1.434,5111,6.142,5126,1.384,5134,0.711,5160,2.593,5161,1.538,5203,1.781,5396,0.994,5515,1.34,5553,1.075,5558,0.5,5562,2.308,5568,2.418,5758,3.187,5836,2.655,5844,8.786,6315,0.785,6402,2.181,6409,2.928,6441,1.846,6624,2.36,6681,1.03,6780,1.03,6865,1.354,6961,0.796,6989,0.895,7010,2.308,7081,3.63,7108,0.877,7135,1.655,7289,0.938,7295,0.895,7307,1.075,7308,3.192,7704,2.36,7734,3.187,7744,0.938,8170,1.075,8171,1.837,8231,2.94,8262,1.538,8709,0.757,8786,5.055,9425,0.895,9428,3.012,10130,3.012,10136,2.928,10144,3.345,10161,2.484,10174,2.262,10527,1.93,10530,0.74,10532,2.484,10534,0.964,10536,7.357,10540,0.994,10543,1.781,10546,1.781,10547,4.043,10677,0.832,10693,2.36,10931,0.938,10951,4.771,11311,6.087,11385,0.832,11420,0.861,11545,0.964,11552,1.987,11558,1.837,11951,1.734,11953,1.075,12217,1.03,12437,0.938,12443,0.895,12450,2.717,12451,0.915,12470,0.994,12515,1.135,12548,4.839,12560,1.075,12596,2.308,12617,0.915,12631,4.05,12638,2.099,12676,1.135,12697,5.154,12874,0.938,13053,1.03,13366,1.03,13546,0.964,13915,5.048,14232,1.075,14254,1.075,14262,4.05,14263,1.135,14324,2.099,14396,6.505,14487,0.994,14583,0.895,14743,0.994,14747,0.994,14765,2.22,15201,1.781,15303,5.048,15413,9.285,15448,1.135,15455,2.876,15848,0.994,15853,1.135,15910,3.307,15999,2.099,16166,1.135,16235,3.307,16238,2.418,16597,1.03,16600,7.202,17490,1.03,17507,1.135,18053,4.578,18062,1.075,18166,7.173,18892,2.484,19259,2.928,19344,1.075,19481,1.135,19562,1.075,19603,0.964,19608,1.904,19621,1.734,19870,2.418,20279,2.928,20828,1.987,20831,3.744,20833,1.075,20838,6.541,21026,1.075,21069,2.099,21260,6.232,21303,0.915,21560,4.578,21644,2.099,21862,5.849,22121,8.362,22147,1.03,23291,1.075,23293,10.033,23304,7.209,23305,9.244,23306,2.771,23337,1.904,23342,9.039,23343,8.82,23344,1.227,23345,1.227,23346,3.164,23347,10.82,23348,8.579,23349,4.624,23350,1.227,23351,1.227,23352,2.269,23353,4.624,23354,3.164,23355,3.164,23356,1.227,23357,1.227,23358,2.269,23359,4.278,23360,5.332,23361,2.269,23362,2.269,23363,7.706,23364,6.244,23365,1.227,23366,1.135,23367,5.227,23368,1.135,23369,7.427,23370,11.902,23371,3.164,23372,1.227,23373,1.227,23374,3.942,23375,6.678,23376,1.227,23377,6.678,23378,1.227,23379,4.624,23380,0.994,23381,1.03,23382,3.647,23383,1.135,23384,8.584,23385,0.994,23386,1.135,23387,7.07,23388,7.427,23389,4.624,23390,7.754,23391,1.227,23392,2.269,23393,1.227,23394,1.227,23395,1.227,23396,1.227,23397,1.227,23398,1.227,23399,1.227,23400,3.647,23401,1.135,23402,1.075,23403,1.135,23404,3.164,23405,1.227,23406,1.227,23407,1.227,23408,2.269,23409,1.227,23410,1.227,23411,2.655,23412,1.135,23413,2.269,23414,2.269,23415,3.164,23416,6.757,23417,4.624,23418,4.836,23419,3.164,23420,2.269,23421,1.227,23422,1.227,23423,1.227,23424,3.164,23425,1.227,23426,1.227,23427,2.269,23428,1.227,23429,1.227,23430,1.227,23431,3.942,23432,2.269,23433,10.373,23434,3.164,23435,6.678,23436,3.453,23437,1.227,23438,2.269,23439,3.164,23440,6.678,23441,7.07,23442,1.135,23443,3.942,23444,2.269,23445,3.942,23446,1.227,23447,3.164,23448,0.994,23449,10.483,23450,2.269,23451,1.135,23452,6.244,23453,1.227,23454,3.164,23455,4.385,23456,8.584,23457,3.164,23458,2.269,23459,7.427,23460,5.227,23461,1.227,23462,2.269,23463,8.053,23464,2.269,23465,1.227,23466,1.227,23467,2.928,23468,1.227,23469,1.227,23470,1.075,23471,3.164,23472,3.942,23473,1.135,23474,1.227,23475,1.227,23476,1.075,23477,3.164,23478,1.227,23479,4.624,23480,1.135,23481,2.928,23482,1.227,23483,1.135,23484,1.227,23485,1.227,23486,1.227,23487,2.928,23488,2.269,23489,1.075,23490,1.227,23491,1.227,23492,2.269,23493,1.227,23494,1.987,23495,4.05,23496,1.227,23497,5.764,23498,3.647,23499,1.227,23500,4.624,23501,1.227,23502,1.227,23503,1.227,23504,1.227,23505,1.227,23506,3.164,23507,1.227,23508,2.269,23509,1.227,23510,1.227,23511,1.227,23512,1.135,23513,1.227,23514,1.227,23515,3.164,23516,0.964,23517,1.227,23518,1.227,23519,1.227,23520,1.227,23521,4.624,23522,1.227,23523,1.227,23524,3.164,23525,1.227,23526,1.227,23527,3.942,23528,1.227,23529,2.269,23530,1.227,23531,1.227,23532,1.227,23533,1.227,23534,1.227,23535,1.227,23536,2.269,23537,1.227,23538,1.227,23539,1.227,23540,2.269,23541,1.227,23542,1.227,23543,1.227,23544,1.227,23545,1.227,23546,2.099,23547,6.178,23548,1.227,23549,5.227,23550,1.227,23551,1.227,23552,3.164,23553,3.942,23554,3.942,23555,3.942,23556,1.227,23557,4.624,23558,4.05,23559,1.135,23560,3.164,23561,1.227,23562,2.269,23563,1.227,23564,1.987,23565,2.269,23566,3.647,23567,3.942,23568,1.227,23569,3.164,23570,4.624,23571,1.227,23572,1.227,23573,2.928,23574,2.269,23575,1.135,23576,1.227,23577,1.135,23578,1.227,23579,1.227,23580,2.928,23581,1.227,23582,1.227,23583,2.269,23584,1.227,23585,1.227,23586,1.227,23587,3.164,23588,3.164,23589,2.269,23590,5.227,23591,3.164,23592,2.269,23593,2.269,23594,2.269,23595,3.453,23596,1.987,23597,1.227,23598,1.227,23599,1.227,23600,5.227,23601,2.269,23602,1.227,23603,1.227,23604,1.227,23605,2.269,23606,1.227,23607,2.269,23608,1.227,23609,1.227,23610,5.055,23611,1.227,23612,6.871,23613,1.227,23614,1.227,23615,1.227,23616,1.227,23617,2.269,23618,1.227,23619,4.05,23620,3.942,23621,2.269,23622,1.227,23623,1.227,23624,1.227,23625,1.227,23626,1.227,23627,2.269,23628,1.227,23629,1.227,23630,1.227,23631,2.269,23632,2.269,23633,1.227,23634,1.227,23635,1.227,23636,1.227,23637,1.227,23638,1.227,23639,1.227,23640,1.227,23641,1.135,23642,1.227,23643,1.227,23644,1.227,23645,1.227,23646,4.624,23647,1.227,23648,1.227,23649,3.942,23650,1.227,23651,1.227,23652,1.227,23653,1.227,23654,1.227,23655,1.227,23656,1.227,23657,5.764,23658,2.928,23659,1.227,23660,3.942,23661,1.227,23662,1.227,23663,3.164,23664,1.227,23665,1.227,23666,3.164,23667,1.227,23668,2.269,23669,1.227,23670,1.227,23671,1.227,23672,1.227,23673,1.227,23674,1.075,23675,1.227,23676,1.075,23677,2.269,23678,2.099,23679,1.227,23680,3.942,23681,1.227,23682,2.928,23683,1.227,23684,2.099,23685,3.164,23686,2.269,23687,1.227,23688,3.164,23689,5.764,23690,1.227,23691,2.269,23692,1.227,23693,1.227,23694,1.227,23695,1.227,23696,3.942,23697,1.227,23698,1.227,23699,1.227,23700,1.227,23701,1.227,23702,1.227,23703,2.269,23704,2.269,23705,2.269,23706,3.164,23707,1.227,23708,2.269,23709,1.135,23710,3.164,23711,1.227,23712,2.099,23713,2.269,23714,1.227,23715,1.227,23716,2.269,23717,10.086,23718,3.164,23719,1.227,23720,4.624,23721,7.07,23722,3.164,23723,1.227,23724,1.227,23725,3.942,23726,1.227,23727,3.164,23728,1.227,23729,1.227,23730,1.227,23731,1.227,23732,1.227,23733,1.227,23734,1.227,23735,1.227,23736,3.942,23737,1.227,23738,1.227,23739,3.164,23740,1.227,23741,2.269,23742,3.164,23743,1.075,23744,2.269,23745,1.227,23746,1.227,23747,1.227,23748,1.227,23749,2.269,23750,3.164,23751,1.135,23752,1.227,23753,1.227,23754,1.227,23755,1.135,23756,1.227,23757,1.227,23758,1.227,23759,3.164,23760,2.269,23761,1.135,23762,1.227,23763,1.227,23764,3.942,23765,1.227,23766,3.164,23767,1.227,23768,1.227,23769,1.227,23770,1.227,23771,1.227,23772,3.164,23773,2.269,23774,2.269,23775,1.227,23776,2.269,23777,5.764,23778,2.269,23779,3.164,23780,3.942,23781,1.135,23782,1.135,23783,2.269,23784,1.227,23785,3.164,23786,1.227,23787,1.227,23788,1.227,23789,1.227,23790,1.227,23791,3.164,23792,2.269,23793,1.227,23794,1.227,23795,1.227,23796,1.227,23797,2.269,23798,2.269,23799,1.227,23800,2.099,23801,1.227,23802,1.135,23803,1.135,23804,1.227,23805,3.164,23806,1.227,23807,1.227,23808,1.227,23809,2.269,23810,3.164,23811,1.227,23812,1.227,23813,1.227,23814,1.227,23815,2.269,23816,1.227,23817,1.227,23818,1.227,23819,1.227,23820,1.227,23821,1.227,23822,1.227,23823,1.227,23824,1.227,23825,1.227,23826,1.227,23827,1.227,23828,1.227,23829,3.942,23830,1.227,23831,1.227,23832,2.269,23833,1.227,23834,1.135,23835,1.227,23836,1.227,23837,1.227,23838,1.227,23839,1.227,23840,1.227,23841,1.135,23842,1.227,23843,1.227,23844,1.227,23845,1.227,23846,2.269,23847,1.227,23848,1.227,23849,1.227,23850,1.227,23851,1.075,23852,2.269,23853,1.227,23854,1.227,23855,1.227,23856,1.135,23857,1.135,23858,1.03,23859,1.227,23860,2.269,23861,2.099,23862,1.227,23863,1.227,23864,3.164,23865,2.099,23866,1.227,23867,2.099,23868,2.269,23869,2.269,23870,1.135,23871,1.075,23872,1.227,23873,1.227,23874,1.135,23875,1.227,23876,1.227,23877,1.227,23878,2.269,23879,1.227,23880,3.164,23881,1.227,23882,1.227,23883,1.227,23884,1.227,23885,1.227,23886,1.227,23887,1.227,23888,1.227,23889,1.227,23890,1.227,23891,1.227,23892,1.03,23893,1.227,23894,1.227,23895,1.227,23896,1.227,23897,1.227,23898,1.227,23899,1.227,23900,1.227,23901,1.227,23902,1.227,23903,1.227,23904,1.227,23905,1.075,23906,1.135,23907,2.269,23908,2.099,23909,1.227,23910,1.227,23911,1.227,23912,1.227,23913,1.227,23914,1.227,23915,1.227,23916,1.227,23917,1.227,23918,1.03,23919,1.227,23920,1.135,23921,0.994,23922,1.227,23923,1.227,23924,1.135,23925,1.227]],["title/modules.html",[203,3.423]],["body/modules.html",[30,0,103,0,104,0,202,3.882,203,1.742,213,3.428,214,2.233,616,3.765,1168,4.023,1376,3.765,1380,3.251,1418,3.882,1419,3.765,1420,3.576,1421,3.364,1752,2.726,1757,3.882,1797,3.428,1827,3.576,1829,3.576,2405,9.939,2417,7.756,2748,3.882,3590,3.664,3591,3.765,3592,3.576,3593,2.924,3992,4.023,4479,4.023,4667,4.023,4672,3.576,4719,3.882,5429,3.498,5434,3.069,6067,3.664,6068,3.765,6587,3.498,6671,3.305,6675,3.882,6676,4.023,6677,4.023,8105,4.023,8388,4.2,8796,3.498,9373,3.765,9374,3.664,10977,4.023,10988,4.023,11042,4.2,11046,3.882,11051,4.023,11206,3.364,11214,4.023,11216,3.428,11270,4.2,11273,3.364,11274,3.498,11370,4.2,11381,4.2,11615,3.882,11619,3.882,12173,4.023,12194,4.2,13485,3.765,13486,3.882,13745,3.882,14147,4.023,14692,3.882,14696,3.428,14697,3.576,14715,3.576,14757,3.882,14761,3.664,14975,3.882,15574,4.023,15648,3.765,15662,3.765,15675,4.023,15682,4.023,15703,3.882,15707,3.765,15764,10.55,16063,3.882,16573,3.882,16577,3.765,16755,3.882,16759,4.023,17580,4.2,17583,4.023,17887,3.882,18285,3.882,18468,3.882,19484,4.2,19498,4.023,19501,3.765,19502,3.882,19503,3.882,19504,3.882,19505,3.882,19506,3.882,19507,3.882,19508,3.882,19578,4.023,19855,4.023,21158,4.023,21619,4.023,22769,4.023,23926,14.66,23927,14.66,23928,13.597]],["title/properties.html",[112,0.633,23122,4.998]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.806,153,2.413,1122,6.739,1778,4.136,1779,6.421,2024,4.903,2488,9.742,4622,6.572,5844,6.829,10546,8.267,17986,7.527,21292,8.046,23924,9.742,23929,10.84,23930,9.742,23931,8.835,23932,10.53,23933,10.53,23934,10.53,23935,10.53]],["title/todo.html",[1351,3.701,1726,2.44,23280,4.998]],["body/todo.html",[0,0.192,5,0.006,30,0.001,31,0.469,32,0.107,34,1.376,36,1.215,47,0.398,72,2.558,99,0.92,100,2.798,103,0,104,0,107,1.332,112,0.434,131,3.123,133,1.965,141,3.854,142,2.21,154,2.519,155,1.852,201,3.04,209,2.152,220,3.159,225,2.254,239,1.929,259,2.168,261,2.716,262,2.14,290,4.137,305,3.284,355,3.583,358,4.747,360,4.908,379,0.716,454,2.626,472,2.952,486,3.203,490,3.449,493,2.782,511,5.016,573,3.845,574,7.227,595,3.497,639,2.67,739,2.448,829,2.932,934,7.329,938,5.612,950,5.977,982,4.137,990,2.816,993,3.167,997,3.833,1081,4.333,1122,7.226,1128,3.678,1130,4.679,1262,1.978,1288,5.792,1289,3.497,1297,3.73,1478,3.384,1503,6.005,1520,6.005,1726,2.425,1748,8.071,1778,4.176,1779,5.019,1816,3.909,1822,3.384,1832,7.078,2000,4.722,2024,2.64,2079,2.507,2081,3.92,2091,4.229,2095,3.845,2171,3.089,2312,2.35,2396,3.253,2405,3.845,2421,8.13,2424,4.862,2425,7.966,2487,2.996,2764,2.685,3307,3.845,3309,3.583,3346,4.912,3519,3.73,3671,3.73,4018,4.229,4081,5.201,4381,3.42,4541,3.384,4608,3.845,4654,9.141,4677,2.911,4743,5.119,4744,6.906,4745,3.678,4973,3.583,5126,3.458,5160,3.73,5580,4.591,5935,3.018,6364,4.967,6402,5.674,6441,5.286,6679,5.884,6685,5.884,6688,3.978,6689,4.967,6692,4.758,6781,7.227,7106,3.253,7133,3.73,7275,3.539,8052,4.452,8053,4.229,8054,7.405,8384,5.674,8786,4.591,8844,4.333,8852,4.229,10144,3.629,10296,6.906,10462,6.927,10530,3.42,10922,4.758,11420,3.978,11477,5.246,11545,4.452,12443,4.137,12448,3.845,12450,3.909,12451,4.229,12469,4.137,12548,3.539,12596,6.005,13141,6.463,13754,3.909,13995,4.758,14667,4.967,14743,4.591,15910,4.758,16598,4.591,17713,4.967,17763,4.452,17986,4.054,18751,5.246,19603,7.608,19914,5.246,20646,5.246,21292,4.333,21303,4.229,21572,4.967,22156,5.246,23122,4.967,23252,5.246,23282,6.29,23298,4.967,23301,4.758,23341,4.758,23380,4.591,23483,5.246,23512,5.246,23905,7.21,23921,4.591,23936,5.671,23937,5.246,23938,4.758,23939,4.967,23940,5.246,23941,5.671,23942,5.671,23943,5.671,23944,4.758,23945,5.671,23946,5.671,23947,5.671,23948,4.758,23949,5.671,23950,5.671,23951,5.246,23952,5.671,23953,5.671,23954,5.671,23955,5.671,23956,5.671,23957,4.758,23958,4.967,23959,5.671,23960,5.671,23961,5.671,23962,5.671,23963,5.246,23964,5.671,23965,5.246,23966,5.671,23967,5.671,23968,5.671,23969,5.671,23970,5.671,23971,5.671,23972,4.967,23973,5.671,23974,5.671,23975,5.671,23976,5.671,23977,5.246,23978,5.671,23979,5.671,23980,5.671,23981,5.671,23982,5.671,23983,5.671,23984,5.671,23985,5.671,23986,9.691,23987,5.671,23988,5.671,23989,5.671,23990,5.671,23991,5.671,23992,5.671,23993,4.758,23994,8.232,23995,5.671,23996,5.671]],["title/additional-documentation/nestjs-application.html",[822,2.367,1304,2.884,3516,2.914,3916,3.125]],["body/additional-documentation/nestjs-application.html",[5,0.011,18,1.886,30,0.001,31,0.429,33,0.289,72,1.701,78,6.377,87,1.911,95,0.045,103,0,104,0,107,0.886,128,1.537,133,2.09,141,1.766,142,1.47,172,1.179,180,0.658,201,2.316,203,2.191,219,2.368,253,1.862,271,1.4,284,3.18,292,3.814,305,2.185,358,5.035,361,2.144,413,2.275,454,4.356,486,1.136,493,2.958,511,4.179,535,2.752,560,1.55,569,4.31,574,5.617,576,3.304,579,2.023,600,3.763,645,2.752,757,4.607,760,4.607,765,3.91,766,3.367,822,2.922,829,4.862,934,5.673,935,7.385,938,3.492,950,3.719,951,4.696,993,3.367,996,4.144,999,3.034,1122,6.019,1130,2.144,1196,7.386,1209,3.304,1225,5.58,1270,3.459,1288,4.687,1304,2.228,1306,4.645,1351,5.58,1456,2.481,1491,3.526,1503,5.494,1517,3.165,1518,3.054,1519,5.702,1607,2.813,1729,2.383,1748,2.696,1779,3.676,1813,2.646,1815,2.481,1816,4.156,1822,3.598,1824,2.696,1832,2.072,1903,2.481,1954,2.696,2024,4.67,2079,1.668,2080,1.862,2081,4.096,2175,4.398,2228,5.281,2255,1.442,2318,3.492,2330,7.875,2396,2.164,2417,2.327,2424,3.561,2425,7.92,2426,2.6,2427,2.354,2443,2.414,2492,4.542,2494,2.518,2651,2.518,2773,3.966,2830,5.134,2836,2.481,2884,2.275,3134,1.737,3308,2.518,3309,3.809,3514,5.191,3515,6.337,3516,6.901,3519,4.954,3600,5.602,3601,1.518,3608,2.962,3913,3.054,3914,2.6,3916,7.559,3942,2.882,4743,3.185,5111,2.039,5160,2.481,5396,3.054,5557,3.304,5573,4.088,5643,1.898,5826,2.354,5837,2.646,6403,2.518,6441,1.766,6496,2.481,6497,2.518,6576,5.578,6624,2.813,6682,3.49,6721,4.025,6777,2.696,6865,2.251,6961,2.447,7292,2.414,8050,6.598,8067,5.059,8070,5.93,8212,4.881,8231,6.416,8432,4.607,8809,3.49,9283,2.206,9425,4.398,10130,4.607,10527,2.3,10547,9.367,10644,4.734,10922,3.165,10926,4.89,10931,2.882,10973,2.962,11237,4.607,11238,4.734,11304,2.3,11420,5.283,11951,2.882,12095,4.31,12360,3.165,12437,2.882,12448,2.558,12449,4.31,12469,5.494,12471,2.752,12478,2.962,12519,3.304,12548,5.369,12645,3.304,12671,9.279,12674,3.49,12675,2.813,12782,3.165,12812,3.304,13158,2.518,13677,2.962,13897,3.054,13994,3.054,14231,3.304,14487,3.054,14745,3.054,14747,3.054,15363,6.968,15848,8.12,15897,6.097,16238,2.882,16254,3.165,16598,3.054,16600,3.165,17490,3.165,17713,8.238,18941,2.696,21260,5.059,21292,6.574,21302,3.304,21303,7.015,21701,3.49,21756,5.578,22147,3.165,23205,3.49,23260,3.49,23268,3.49,23269,3.49,23281,3.165,23282,9.457,23283,5.281,23284,3.165,23286,3.054,23289,3.304,23297,6.319,23317,3.304,23402,3.304,23448,3.054,23480,5.578,23487,3.49,23595,3.304,23610,3.054,23619,5.281,23676,3.304,23712,3.49,23755,3.49,23761,3.49,23871,5.281,23892,3.165,23928,3.49,23944,9.462,23957,5.059,23958,5.281,23972,5.281,23977,8.702,23997,3.772,23998,3.772,23999,7.892,24000,3.772,24001,3.772,24002,3.772,24003,3.772,24004,3.772,24005,6.029,24006,3.772,24007,6.596,24008,3.772,24009,3.772,24010,3.772,24011,3.772,24012,3.772,24013,3.772,24014,3.772,24015,3.772,24016,3.772,24017,3.772,24018,3.772,24019,3.772,24020,3.772,24021,3.772,24022,8.702,24023,3.49,24024,3.49,24025,3.49,24026,3.49,24027,3.49,24028,3.49,24029,3.49,24030,3.49,24031,3.772,24032,3.49,24033,3.772,24034,3.772,24035,3.772,24036,6.029,24037,3.304,24038,3.49,24039,3.304,24040,3.304,24041,3.772,24042,9.406,24043,3.49,24044,3.772,24045,3.772,24046,10.03,24047,3.772,24048,3.772,24049,3.772,24050,3.772,24051,6.029,24052,8.603,24053,3.772,24054,6.029,24055,3.772,24056,6.029,24057,6.029,24058,3.772,24059,3.772,24060,8.603,24061,3.772,24062,3.772,24063,3.772,24064,3.772,24065,6.029,24066,3.772,24067,3.772,24068,3.772,24069,3.772,24070,6.029,24071,3.772,24072,3.772,24073,3.772,24074,3.49,24075,3.772,24076,3.772,24077,3.772,24078,6.029,24079,3.772,24080,3.772,24081,3.772,24082,3.772,24083,3.772,24084,3.772,24085,3.772,24086,6.029,24087,7.531,24088,3.772,24089,3.772,24090,7.531,24091,6.029,24092,3.772,24093,3.772,24094,3.772,24095,3.772,24096,3.772,24097,3.772,24098,3.772,24099,3.772,24100,6.029,24101,3.772,24102,6.029,24103,6.029,24104,3.49,24105,3.772,24106,6.968,24107,3.772,24108,3.772,24109,3.772,24110,3.49,24111,3.49,24112,3.772,24113,3.772,24114,3.772,24115,3.772,24116,3.772,24117,3.772,24118,3.772,24119,3.772]],["title/additional-documentation/nestjs-application/software-architecture.html",[822,2.367,1304,2.884,23288,3.954,23348,4.097]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.327,2,0.695,5,0.004,7,0.057,8,0.482,27,0.398,30,0.001,72,4.631,95,0.047,101,0.014,103,0,104,0,105,1.141,107,2.695,155,2.054,201,3.502,203,4.649,204,1.551,208,2.885,209,1.51,223,3.247,225,2.5,236,0.648,239,0.932,259,1.521,316,3.4,348,2.002,353,2.742,355,2.514,357,3.04,358,2.809,454,2.913,459,4.49,474,1.694,482,2.118,500,2.327,535,2.903,539,0.534,541,0.956,560,1.635,562,5.377,564,3.017,579,3.373,662,2.423,685,1.664,755,2.617,759,3.04,765,5.059,766,4.357,769,2.742,951,5.219,993,3.513,1007,4.413,1108,2.374,1124,5.509,1128,6.658,1185,2.483,1215,2.185,1288,6.402,1289,2.454,1306,2.454,1519,2.262,1607,7.201,1664,2.917,1726,1.701,1728,2.617,1729,5.601,1778,5.145,1813,6.219,1815,2.617,1819,4.336,1820,5.824,1821,2.698,1822,2.374,1824,2.844,1994,2.791,2024,3.632,2093,3.544,2095,4.265,2190,3.974,2207,5.347,2220,3.609,2396,3.609,2406,6.005,2416,3.338,2417,2.454,2420,3.221,2425,2.546,2426,2.742,2443,4.025,2460,3.04,2491,3.681,2492,6.192,2493,4.137,2494,2.656,2647,3.484,2668,2.514,2764,1.884,2773,2.617,3134,4.952,3308,2.656,3309,4.929,3516,2.374,3610,4.691,3624,3.124,3671,4.137,3894,4.336,3912,3.221,3914,6.111,3916,4.025,4042,2.426,4081,2.514,4544,2.304,4603,2.903,4654,5.093,4691,3.338,4729,7.441,5160,5.831,5386,3.681,5515,4.607,5562,2.903,5568,3.04,5579,3.338,5693,5.82,5837,4.413,6401,3.124,6403,4.199,6413,3.681,6441,1.863,6683,2.791,7082,2.483,7083,4.589,7275,2.483,7376,3.221,7744,4.807,8054,3.04,8231,2.967,8262,2.698,8844,3.04,8852,4.691,9428,3.04,10130,3.04,10144,4.992,10326,3.04,10452,2.967,10531,3.221,10677,2.698,10777,2.791,10926,3.576,10951,3.04,11558,3.221,12447,2.617,12448,4.265,12548,3.926,12577,8.101,12596,4.589,12597,5.278,12617,4.691,13140,6.467,13141,3.124,13446,3.338,13546,4.939,13677,3.124,13899,6.545,13994,3.221,14738,3.124,14743,5.093,14745,3.221,14954,5.82,15015,6.125,15201,3.124,15303,3.485,15413,3.485,15763,6.545,15764,3.338,16256,3.681,16843,3.124,17496,3.485,17986,6.902,18838,5.509,18892,4.939,19603,4.939,19608,3.338,19870,3.04,20450,3.681,20644,3.221,20778,3.221,20826,3.485,21027,3.338,21699,10.284,21862,3.485,22147,3.338,22433,3.485,23282,3.04,23288,8.312,23290,5.509,23300,3.338,23301,3.338,23304,3.04,23313,4.939,23337,3.338,23348,5.278,23380,3.221,23381,8.101,23411,3.338,23412,7.217,23418,3.681,23433,3.485,23436,5.509,23448,3.221,23455,3.338,23467,3.681,23470,3.485,23489,3.485,23495,6.832,23516,3.124,23546,3.681,23558,3.485,23566,3.681,23595,3.485,23596,3.485,23619,5.509,23751,7.217,23802,3.681,23841,3.681,23856,3.681,23858,6.545,23906,5.82,23918,3.338,23931,3.338,23938,6.545,23948,8.101,24040,3.485,24120,3.979,24121,3.979,24122,9.656,24123,3.979,24124,3.979,24125,3.979,24126,3.979,24127,3.979,24128,8.866,24129,3.979,24130,3.681,24131,3.979,24132,3.979,24133,7.801,24134,3.979,24135,3.979,24136,7.217,24137,3.979,24138,3.979,24139,3.485,24140,3.681,24141,3.979,24142,3.338,24143,3.979,24144,7.801,24145,8.457,24146,5.278,24147,3.979,24148,3.979,24149,7.765,24150,3.979,24151,6.29,24152,3.485,24153,3.979,24154,6.29,24155,3.979,24156,3.979,24157,3.979,24158,3.979,24159,3.979,24160,3.979,24161,3.979,24162,3.681,24163,3.979,24164,3.979,24165,3.681,24166,3.979,24167,6.29,24168,3.681,24169,3.979,24170,3.979,24171,3.979,24172,8.202,24173,3.979,24174,3.681,24175,3.979,24176,3.979,24177,3.979,24178,3.681,24179,3.979,24180,3.979,24181,6.29,24182,3.979,24183,3.979,24184,3.979,24185,3.485,24186,3.979,24187,3.681,24188,3.979,24189,3.979,24190,3.979,24191,3.979,24192,3.681,24193,3.979,24194,3.979,24195,3.979,24196,3.979,24197,3.979,24198,5.82,24199,3.979,24200,3.979,24201,6.29,24202,6.29,24203,7.801,24204,7.801,24205,6.29,24206,6.29,24207,3.681,24208,3.979,24209,3.979,24210,3.338,24211,6.29,24212,3.979,24213,3.979,24214,3.979,24215,3.979,24216,3.485,24217,3.979,24218,3.979,24219,3.979,24220,3.979,24221,3.979,24222,6.29,24223,3.979,24224,3.681,24225,3.979]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.005,822,2.367,1304,2.884,5384,3.491]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.377,2,0.371,3,0.007,5,0.013,9,2.612,27,0.391,30,0.001,31,0.571,32,0.071,34,0.561,36,1.175,72,3.995,95,0.065,100,3.41,101,0.015,103,0,104,0,105,0.343,107,1.288,112,0.532,128,1.367,133,1.901,138,1.437,142,1.308,148,2.155,154,2.03,155,3.104,172,1.048,201,3.417,203,4.145,204,1.308,207,1.334,208,2.028,209,3.607,217,2.024,223,2.896,225,2.18,236,1.133,239,1.63,259,4.001,262,1.536,270,2.69,271,1.245,274,2.024,284,2.427,294,2.76,316,5.656,324,1.699,345,1.07,349,0.719,353,2.313,355,2.12,358,5.618,359,2.024,361,1.907,379,0.423,437,1.059,454,1.554,459,4.486,474,1.428,484,1.723,486,1.011,493,3.941,511,1.491,535,4.001,539,0.736,560,5.008,562,4.795,563,3.273,577,2.939,591,1.89,608,1.271,631,4.516,639,2.582,645,2.448,654,2.089,685,3.359,739,3.002,749,5.074,760,2.564,763,2.502,765,3.557,766,1.874,824,1.19,829,1.735,934,3.308,950,5.863,951,2.568,982,5.074,993,3.063,999,1.688,1082,5.188,1103,4.306,1121,2.147,1123,2.176,1128,2.176,1130,1.907,1132,2.634,1136,2.939,1148,2.564,1288,5.465,1289,4.29,1296,5.991,1297,2.207,1304,4.108,1309,5.129,1456,2.207,1478,2.002,1519,1.907,1520,5.074,1664,2.601,1717,1.607,1728,2.207,1729,3.465,1730,2.716,1744,4.804,1752,1.907,1757,5.632,1758,2.919,1764,6.504,1778,2.732,1779,7.098,1780,2.634,1794,3.51,1813,2.354,1816,2.313,1971,1.562,2000,1.925,2024,1.562,2095,3.718,2190,3.465,2207,2.024,2220,3.146,2255,2.097,2406,1.874,2425,4.451,2427,5.014,2432,2.815,2433,2.939,2487,3.674,2492,5.342,2494,2.24,2647,1.858,2668,2.12,2764,1.589,2773,4.575,2882,1.598,2962,1.89,3084,2.564,3309,3.465,3368,2.716,3430,2.313,3476,2.12,3516,6.463,3671,2.207,3751,3.92,3779,1.982,3893,4.306,3894,2.313,3895,2.502,3914,3.78,3915,4.191,3916,2.147,4042,2.046,4081,2.12,4204,2.939,4501,2.815,4541,2.002,4544,3.176,4654,4.44,4677,1.723,4702,2.564,4729,6.986,4743,1.772,4745,2.176,5126,4.899,5384,2.398,5515,4.108,5562,2.448,5574,2.564,6315,2.147,6365,3.104,6402,2.313,6403,2.24,6410,2.398,6441,3.257,6679,4.972,6688,3.847,6693,2.716,6721,4.643,7106,3.991,7279,4.44,7292,3.51,7336,2.564,7456,2.176,7744,2.564,7996,2.564,8070,4.795,8580,2.448,8685,6.435,8794,2.564,8844,2.564,8853,2.815,8943,6.935,9428,2.564,10086,3.104,10091,3.104,10130,2.564,10144,3.51,10161,2.634,10162,5.632,10163,2.716,10164,2.815,10165,2.815,10279,2.939,10296,4.602,10297,2.634,10452,2.502,10462,2.398,10527,4.242,11283,2.815,11333,2.716,11504,2.815,11918,2.716,11950,5.074,11951,2.564,12576,2.815,12577,5.836,12617,5.188,12631,2.939,12670,6.092,12873,4.602,12874,2.564,13140,5.074,13677,6.954,13984,2.939,14738,4.306,15850,2.716,15913,3.104,15975,3.104,15976,3.104,15977,3.104,15978,2.939,16015,2.939,16238,2.564,16276,6.092,16843,2.634,17763,2.634,17986,2.398,18471,4.804,18892,6.307,19603,7.464,19843,2.939,20652,4.602,20743,3.104,21699,7.464,23288,4.44,23297,2.815,23312,2.815,23313,5.461,23322,2.939,23331,5.836,23333,2.716,23339,2.939,23341,2.815,23383,3.104,23385,2.716,23455,2.815,23470,2.939,23476,2.939,23494,2.939,23498,3.104,23573,3.104,23610,2.716,23676,2.939,23781,6.435,23851,2.939,23858,2.815,23874,3.104,23892,2.815,23920,3.104,23921,4.44,23931,2.815,23938,6.74,23939,6.092,23948,2.815,23993,5.836,23999,4.602,24038,3.104,24039,6.092,24040,2.939,24043,3.104,24139,2.939,24145,2.939,24146,2.815,24149,2.939,24207,3.104,24226,7.432,24227,4.804,24228,6.435,24229,3.104,24230,3.355,24231,5.485,24232,3.355,24233,9.507,24234,8.034,24235,3.355,24236,3.355,24237,3.355,24238,5.485,24239,8.034,24240,3.355,24241,3.355,24242,3.355,24243,3.355,24244,5.485,24245,2.939,24246,3.355,24247,3.355,24248,3.355,24249,3.355,24250,3.355,24251,3.355,24252,3.355,24253,3.355,24254,3.355,24255,3.355,24256,3.355,24257,3.355,24258,3.355,24259,3.104,24260,3.355,24261,3.355,24262,3.355,24263,3.355,24264,3.355,24265,3.355,24266,3.355,24267,3.355,24268,3.355,24269,3.355,24270,3.355,24271,3.355,24272,3.104,24273,3.355,24274,3.104,24275,5.074,24276,3.355,24277,3.355,24278,3.355,24279,3.355,24280,3.355,24281,3.355,24282,3.355,24283,3.355,24284,3.355,24285,3.355,24286,3.355,24287,3.355,24288,3.355,24289,3.355,24290,3.355,24291,3.355,24292,3.355,24293,3.355,24294,3.355,24295,3.104,24296,3.355,24297,3.355,24298,3.355,24299,3.355,24300,3.355,24301,3.104,24302,3.355,24303,3.355,24304,3.355,24305,3.355,24306,3.355,24307,3.355,24308,6.435,24309,2.939,24310,5.485,24311,3.355,24312,3.355,24313,3.355,24314,3.355,24315,3.355,24316,3.355]],["title/additional-documentation/nestjs-application/api-design.html",[822,2.367,1288,2.66,1304,2.884,23931,4.097]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,23674,9.916]],["title/additional-documentation/nestjs-application/logging.html",[822,2.766,1304,3.371,6686,4.256]],["body/additional-documentation/nestjs-application/logging.html",[0,0.351,3,0.017,8,0.961,26,1.614,30,0.001,39,3.16,95,0.094,101,0.016,103,0.001,104,0.001,105,0.811,131,3.007,177,1.477,191,4.317,201,2.134,236,1.291,284,3.705,345,3.307,349,0.82,358,4.631,462,4.317,475,4.014,517,2.996,528,4.068,572,8.144,591,4.465,639,3.731,662,2.462,685,3.313,950,4.888,990,3.549,1025,5.041,1147,3.15,1297,6.823,1338,5.681,1339,5.362,1341,2.542,1343,3.936,2312,5.753,2313,3.611,2406,4.426,2417,4.888,2431,5.462,2492,7.399,4081,5.007,4381,4.779,4541,4.729,4707,6.941,4745,7.5,5558,3.229,5573,5.373,5580,6.416,5662,5.559,6582,6.416,6686,9.149,7083,5.781,7135,5.781,8384,9.174,8851,7.331,8882,6.222,11558,6.416,12435,6.055,12577,6.649,12910,9.085,12911,6.941,13141,6.222,13446,6.649,14745,6.416,15327,6.649,19975,6.941,21512,8.144,23516,6.222,23559,7.331,23610,6.416,23921,6.416,24317,7.925,24318,7.925,24319,7.925,24320,10.373,24321,7.925,24322,7.925,24323,7.925,24324,7.925,24325,7.925,24326,7.925,24327,7.925,24328,7.925,24329,7.925,24330,7.925,24331,7.331,24332,7.331,24333,7.925]],["title/additional-documentation/nestjs-application/exception-handling.html",[822,2.367,1304,2.884,4541,2.914,6685,3.491]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.31,9,3.138,30,0.001,31,0.375,32,0.155,47,0.799,48,5.448,51,4.493,72,4.131,101,0.014,103,0,104,0,105,0.674,141,3.085,172,2.861,177,1.706,180,1.149,182,2.095,183,5.335,193,4.807,201,1.774,236,1.853,283,5.648,284,3.179,345,2.101,348,4.608,349,0.681,355,4.163,358,4.7,437,0.869,459,4.639,463,3.507,472,3.431,476,3.619,486,3.171,511,4.069,529,3.005,535,4.807,579,3.534,603,1.356,662,2.047,685,2.755,763,4.914,824,3.249,951,4.928,990,4.601,1025,4.899,1130,5.984,1147,2.782,1215,3.619,1242,3.561,1270,3.78,1271,2.053,1287,6.096,1288,4.989,1289,6.492,1295,6.681,1297,8.139,1304,5.409,1306,4.064,1312,4.274,1338,5.73,1343,3.273,1606,5.335,1614,5.529,1622,6.096,1729,4.163,1877,4.398,2220,3.78,2422,5.529,2424,3.892,2431,4.542,2492,7.463,3084,5.035,3308,4.398,3330,4.71,3516,6.281,3601,2.652,3893,5.173,3912,9.678,3913,5.335,3918,8.264,4081,6.65,4541,7.942,4702,5.035,4745,4.274,5582,5.529,5662,4.622,6685,4.71,6686,6.83,6692,5.529,8239,5.529,8384,4.542,8829,3.431,8844,8.043,8902,5.035,8908,6.096,8910,5.529,9283,3.853,9284,4.018,10144,5.861,10297,5.173,11487,6.096,12227,5.771,14747,5.335,15910,5.529,21843,6.096,23281,5.529,23359,6.096,23516,5.173,23678,12.16,24146,5.529,24210,5.529,24259,6.096,24334,6.096,24335,6.59,24336,9.159,24337,6.59,24338,6.59,24339,6.59,24340,6.59,24341,6.59,24342,6.59,24343,6.59,24344,6.59,24345,6.59,24346,6.59,24347,6.59,24348,6.59,24349,6.096,24350,6.59,24351,6.59,24352,6.59,24353,6.59,24354,6.096,24355,6.59]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[133,1.479,822,2.068,1289,2.632,1304,2.521,1778,1.676]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.307,30,0.001,103,0.001,104,0.001,105,1.157,119,1.875,133,4.6,253,5.583,358,4.051,454,4.202,472,4.724,479,3.344,493,4.451,578,5.533,662,2.819,766,6.317,1123,5.885,1289,5.596,1679,6.057,1729,5.733,1778,5.213,1819,6.254,1926,3.405,2095,6.152,2395,6.68,2416,7.613,2424,6.68,2431,7.796,2487,4.793,2492,5.472,2686,5.101,2883,4.031,3136,5.158,3522,7.613,4729,6.057,5555,7.947,5562,6.619,8231,6.767,8710,6.152,10426,6.767,10534,8.88,10931,8.642,12449,6.486,13140,6.619,14738,7.124,19870,6.933,23308,7.346,23416,9.489,23448,7.346,23575,8.394,23851,7.947,24140,8.394,24308,12.946,24356,9.074,24357,9.074,24358,9.074,24359,9.074,24360,11.31,24361,9.074,24362,9.074,24363,9.074,24364,9.074,24365,11.31,24366,9.074]],["title/additional-documentation/nestjs-application/testing.html",[822,2.766,1304,3.371,12095,4.079]],["body/additional-documentation/nestjs-application/testing.html",[0,0.181,27,0.167,29,0.423,30,0.001,31,0.304,32,0.102,35,0.491,36,1.689,51,1.147,72,4.39,79,3.543,94,1.161,95,0.028,96,0.625,100,0.795,103,0,104,0,131,0.887,153,0.927,154,0.818,155,1.746,168,2.32,201,2.409,204,2.483,208,1.977,219,0.918,220,0.897,223,1.684,225,0.929,236,0.381,238,2.986,239,0.948,253,1.154,259,0.894,262,2.434,280,1.611,284,3.037,292,1.184,316,3.444,349,0.815,353,1.611,355,2.555,357,1.786,358,4.831,359,1.41,363,1.317,437,1.427,459,1.184,474,4.401,475,3.228,478,4.135,480,1.773,486,1.218,487,1.273,493,4.389,500,1.367,517,2.722,535,1.705,560,2.618,562,2.788,564,1.67,569,1.671,574,4.752,579,1.253,590,1.442,591,3.59,608,2.33,636,2.365,639,1.1,685,3.297,708,0.937,739,3.403,757,3.091,763,1.743,826,1.516,934,7.808,935,1.835,938,2.342,951,4.188,982,1.705,990,3.537,993,3.559,998,1.113,999,1.176,1004,1.786,1122,3.422,1123,1.516,1128,2.623,1130,1.329,1132,1.835,1133,1.786,1134,3.822,1135,5.895,1180,1.671,1242,2.186,1262,1.411,1288,4.874,1296,1.743,1297,1.537,1306,1.442,1308,3.543,1309,4.566,1351,1.516,1454,4.555,1457,2.162,1500,2.047,1519,1.329,1520,1.705,1607,3.017,1678,1.425,1679,2.7,1728,1.537,1729,1.477,1731,1.743,1743,1.835,1813,3.751,1816,2.788,1819,1.611,1820,1.41,1822,5.808,1823,3.091,1926,1.518,2000,1.341,2024,1.883,2091,1.743,2093,1.317,2094,2.495,2171,1.273,2175,1.705,2228,2.047,2311,3.039,2357,4.649,2368,2.555,2395,1.38,2396,3.656,2406,4.724,2417,3.298,2424,2.389,2425,8.25,2427,1.459,2432,1.961,2435,2.047,2460,1.786,2480,1.38,2487,4.468,2492,5.87,2493,5.186,2494,4.254,2548,0.787,2647,1.294,2668,1.477,2679,1.705,2725,3.394,2962,1.317,3044,2.279,3122,1.009,3134,1.077,3136,1.329,3140,1.176,3172,4.869,3308,1.56,3330,1.671,3346,2.414,3455,1.64,3516,2.414,3519,6.967,3608,1.835,3671,1.537,3894,2.788,3914,1.611,3915,1.786,3916,1.496,4018,3.017,4206,2.047,4603,4.649,4677,2.077,4702,3.091,4729,1.56,4743,1.235,4745,3.468,4751,1.835,5126,1.425,5153,1.496,5160,1.537,5284,3.378,5384,5.148,5390,1.961,5515,2.389,5562,2.951,5573,1.585,5574,1.786,5576,1.786,5577,1.892,5578,1.786,5584,1.786,5609,1.961,5758,2.788,5813,1.892,6360,1.961,6403,2.7,6476,1.56,6683,1.64,6685,2.891,6721,1.56,6777,1.671,6781,1.743,7010,4.649,7082,1.459,7083,1.705,7093,1.743,7106,1.341,7133,3.517,7183,6.307,7275,1.459,7282,1.835,7734,1.611,7744,3.091,8024,3.091,8052,1.835,8061,3.543,8067,3.394,8070,2.788,8169,2.047,8432,3.091,8580,2.951,8794,1.786,8852,6.672,9255,7.583,10130,5.503,10131,2.162,10144,4.608,10161,3.176,10297,7.024,10326,1.786,10527,2.466,10530,1.41,10536,1.705,10547,1.64,10643,1.835,10931,1.786,10932,2.162,10951,3.091,11235,1.705,11238,3.176,11273,2.837,11280,1.743,11312,1.961,11388,6.025,11418,5.88,11545,1.835,11554,2.162,11951,1.786,11952,1.835,12095,7.881,12217,1.961,12443,1.705,12448,2.742,12449,1.671,12591,1.835,12592,2.162,12596,1.705,12670,2.047,12874,3.091,13140,2.951,13447,2.162,13864,4.329,13897,1.892,13995,1.961,14254,2.047,14260,5.581,14488,1.892,14635,2.162,14685,2.047,14737,3.543,14738,1.835,14745,1.892,14746,2.162,14747,1.892,14765,1.64,14955,3.988,15015,1.835,15323,3.742,15327,3.394,15763,1.961,16016,2.047,16068,3.275,16235,3.394,16444,2.162,16843,1.835,17769,1.892,17986,3.822,18056,1.961,18066,2.047,18281,1.961,18796,2.047,18838,2.047,18960,3.543,19608,1.961,19870,1.786,20028,2.047,20644,1.892,20652,1.961,20778,3.275,20828,3.543,20830,2.162,20836,2.162,21027,1.961,21260,1.961,21290,3.742,21292,4.869,21293,5.895,21297,5.895,21302,5.581,21303,3.017,21560,3.543,21699,3.176,22346,7.825,22601,4.947,23202,2.047,23230,2.162,23282,3.091,23284,3.394,23293,3.394,23304,1.786,23308,1.892,23310,2.047,23313,5.003,23333,1.892,23348,1.961,23360,2.162,23363,2.162,23366,2.162,23368,2.162,23380,1.892,23381,1.961,23385,1.892,23386,2.162,23400,2.162,23401,2.162,23416,3.394,23433,3.543,23448,4.329,23455,1.961,23473,2.162,23476,2.047,23481,2.162,23489,2.047,23495,2.047,23558,2.047,23564,2.047,23596,2.047,23610,1.892,23674,2.047,23782,2.162,23800,2.162,23834,2.162,23861,2.162,23865,2.162,23871,2.047,23905,2.047,23918,1.961,23938,1.961,23939,2.047,23948,4.486,23963,4.947,23965,3.742,23993,1.961,23999,7.506,24037,2.047,24104,2.162,24136,2.162,24145,2.047,24146,1.961,24149,3.543,24152,2.047,24165,2.162,24172,2.162,24174,2.162,24185,3.543,24187,2.162,24192,9.004,24210,3.394,24216,3.543,24224,3.742,24226,4.947,24227,2.047,24228,3.742,24229,2.162,24245,3.543,24274,2.162,24275,2.162,24301,2.162,24332,2.162,24334,2.162,24349,2.162,24367,2.337,24368,2.337,24369,2.337,24370,2.047,24371,2.337,24372,5.347,24373,2.337,24374,4.045,24375,2.337,24376,2.337,24377,4.045,24378,2.337,24379,2.337,24380,2.337,24381,2.047,24382,2.337,24383,2.337,24384,2.337,24385,2.337,24386,2.337,24387,2.337,24388,2.337,24389,2.337,24390,2.337,24391,2.337,24392,2.337,24393,2.337,24394,6.373,24395,2.337,24396,2.162,24397,2.337,24398,2.337,24399,2.162,24400,2.337,24401,2.337,24402,7.885,24403,2.337,24404,2.337,24405,2.337,24406,2.337,24407,2.337,24408,2.162,24409,3.742,24410,4.045,24411,7.201,24412,4.045,24413,2.337,24414,2.337,24415,2.047,24416,2.337,24417,5.347,24418,4.045,24419,4.045,24420,7.885,24421,4.045,24422,2.337,24423,2.337,24424,2.162,24425,2.047,24426,5.347,24427,2.337,24428,5.347,24429,4.045,24430,7.201,24431,4.045,24432,5.347,24433,2.337,24434,2.337,24435,2.337,24436,4.045,24437,8.459,24438,2.337,24439,2.337,24440,2.337,24441,2.337,24442,2.337,24443,2.337,24444,2.337,24445,2.337,24446,2.337,24447,2.337,24448,2.337,24449,2.337,24450,2.337,24451,2.337,24452,2.337,24453,2.337,24454,2.337,24455,4.045,24456,2.337,24457,2.162,24458,5.347,24459,2.337,24460,2.337,24461,2.337,24462,2.337,24463,5.347,24464,2.337,24465,4.045,24466,4.045,24467,2.337,24468,2.337,24469,2.337,24470,2.337,24471,2.337,24472,4.045,24473,4.045,24474,4.045,24475,5.347,24476,2.337,24477,2.337,24478,4.045,24479,4.045,24480,4.045,24481,5.347,24482,2.337,24483,2.337,24484,2.337,24485,4.045,24486,2.337,24487,4.045,24488,2.337,24489,2.337,24490,2.337,24491,2.337,24492,4.045,24493,4.045,24494,2.337,24495,2.337,24496,2.337,24497,2.337,24498,7.201,24499,2.337,24500,5.347,24501,2.162,24502,2.047,24503,2.337,24504,2.337,24505,2.337,24506,2.337,24507,2.337,24508,2.337,24509,2.337,24510,2.337,24511,6.373,24512,2.337,24513,2.337,24514,4.045,24515,4.045,24516,2.337,24517,4.045,24518,2.337,24519,2.337,24520,2.337,24521,2.337,24522,2.337,24523,2.337,24524,2.337,24525,2.162,24526,2.337,24527,2.337,24528,2.337,24529,2.337,24530,2.337,24531,2.337,24532,4.045,24533,2.337,24534,2.337,24535,2.337,24536,2.337,24537,2.337,24538,2.337,24539,2.337,24540,2.337,24541,2.337,24542,2.337,24543,2.337]],["title/additional-documentation/nestjs-application/vscode.html",[822,2.766,1304,3.371,23286,4.62]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.013,30,0.001,72,4.386,103,0.001,104,0.001,511,5.244,590,5.998,759,7.431,829,5.027,934,5.865,2175,7.094,2425,7.553,2651,6.491,3516,7.043,3915,7.431,3916,7.553,4743,6.235,6403,6.491,6441,5.525,6476,6.491,6681,8.159,8231,7.252,11420,6.821,12612,7.873,12617,7.252,15295,8.517,21292,9.019,23286,9.555,23314,10.337,23577,8.997,23743,8.517,23857,8.997,23908,11.757,23937,8.997,23944,8.159,23999,8.159,24039,8.517,24074,8.997,24110,8.997,24142,8.159,24245,8.517,24309,10.337,24544,9.725,24545,9.725,24546,9.725,24547,9.725,24548,9.725,24549,9.725,24550,9.725]],["title/additional-documentation/nestjs-application/git.html",[822,2.766,1304,3.371,23287,4.788]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.43,55,2.305,72,3.408,77,4.836,103,0.001,104,0.001,153,1.732,220,2.9,324,3.827,353,5.208,358,3.374,486,2.276,511,3.357,517,2.857,766,6.309,829,3.906,937,6.34,951,5.288,998,3.598,1025,2.992,1132,5.933,1133,5.774,1271,2.354,1309,4.376,1517,6.34,1518,6.118,1519,5.714,1679,6.71,1728,7.43,1748,7.186,1815,4.97,1820,4.557,1832,4.15,1838,10.15,1839,9.893,1971,3.518,2093,4.257,2190,4.774,2220,4.335,2395,4.463,2406,4.22,2425,6.433,2427,4.716,2480,4.463,2492,6.813,2696,3.518,2830,4.509,2882,4.787,3455,5.301,4743,3.992,5160,7.43,5515,4.463,5578,5.774,5837,8.446,6364,8.804,6688,5.301,6961,4.901,7078,5.933,7292,4.836,7996,5.774,8070,5.208,8852,5.636,10532,7.892,10777,5.301,12447,4.97,12451,5.636,12591,5.933,12701,5.402,12702,5.402,12846,6.618,12873,6.34,13139,6.618,14685,6.618,14955,5.636,16157,6.618,20660,6.991,23287,10.102,23303,6.618,23308,6.118,23318,6.618,23319,6.618,23331,9.477,23335,8.434,23381,10.102,23382,6.991,23516,7.892,23564,9.893,23641,6.991,23803,6.991,23921,9.145,23951,6.991,23972,8.804,24130,6.991,24142,8.434,24162,6.991,24227,8.804,24272,6.991,24501,6.991,24502,6.618,24551,7.557,24552,7.557,24553,7.557,24554,7.557,24555,7.557,24556,7.557,24557,7.557,24558,7.557,24559,7.557,24560,7.557,24561,7.557,24562,7.557,24563,7.557,24564,7.557,24565,10.053,24566,7.557,24567,7.557,24568,10.053,24569,7.557,24570,7.557,24571,7.557,24572,7.557,24573,7.557,24574,7.557,24575,7.557,24576,7.557,24577,7.557,24578,7.557,24579,7.557,24580,7.557]],["title/additional-documentation/nestjs-application/keycloak.html",[568,3.652,822,2.766,1304,3.371]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.005,18,2.266,30,0.001,31,0.617,51,3.416,53,6.185,78,8.097,87,3.527,95,0.113,101,0.015,103,0,104,0,128,1.847,137,4.346,153,1.596,208,1.677,219,1.781,220,1.74,239,1.632,284,3.273,319,1.921,321,5.08,353,3.125,357,3.464,358,4.248,511,3.094,517,2.632,568,8.692,569,3.24,591,2.554,600,2.829,685,1.895,747,3.307,763,3.381,767,5.842,769,3.125,829,5.307,934,4.2,970,3.125,993,2.532,1079,2.677,1080,5.426,1196,3.18,1270,3.995,1288,3.793,1297,2.982,1488,5.842,1512,5.291,1519,3.958,1723,3.527,1728,4.58,1794,2.901,1815,2.982,1954,3.24,1984,3.793,2024,5.422,2081,4.53,2093,2.554,2175,3.307,2207,2.734,2318,6.744,2330,9.143,2341,2.796,2417,2.796,2426,5.844,2427,2.829,2431,3.125,2492,7.024,2836,8.019,2884,7.024,2962,3.923,3122,3.659,3134,2.088,3309,5.357,3514,5.844,3519,4.58,3601,1.824,3606,3.073,3916,2.901,3990,6.479,4603,3.307,4677,4.353,4729,3.026,4745,2.94,5515,2.677,5568,3.464,5623,3.97,5837,5.947,6403,3.026,6624,3.381,6680,3.559,6722,2.677,6961,4.516,7010,3.307,7082,4.346,7275,4.346,7292,2.901,7530,6.94,8050,5.947,8231,5.193,8384,4.8,8432,3.464,8852,3.381,9255,8.773,10547,8.829,10687,3.559,10922,3.803,11237,3.464,11304,2.764,11837,6.185,12095,6.061,12437,7.844,12447,2.982,12448,5.748,12465,3.559,12478,7.469,12519,8.332,12548,4.346,12576,3.803,12645,3.97,12773,3.67,13754,6.557,14134,7.426,14231,7.426,14234,7.702,14271,7.269,14365,3.97,14488,3.67,14490,4.194,15295,3.97,15848,3.67,15897,6.864,16255,4.194,16376,3.803,16600,3.803,17986,6.061,20833,3.97,21292,3.464,21303,5.193,23282,3.464,23285,3.97,23307,3.97,23335,3.803,23385,3.67,23402,3.97,23442,4.194,23516,5.467,23547,4.194,23580,4.194,23612,4.194,23682,4.194,23929,8.991,23944,7.982,24007,10.864,24022,9.497,24023,7.844,24024,6.442,24025,6.442,24026,6.442,24027,8.801,24028,6.442,24029,6.442,24030,8.801,24032,4.194,24106,6.442,24399,4.194,24408,4.194,24415,3.97,24457,4.194,24581,4.533,24582,4.533,24583,4.533,24584,4.533,24585,9.514,24586,4.533,24587,4.533,24588,4.533,24589,6.964,24590,4.533,24591,4.533,24592,6.964,24593,4.533,24594,4.533,24595,4.533,24596,4.533,24597,6.964,24598,4.533,24599,6.964,24600,6.964,24601,6.964,24602,6.964,24603,11.285,24604,6.964,24605,6.964,24606,6.964,24607,6.964,24608,4.533,24609,4.533,24610,4.533,24611,10.265,24612,6.964,24613,6.964,24614,4.533,24615,4.533,24616,6.964,24617,4.533,24618,4.533,24619,4.533,24620,4.533,24621,4.533,24622,4.533,24623,4.533,24624,4.533,24625,6.964,24626,4.533,24627,4.533,24628,4.533,24629,6.964,24630,6.964,24631,4.533,24632,4.533,24633,4.533,24634,4.533,24635,4.533,24636,4.533,24637,4.533,24638,4.533,24639,4.533,24640,4.533]],["title/additional-documentation/nestjs-application/rocket.chat.html",[822,2.766,1304,3.371,24641,5.28]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.008,30,0.001,31,0.427,103,0.001,104,0.001,358,3.349,696,2.912,742,4.12,757,10.035,829,3.878,938,4.344,950,6.169,992,5.262,1057,5.732,1103,7.853,1132,5.889,1195,5.889,1730,6.073,2024,4.657,2081,3.572,2318,8.382,2330,5.889,2395,4.43,2492,7.543,2651,5.007,2884,4.524,3134,3.455,3514,5.17,3515,4.739,3519,4.934,3601,4.025,3916,4.8,6624,5.594,7289,5.732,9425,5.472,10547,7.017,10677,5.085,12471,5.472,15195,6.293,15897,6.073,16276,6.569,17490,6.293,18471,8.761,20644,6.073,20653,6.939,21303,5.594,22616,6.293,23213,6.939,23929,6.569,23957,6.293,24007,10.953,24309,6.569,24641,10.412,24642,7.501,24643,7.501,24644,7.501,24645,7.501,24646,7.501,24647,10.003,24648,7.501,24649,7.501,24650,7.501,24651,7.501,24652,7.501,24653,7.501,24654,10.003,24655,7.501,24656,7.501,24657,7.501,24658,7.501,24659,7.501,24660,7.501,24661,7.501,24662,7.501,24663,7.501,24664,7.501,24665,7.501,24666,7.501,24667,7.501,24668,7.501,24669,7.501,24670,7.501,24671,7.501,24672,7.501,24673,7.501,24674,7.501,24675,7.501,24676,7.501,24677,7.501,24678,7.501,24679,7.501,24680,7.501,24681,7.501,24682,7.501,24683,7.501,24684,7.501,24685,7.501,24686,7.501,24687,7.501,24688,10.003,24689,10.003,24690,7.501,24691,7.501]],["title/additional-documentation/nestjs-application/configuration.html",[822,2.766,1304,3.371,2079,2.523]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.494,34,1.02,55,2.061,102,3.092,103,0,104,0.001,131,2.316,141,4.063,153,1.399,204,2.379,236,0.994,261,4.837,292,3.092,355,5.484,358,2.726,359,3.682,360,6.43,361,3.47,458,3.326,475,3.092,486,1.839,511,3.856,517,2.308,563,3.643,564,2.712,685,4.223,755,4.015,760,4.665,765,3.959,829,3.156,850,5.122,934,3.682,935,4.793,937,10.422,950,3.765,951,4.728,990,2.97,1025,2.417,1128,3.959,1270,3.502,1271,1.902,1288,4.728,1306,5.353,1520,6.332,1643,3.57,1678,3.723,1729,3.857,1779,7.086,1794,3.907,1813,4.282,1832,3.353,1838,8.905,2024,4.041,2079,2.699,2081,2.907,2093,3.44,2406,6.143,2424,6.496,2425,5.554,2426,5.982,2431,4.208,2443,5.554,2492,3.682,2493,4.015,2806,6.381,3134,2.812,3308,4.075,3516,6.934,3519,7.234,3751,4.364,3915,6.632,3916,8.637,3990,4.665,4607,4.942,4743,3.225,5134,3.535,5284,5.484,5390,5.122,5515,5.126,5562,4.453,5576,4.665,5813,4.942,5837,4.282,6315,3.907,6402,4.208,6496,5.709,6582,4.942,6685,4.364,6686,4.553,6865,6.563,6961,5.629,7106,4.979,7111,4.665,7704,4.553,8070,4.208,9283,3.57,9428,6.632,10050,5.347,10111,4.793,10527,5.293,10547,7.085,10936,8.405,11311,4.793,11419,6.847,12095,4.364,12448,4.139,12591,4.793,12596,6.332,12641,5.347,12874,6.632,14487,8.176,14955,4.553,15015,6.814,15153,4.942,15850,4.942,16238,4.665,16254,5.122,16597,5.122,16598,4.942,17763,4.793,17769,7.027,17986,4.364,18892,6.814,19260,5.347,21512,4.793,22616,5.122,22846,5.347,23281,7.282,23282,4.665,23283,5.347,23284,5.122,23285,5.347,23286,4.942,23287,7.282,23288,7.027,23289,5.347,23290,5.347,23291,5.347,23292,8.03,23293,7.282,23294,5.648,23295,5.648,23296,5.648,23297,5.122,23298,5.347,23299,8.03,23300,5.122,23301,5.122,23302,8.03,23303,5.347,23304,4.665,23305,5.122,23306,5.347,23307,5.347,23308,4.942,23309,5.648,23310,5.347,23311,5.648,23312,5.122,23313,4.793,23314,5.347,23315,8.03,23316,8.03,23317,8.845,23318,10.177,23319,5.347,23320,5.648,23321,8.03,23322,5.347,23323,5.648,23324,5.648,23325,5.648,23326,8.03,23327,8.03,23328,5.648,23329,5.648,23330,5.648,23331,5.122,23332,5.648,23333,4.942,23334,5.648,23335,7.282,23336,5.648,23337,5.122,23338,5.648,23339,5.347,23340,5.648,23341,5.122]],["title/additional-documentation/nestjs-application/authorisation.html",[822,2.766,1304,3.371,3608,4.48]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.075,5,0.006,8,0.47,9,1.061,10,1.574,26,1.866,27,0.092,30,0.001,31,0.351,32,0.05,33,0.107,34,0.861,47,0.614,72,4.301,74,1.803,94,1.106,101,0.008,103,0,104,0,105,0.228,119,1.065,131,3.743,133,2.659,141,1.043,142,2.402,143,1.367,145,1.087,153,0.51,154,1.854,155,1.682,172,0.696,177,0.96,180,0.388,182,0.708,201,2.568,203,1.409,209,1.472,236,1.138,239,3.01,253,1.915,261,1.067,262,1.543,271,2.594,275,5.703,276,4.403,316,2.096,321,3.759,345,0.71,349,0.904,355,3.895,358,4.649,359,1.343,363,1.255,437,1.57,459,1.965,474,0.948,475,2.61,478,3.665,487,1.213,511,0.99,517,1.466,521,2.441,535,1.625,539,0.299,560,4.793,562,4.817,563,3.679,564,0.696,576,1.951,590,3.802,591,2.185,603,1.268,604,0.915,608,1.911,643,3.136,651,1.073,652,1.073,653,1.143,654,3.371,662,1.205,685,3.654,708,0.893,739,1.674,759,1.702,763,3.843,765,3.342,766,5.119,769,1.535,829,1.151,839,1.601,936,1.425,938,5.062,950,1.374,951,1.043,993,3.903,1002,2.63,1007,1.562,1107,5.8,1123,2.516,1128,5.944,1134,3.683,1147,0.676,1225,3.998,1242,1.204,1288,3.358,1297,1.465,1304,3.641,1306,1.374,1309,2.984,1456,3.389,1460,2.061,1461,1.562,1478,1.329,1516,1.951,1519,3.973,1664,1.45,1670,1.213,1673,4.732,1678,3.142,1679,3.439,1694,8.07,1695,6.121,1697,2.421,1717,2.468,1723,6.382,1728,2.551,1729,4.415,1730,1.803,1731,1.661,1732,2.034,1735,3.142,1739,1.026,1743,1.749,1749,2.964,1763,3.843,1778,4.339,1779,1.358,1780,6.023,1815,5.046,1816,1.535,1818,4.115,1819,2.674,1821,1.51,1822,1.329,1823,4.711,1824,4.995,1832,3.838,1850,2.061,1855,4.261,1857,1.749,1875,1.445,1879,5.952,1880,1.803,1886,1.487,1920,2.482,1926,4.326,1931,2.451,1942,0.931,1994,2.721,2000,2.956,2024,2.399,2063,1.51,2081,1.061,2093,1.255,2095,2.63,2207,1.343,2208,2.061,2395,3.641,2396,1.278,2406,4.285,2407,4.171,2408,2.061,2417,1.374,2422,3.254,2424,1.315,2427,1.39,2443,6.498,2480,3.043,2492,6.953,2493,2.551,2494,5.121,2535,4.324,2617,6.302,2647,1.233,2686,1.005,2696,2.399,2739,2.336,2764,3.632,2830,1.329,2837,5.786,2958,1.315,3084,3.937,3122,1.674,3132,1.803,3134,3.799,3135,2.482,3136,3.504,3140,4.798,3222,1.425,3309,5.211,3415,1.465,3419,2.63,3430,3.551,3454,1.425,3515,1.407,3516,2.315,3600,3.062,3601,0.896,3610,1.661,3671,4.596,3892,1.803,3894,4.817,3913,1.803,3915,1.702,3916,4.472,4266,1.31,4501,1.869,4604,1.803,4608,2.63,4609,1.951,4622,5.147,4706,1.535,4729,5.121,4741,1.487,4743,1.177,4745,6.397,4969,1.374,5126,2.365,5160,2.551,5284,4.847,5384,2.773,5558,5.134,5568,1.702,5577,1.803,5662,1.562,5813,1.803,5837,1.562,5935,2.064,6402,1.535,6441,3.272,6497,1.487,6679,1.592,6683,1.562,6688,1.562,6720,1.592,6774,1.803,6781,2.893,6865,1.329,6961,3.998,7010,1.625,7040,1.951,7041,1.869,7083,1.625,7106,5.014,7108,1.592,7110,3.937,7124,1.749,7129,1.702,7233,2.061,7277,5.399,7287,1.315,7295,2.83,7529,1.803,7614,1.407,7704,1.661,7734,1.535,8024,1.702,8046,1.749,8059,3.937,8262,5.201,8432,4.711,8580,1.625,8844,1.702,8852,3.843,8853,1.869,9283,1.302,9425,1.625,10144,3.945,10163,4.171,10326,1.702,10426,1.661,10527,1.358,10536,1.625,10538,1.749,10543,1.749,10677,1.51,10777,1.562,11129,1.869,11135,1.951,11304,3.142,11316,1.661,11552,1.951,12100,4.767,12449,1.592,12451,1.661,12529,2.061,12548,1.39,12596,5.098,12768,2.589,12862,1.803,13140,5.596,13446,4.323,13769,1.951,13899,3.254,13995,1.869,13996,4.323,14640,3.589,14641,1.869,14683,2.061,14737,1.951,14738,3.045,14743,1.803,14765,1.562,15015,3.045,15032,3.254,15098,2.061,15109,2.061,15153,1.803,15201,3.045,15327,1.869,15455,2.83,15850,3.14,16235,3.254,16238,1.702,16250,1.951,16843,1.749,17334,2.061,17496,1.951,17521,2.061,17610,1.951,17763,1.749,17769,1.803,17986,2.773,18056,1.869,18638,3.397,19344,1.951,19832,2.061,20644,3.14,20645,2.061,20652,1.869,20724,2.061,20826,6.719,20831,4.171,20857,5.703,20975,2.061,21303,2.893,21321,2.061,21699,3.045,21700,2.061,22407,2.061,22408,2.061,23088,3.589,23202,8.027,23300,1.869,23304,3.937,23305,1.869,23312,1.869,23313,1.749,23333,1.803,23380,3.14,23385,5.658,23403,2.061,23411,1.869,23416,3.254,23436,1.951,23451,2.061,23494,3.397,23658,2.061,23743,5.399,23858,1.869,23867,2.061,23870,2.061,23892,1.869,23918,1.869,23940,2.061,23957,1.869,23958,1.951,24037,4.513,24111,2.061,24139,1.951,24142,3.254,24152,1.951,24168,4.767,24178,2.061,24185,1.951,24198,3.589,24216,4.513,24295,3.589,24331,2.061,24370,1.951,24381,1.951,24396,2.061,24409,2.061,24415,1.951,24424,2.061,24502,1.951,24525,3.589,24692,2.227,24693,2.227,24694,3.879,24695,2.227,24696,5.153,24697,2.227,24698,2.227,24699,2.061,24700,6.165,24701,3.879,24702,2.227,24703,2.227,24704,3.879,24705,3.879,24706,3.879,24707,2.227,24708,2.227,24709,3.879,24710,8.74,24711,2.227,24712,2.227,24713,2.227,24714,3.879,24715,2.227,24716,2.227,24717,2.227,24718,2.227,24719,2.227,24720,2.227,24721,3.879,24722,2.227,24723,2.227,24724,2.227,24725,2.227,24726,5.153,24727,2.227,24728,3.879,24729,3.879,24730,2.227,24731,3.879,24732,2.227,24733,2.227,24734,2.227,24735,2.227,24736,2.227,24737,2.227,24738,2.227,24739,2.227,24740,2.227,24741,2.227,24742,2.227,24743,2.227,24744,3.879,24745,3.879,24746,2.227,24747,2.227,24748,2.227,24749,2.227,24750,3.879,24751,2.227,24752,2.227,24753,2.227,24754,2.227,24755,2.227,24756,2.227,24757,5.153,24758,2.227,24759,2.227,24760,2.227,24761,2.227,24762,2.227,24763,2.227,24764,2.227,24765,2.227,24766,5.153,24767,2.227,24768,6.165,24769,2.227,24770,2.227,24771,3.879,24772,2.227,24773,2.227,24774,2.227,24775,2.227,24776,2.227,24777,2.227,24778,2.227,24779,2.227,24780,2.227,24781,2.227,24782,2.227,24783,2.227,24784,3.879,24785,2.227,24786,2.227,24787,3.879,24788,2.227,24789,2.227,24790,2.227,24791,2.061,24792,2.227,24793,2.227,24794,2.227,24795,3.879,24796,2.227,24797,2.227,24798,2.227,24799,2.227,24800,2.227,24801,2.227,24802,2.227,24803,2.227,24804,2.227,24805,2.227,24806,2.227,24807,2.227,24808,2.227,24809,2.227,24810,2.227]],["title/additional-documentation/nestjs-application/code-style.html",[822,2.367,951,2.286,1304,2.884,24425,4.277]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.294,2,1.216,8,1.465,30,0.001,31,0.723,35,1.055,47,0.848,101,0.013,103,0.001,104,0.001,112,0.924,119,2.274,181,2.35,206,3.467,261,5.785,314,7.608,349,0.898,358,3.878,379,1.389,474,5.787,529,2.48,708,3.481,766,4.851,938,6.373,951,4.066,990,3.765,993,6.146,1678,5.297,1729,6.952,1735,5.297,1861,6.209,1926,3.259,2093,6.2,2220,4.983,2492,6.637,2494,5.798,3037,8.036,3311,7.288,3565,7.032,3928,8.036,5616,7.608,6837,7.288,7734,5.987,8231,6.478,11543,11.175,12548,5.421,13329,6.819,16599,8.036,23304,6.637,23411,7.288,23684,8.036,23709,8.036,23930,8.036,23993,7.288,24210,7.288,24370,7.608,24381,9.638,24425,7.608,24791,8.036,24811,8.686,24812,8.686,24813,8.686,24814,8.686,24815,8.686,24816,8.686,24817,8.686,24818,8.686]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[822,2.766,1304,3.371,11216,4.079]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.374,30,0.001,31,0.499,101,0.019,103,0.001,104,0.001,124,5.604,168,5.026,177,1.632,201,3.265,203,3.183,208,4.092,225,3.482,353,8.358,358,5.415,379,1.106,437,1.459,517,3.312,539,1.176,560,3.6,591,4.936,603,1.803,685,4.626,759,6.694,766,4.893,1128,7.176,1732,4.594,2079,3.873,2094,5.403,2095,5.94,2492,5.284,3600,4.352,3601,4.88,6513,6.905,6514,6.534,6515,5.94,6516,5.94,6517,5.94,6518,5.94,8212,11.028,11129,7.35,11231,7.35,11392,7.093,11393,6.391,12450,7.626,12591,6.878,12812,9.69,14271,6.694,15201,6.878,18067,7.673,21699,6.878,21706,8.105,24354,8.105,24699,8.105,24819,8.761,24820,8.761,24821,8.761,24822,8.761,24823,8.761,24824,12.127,24825,8.761,24826,8.761,24827,8.761,24828,8.761]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":696,"title":{},"body":{"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":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.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":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":23147,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":23224,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":23253,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":23262,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":23181,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":23167,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":23155,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":23276,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":23265,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":23238,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":23228,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":23156,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":23229,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":23264,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":23162,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":23232,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":23226,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":24330,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6022,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6018,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":24327,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":19976,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14130,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":708,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionRequestProps-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/SystemIdParams-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":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.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":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":23248,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":23130,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":23208,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":23196,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":15453,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":24514,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":23246,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":23254,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":23174,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":23201,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":24515,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":23172,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":23171,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":23209,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":23149,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":23216,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":23131,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":23170,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":23176,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":23186,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":23240,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":710,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/PaginationParams.html":{},"license.html":{}}}],["10.0.1",{"_index":23142,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":23140,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":23138,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":697,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{}}}],["1000",{"_index":1636,"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":20682,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":7266,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":23051,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1835,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":24649,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":23529,"title":{},"body":{"license.html":{}}}],["123",{"_index":14843,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":24558,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":20345,"title":{},"body":{"classes/SystemFactory.html":{}}}],["124",{"_index":16275,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4338,"title":{},"body":{"entities/ClassEntity.html":{},"classes/GroupUcMapper.html":{},"interfaces/IClassEntityProps.html":{},"license.html":{}}}],["13.1.0",{"_index":23249,"title":{},"body":{"dependencies.html":{}}}],["14.14",{"_index":10974,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["15",{"_index":12638,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4189,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["15672:15672",{"_index":24009,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":24329,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":23691,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":24653,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2393,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":19977,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":23206,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":23344,"title":{},"body":{"license.html":{}}}],["1993",{"_index":24571,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":23535,"title":{},"body":{"license.html":{}}}],["2",{"_index":7734,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":15375,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":5623,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":23178,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":23145,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":23218,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":23137,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":23180,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":23214,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":23169,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":23225,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":23151,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":23241,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":23210,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":23191,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":23153,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":23177,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":23533,"title":{},"body":{"license.html":{}}}],["200",{"_index":278,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":23346,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":22142,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":2935,"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":{}}}],["2023",{"_index":19975,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":2980,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["204})@apiresponse({status",{"_index":2943,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["21.1.2",{"_index":23132,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":23212,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":6988,"title":{},"body":{"classes/CourseFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["250",{"_index":3578,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":23825,"title":{},"body":{"license.html":{}}}],["2984",{"_index":18747,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":23967,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3565,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":23935,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":23136,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":23139,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":23256,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":23243,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":23123,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":23257,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":23160,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":16601,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":23239,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":23279,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":23732,"title":{},"body":{"license.html":{}}}],["300",{"_index":14632,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":24686,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":12280,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":24096,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":24101,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":24328,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13477,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":24572,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":24612,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1840,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":7704,"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":23129,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":23247,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":23271,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":23200,"title":{},"body":{"dependencies.html":{}}}],["4.14.0",{"_index":23199,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":23222,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":23270,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":23193,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":23182,"title":{},"body":{"dependencies.html":{}}}],["4.5.11",{"_index":23126,"title":{},"body":{"dependencies.html":{}}}],["4.5.16",{"_index":23125,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":23175,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":24002,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":282,"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":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":24344,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":5588,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":24600,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":287,"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/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":290,"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":{},"todo.html":{}}}],["409/conflict",{"_index":24343,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":7249,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":8513,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":24059,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":14848,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":9326,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":11630,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18062,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":23164,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":23165,"title":{},"body":{"dependencies.html":{}}}],["5.0.3",{"_index":23203,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":23245,"title":{},"body":{"dependencies.html":{}}}],["5.13.20",{"_index":23227,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":23135,"title":{},"body":{"dependencies.html":{}}}],["5.4.2",{"_index":23134,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":8902,"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":19632,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1889,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":24011,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":24008,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14113,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":11632,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":23188,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":23189,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":23242,"title":{},"body":{"dependencies.html":{}}}],["6.3.0",{"_index":23204,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":23250,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":6989,"title":{},"body":{"classes/CourseFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":18524,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["632",{"_index":16438,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["64",{"_index":24555,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["673",{"_index":14953,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["699615164",{"_index":23960,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":23606,"title":{},"body":{"license.html":{}}}],["6d",{"_index":23625,"title":{},"body":{"license.html":{}}}],["7",{"_index":10693,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":23192,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":23143,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":23258,"title":{},"body":{"dependencies.html":{}}}],["789",{"_index":14849,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":10944,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{}}}],["8.1.0",{"_index":23184,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":23278,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":23158,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":24094,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":24066,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":24024,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["820",{"_index":22406,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["8443:8443",{"_index":24025,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":10754,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":23053,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":9324,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":23217,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":23133,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":21240,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["9000:9000",{"_index":24016,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":24021,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":24017,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":16961,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":24054,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":846,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":10325,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":23321,"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":11442,"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":11440,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":2919,"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/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":{}}}],["_",{"_index":645,"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":12528,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["_.pick(params",{"_index":659,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":15894,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":11528,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":11538,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":24230,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":11539,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":11529,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":24073,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":15893,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":22088,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":15906,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":10449,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":6242,"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":17707,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":17708,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":4965,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3392,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["_contexttype",{"_index":3394,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":5936,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_em",{"_index":2315,"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/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/LessonEntity.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":12610,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["_instance",{"_index":17709,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":10645,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_isenabled",{"_index":17710,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":10412,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14366,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":6243,"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":7375,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":10413,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":5938,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["_port",{"_index":17711,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":6244,"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":17712,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":5940,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_self",{"_index":5420,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":985,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":7719,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":19885,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":23338,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3301,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":14556,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":15783,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":5834,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["aaa",{"_index":24400,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":6705,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["ability",{"_index":23665,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14531,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":18892,"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":23556,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":12515,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.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":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.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":{},"interfaces/INewsProperties.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.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":{},"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:108",{"_index":858,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:113",{"_index":859,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:117",{"_index":871,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:122",{"_index":870,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:127",{"_index":875,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:146",{"_index":866,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:18",{"_index":862,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:24",{"_index":867,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:29",{"_index":863,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:34",{"_index":864,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:42",{"_index":865,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:47",{"_index":869,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:83",{"_index":874,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:91",{"_index":872,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:99",{"_index":873,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":21288,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":24699,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":24134,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":24170,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2590,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2625,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2628,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2631,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2618,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2610,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2646,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16336,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2643,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2648,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2622,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2612,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2636,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2638,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2633,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2607,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["acacac",{"_index":6784,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":137,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":2796,"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/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":23736,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":2789,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":2800,"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/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":16808,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":16814,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":106,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":23947,"title":{},"body":{"todo.html":{}}}],["acceptloginrequest",{"_index":16966,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17038,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":16969,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":127,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":16847,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":16925,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17040,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":16852,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":134,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":140,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"entities/Course.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.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":1003,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14332,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":125,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7111,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":23408,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":24187,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":6517,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":686,"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/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/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":{},"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":{},"injectables/SystemRepo.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":1498,"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/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":15442,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":15444,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":23591,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":23903,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":23410,"title":{},"body":{"license.html":{}}}],["accord",{"_index":23555,"title":{},"body":{"license.html":{}}}],["according",{"_index":23895,"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":{},"interfaces/OauthCurrentUser.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":538,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13518,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":281,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":14566,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":430,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":551,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":553,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":552,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":426,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":550,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":431,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14426,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":432,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":647,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14427,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":425,"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":14549,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":12890,"title":{},"body":{"interfaces/IJsonAccount.html":{}}}],["account.lastname",{"_index":14428,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":433,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1635,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":228,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17486,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17497,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17495,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17491,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17492,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17493,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":434,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":832,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":878,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":891,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":435,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":642,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:23",{"_index":21904,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:28",{"_index":21897,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:34",{"_index":21901,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:49",{"_index":21903,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:61",{"_index":21899,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":436,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":427,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":791,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":14567,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":428,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":429,"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":957,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":958,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":202,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["accountbyidbodyparams",{"_index":232,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":255,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountcontroller",{"_index":224,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":22504,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountcopy.systemid",{"_index":22540,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13524,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13527,"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":895,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":900,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":896,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":888,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":897,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":898,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":892,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":894,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":440,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":421,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":439,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":442,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":881,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":410,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":884,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":441,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":941,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":444,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":445,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":661,"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":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserMigrationService.html":{}}}],["accountid?.tostring",{"_index":955,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":540,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":547,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":545,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":638,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":634,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":554,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":557,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":213,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules.html":{}}}],["accountparams",{"_index":640,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15289,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":619,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":279,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":781,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":179,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{}}}],["accounts.'})@apiresponse({status",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":944,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":14555,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1621,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14512,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":443,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":24669,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":24668,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":24666,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":24667,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":24684,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":24665,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":24663,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":24664,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":24670,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":24671,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":24682,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":24672,"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":401,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":395,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":398,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":389,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":399,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":397,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":393,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":384,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":391,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":387,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":392,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":383,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":385,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":317,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":311,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":837,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":617,"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":620,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":621,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":12897,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":215,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15292,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":618,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["achieve",{"_index":23906,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":24499,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":23504,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":23783,"title":{},"body":{"license.html":{}}}],["acr",{"_index":129,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17262,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":24399,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1107,"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/CloseUserLoginMigrationUc.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/TaskRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1674,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1688,"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":1687,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":23743,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":17601,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17549,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17551,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17552,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2408,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":24757,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":157,"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":237,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":12447,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":23447,"title":{},"body":{"license.html":{}}}],["activity",{"_index":23820,"title":{},"body":{"license.html":{}}}],["actor",{"_index":24173,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":23803,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actually",{"_index":23641,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":23429,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":4604,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":4639,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":4649,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":4652,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":4676,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":16425,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{}}}],["adapter.service.ts",{"_index":16545,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":16548,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":16550,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":16555,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":16553,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapters",{"_index":24539,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1519,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.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":2790,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":2803,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14169,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14186,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":10527,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.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":{},"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":{}}}],["addexecutionrequest",{"_index":14250,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":9813,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":9827,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1046,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":473,"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":{},"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":{},"interfaces/ICourseProperties.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1304,"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":{}}}],["additionalinfo",{"_index":13962,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":23312,"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":14520,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":664,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":24047,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5100,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5109,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":10529,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":10526,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5206,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5215,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2595,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2614,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":17770,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2596,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2619,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":6249,"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":6263,"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":11559,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":7712,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5207,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5219,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":5368,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5233,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17490,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":23426,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":7648,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":7669,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":12529,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5101,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5114,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":18970,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":18974,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":10528,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14054,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14062,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14038,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14044,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":11587,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":11590,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16301,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16305,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":5442,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5222,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":11304,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{},"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_pass=huhu",{"_index":24661,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":675,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminid",{"_index":972,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":960,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13491,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14078,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14085,"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":14088,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14105,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14112,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14109,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14106,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14107,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14108,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14111,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14110,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14104,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14114,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14102,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":12902,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13490,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14087,"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":321,"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":971,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":22083,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":24724,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":973,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":676,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.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":5213,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":23532,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":23671,"title":{},"body":{"license.html":{}}}],["advised",{"_index":23891,"title":{},"body":{"license.html":{}}}],["aes",{"_index":20262,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":8809,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":8806,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":24353,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affecteduserid",{"_index":22541,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["affects",{"_index":12676,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":23343,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":23765,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":23502,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":24487,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":24478,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":452,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":469,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":477,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":20799,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":20881,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":24394,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterwards",{"_index":24301,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":6497,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/MigrationResponse.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":11951,"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":11945,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":11949,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":24716,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":15774,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":23580,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14328,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":24124,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":13848,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8172,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":23924,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":23838,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":23879,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":23791,"title":{},"body":{"license.html":{}}}],["aims",{"_index":24120,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":24158,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":12108,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1104,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1138,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1118,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1160,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":23157,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":4919,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":8868,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":8873,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1490,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1441,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1462,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1476,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":13158,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"additional-documentation/nestjs-application.html":{}}}],["all('seed",{"_index":8092,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":11213,"title":{},"body":{"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":12545,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":12552,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":12556,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["alleging",{"_index":23771,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":20789,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":20792,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":20791,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":20790,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":20775,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":20776,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":20777,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":20786,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":20787,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":20788,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14288,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14291,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":6476,"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":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4042,"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":{}}}],["allowedcards",{"_index":4236,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":19837,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4251,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4250,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":19830,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":11110,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":11112,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":6250,"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":6266,"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":9529,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":15899,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2018,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":759,"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":17985,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":7649,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":10251,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":10255,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":24391,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":23558,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":590,"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":{},"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":4783,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":23395,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14263,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3280,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.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":10382,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":24298,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2040,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2041,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":20832,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":826,"title":{},"body":{"classes/AccountSearchListResponse.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":23159,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":11048,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1211,"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":18049,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":23161,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":130,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":24091,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":23275,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":24673,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":24674,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":24675,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3668,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3160,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3677,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3679,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3666,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":23737,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":24435,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":23389,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":24241,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":7361,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":16843,"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":11573,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["antareskey",{"_index":6697,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["anti",{"_index":23520,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1178,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1179,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1168,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{},"modules.html":{}}}],["antivirusmodule.forroot",{"_index":11224,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1172,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1177,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1245,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1258,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1202,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2512,"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":{},"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":1923,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2511,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":5734,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.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":720,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1460,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":23567,"title":{},"body":{"license.html":{}}}],["anything",{"_index":23436,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":24207,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1288,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/CopyApiResponse.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.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":11279,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["api.module.ts",{"_index":222,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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.spec.ts",{"_index":24075,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":23294,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":23295,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":24097,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/news",{"_index":23302,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/sso/oauth",{"_index":16478,"title":{},"body":{"injectables/OAuthService.html":{}}}],["api/v3/sso/oauth/migration",{"_index":16477,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["api_enable_cors=true",{"_index":24677,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":24662,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":24719,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":17761,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1287,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1229,"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":6447,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":21575,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5022,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apicreatedresponse",{"_index":21481,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":10892,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":10887,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":10890,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":3766,"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":20076,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":9168,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":9968,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":3787,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":8756,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":17902,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":14787,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":22163,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinocontentresponse",{"_index":22164,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":14788,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":14789,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/OauthSSOController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.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/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":2933,"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":{}}}],["apiproperty",{"_index":245,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DownloadFileParams.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/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/MigrationBody.html":{},"classes/MigrationResponse.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/PageContentQueryParams.html":{},"classes/PageContentResponse.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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemIdParams-1.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/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":19058,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":7510,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":2779,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15161,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":5663,"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":17543,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17535,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6086,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isstring",{"_index":6470,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19109,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":5827,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":5665,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17541,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":15743,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":11437,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":6473,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":821,"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/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.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/UserLoginMigrationError.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":2921,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.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/SchoolExternalToolResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6017,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":2917,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.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({type",{"_index":819,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.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/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/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/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":149,"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/DownloadFileParams.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/MigrationResponse.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":3481,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":11290,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":11288,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":22325,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":22841,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1277,"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/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":11295,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":21753,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":6408,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/OauthSSOController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18345,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18352,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18331,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":337,"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/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LegacySchoolController.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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15381,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":2970,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":4713,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":6874,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":7632,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('file",{"_index":10894,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":11350,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":11645,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":12093,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":14991,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":15723,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":15973,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":16896,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":17907,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":18671,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('school",{"_index":14795,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["apitags('sharetoken",{"_index":19644,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17125,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":20005,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":20295,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":20566,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tool",{"_index":21418,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":21919,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":13612,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":22174,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('usermigration",{"_index":22465,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["apitags('videoconference",{"_index":22820,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":14790,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":21482,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1266,"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":{}}}],["apivalidationerror(errors",{"_index":11556,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1320,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1292,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":11531,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":2937,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["app",{"_index":1520,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.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":24302,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":17774,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":6692,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":6691,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":6689,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":6690,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":23996,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1356,"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":2734,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":23440,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":24056,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":3916,"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":1504,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"classes/TestApiClient.html":{}}}],["application/octet",{"_index":10367,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14394,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2256,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":6886,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":23281,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":12576,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":4609,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":12548,"title":{},"body":{"interfaces/ICollectionFilePath.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":13940,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applypropertiestopathparams",{"_index":2597,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2623,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["appname",{"_index":1335,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":24497,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":4607,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":23551,"title":{},"body":{"license.html":{}}}],["approve",{"_index":23066,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4203,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":23899,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":24043,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":24105,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":24109,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1333,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":17748,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":11472,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":21285,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":19487,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":19473,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":19477,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":19480,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":19476,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":6678,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1293,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":8914,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":8920,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":8919,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":8918,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":8917,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":8916,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":22729,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":8907,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":11476,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":12793,"title":{},"body":{"interfaces/IErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":10154,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":8817,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":8825,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":8828,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":8827,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":8832,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":8834,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":8823,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":8921,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":8930,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":8935,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":8927,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":8932,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":13896,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":12759,"title":{},"body":{"interfaces/ICoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":8866,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":12908,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15300,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15301,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":12925,"title":{},"body":{"interfaces/ILoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":14718,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15322,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15302,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15314,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15311,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15309,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15307,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15312,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15305,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15343,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15353,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15351,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15348,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":11541,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":22733,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1169,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1173,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1206,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1213,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1216,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1222,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1220,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1200,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":3949,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":3936,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":3938,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":3997,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":3968,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":12416,"title":{},"body":{"interfaces/ICalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":3978,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":3981,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4001,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4011,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4005,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4008,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4010,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4600,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICollaborativeStorageStrategy.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":5653,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8110,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":15885,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":12780,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":12786,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":12784,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":8799,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":20257,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":20260,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":20259,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":20258,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":10278,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":10160,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":10907,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":12419,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.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/OidcIdentityProviderMapper.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1357,"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":15649,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:11",{"_index":15651,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":15655,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:12",{"_index":15657,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:18",{"_index":15658,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":17706,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":17723,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":17728,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":17722,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":17730,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":17718,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":17732,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":17719,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":17734,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":17717,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":17720,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":17735,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":17724,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":17721,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":17726,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18305,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18312,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18314,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18316,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18310,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":18399,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18313,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18311,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":108,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":17547,"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":8892,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":8896,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":12749,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18048,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18071,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":12791,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18288,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":6509,"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":221,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/IAccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":623,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":260,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":297,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":293,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":308,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":233,"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":773,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":777,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":780,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":779,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":776,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":778,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":775,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17485,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":411,"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":678,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:10",{"_index":719,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:18",{"_index":691,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:22",{"_index":698,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:27",{"_index":693,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:31",{"_index":694,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:35",{"_index":701,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:42",{"_index":703,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:46",{"_index":699,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:50",{"_index":707,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:54",{"_index":709,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:58",{"_index":689,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:63",{"_index":690,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:73",{"_index":695,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:79",{"_index":706,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":558,"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":919,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":925,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":929,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":927,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":923,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":792,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":375,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":380,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1382,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1430,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":13989,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":14586,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15267,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15405,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15406,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":16713,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":16495,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15357,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15367,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15371,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15376,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15426,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":3878,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":14606,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/school",{"_index":19276,"title":{},"body":{"classes/SchoolInMigrationError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":21841,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":13985,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":7271,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":12771,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":7311,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1579,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1588,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1595,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1593,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1601,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1590,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1604,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1599,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1597,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":14612,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":14616,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":14618,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":14614,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14004,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14013,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14016,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14018,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":14644,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:16",{"_index":14649,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:28",{"_index":14658,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:56",{"_index":14655,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:68",{"_index":14653,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:75",{"_index":14651,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:91",{"_index":14656,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15270,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15274,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15282,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15280,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15277,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":16502,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:15",{"_index":16503,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:20",{"_index":16504,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15397,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15398,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":15434,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":15439,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":15437,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1811,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1775,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":11320,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1676,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3409,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6233,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7034,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7187,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7190,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7189,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7188,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":11841,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":11844,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":11843,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":11842,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":14904,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15081,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15093,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15092,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15095,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15097,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15099,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15091,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15089,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15087,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":19180,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":20165,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":20183,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":20178,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":20173,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":20182,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":20180,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":20177,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":20175,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":20171,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":20856,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":20862,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":20861,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":20860,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":20858,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":21105,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":21108,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":21107,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":21106,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":22320,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":22639,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":22642,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":22641,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":22640,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1836,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1698,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1711,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1713,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1707,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1716,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1709,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1858,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:11",{"_index":1864,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:18",{"_index":1870,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:24",{"_index":1876,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:31",{"_index":1866,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:38",{"_index":1873,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:42",{"_index":1868,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:49",{"_index":1874,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:53",{"_index":1872,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":12952,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:39",{"_index":18294,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:69",{"_index":18297,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:77",{"_index":18296,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":18755,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1671,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":18752,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:6",{"_index":18754,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":18753,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":10085,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":2757,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3599,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":3740,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":2924,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":2954,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":2949,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":2960,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":2945,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":2940,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4047,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:113",{"_index":4062,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:141",{"_index":4058,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:47",{"_index":4069,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:68",{"_index":4073,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:83",{"_index":4077,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:98",{"_index":4080,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5000,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5018,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5021,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5014,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5011,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":2914,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":3715,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":3719,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":3722,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":3718,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":3721,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":3717,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":3875,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":3877,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4199,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5038,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5041,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5043,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5040,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5042,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5039,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5089,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5090,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":5819,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":15914,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18299,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18302,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":19584,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4252,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4253,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4115,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4133,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:21",{"_index":4135,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:34",{"_index":4138,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:38",{"_index":4140,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:41",{"_index":4137,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:55",{"_index":4136,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4142,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4139,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":7225,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":15924,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":23116,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":7230,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":9188,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":10388,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15232,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":18446,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":19974,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":8700,"title":{},"body":{"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":7303,"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":21334,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":21338,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":21336,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":21337,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":21335,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":22034,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":8722,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:110",{"_index":8734,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:125",{"_index":8730,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:51",{"_index":8738,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:89",{"_index":8743,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2504,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":3727,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4147,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5046,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":5692,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":9210,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":10407,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15246,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":18457,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":19983,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3224,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18170,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3145,"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":4156,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:16",{"_index":4170,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:20",{"_index":4173,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:29",{"_index":4164,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:50",{"_index":4168,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:54",{"_index":4176,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:58",{"_index":4178,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:64",{"_index":4180,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:70",{"_index":4166,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:9",{"_index":4160,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":4821,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5055,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:11",{"_index":5061,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:16",{"_index":5057,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:32",{"_index":5059,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:36",{"_index":5063,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:40",{"_index":5065,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:8",{"_index":5056,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":5721,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":20095,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2514,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:12",{"_index":2523,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:28",{"_index":2529,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:44",{"_index":2526,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:6",{"_index":2519,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":3838,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:11",{"_index":3842,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:25",{"_index":3848,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:34",{"_index":3850,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:43",{"_index":3846,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:52",{"_index":3856,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:61",{"_index":3844,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:71",{"_index":3854,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4212,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:22",{"_index":4226,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:31",{"_index":4231,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:40",{"_index":4233,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:49",{"_index":4221,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:60",{"_index":4219,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:79",{"_index":4229,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:9",{"_index":4217,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:96",{"_index":4224,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5072,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:22",{"_index":5077,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:31",{"_index":5082,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:40",{"_index":5075,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:51",{"_index":5080,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:9",{"_index":5073,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":8760,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":8763,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":8771,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":8767,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":8769,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":8765,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":20110,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4485,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4517,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4264,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4277,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4279,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4281,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4283,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4285,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4287,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4289,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4291,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4293,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4295,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4297,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4298,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4299,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4275,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4373,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4375,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4524,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4317,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4321,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4322,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4330,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4329,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4319,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4331,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4318,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4320,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4328,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4324,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4327,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4363,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4366,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4530,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4533,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4535,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4536,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4538,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4432,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4444,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4440,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4442,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4438,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4486,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4497,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4495,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4493,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4491,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":4688,"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":6399,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":8395,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":8260,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":8436,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":8288,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":8332,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":8309,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":8355,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/uc/builder/deletion",{"_index":8383,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":8369,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/files",{"_index":6419,"title":{},"body":{"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":{},"classes/DownloadFileParams.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.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":{},"interfaces/GetFileResponse.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IParentInfo.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":10618,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":10411,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:106",{"_index":10436,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:109",{"_index":10425,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:116",{"_index":10450,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:39",{"_index":10432,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:42",{"_index":10431,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:45",{"_index":10433,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:48",{"_index":10434,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:51",{"_index":10442,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:54",{"_index":10448,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:57",{"_index":10443,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:60",{"_index":10430,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:63",{"_index":10445,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:66",{"_index":10446,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:69",{"_index":10447,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:72",{"_index":10440,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:76",{"_index":10441,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:80",{"_index":10429,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:88",{"_index":10428,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:95",{"_index":10438,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:99",{"_index":10423,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":10992,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8161,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":10993,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":10997,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":11006,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":11005,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":10999,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":11002,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":11021,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":11028,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":11034,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":11030,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":11032,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":11026,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8185,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":11336,"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":4380,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":11733,"title":{},"body":{"classes/GroupIdParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4416,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":9011,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":11917,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":11771,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":11776,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":11778,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":11780,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":11774,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":11773,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":11775,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":11625,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:23",{"_index":11634,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:53",{"_index":11640,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":11790,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":11904,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":11586,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:25",{"_index":11596,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:29",{"_index":11597,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:33",{"_index":11599,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:37",{"_index":11601,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:41",{"_index":11603,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:45",{"_index":11595,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:49",{"_index":11593,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:53",{"_index":11592,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":11910,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":11717,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:32",{"_index":11719,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:35",{"_index":11721,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:38",{"_index":11718,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:41",{"_index":11723,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:44",{"_index":11722,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:47",{"_index":11720,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":11621,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":11740,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":21845,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":11660,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":11744,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:10",{"_index":11747,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:100",{"_index":11748,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:13",{"_index":11751,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:27",{"_index":11750,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:46",{"_index":11753,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:60",{"_index":11754,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:75",{"_index":11755,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":11847,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:12",{"_index":11854,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:22",{"_index":11860,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:28",{"_index":11853,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:34",{"_index":11855,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:40",{"_index":11856,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:46",{"_index":11858,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:52",{"_index":11852,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:9",{"_index":11850,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4388,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":18369,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":11870,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/group/util/sort",{"_index":19880,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1105,"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.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":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5199,"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/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":6853,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":6862,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":6859,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":7613,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":7616,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":7621,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":7626,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7071,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7138,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7140,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":7223,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":7224,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":7832,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":7841,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":7837,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8006,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8008,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8007,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":7856,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":7858,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":7857,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":7855,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":7836,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":7854,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":7843,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":7846,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":7844,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":7838,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":7847,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":7848,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":7842,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8036,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8037,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":14996,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15159,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15160,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":15928,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17481,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":18616,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":18619,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":18620,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":2769,"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":18648,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":18660,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":18663,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":18666,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":18654,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":18657,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":14701,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":14716,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":3812,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7057,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7060,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":7859,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:15",{"_index":7863,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:36",{"_index":7865,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:5",{"_index":7867,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":18557,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":2992,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":4978,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5097,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":6890,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7201,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:13",{"_index":7209,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:19",{"_index":7206,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:29",{"_index":7207,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:6",{"_index":7204,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:9",{"_index":7211,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7044,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:15",{"_index":7050,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:6",{"_index":7048,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:9",{"_index":7052,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":18688,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:10",{"_index":18692,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:19",{"_index":18696,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:33",{"_index":18694,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":6945,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7217,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:10",{"_index":7221,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:7",{"_index":7219,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8009,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:13",{"_index":8015,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:26",{"_index":8017,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:41",{"_index":8019,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:57",{"_index":8021,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:7",{"_index":8014,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":14999,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":8584,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":18621,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":18629,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":18627,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":18633,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":18631,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":18711,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":18715,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":18717,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":18722,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":18720,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":10317,"title":{},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolParams.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15157,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15158,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":14986,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":14990,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":14980,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15056,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":8940,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":8946,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":8944,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15122,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:13",{"_index":15129,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:19",{"_index":15136,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:23",{"_index":15134,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:27",{"_index":15133,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:33",{"_index":15131,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:7",{"_index":15127,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16216,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16220,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16218,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15147,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:13",{"_index":15150,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:7",{"_index":15148,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":15579,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3501,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8039,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8076,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":3886,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":3899,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":3890,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":15678,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":15665,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3527,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":12502,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":11465,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":7280,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":11308,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16001,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16116,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16112,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16124,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16111,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16109,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16123,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16115,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16002,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16114,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16122,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16110,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16113,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16117,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16118,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16121,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16120,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16119,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16213,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16215,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":19298,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":20508,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":21128,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":21129,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":21859,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":22095,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":15949,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":15952,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":15957,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":15961,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":15966,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":15955,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":21061,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":15992,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16017,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:38",{"_index":16025,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:52",{"_index":16023,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:65",{"_index":16031,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:74",{"_index":16027,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:9",{"_index":16029,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":19291,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":20503,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":22094,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16069,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16143,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:100",{"_index":16159,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:122",{"_index":16171,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:148",{"_index":16153,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:159",{"_index":16163,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:179",{"_index":16169,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:197",{"_index":16161,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:207",{"_index":16165,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:23",{"_index":16150,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:39",{"_index":16152,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:67",{"_index":16155,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":135,"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":1782,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:11",{"_index":1786,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:15",{"_index":1789,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:19",{"_index":1790,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:23",{"_index":1791,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:27",{"_index":1792,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/sso",{"_index":18927,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":19907,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/system",{"_index":20371,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/user",{"_index":22480,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17077,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":16485,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":16372,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":22571,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/oauth",{"_index":16733,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":21354,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/mapper/user",{"_index":22477,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":16579,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":16753,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1388,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":6389,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":6393,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":6392,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":12300,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":12304,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":12305,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":12303,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":12306,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":12302,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":12301,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16358,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":12317,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":12329,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":12324,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":12337,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":12331,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":12336,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":12333,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":12327,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":16544,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16382,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:116",{"_index":16403,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:132",{"_index":16412,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:142",{"_index":16416,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:154",{"_index":16418,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:169",{"_index":16408,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:189",{"_index":16405,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:205",{"_index":16410,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:214",{"_index":16401,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:22",{"_index":16396,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:37",{"_index":16399,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:63",{"_index":16414,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/dto/oauth",{"_index":16721,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":12240,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts",{"_index":17193,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:142",{"_index":17200,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:26",{"_index":17198,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:40",{"_index":17208,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:66",{"_index":17206,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:97",{"_index":17203,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":8957,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":16692,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":17862,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":17804,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":17806,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":11829,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":19255,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":22090,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":17867,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":17814,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":17820,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":17841,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":17829,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":17840,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":17833,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":17831,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":17838,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":17835,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":17858,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":17861,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":17860,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":17859,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":13919,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":13936,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:19",{"_index":13939,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:65",{"_index":13944,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17288,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17399,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17401,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17298,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":18934,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":18993,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":18996,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":18969,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:21",{"_index":18972,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:72",{"_index":18975,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":17931,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":17933,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":17934,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":17935,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":17936,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":17896,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":17901,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":17950,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":9458,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":17914,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":17915,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":17916,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":17917,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":17939,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":17948,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":17946,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":17944,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":21365,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":17919,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":17921,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":17892,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":17930,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":9472,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18016,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:10",{"_index":18022,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:21",{"_index":18021,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:36",{"_index":18020,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:44",{"_index":18018,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:65",{"_index":18019,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:7",{"_index":18017,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:71",{"_index":18024,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:82",{"_index":18023,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":10169,"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":17951,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:105",{"_index":17964,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:11",{"_index":17960,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:112",{"_index":17979,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:120",{"_index":17973,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:126",{"_index":17972,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:132",{"_index":17977,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:17",{"_index":17966,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:27",{"_index":17967,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:50",{"_index":17971,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:74",{"_index":17962,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:87",{"_index":17975,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:93",{"_index":17969,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:99",{"_index":17965,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18003,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:16",{"_index":18007,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:9",{"_index":18005,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/rocketchat/rocket",{"_index":961,"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":18483,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":18487,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":18490,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":18499,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":18478,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:4",{"_index":18480,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:6",{"_index":18481,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:8",{"_index":18479,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":18530,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:11",{"_index":18537,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:16",{"_index":18534,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:22",{"_index":18535,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:28",{"_index":18536,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:8",{"_index":18533,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":18548,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":18551,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":18550,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":19496,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":19497,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":13060,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":19509,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:157",{"_index":19512,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:188",{"_index":19582,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:192",{"_index":19583,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":19596,"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":19615,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":19661,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":13079,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":19612,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":15800,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":19703,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":19697,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":19715,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":19748,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":21350,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":19856,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":19689,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":19779,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":16666,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18033,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":20372,"title":{},"body":{"classes/SystemIdParams-1.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":20363,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":20369,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":20366,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":20437,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":20274,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:23",{"_index":20281,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:38",{"_index":20286,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":20395,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":20374,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":20380,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":20377,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":20378,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":16636,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17242,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":20307,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":20317,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":20310,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":20311,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":20314,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":20315,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":20313,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":20309,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":20312,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":20316,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":20408,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":20453,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":20456,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":20457,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:25",{"_index":20459,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:40",{"_index":20463,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:66",{"_index":20461,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":20269,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":20391,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":20495,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:11",{"_index":20498,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:25",{"_index":20499,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:8",{"_index":20496,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":20211,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":20218,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":20221,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":20220,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":20217,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":20219,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":20222,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":20216,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":20212,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":20213,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":20241,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":20242,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":20585,"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":20684,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":20850,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":20853,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":20842,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":20849,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":20844,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":20852,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":20843,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":20847,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":20851,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":20848,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":20845,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":20855,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":20854,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":20685,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":20841,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":21021,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":21022,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":19993,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":20001,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":19997,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":20535,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":20544,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":20545,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":20548,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":20550,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":20553,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":20556,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":20559,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":20542,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":20133,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":20136,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":20922,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":20691,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:39",{"_index":20698,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:54",{"_index":20695,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:6",{"_index":20700,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":20195,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:13",{"_index":20205,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:17",{"_index":20202,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:23",{"_index":20200,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:7",{"_index":20198,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":20587,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":20906,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:15",{"_index":20915,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:24",{"_index":20910,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:32",{"_index":20912,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:39",{"_index":20914,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:8",{"_index":20908,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":20529,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":20732,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":20223,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:13",{"_index":20231,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:22",{"_index":20227,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:39",{"_index":20229,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:7",{"_index":20226,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":20621,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":20933,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:110",{"_index":20958,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:126",{"_index":20948,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:155",{"_index":20950,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:185",{"_index":20954,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:19",{"_index":20939,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:197",{"_index":20956,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:218",{"_index":20951,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:225",{"_index":20942,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:28",{"_index":20946,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:69",{"_index":20944,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:85",{"_index":20941,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":21113,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:15",{"_index":21119,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:6",{"_index":21117,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:9",{"_index":21121,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":21159,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":21164,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":5438,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":7454,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":7498,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":9811,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":21838,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":21831,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":5445,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":21693,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":5949,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/IContextExternalToolProperties.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":{}}}],["apps/server/src/modules/tool/external",{"_index":2546,"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":{},"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/ExternalToolVersionService.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":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":7502,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.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":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1650,"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":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.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":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":21692,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4565,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.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/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":18390,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4259,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4262,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":20252,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":20254,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":20255,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":21911,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":21918,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":21915,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":13410,"title":{},"body":{"interfaces/IUserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":18379,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":22425,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":22426,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":22656,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:103",{"_index":22681,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:112",{"_index":22664,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:118",{"_index":22665,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:20",{"_index":22662,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:29",{"_index":22678,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:39",{"_index":22676,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:46",{"_index":22674,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:55",{"_index":22668,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:61",{"_index":22683,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:67",{"_index":22685,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:73",{"_index":22670,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:79",{"_index":22667,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:85",{"_index":22666,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:91",{"_index":22672,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":22049,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:20",{"_index":22056,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:22",{"_index":22052,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:24",{"_index":22054,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:26",{"_index":22059,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:28",{"_index":22063,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:3",{"_index":22051,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:30",{"_index":22064,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:32",{"_index":22060,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:34",{"_index":22053,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:36",{"_index":22057,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:38",{"_index":22055,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:41",{"_index":22062,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:43",{"_index":22058,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:45",{"_index":22061,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":22713,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:12",{"_index":22719,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:19",{"_index":22717,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:25",{"_index":22720,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:9",{"_index":22715,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":21908,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":22566,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":1998,"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/IScopeInfo.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":1267,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1690,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1692,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":3911,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":3920,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":3923,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":3922,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":3921,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":3919,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":3924,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":8811,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":11329,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":21890,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":22726,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":22727,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":8683,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":12887,"title":{},"body":{"interfaces/IInterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18354,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":21319,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":21323,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":21324,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16322,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":6380,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":6383,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":11944,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":19944,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":19947,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":19949,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17460,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17461,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17462,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17465,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17468,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17471,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17470,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17469,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17467,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":19889,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":19890,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":19892,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1662,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2296,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2298,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":2787,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4022,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:10",{"_index":4030,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:14",{"_index":4032,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:18",{"_index":4034,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:22",{"_index":4036,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":4804,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":4795,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":4799,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":4798,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":5667,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":9172,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":10370,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15208,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":18427,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":19964,"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":2841,"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":8996,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":14808,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":7424,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":15553,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":15562,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":15549,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":15560,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":15550,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":15551,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":15552,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":15558,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":15559,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":15557,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":15544,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":15548,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":15547,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":15556,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":15554,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":15545,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":15561,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":15555,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":15546,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":15543,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":7427,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":7426,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17416,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17418,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17417,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":17875,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":17877,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":17879,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":17880,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":17881,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":17882,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":18514,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":22201,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":21928,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":21931,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":21934,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":21940,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":21945,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":21946,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":21942,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":21933,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":21937,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":21935,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":21941,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":21932,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":21938,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":21936,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":21944,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":21939,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":21943,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":21929,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":21930,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":21947,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":22904,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":156,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":171,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":165,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":167,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":162,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":169,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":166,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":164,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":163,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":161,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2410,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2415,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:25",{"_index":2437,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:28",{"_index":2439,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:31",{"_index":2438,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:34",{"_index":2441,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2413,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3609,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3613,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3611,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3614,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3617,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3615,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4125,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":4855,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":9197,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":10395,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15237,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":18451,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":19980,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3183,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":6717,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":6741,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":6730,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:106",{"_index":6743,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":22724,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":22723,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":22725,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":6745,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:60",{"_index":6738,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:64",{"_index":6747,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:68",{"_index":6752,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:72",{"_index":6755,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":6754,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:79",{"_index":6736,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":6732,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:86",{"_index":6750,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":6756,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:93",{"_index":6733,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":6749,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":6996,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":6999,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7004,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":6998,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7002,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":7647,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":11583,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":11572,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":11578,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":11582,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":12827,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":11585,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":12829,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":7667,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":7665,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":7666,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":7668,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":7689,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":7695,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":12828,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":7664,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":7683,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":7687,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":12825,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":7681,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":7678,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":12824,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":7693,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":7702,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":12830,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":7699,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":7674,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":7672,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":7670,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":7680,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":7686,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":7697,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":7691,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":11568,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":11571,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":11570,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":11567,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":11576,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":11575,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":11577,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":11574,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":11569,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":11581,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":12826,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":11579,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":11580,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":11584,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":7800,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":7807,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":7808,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":7809,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":7806,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":7804,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":7888,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":7890,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":9001,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":6695,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":12838,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2666,"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":12696,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15041,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15034,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15039,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15042,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":12924,"title":{},"body":{"interfaces/ILessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15040,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15038,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15035,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15036,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":7350,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":15524,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":15531,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":15542,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":15527,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":15540,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":15528,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":15529,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":15530,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":15536,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":15539,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":15535,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":15521,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":15526,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":15525,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":15520,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":15532,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":15522,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":15541,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":15533,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":15523,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":12927,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":15686,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":15687,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":15688,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":15689,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":15690,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":15691,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":15692,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":15693,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":15694,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":15695,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7094,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":19388,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7095,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":21060,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":15946,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":15936,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":15938,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":15939,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":15942,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":15943,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":15944,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":15945,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":15941,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":15937,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":15947,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":15940,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":12988,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":18474,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":18475,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":18477,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":13009,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:104",{"_index":19074,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:107",{"_index":19064,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:47",{"_index":19402,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":19401,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:56",{"_index":19403,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":19404,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:66",{"_index":19063,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19065,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19066,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19062,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19070,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19067,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19068,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19072,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19069,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19071,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":13051,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":19437,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":19438,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":19436,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":13090,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":19936,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":19935,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":19938,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":19937,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":13103,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":19957,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":19961,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":19958,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":19953,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":19962,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":19952,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":19959,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":19956,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":19954,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":19955,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":13157,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:102",{"_index":14596,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:105",{"_index":14597,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:108",{"_index":14595,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:111",{"_index":14604,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:114",{"_index":14601,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:117",{"_index":14602,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:120",{"_index":14603,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:123",{"_index":14599,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:126",{"_index":14600,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:153",{"_index":17233,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:166",{"_index":17235,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:169",{"_index":17236,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:172",{"_index":17238,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:175",{"_index":17234,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:178",{"_index":17240,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:18",{"_index":16622,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:181",{"_index":17239,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:184",{"_index":17241,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:187",{"_index":17237,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":20334,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:209",{"_index":20335,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:212",{"_index":20325,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:215",{"_index":20326,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:218",{"_index":20329,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":20332,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:225",{"_index":20330,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:228",{"_index":20328,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:231",{"_index":20333,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:36",{"_index":16624,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:39",{"_index":16625,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:42",{"_index":16627,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:45",{"_index":16632,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:48",{"_index":16626,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:51",{"_index":16635,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:54",{"_index":16623,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:57",{"_index":16633,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:60",{"_index":16634,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:63",{"_index":16631,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:66",{"_index":16630,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:69",{"_index":16628,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:72",{"_index":16629,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:76",{"_index":14592,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:93",{"_index":14593,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:96",{"_index":14594,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:99",{"_index":14598,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":13270,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":21024,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":21023,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":13271,"title":{},"body":{"interfaces/ITaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":20518,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":20512,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":20513,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":20509,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":20514,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":20519,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":20520,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":20523,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":20511,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":20510,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":20521,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":20517,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":20522,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":20515,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":13380,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":21133,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":21136,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":21134,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":21135,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":21137,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":21139,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":21141,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":21143,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":21032,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":21033,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":22225,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":13412,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:41",{"_index":21871,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":21874,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":21880,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:51",{"_index":21887,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:55",{"_index":21888,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:59",{"_index":21882,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":21873,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":21885,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:69",{"_index":21877,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":21875,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":21881,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":21872,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":21878,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":21876,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":21884,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:91",{"_index":21870,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":21879,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":21883,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":22736,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2402,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":12789,"title":{},"body":{"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":12822,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":12906,"title":{},"body":{"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17513,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17519,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17523,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17517,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":12883,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":12763,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":18416,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13263,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":24623,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2300,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:11",{"_index":2349,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:111",{"_index":2328,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:116",{"_index":2332,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2331,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2337,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2334,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2343,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:24",{"_index":2345,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:42",{"_index":2317,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:50",{"_index":2348,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:63",{"_index":2320,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:77",{"_index":2339,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:8",{"_index":2314,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:85",{"_index":2322,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:98",{"_index":2326,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2486,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2495,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2500,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2496,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2499,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2497,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2498,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3682,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:11",{"_index":3690,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:17",{"_index":3693,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:25",{"_index":3688,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:38",{"_index":3695,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:7",{"_index":3696,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6090,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7142,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:120",{"_index":7155,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:129",{"_index":7158,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:21",{"_index":7200,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:32",{"_index":7199,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:37",{"_index":7196,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:47",{"_index":7198,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:55",{"_index":7159,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:59",{"_index":7148,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:71",{"_index":7151,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:9",{"_index":7197,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:95",{"_index":7153,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7023,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:19",{"_index":7026,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:26",{"_index":7029,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:9",{"_index":7030,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":7892,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":7915,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":7910,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":7903,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":7921,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":7917,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":7912,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":7923,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":7919,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":7908,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":7925,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":7905,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":7977,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:14",{"_index":12778,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":12777,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":12779,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:20",{"_index":7981,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:24",{"_index":7987,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:30",{"_index":7989,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:36",{"_index":7983,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:42",{"_index":7985,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":9532,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":10311,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":13755,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:11",{"_index":13770,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:27",{"_index":13768,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:34",{"_index":13764,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:52",{"_index":13766,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:69",{"_index":13761,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":13810,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:10",{"_index":13834,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:100",{"_index":13830,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:113",{"_index":13838,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:17",{"_index":13836,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:24",{"_index":13823,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:38",{"_index":13825,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:54",{"_index":13827,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:69",{"_index":13832,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:86",{"_index":13821,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/lesson/lesson",{"_index":15116,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts",{"_index":15057,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:13",{"_index":15061,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:23",{"_index":15063,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:41",{"_index":15065,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:9",{"_index":15066,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":15581,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:17",{"_index":15587,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:26",{"_index":15589,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:31",{"_index":15586,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":15592,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":15701,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":15702,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":15904,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":15908,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16125,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16074,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:10",{"_index":16088,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16089,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:21",{"_index":16081,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:36",{"_index":16083,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:51",{"_index":16087,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:58",{"_index":16085,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":18517,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:11",{"_index":18525,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":18521,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:23",{"_index":18523,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:28",{"_index":18520,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:7",{"_index":18526,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":14860,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":19117,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":19453,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":19456,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":19455,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":19461,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":19458,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":19459,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":19457,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":19939,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":19942,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":19941,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":19940,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":20143,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:10",{"_index":20156,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:21",{"_index":20150,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:30",{"_index":20152,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:35",{"_index":20148,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:41",{"_index":20155,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":20451,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts",{"_index":20421,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:12",{"_index":20425,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:31",{"_index":20423,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:8",{"_index":20426,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":20870,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":20733,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":20742,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":20753,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":20752,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":20748,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":20750,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":20740,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":20746,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":21165,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:12",{"_index":21170,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:35",{"_index":21167,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:42",{"_index":21169,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:8",{"_index":21171,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":19913,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":19919,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":19922,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":19924,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":21968,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":22581,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":22588,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:166",{"_index":22586,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:173",{"_index":22594,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:185",{"_index":22596,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:189",{"_index":22593,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:21",{"_index":22597,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:36",{"_index":22589,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:48",{"_index":22592,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":22644,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:12",{"_index":22653,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:19",{"_index":22651,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:28",{"_index":22655,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:35",{"_index":22647,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:5",{"_index":22649,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":22280,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":23070,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":446,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:15",{"_index":468,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:9",{"_index":466,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":1968,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2442,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2448,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2455,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2458,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2456,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2453,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2446,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2457,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2454,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2449,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2452,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2450,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2451,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2447,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":6973,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":6977,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":6978,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":6980,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":6983,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7018,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7019,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":4849,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":8568,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":8576,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":14835,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6048,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":7512,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19092,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":9239,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":10749,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":10751,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":11963,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":13644,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":7239,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14036,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14035,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15044,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":15564,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":15568,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":15566,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":15697,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18073,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":19674,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":20017,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":20022,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":20021,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":20024,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":20020,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts",{"_index":20336,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:28",{"_index":20341,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:40",{"_index":20344,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:7",{"_index":20343,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":20676,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":20677,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":20680,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":20681,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":20679,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":21035,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":21041,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":21039,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":21144,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":21147,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":21145,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":641,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":22041,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:8",{"_index":22044,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":22071,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:11",{"_index":22082,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:17",{"_index":22080,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:23",{"_index":22077,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:32",{"_index":22078,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:41",{"_index":22076,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1496,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":24527,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1332,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1342,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":23296,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":24318,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2490,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":24131,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":23288,"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":24306,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":23919,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7080,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ITaskParent.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1036,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14323,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":24708,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":24396,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":13336,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":23163,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":19479,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1004,"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":11488,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":23883,"title":{},"body":{"license.html":{}}}],["around",{"_index":20646,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":23800,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":23810,"title":{},"body":{"license.html":{}}}],["array",{"_index":1732,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3581,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(classmap.keys",{"_index":4551,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":7968,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3316,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4090,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":12549,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["array.isarray(domainobjects",{"_index":2388,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(id",{"_index":2397,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(matches",{"_index":12869,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(permissions",{"_index":10141,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":12855,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(props.rolenames",{"_index":12852,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(requiredpermissions",{"_index":1733,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3312,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14465,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":10106,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14477,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":9344,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["article",{"_index":23528,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":22072,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":677,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":11008,"title":{},"body":{"injectables/FilesRepo.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2139,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":23005,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2142,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15114,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2042,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":5556,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":24601,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":23386,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":23755,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3522,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":13676,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":24274,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1013,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["assignment,@typescript",{"_index":1010,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["associated",{"_index":21026,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":453,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":483,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":22073,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":667,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":23874,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":23902,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":23705,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":22074,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":673,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":262,"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":{},"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/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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/OauthUc.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/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/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":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":24434,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1516,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":23908,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1364,"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":1366,"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":23715,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":15877,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2179,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2019,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2163,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":13675,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":24763,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13538,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13535,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":3987,"title":{},"body":{"injectables/CalendarMapper.html":{},"interfaces/ICalendarEvent.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":3991,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":3989,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13540,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":23693,"title":{},"body":{"license.html":{}}}],["aud",{"_index":7240,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1482,"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":4904,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1513,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1081,"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":13986,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":10137,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":10086,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:13",{"_index":10092,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:16",{"_index":10100,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:26",{"_index":10102,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:38",{"_index":10096,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:55",{"_index":10094,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:60",{"_index":10098,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2156,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":16398,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":13993,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14002,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14001,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":12391,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":338,"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/LegacySchoolController.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/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":343,"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/LegacySchoolController.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/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('auth/sessions/consent",{"_index":16882,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":16857,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":16870,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":16872,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":16865,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":16860,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":16875,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":16878,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":16853,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":16855,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":16884,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":303,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"interfaces/OauthCurrentUser.html":{}}}],["authenticateuser",{"_index":16383,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":16397,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":24184,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1794,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentResponse.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.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":1384,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication.module",{"_index":11377,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/local",{"_index":1508,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1376,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1387,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14216,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14218,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1380,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["authenticationresponse",{"_index":1495,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1578,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1422,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationurl",{"_index":16467,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["authenticationurl.searchparams.append('client_id",{"_index":16469,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('kc_idp_hint",{"_index":16474,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('redirect_uri",{"_index":16470,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('response_type",{"_index":16471,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('scope",{"_index":16472,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('state",{"_index":16473,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.tostring",{"_index":16475,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationvalues",{"_index":1649,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":13988,"title":{},"body":{"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":13987,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17181,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17184,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.tolowercase().startswith('bearer",{"_index":17183,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":10546,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":5835,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["authoriation",{"_index":24776,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3608,"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":15028,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":8586,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2541,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":3861,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3146,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":5983,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3151,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3152,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3154,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3156,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":5982,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3121,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3124,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3126,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3128,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1661,"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":{},"interfaces/IRepoLoader.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1846,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":11192,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":6329,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":6956,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":11188,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":11186,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":11190,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":11181,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":11184,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":14946,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1694,"title":{},"body":{"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":{},"injectables/HydraOauthUc.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":14587,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":14591,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15268,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":14588,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":14589,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":14590,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15269,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1878,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1831,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17124,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":19908,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":19910,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":19911,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":19912,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":19909,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1852,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":10122,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":10133,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":10129,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":10135,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":10127,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":12395,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemFactory.html":{}}}],["authorization_operation",{"_index":1693,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14089,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1817,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1670,"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":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.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":1675,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LegacySchoolUc.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/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18015,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":6345,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":21685,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":6969,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":24735,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_edit",{"_index":14973,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":9126,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":20240,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15026,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":24732,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15032,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":4764,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":6326,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":6954,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":24734,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":24736,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":24737,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":24744,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":20237,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15155,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":18411,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":19835,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1689,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1697,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1742,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1750,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1752,"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/LegacySchoolApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1781,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["authorizationreferencemodule",{"_index":1797,"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":{},"modules.html":{}}}],["authorizationreferenceservice",{"_index":1802,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":20645,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1758,"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/ExternalToolUc.html":{},"injectables/LegacySchoolUc.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/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationurl",{"_index":13246,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17496,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14091,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1695,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":23778,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":23814,"title":{},"body":{"license.html":{}}}],["authors",{"_index":5836,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":12287,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":4736,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1022,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["auto",{"_index":1903,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1892,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":1906,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":24367,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":23747,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":9428,"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":9415,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":9454,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":1902,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2591,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":1952,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":1956,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1749,"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":2417,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"modules.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":13067,"title":{},"body":{"interfaces/IServerConfig.html":{},"interfaces/IUserConfig.html":{}}}],["availabledate",{"_index":3796,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":20800,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":9058,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":9085,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":9075,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.foreach((externaltool",{"_index":9130,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":9138,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":9141,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1823,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":608,"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":{},"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":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoleService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.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/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":24436,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":10671,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["awaits",{"_index":21706,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["away",{"_index":23366,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8210,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":1982,"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":{},"dependencies.html":{}}}],["axiosconfig",{"_index":12281,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosheaders",{"_index":1977,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":1991,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":1983,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":1981,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4009,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":1970,"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":1995,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseimp",{"_index":1967,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":1973,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["b",{"_index":2723,"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":7721,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3302,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":15784,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":518,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15422,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17285,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":23213,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":9329,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":9333,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":10687,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":12512,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":24637,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14143,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14144,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":13139,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badrequest",{"_index":20647,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2680,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":7743,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":19826,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2717,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":22711,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":7729,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('unknown",{"_index":22533,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["badrequestexception(`cannot",{"_index":2829,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":2827,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":8900,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":10716,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":12068,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":24351,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2000,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.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":7429,"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":14873,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2436,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":175,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":526,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":8569,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16258,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3697,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/LessonRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2114,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2010,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":13951,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":3862,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":9336,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1360,"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":9340,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":15459,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18332,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2443,"title":{},"body":{"classes/BaseFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITaskParent.html":{},"entities/Task.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":12516,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["basedo",{"_index":1746,"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":{},"interfaces/IRepoLoader.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.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":5963,"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":2401,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2299,"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:103",{"_index":6112,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:111",{"_index":6118,"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:116",{"_index":9547,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:123",{"_index":21980,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:13",{"_index":15584,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["basedorepo:19",{"_index":6120,"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:23",{"_index":9537,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:24",{"_index":6121,"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:25",{"_index":19722,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:28",{"_index":19126,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:29",{"_index":21973,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:34",{"_index":6104,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:37",{"_index":23075,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:40",{"_index":22285,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:42",{"_index":6114,"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:43",{"_index":15591,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:45",{"_index":14865,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:46",{"_index":19721,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:49",{"_index":14871,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:50",{"_index":6122,"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:55",{"_index":22284,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:56",{"_index":6107,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:60",{"_index":21979,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:63",{"_index":6115,"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:66",{"_index":14870,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:69",{"_index":15590,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:74",{"_index":19132,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:77",{"_index":6119,"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:82",{"_index":6113,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:84",{"_index":9546,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:85",{"_index":6116,"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:90",{"_index":9545,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["basedorepo:98",{"_index":6117,"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":2351,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{}}}],["baseentityproperties",{"_index":2352,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2385,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2419,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["baseentitywithtimestamps",{"_index":174,"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":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/Role.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":447,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":1996,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18083,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":485,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":515,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":523,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":8578,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":516,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":503,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":464,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":520,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":508,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":492,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":499,"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/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4376,"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":495,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":497,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":471,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":15672,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":15767,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":15780,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1336,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/ICollectionFilePath.html":{}}}],["basepermission",{"_index":24765,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baserepo",{"_index":679,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:13",{"_index":7028,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:14",{"_index":20153,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:15",{"_index":13762,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["baserepo:17",{"_index":15064,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["baserepo:18",{"_index":712,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:22",{"_index":717,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:25",{"_index":22590,"title":{},"body":{"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":714,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":715,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:32",{"_index":3691,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:63",{"_index":7156,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2503,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1521,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["baseuc",{"_index":2513,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:12",{"_index":3857,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:28",{"_index":3859,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:44",{"_index":3858,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2195,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.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":7525,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":24585,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14254,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basictoolconfig",{"_index":2545,"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":9666,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2558,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":7522,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":7571,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2568,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2578,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2586,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":8178,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":8216,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchsize",{"_index":8168,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2014,"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":1997,"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":2038,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2008,"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":2016,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2060,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2103,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2115,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2137,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2154,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2160,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2261,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2267,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2264,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2186,"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":2083,"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":2098,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2100,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2188,"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":2270,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2276,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2278,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2202,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2013,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2265,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1839,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1374,"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":876,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15299,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":877,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1506,"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":23407,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":24702,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4340,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["before",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"injectables/UserLoginMigrationService.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":24485,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":24463,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":24486,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":24057,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["beginning",{"_index":23322,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":23510,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":24352,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":756,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":6683,"title":{},"body":{"modules/CoreModule.html":{},"entities/CourseNews.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"entities/News.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":21321,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2460,"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":23808,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4187,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":5616,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":23516,"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":23392,"title":{},"body":{"license.html":{}}}],["ber",{"_index":4949,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":4932,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":24039,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":23905,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":23921,"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":10173,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":562,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/NextcloudStrategy.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":24154,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":23582,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":18936,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{}}}],["big",{"_index":24143,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":22845,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2293,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":6482,"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":10616,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":14640,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":14686,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["birthtime",{"_index":10508,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["bis",{"_index":18951,"title":{},"body":{"interfaces/SanisLaufzeitResponse.html":{}}}],["blackbox",{"_index":24374,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":24408,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":10667,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["blocks",{"_index":24377,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5286,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5293,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5295,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3310,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3314,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":1944,"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":{},"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":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.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":2934,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.children.map((column",{"_index":3733,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":3867,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":1946,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":3739,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":18572,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":2878,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":4850,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":4852,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":4805,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":4810,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":4812,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":4814,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":4809,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":18574,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":18732,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3573,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":18573,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":2763,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":3706,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":3705,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":18735,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.response",{"_index":3470,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":2771,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":2777,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":2780,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":2778,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":2776,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":2781,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":2775,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":2774,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":18571,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":4868,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":4877,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":4873,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":4886,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":4887,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":4884,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":4889,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":4875,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":4882,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":4892,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":4879,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":18704,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":3732,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":8625,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":3738,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":2770,"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":2667,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2672,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2676,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":19863,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":19868,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":19869,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":19865,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":19866,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":19867,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":19864,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3450,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3453,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3451,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":4963,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":14983,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":20533,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":2748,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["boardauthorizable",{"_index":20122,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":20124,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":2768,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":2786,"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/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":9176,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":4797,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9174,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4026,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9175,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":4808,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:23",{"_index":4796,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:25",{"_index":10371,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":4025,"title":{},"body":{"classes/Card.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4806,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:28",{"_index":20034,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:29",{"_index":10372,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:30",{"_index":18428,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":4807,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:32",{"_index":20035,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4028,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:36",{"_index":4023,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:37",{"_index":15211,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:39",{"_index":4027,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:40",{"_index":4024,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:41",{"_index":15209,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:45",{"_index":15210,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":2840,"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/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":2797,"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/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":2801,"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/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":2977,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":2913,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":2979,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":2947,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":2758,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3054,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3010,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":2991,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2528,"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":3162,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2532,"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":2534,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3422,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2537,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3141,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2518,"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":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3182,"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/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":3223,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3385,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3376,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3323,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3320,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3150,"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":1760,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4223,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4247,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3427,"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":2688,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2690,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":14984,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":14985,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":20534,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5091,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5093,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3456,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2689,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3460,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3015,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3066,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":21694,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":2746,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":18703,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":2742,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":2732,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3034,"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":3078,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3075,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3071,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3356,"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":1924,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":1947,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3523,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":4890,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3464,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3500,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3506,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1829,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules.html":{}}}],["boardnode",{"_index":3171,"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":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.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":3281,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3402,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3279,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3292,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3267,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3295,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3265,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3290,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4128,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":3317,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3276,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3263,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3284,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3287,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3626,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3638,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3399,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3285,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3264,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3266,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3282,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3258,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3293,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":12955,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["boardnodeprops",{"_index":3620,"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/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":3342,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3380,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3383,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3396,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3388,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3249,"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/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":3268,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3260,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":4860,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3274,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3270,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3271,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3272,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3273,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3288,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2698,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3003,"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":2964,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":2968,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":2975,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":2952,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3129,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3176,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3181,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":2925,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":21695,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3033,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3111,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":2762,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":18580,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":18595,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":18591,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":18588,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":18601,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":18597,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":18582,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":18586,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":18587,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":18589,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":18581,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":18599,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3463,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":18583,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":3811,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":18584,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":3807,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":3817,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":2752,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlparams",{"_index":2932,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":1937,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1127,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":324,"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":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LegacySchoolController.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":12127,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":22199,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":21093,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":21094,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":19659,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":19648,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":12151,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":22193,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":19658,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":12150,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":12149,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":12153,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":12152,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":21095,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":22200,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":19647,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":16839,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":21096,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":22198,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":21097,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":2956,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":3786,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":8753,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4102,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":2984,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5029,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":8749,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4098,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4099,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":15726,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2654,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":23267,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":119,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.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":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.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":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CreateSubmissionItemBodyParams.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/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/ExternalToolVersionService.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/IAccountConfig.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.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/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.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":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"interfaces/Options.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":{},"classes/RenameFileParams.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":{},"classes/SSOLoginQuery.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.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":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.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":{},"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":{},"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":12485,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["bootstrap",{"_index":207,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":21305,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":21287,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":21289,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":21296,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":24461,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":23841,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15259,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":24457,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":937,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5310,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":24693,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2164,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2165,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":7233,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":980,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":24151,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14231,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":20486,"title":{},"body":{"injectables/SystemService.html":{}}}],["brokering",{"_index":24592,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":23928,"title":{},"body":{"modules.html":{},"additional-documentation/nestjs-application.html":{}}}],["browser",{"_index":23926,"title":{},"body":{"modules.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1613,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1641,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":524,"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":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICollectionFilePath.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":3897,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":3885,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":3896,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["btw",{"_index":2433,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":6516,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.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":24822,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buffer",{"_index":7244,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":9335,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5262,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5244,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5249,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":9347,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":9356,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":9337,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":9349,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":10954,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":13385,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["bugs",{"_index":23934,"title":{},"body":{"properties.html":{}}}],["build",{"_index":454,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.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/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionTargetRefBuilder.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/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.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":8386,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["build(file",{"_index":10867,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":6506,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(name",{"_index":10354,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":488,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":19415,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(requiredpermissions",{"_index":1680,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":10610,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(targetref",{"_index":8446,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["build(targetrefdomain",{"_index":8538,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["build(type",{"_index":5674,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":6530,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":21895,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":660,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":674,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":21898,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3185,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3194,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3228,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3236,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3186,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3197,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3187,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3200,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":6597,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":6600,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3229,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(boardnode",{"_index":3240,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":8588,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":8602,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2063,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5150,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5145,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4132,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5037,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":4867,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":9204,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":10401,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15241,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":18456,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":19982,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":20068,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5201,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":12694,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":12691,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":12692,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":12693,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":5369,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":5372,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":5374,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":5370,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5212,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5214,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5211,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5210,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5217,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5220,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5221,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2069,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2070,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2148,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["buildexternaltool",{"_index":5669,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3188,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3203,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfile",{"_index":5670,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":17588,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3189,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3206,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":10352,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":10356,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":10353,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":10358,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13451,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13457,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":5671,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3190,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3209,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":455,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":494,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":7513,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":7514,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":456,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":496,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":9296,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":9303,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":491,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17559,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":17561,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":17560,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":17563,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildrichtext",{"_index":5672,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3191,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3212,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2228,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":6092,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":6097,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":663,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":21900,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":5673,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3192,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3215,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3193,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3218,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildteacher",{"_index":670,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":21902,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16384,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":16400,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2592,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2605,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2598,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2626,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2599,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2630,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2593,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2608,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2600,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2632,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":457,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":498,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":668,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":476,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":14256,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":23940,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":10361,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":3912,"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":1285,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1269,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1276,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1281,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1280,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1279,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1278,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1282,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":24336,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":24197,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":17457,"title":{},"body":{"classes/PageContentResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":20871,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":20883,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":13811,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":13820,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":9794,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":9797,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":9557,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":6245,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":6255,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":6246,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":6257,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15117,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15118,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16126,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16130,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":20872,"title":{},"body":{"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":20885,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":8500,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":8502,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":20873,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":20886,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":10826,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":10843,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":10848,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":20874,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":20888,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":13812,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":13822,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":9795,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":9799,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":9558,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":6247,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":6259,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":13813,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":13824,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":20875,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":20889,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":13814,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":13826,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":10844,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":10850,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":13815,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":13829,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":9796,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":9801,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":9556,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":20876,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":20891,"title":{},"body":{"classes/TaskScope.html":{}}}],["byparentid",{"_index":10845,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":10853,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8146,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1198,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":17940,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":17943,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":9526,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16127,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":13816,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":13831,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":13817,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":13833,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":10846,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":21989,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":10855,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":6248,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":6261,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":10847,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":10857,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":8501,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16128,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16132,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":11360,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":11354,"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":17941,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":9527,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":17945,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["byunpublished",{"_index":16129,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":17942,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuserid(query.userid",{"_index":9528,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":17947,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":20144,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":20147,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":13818,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":13835,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_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/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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["c.id",{"_index":20966,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":20985,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":20965,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15144,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":3953,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14052,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachedstate",{"_index":17202,"title":{},"body":{"injectables/OauthUc.html":{}}}],["cacheexpiration",{"_index":18518,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cachemanager",{"_index":14043,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":3950,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":3957,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":3951,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":3935,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":3958,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":3939,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":3945,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":3944,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1418,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{},"modules.html":{}}}],["caf",{"_index":13850,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":13852,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":13343,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":24177,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendareventdto",{"_index":3967,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":3977,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":3992,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["calendarservice",{"_index":3996,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4020,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":478,"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":{},"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":{}}}],["callable",{"_index":2229,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":24439,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1255,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1249,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":24484,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":475,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.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":8690,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17521,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14092,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2221,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":17769,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["camelcase",{"_index":24273,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1458,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancel",{"_index":17456,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["cancelbuttonurl",{"_index":17423,"title":{},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"injectables/UserMigrationService.html":{}}}],["cancreaterestricted",{"_index":11991,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["caninline",{"_index":5268,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFile.html":{}}}],["caninstallrecommended",{"_index":11992,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2506,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2507,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":24209,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":11993,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":24068,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3278,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.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":10380,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":2854,"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":4054,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4060,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":4925,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":4941,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":4953,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":4960,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5024,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":7226,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":15917,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":7229,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":15919,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4153,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5052,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4155,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":2877,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4152,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4150,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4124,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4151,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4154,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":2760,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4171,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4064,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4091,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4089,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4065,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4082,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4067,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3195,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3552,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3576,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4129,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4045,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4122,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4087,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4094,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4093,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5008,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3269,"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":3569,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4185,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3594,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4198,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3562,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3566,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":2753,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4053,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":24245,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":24559,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":24507,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":24339,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":23562,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5098,"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":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IServerConfig.html":{}}}],["cartridge.config.ts",{"_index":12684,"title":{},"body":{"interfaces/ICommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5200,"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/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5137,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5277,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5291,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5294,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascading",{"_index":5441,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1309,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/CourseGroup.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/ICourseGroupProperties.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"injectables/TaskUC.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.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":5506,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1134,"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":1511,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["catch",{"_index":1242,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.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":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationUc.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":2268,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":11487,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":967,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":18367,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":3918,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"classes/SchoolMigrationError.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":8937,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":14736,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1373,"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":{}}}],["cease",{"_index":23719,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":12764,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":19289,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":23684,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":23728,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":2834,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":24346,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":23963,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":23179,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4256,"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":4254,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5160,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.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":10973,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"additional-documentation/nestjs-application.html":{}}}],["changefinishedforuser",{"_index":20934,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":20940,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":21912,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":21913,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4258,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":5837,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"injectables/LdapStrategy.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":22147,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18060,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2491,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["character",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":23662,"title":{},"body":{"license.html":{}}}],["characters",{"_index":10930,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":23375,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1103,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["chat.module.ts",{"_index":18469,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":18470,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":18472,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service.ts",{"_index":962,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":18467,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":18466,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":18465,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":938,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/GuardAgainst.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.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":10453,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":10871,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":10879,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":10875,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":10876,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":10874,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":10873,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":15814,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:15",{"_index":15819,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:8",{"_index":15817,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1859,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1865,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":21263,"title":{},"body":{"classes/TestApiClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1556,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["checkavaiblelanguages",{"_index":22714,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":22716,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":22657,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":22663,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1580,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1589,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontextreadpermission",{"_index":19781,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":19787,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission",{"_index":19782,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":19789,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":14645,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":14650,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15275,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":5465,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":5473,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":20622,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":20629,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15000,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15004,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":20623,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":20631,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateincontext",{"_index":6347,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateincontext(contextexternaltool",{"_index":6351,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1459,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":10123,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":10128,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":11242,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":11251,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":19749,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":19756,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":6947,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":19791,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":21198,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":21206,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":5466,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":5477,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkifpreviewpossible",{"_index":17667,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":17673,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checking",{"_index":11543,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":24817,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":14613,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":14615,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":23328,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2720,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":19310,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":19319,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1860,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1867,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":5467,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":5479,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15001,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15007,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":20624,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":20634,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":23332,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":5468,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":5482,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":5469,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":5484,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":19783,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":19793,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1861,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1869,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2520,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1841,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1845,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":19896,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":19898,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checks",{"_index":12449,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.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":{}}}],["checkschoolauthorization",{"_index":14942,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["checkschoolauthorization(authorizableuser",{"_index":14944,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["checkscopeandvalidateparameter",{"_index":5470,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkscopeandvalidateparameter(validatabletool",{"_index":5486,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkshorttitle",{"_index":7732,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1207,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1214,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":18790,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":18799,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2515,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2524,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2219,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalue",{"_index":14646,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":14652,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":19243,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":19245,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":2806,"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/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":18243,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["child.acceptasync(this",{"_index":18160,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":2825,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":2835,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18167,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3360,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":2794,"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":3304,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":20094,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3300,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3227,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3384,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18163,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18161,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18165,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":23861,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":23863,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":23251,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":23514,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":23521,"title":{},"body":{"license.html":{}}}],["civil",{"_index":23901,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14082,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14081,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14324,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14333,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":23780,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1212,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1194,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1176,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.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/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.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/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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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/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/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.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/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/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/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.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/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/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.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/TestHelper.html":{},"classes/TimestampsResponse.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.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/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/UserLoginMigrationError.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/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{}},"body":{"classes/AbstractAccountService.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"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":{},"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":{},"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/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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/ExternalToolVersionService.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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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/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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SSOLoginQuery.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":4377,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":13231,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["classentity",{"_index":4316,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4362,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4369,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.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/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.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/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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"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/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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/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/HydraRedirectDto.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.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/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/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/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.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/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/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.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/TestHelper.html":{},"classes/TimestampsResponse.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.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/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/UserLoginMigrationError.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/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":4547,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13862,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4484,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4372,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4378,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4379,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4554,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":6729,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":11799,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":11811,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":11808,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":11814,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":11810,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":11813,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":11815,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":11812,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":11809,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4387,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4415,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":11796,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":11805,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":11807,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4429,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":11629,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4546,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4559,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4431,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4545,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4561,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4479,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/GroupApiModule.html":{},"modules.html":{}}}],["classname",{"_index":10156,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":12839,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":13221,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["classprops",{"_index":4302,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4402,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":11898,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":11887,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":13898,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4483,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4511,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4508,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4300,"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":4325,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4526,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4519,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":8818,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4549,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":11894,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":11895,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4548,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":11896,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":11899,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":11897,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":11902,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":11903,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":10777,"title":{},"body":{"classes/FileRecordMapper.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.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":12458,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["clean(pagesize",{"_index":14338,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleans",{"_index":12454,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["cleanup",{"_index":6781,"title":{},"body":{"entities/Course.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15271,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15279,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":21264,"title":{},"body":{"classes/TestApiClient.html":{}}}],["cleanuppath(inputpath",{"_index":1559,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["clear",{"_index":12560,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8114,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8122,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearly",{"_index":24210,"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":18912,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":24106,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":22847,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":3601,"title":{},"body":{"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.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":{},"classes/H5pFileDto.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.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":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemFactory.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.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":18920,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":18788,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":18818,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":18820,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":18802,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":18807,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":18814,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":18816,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":18798,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":18812,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":18809,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":18800,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":18805,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":18810,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":18804,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":14636,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":16585,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":16588,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":16589,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":16590,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":16595,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":16616,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":16610,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":16605,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":16593,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":16594,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":16596,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.getsigningkey",{"_index":16562,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18346,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":17794,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":10613,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":11081,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":11089,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":11097,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":11091,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":11099,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":11093,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":11095,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":11122,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{}}}],["client.module.ts:25",{"_index":18919,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":3964,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":3962,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":5635,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":8258,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":6559,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":11060,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":11066,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":11068,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":11072,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":11070,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1497,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["client.ts:104",{"_index":21279,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":21270,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":21271,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":21276,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":21278,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:142",{"_index":21275,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:26",{"_index":21268,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":21269,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:30",{"_index":21267,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":21274,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:45",{"_index":21272,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:54",{"_index":21283,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:64",{"_index":21281,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:74",{"_index":21282,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":21280,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/dto",{"_index":19410,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":6420,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":10341,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":10346,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":10343,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":10344,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":10345,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":11121,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/index.ts",{"_index":6510,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":12755,"title":{},"body":{"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":12795,"title":{},"body":{"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12821,"title":{},"body":{"interfaces/IFilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14217,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14219,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14221,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14222,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14223,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14224,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14423,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":6528,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":10609,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":18787,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":6541,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/files",{"_index":11059,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client_id",{"_index":1391,"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":5639,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1392,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":16614,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":16613,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17284,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":5643,"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":{},"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.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/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14128,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":5641,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14220,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":8239,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":16909,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15255,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15260,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15263,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15256,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15264,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":24605,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":7528,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14132,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2184,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":4956,"title":{},"body":{"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["clone",{"_index":458,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":501,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2479,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18066,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed",{"_index":20778,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":22099,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":22101,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":20782,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":20783,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":20785,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":20784,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":20771,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":20772,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":20773,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":20774,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":20779,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":20780,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":20781,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":23898,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4568,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":22195,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":22119,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(schoolid",{"_index":22332,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closemigration(userid",{"_index":4575,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closeuserloginmigrationuc",{"_index":4564,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":24522,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16254,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":23981,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2082,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":3940,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"classes/DtoCreator.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"controllers/OauthSSOController.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":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":24652,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":24028,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":23220,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":24613,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":23958,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":210,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":212,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":211,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":612,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":613,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":614,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":615,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1377,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1378,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1379,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1414,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1415,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1417,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1416,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1753,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1755,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1754,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1756,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1798,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1800,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1801,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1799,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":2749,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":2751,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":2750,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3586,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3588,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3587,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3589,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":3946,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":3948,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":3947,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":3993,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":3994,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":3995,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4480,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4481,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4482,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":4668,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":4670,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":4669,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":4671,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":4720,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":4723,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":4721,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":4722,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":5430,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":5433,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":5431,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":5432,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":5650,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":5652,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":5651,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6063,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6064,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6065,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6066,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":6588,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":6589,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":6590,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":6672,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":6674,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":6673,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8106,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8107,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8108,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionmodule",{"_index":8389,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":8391,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_imports",{"_index":8392,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":8390,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":8797,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":8798,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":8905,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":8906,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":9369,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":9372,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":9371,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":9370,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":10157,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":10158,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":10159,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":10989,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":10990,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":10991,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":11043,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":11044,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":11045,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":11052,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":11053,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":11054,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":11117,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":11120,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":11118,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":11119,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":11202,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":11204,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":11205,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":11203,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":11271,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":11272,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":10978,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":10979,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":10980,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":11371,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":11373,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":11372,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":11382,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":11384,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":11383,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":11616,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":11617,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":11618,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":11735,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":11737,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":11736,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":12174,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":12176,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":12175,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":12195,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":12197,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":12196,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13482,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13483,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13484,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":13746,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":13747,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":13748,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14074,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14076,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14075,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14148,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14151,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14150,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14149,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14532,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14533,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14535,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14534,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":14693,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":14695,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":14694,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":14711,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":14713,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":14714,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":14712,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolapimodule",{"_index":14758,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_imports",{"_index":14759,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_providers",{"_index":14760,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":14852,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":14853,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":14854,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":14855,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":14976,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":14977,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":14978,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15051,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15052,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15053,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15054,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15319,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15320,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15321,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":15575,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":15576,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":15577,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":15663,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":15664,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":15676,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":15677,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":15683,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":15684,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":15704,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":15705,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":15706,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":15728,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":15729,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":15730,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":15731,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16064,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16067,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16065,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16066,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":16574,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":16575,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":16576,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":16749,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":16752,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":16751,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":16750,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":16756,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":16758,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":16757,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17007,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17010,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17008,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17009,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17063,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17064,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":17581,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":17582,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":17618,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":17620,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":17619,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":17621,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":17808,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":17811,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":17810,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":17809,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":17888,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":17890,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":17889,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":17925,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":17928,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":17927,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":17926,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18286,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18287,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_rolemodule",{"_index":18494,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":18495,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":18496,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19101,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19104,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19103,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19102,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":19485,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":19486,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":19499,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":19500,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":19580,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":19581,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":19852,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":19853,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":19854,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":19859,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":19862,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":19860,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":19861,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":20265,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":20267,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":20266,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":20387,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":20390,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":20389,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":20388,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":20524,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":20525,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":20526,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":20728,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":20729,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":20730,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":20731,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":21156,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":21157,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":21161,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":21163,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":21162,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_toolapimodule",{"_index":21371,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":21372,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":21373,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":21620,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":21623,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":21622,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":21621,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":21688,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":21689,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":21690,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":21691,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":21905,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":21907,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":21906,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":22104,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":22106,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":22105,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":22273,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":22276,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":22274,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":22275,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":22562,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":22565,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":22564,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":22563,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":22766,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":22767,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":22768,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":23040,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":23042,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":23041,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":23043,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":951,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.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":{},"interfaces/ISubmissionProperties.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":{},"injectables/OauthUc.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"classes/SystemFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.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":{}}}],["code.enum",{"_index":16381,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["codebase",{"_index":24195,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":12672,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["codes",{"_index":10539,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":11547,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":24221,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":4605,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":12493,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4599,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":4617,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":4667,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules.html":{}}}],["collaborativestoragecontroller",{"_index":4687,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":4719,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["collaborativestorageservice",{"_index":4724,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestorageuc",{"_index":4708,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":23840,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":17715,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":17767,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":17766,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":17765,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":17768,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1717,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"entities/News.html":{},"interfaces/Options.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2673,"title":{},"body":{"entities/Board.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8149,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8147,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8144,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8154,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":8115,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["collectionexists(collectionname",{"_index":8124,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname",{"_index":8085,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter",{"_index":12543,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":12550,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":12553,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnames",{"_index":8152,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":12535,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":12573,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections",{"_index":8046,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8156,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":12568,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections.length",{"_index":12567,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8153,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":12533,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoexport",{"_index":12602,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":12604,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoseed",{"_index":12581,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":12583,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":12532,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":17716,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":24775,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":6718,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2692,"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":5007,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":4908,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":15920,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":15922,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":15923,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5050,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":3735,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5054,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":2879,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5048,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":3723,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5049,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5053,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":1925,"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":{},"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":4902,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18249,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.id",{"_index":18245,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":18246,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2691,"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":3006,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3105,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":3713,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":4848,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":4854,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":2772,"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":4986,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":18707,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":4993,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":18709,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":18607,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":18610,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":18613,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":18609,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":18612,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":18611,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":18614,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":8622,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3201,"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":3553,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3558,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":4861,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":4819,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":1913,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2693,"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":3097,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":8670,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":8668,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":8672,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":8669,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":8671,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":4970,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":4992,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":4977,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":2759,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":3852,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3198,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3554,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3575,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":4802,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":2965,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":2969,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":2990,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":2936,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3261,"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":3563,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3595,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":2754,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5005,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":7741,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18056,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":24627,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":23851,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":19870,"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":{}}}],["combineduri",{"_index":22534,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combineduri.pathname",{"_index":22536,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combineduri.tostring",{"_index":22537,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combines",{"_index":24808,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":23403,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":23568,"title":{},"body":{"license.html":{}}}],["coming",{"_index":24727,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3514,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.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":3510,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":23183,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14363,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":12424,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["commandoutput",{"_index":18854,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":21304,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":12437,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":9432,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":24568,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":23644,"title":{},"body":{"license.html":{}}}],["commit",{"_index":23335,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":23792,"title":{},"body":{"license.html":{}}}],["commits",{"_index":24565,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":23330,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5134,"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/domain",{"_index":5966,"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/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["common/entity",{"_index":6037,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["common/enum",{"_index":1929,"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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.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/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":5967,"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":6215,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["common/service",{"_index":6354,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolReferenceService.html":{}}}],["common/uc/tool",{"_index":6323,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeexportservice",{"_index":5096,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefilebuilder",{"_index":5110,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5132,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5198,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5173,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5264,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":5400,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5228,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5329,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5346,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5234,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5245,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5232,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5235,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5330,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5347,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5230,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5240,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5237,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5133,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5275,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5171,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5180,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5179,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5332,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5348,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5112,"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":5197,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5178,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":5395,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":5401,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":5397,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":5402,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5276,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5297,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5299,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5301,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5303,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5305,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5164,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commontags",{"_index":5419,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":5429,"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":{},"modules.html":{}}}],["commontoolservice",{"_index":5435,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolReferenceService.html":{}}}],["commontoolvalidationservice",{"_index":5436,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":5504,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":24791,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":23494,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":23362,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":24277,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2722,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":24577,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":10006,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["compareparameters(oldparams",{"_index":10014,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":10564,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":24530,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":24014,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":23574,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":23581,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":23823,"title":{},"body":{"license.html":{}}}],["compile",{"_index":21302,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":23485,"title":{},"body":{"license.html":{}}}],["complete",{"_index":15850,"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":3291,"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":20047,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":15843,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":15845,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":15846,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":24482,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":24774,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":14738,"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":24694,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":23752,"title":{},"body":{"license.html":{}}}],["comply",{"_index":23509,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":24103,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":5758,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":5817,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["components",{"_index":23313,"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":{}}}],["componenttype",{"_index":5130,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.etherpad",{"_index":5181,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.geogebra",{"_index":5176,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.internal",{"_index":12711,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.lernstore",{"_index":12712,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.nexboard",{"_index":12713,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.text",{"_index":5170,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["composedname",{"_index":6627,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composite",{"_index":2842,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4037,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.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":2788,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":2817,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":2819,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":2805,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":2810,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":2812,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":2808,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":2798,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":2802,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":2815,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":23185,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":23443,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16244,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":24234,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":24233,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":24167,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":23858,"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":24297,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":23187,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":20867,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":24381,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":23817,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":23416,"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":2254,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":8542,"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":22794,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":22788,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":22801,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":22797,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":22812,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":22807,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":22905,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":22908,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":22909,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":22906,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":23058,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":23059,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":23057,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":23078,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":22737,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":23055,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":23056,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":23054,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":22740,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":22741,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":22739,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":22815,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":23016,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":23022,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":23024,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":23028,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":23026,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":22775,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":23045,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":23048,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":23071,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:20",{"_index":23076,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:28",{"_index":23074,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":22756,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":22757,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":22760,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":22758,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":12413,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2189,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2225,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2216,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2201,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2234,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2227,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2238,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2240,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2242,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2204,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2223,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2231,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2211,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2061,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":3905,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":3907,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":3909,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":1999,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2009,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2187,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":22840,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":8541,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":22787,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":22956,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":13911,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13433,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":23098,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":23015,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":13057,"title":{},"body":{"interfaces/IScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":22755,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":22858,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":19530,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":23052,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":1971,"title":{},"body":{"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":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SystemFilterParams.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/UserMigrationService.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":20365,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2057,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2055,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2062,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2145,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2078,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2147,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2072,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2076,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2143,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2074,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":10269,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":18924,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2555,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2549,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":15467,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":15468,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":15465,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":16517,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2551,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":15466,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":9036,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":15470,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":15469,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":20319,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":16637,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17245,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":16643,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":16651,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":16640,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":16649,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":16650,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":16641,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":16647,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17246,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17249,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":16646,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17248,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":16645,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17250,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":16639,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17247,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":16642,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":16644,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":16648,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2564,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2560,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":9041,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":16535,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":15491,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":15490,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":15488,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":15489,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":15486,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2561,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":9042,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":16536,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":15487,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":9902,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2129,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2134,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2051,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.json",{"_index":24603,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2047,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2007,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2053,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":9383,"title":{},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":21391,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2045,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2576,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2570,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":9039,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":9038,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2136,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":9900,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2585,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2580,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2582,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":15494,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":15497,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":15495,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":15496,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":16676,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":15493,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":16540,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":16671,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":16679,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":9045,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":16669,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":16677,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":16678,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":9044,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":16675,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":16674,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":16673,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":16668,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":16670,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2131,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":9896,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":9898,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":12411,"title":{},"body":{"interfaces/IAccountConfig.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ToolConfiguration.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:12",{"_index":22786,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":21393,"title":{},"body":{"classes/ToolConfiguration.html":{}}}],["config.ts:4",{"_index":14145,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["config.ts:5",{"_index":14072,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":22783,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["config.type",{"_index":9034,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2132,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2049,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":12814,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["config/test.json",{"_index":12815,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["config['meta_bbb",{"_index":2059,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":22892,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":22898,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":22900,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":11212,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":17617,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":11223,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":15736,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":15673,"title":{},"body":{"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14298,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":18923,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":584,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"controllers/CourseController.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICollectionFilePath.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":635,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":13901,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":11259,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15329,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":8807,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":9951,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":21603,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2079,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.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/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.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":14158,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":12422,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:121",{"_index":14358,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14361,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14362,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14360,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14354,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14355,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14356,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14357,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14364,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14165,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14480,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:109",{"_index":21410,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14484,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:38",{"_index":21404,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:60",{"_index":21400,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:86",{"_index":21414,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6004,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":13072,"title":{},"body":{"interfaces/IServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('antivirus_exchange",{"_index":11227,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":11228,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('calendar_uri",{"_index":4013,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":11229,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":11230,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":4944,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":4928,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('cookie__expires_seconds",{"_index":17172,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__http_only",{"_index":17165,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__same_site",{"_index":17167,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__secure",{"_index":17171,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13401,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":11225,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":8642,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":6959,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":19844,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13400,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13398,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":11352,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":13074,"title":{},"body":{"interfaces/IServerConfig.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":13076,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":13075,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":13073,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":19846,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13399,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":17741,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":17411,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["configuration.get('feature_task_share",{"_index":19847,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":22784,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":12751,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":12806,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":12810,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":12819,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":12818,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":12816,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":12817,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":12820,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":11226,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":12811,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('host",{"_index":4957,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":12259,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":13068,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14071,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14070,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14069,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14068,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14067,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14066,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":13066,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":12809,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":13071,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18064,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":19539,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":22356,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":12804,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":12404,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":4686,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":13070,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":17744,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":17745,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":17743,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":17742,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13402,"title":{},"body":{"interfaces/IToolFeatures.html":{},"injectables/OAuthService.html":{},"classes/ToolConfiguration.html":{},"injectables/UserMigrationService.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18065,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":3960,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4015,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":19542,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":19545,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":19543,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":19544,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":19541,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":19926,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2090,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":4955,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":19548,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":19567,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":19561,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":19564,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":19566,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":19557,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":19565,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":22782,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":22780,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":22781,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":12653,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":4942,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":4926,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":3943,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":19560,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":19563,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":12652,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6009,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":21417,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":21434,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:12",{"_index":21448,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:28",{"_index":21446,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:41",{"_index":21443,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:60",{"_index":21440,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":15666,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14155,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6007,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6010,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6006,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14162,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":9048,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14190,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:12",{"_index":9055,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14191,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:15",{"_index":9068,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14192,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14187,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14209,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14195,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14213,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14200,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:24",{"_index":9064,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14215,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14197,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14184,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14204,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14201,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14189,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:46",{"_index":9059,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:77",{"_index":9070,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":12427,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["configuration.uc.ts",{"_index":9098,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:116",{"_index":9119,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:136",{"_index":9117,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14337,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:165",{"_index":9111,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:17",{"_index":9107,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:177",{"_index":9109,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14339,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14342,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":9115,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14340,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:64",{"_index":9113,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14336,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6012,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":12421,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configuration/controller/keycloak",{"_index":14479,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":12889,"title":{},"body":{"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":12895,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14141,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17272,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14168,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14334,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":12812,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configure",{"_index":12471,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":19510,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":12472,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configureaction",{"_index":14228,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14280,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14281,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14285,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14283,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14278,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14170,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14171,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":15878,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["configureidentityproviders",{"_index":14172,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14173,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":6680,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17501,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17499,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":6914,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":24232,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":24610,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["connect",{"_index":14271,"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":14617,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":19260,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":24034,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":12450,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":14624,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":14621,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":14607,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":14609,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18070,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.unbind",{"_index":14625,"title":{},"body":{"injectables/LdapService.html":{}}}],["connectionname",{"_index":6514,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18067,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectredis",{"_index":19534,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":19551,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":19549,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14485,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["consent",{"_index":110,"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":18413,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":18414,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":17799,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":17798,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":16897,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":16930,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":5542,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":5593,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":16834,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":16833,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":5636,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":23739,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":23882,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":24219,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":23707,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2092,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"license.html":{}}}],["console",{"_index":3515,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.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":5660,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console/board",{"_index":15667,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/database",{"_index":15669,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/keycloak",{"_index":14157,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["consolelogger",{"_index":14744,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":19492,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3508,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3590,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["consolewriterservice",{"_index":3505,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":23550,"title":{},"body":{"license.html":{}}}],["const",{"_index":437,"title":{},"body":{"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":{},"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/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":{},"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/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":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.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/CommonToolValidationService.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.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":{},"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/ExternalToolVersionService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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":{},"classes/OauthLoginStateMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.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":{},"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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.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":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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/TestHelper.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.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":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.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":1445,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":23503,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18059,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":379,"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/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.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":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.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/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":{},"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":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MetaTagExtractorUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.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/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemFactory.html":{},"injectables/SystemOidcService.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":{},"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":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.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":{},"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/UserLoginMigrationError.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/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":17279,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":15901,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":10292,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(toolfeatures",{"_index":9071,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":8885,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2310,"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/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":856,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":4733,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1210,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1299,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1523,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["constructor(authenticationservice",{"_index":15272,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15002,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":18553,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":6948,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3412,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2517,"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":15436,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(bbbservice",{"_index":22864,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2198,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3149,"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":14041,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4490,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":18797,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":5640,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4982,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2003,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configuration",{"_index":5994,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":5601,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14353,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3504,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":5754,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":15874,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":5981,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":6348,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(copyhelperservice",{"_index":6546,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":6699,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":6963,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":6895,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":18759,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":1910,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{}}}],["constructor(customkey",{"_index":19918,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8013,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":817,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17275,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8164,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionlogrepo",{"_index":8359,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":8509,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3232,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":14575,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":14608,"title":{},"body":{"classes/LdapConnectionError.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["constructor(domainobject",{"_index":7432,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":3971,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":995,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":11411,"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":3341,"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":{}}}],["constructor(entityclass",{"_index":2445,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":8813,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":8822,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["constructor(externaltoolid",{"_index":9291,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":9269,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolrepo",{"_index":9822,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":9105,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":22573,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":10126,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":8942,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":10321,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":22731,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(file",{"_index":10332,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18092,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":6443,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8192,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":19413,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":11128,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":11772,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":11849,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":22091,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4004,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2297,"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":582,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1353,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":3906,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(inusermigration",{"_index":15844,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1586,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14015,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14182,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14100,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14368,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":7425,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":13189,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(lessonrepo",{"_index":15126,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(librarymetadata",{"_index":10571,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(loader",{"_index":1843,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3002,"title":{},"body":{"injectables/BoardCopyService.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":15409,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":9277,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":13913,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":12322,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":15633,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":16950,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":10518,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1691,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":5854,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["constructor(name",{"_index":10509,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(newsrepo",{"_index":16149,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":13166,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(oauthconfigdto",{"_index":16638,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":16667,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13454,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":16780,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":12248,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["constructor(officialschoolnumber",{"_index":19392,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":13233,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(oidcconfigdto",{"_index":17244,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(oidcprovisioningservice",{"_index":17400,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["constructor(operation",{"_index":15994,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":19454,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5208,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":5379,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17476,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":14810,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["constructor(path",{"_index":10516,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":19708,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":17593,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.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/ContextExternalToolService.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"controllers/DashboardController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.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":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.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/RequestLoggingInterceptor.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolStatusOutdatedLoggableException.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":{},"controllers/UserMigrationController.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.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":181,"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":{},"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":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.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":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.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":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.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/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"entities/News.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OidcConfig.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.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":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationResponse.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2353,"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":17805,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(pseudonym",{"_index":21367,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":17959,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18004,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(readonly",{"_index":1286,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18277,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(relation",{"_index":11831,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7047,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18309,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":10303,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":21322,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18329,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":5407,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16325,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":8546,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6182,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(responsemapper",{"_index":18971,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(rolerepo",{"_index":18532,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":18549,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1863,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":19192,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":19224,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":19396,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":19281,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":14916,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":1958,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(schoolyearrepo",{"_index":19447,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":4774,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":19785,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(state",{"_index":17750,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":17629,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":4615,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":20244,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":20197,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":20225,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":20253,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18038,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemrepo",{"_index":14648,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18034,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":17825,"title":{},"body":{"injectables/ProvisioningService.html":{},"injectables/SystemUc.html":{}}}],["constructor(task",{"_index":13278,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":20590,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":18691,"title":{},"body":{"injectables/RoomsService.html":{}}}],["constructor(teamsrepo",{"_index":21116,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":3880,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tokengenerator",{"_index":19753,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":9053,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":21681,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":6306,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":21711,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":21749,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17466,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":8915,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":774,"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/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":21846,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":11919,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":11321,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":22100,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4570,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":19267,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":15828,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":22385,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":21842,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18293,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":10187,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["constructor(validationerrors",{"_index":1273,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["construed",{"_index":23827,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":15455,"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":15463,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":17609,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":17612,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":23915,"title":{},"body":{"license.html":{}}}],["contain",{"_index":535,"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":5125,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":2884,"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":3757,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":19989,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":19991,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":16597,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":5515,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICurrentUser.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":{},"injectables/TemporaryFileStorage.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":2255,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.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":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.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":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":8701,"title":{},"body":{"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:100",{"_index":19978,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:107",{"_index":9152,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:116",{"_index":9195,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":8703,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:150",{"_index":21851,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":10330,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":10329,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":10393,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15207,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15205,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15203,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15204,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15235,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":18426,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:73",{"_index":18425,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:82",{"_index":18449,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.body.params.ts:91",{"_index":19963,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.component",{"_index":5169,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5183,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5182,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto",{"_index":17436,"title":{},"body":{"injectables/PageContentMapper.html":{},"injectables/UserMigrationService.html":{}}}],["content.dto.ts",{"_index":17422,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17426,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17425,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":5832,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["content.entity.ts:10",{"_index":5864,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:121",{"_index":11955,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:129",{"_index":11961,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:13",{"_index":5865,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:133",{"_index":11956,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:140",{"_index":11957,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:147",{"_index":11960,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:150",{"_index":11959,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:16",{"_index":5868,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:19",{"_index":5869,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:22",{"_index":5870,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:25",{"_index":5874,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:28",{"_index":5875,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:31",{"_index":5876,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:34",{"_index":5877,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:37",{"_index":5880,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:40",{"_index":5862,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:43",{"_index":5856,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:46",{"_index":5871,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:49",{"_index":5873,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:52",{"_index":5881,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:55",{"_index":5882,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:58",{"_index":5878,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:61",{"_index":5879,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:64",{"_index":5859,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:67",{"_index":5872,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:70",{"_index":5861,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:73",{"_index":5857,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:76",{"_index":5855,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":11964,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":5378,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":11428,"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":11977,"title":{},"body":{"classes/H5PContentMapper.html":{},"injectables/PageContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":11978,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:7",{"_index":17433,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":8663,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":8665,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":11429,"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":11430,"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":12011,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":12018,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":12016,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":12020,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":12021,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.response.ts",{"_index":17454,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.response.ts:12",{"_index":17455,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.response.ts:7",{"_index":17459,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.title",{"_index":5168,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5175,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":12105,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":7355,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1144,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":7356,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1359,"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":3597,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":5821,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":3773,"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":3794,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4114,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":1912,"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":4163,"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/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.external_tool",{"_index":5689,"title":{},"body":{"injectables/ContentElementFactory.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":5681,"title":{},"body":{"injectables/ContentElementFactory.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":5683,"title":{},"body":{"injectables/ContentElementFactory.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":5685,"title":{},"body":{"injectables/ContentElementFactory.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":5687,"title":{},"body":{"injectables/ContentElementFactory.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":5737,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":5748,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":5818,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":12129,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":5823,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1150,"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":6521,"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":{}}}],["contentmetadata",{"_index":5830,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["contentparameters",{"_index":11407,"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":11990,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":11989,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":6522,"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":12159,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":11385,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":11380,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":11379,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":11339,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":11344,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":11375,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":11349,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":11435,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":11441,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15049,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":11347,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":11391,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":11395,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":11394,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":11434,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":11338,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":11374,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":18926,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":11390,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":12177,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["contenttype",{"_index":5838,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypedetector",{"_index":9320,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":9360,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["context",{"_index":131,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.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/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IToolLaunchParams.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolUc.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":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.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":{},"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":{},"classes/ToolStatusResponseMapper.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":21399,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":4816,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3424,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["context.builder",{"_index":24784,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1677,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1685,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1683,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1681,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":19839,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":21457,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":21472,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":21480,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":21463,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":21467,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":21476,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":21331,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":21330,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":17796,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1672,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.params.ts",{"_index":6015,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6021,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6019,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":2967,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":2915,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":2920,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":2923,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":2916,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3420,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":5633,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":17261,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17268,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17269,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17271,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:6",{"_index":17266,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:9",{"_index":17267,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18360,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["context_external_tools",{"_index":6040,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["contextcanwrite",{"_index":15031,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13393,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":21703,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":1899,"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":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":21466,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":6331,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":6363,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":1905,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":1932,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6218,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6216,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":6362,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":6337,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6217,"title":{},"body":{"classes/ContextExternalToolResponseMapper.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":6219,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":5979,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":5985,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":21456,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":5987,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6013,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltooldto",{"_index":6166,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":6330,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":6328,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6024,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolentity(props",{"_index":6131,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltoolfactory",{"_index":6047,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6056,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3294,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.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":9182,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6057,"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":3591,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["contextexternaltoolpostparams",{"_index":6073,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolprops",{"_index":5956,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6098,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":5437,"title":{"injectables/ContextExternalToolRepo.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6159,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":21484,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6180,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6201,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":21498,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":21486,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":21494,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":21501,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":21737,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":21740,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":21479,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21461,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":21470,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1761,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":6290,"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":10272,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":21493,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6100,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":6270,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":21495,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":21475,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6069,"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":9063,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":9082,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":9061,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6029,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["contextexternaltooltype.board_element",{"_index":6157,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltooltype.course",{"_index":6156,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltooluc",{"_index":6298,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6070,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["contextid",{"_index":6016,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextparameter",{"_index":7554,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15025,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":5952,"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":10274,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":6375,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6226,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttype",{"_index":4858,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":18887,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":23668,"title":{},"body":{"license.html":{}}}],["continued",{"_index":23652,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":23704,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":23834,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":23368,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":23777,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":23779,"title":{},"body":{"license.html":{}}}],["control",{"_index":21560,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":23782,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller",{"_index":259,"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/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LegacySchoolController.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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.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/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":{},"controllers/LegacySchoolController.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/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":{},"controllers/UserMigrationController.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":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15382,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":3775,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":2971,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4088,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":4714,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5025,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":6875,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":7633,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('elements",{"_index":8745,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":11351,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":11646,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":12094,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":14992,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8097,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14493,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":15724,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":15974,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":16895,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":17908,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":18672,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('school",{"_index":14796,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["controller('sharetoken",{"_index":19645,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17126,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":20006,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":20296,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":20567,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":21068,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tools",{"_index":21419,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":21483,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":21532,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":21810,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":21734,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":21920,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["controller('user/import",{"_index":13613,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":22932,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":22821,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":24244,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":229,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":24537,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":14704,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":14705,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":15670,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/dto",{"_index":790,"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":{},"injectables/ElementUc.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":{},"injectables/MigrationMapper.html":{},"classes/NewsMapper.html":{},"injectables/OauthUc.html":{},"injectables/PageContentMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":22439,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":21231,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":810,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":23029,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/single",{"_index":18568,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":20505,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":20925,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":4787,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":11378,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":12184,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":13752,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14164,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/legacy",{"_index":14768,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["controller/news.controller",{"_index":16071,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":16581,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":17895,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":14706,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":19535,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":19857,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16072,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/transformer/sanitize",{"_index":18421,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":22110,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":223,"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":{},"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":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.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":{},"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":{},"controllers/UserMigrationController.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":14660,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1385,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":23461,"title":{},"body":{"license.html":{}}}],["convention",{"_index":24376,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":24227,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":594,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":561,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["converted",{"_index":592,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16288,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16302,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16295,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16298,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":12504,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2200,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":589,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":19916,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":19921,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":19917,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":19923,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":23449,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":23812,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":23663,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":23456,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":23703,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":12364,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14011,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":12380,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookiedefaultoptions",{"_index":17163,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["cookieoptions",{"_index":17113,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["cookies",{"_index":12290,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14012,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":6388,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":23361,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1455,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18166,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18169,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2480,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CourseCopyService.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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":18095,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3322,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":18801,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":10707,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["copy.id",{"_index":18142,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3329,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":19406,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":19409,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":6650,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":14997,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":14998,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":20586,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3040,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":2993,"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":3019,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:120",{"_index":3022,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:128",{"_index":3017,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3324,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:143",{"_index":3026,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":6897,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":4824,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:164",{"_index":3032,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:177",{"_index":3029,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":20591,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:25",{"_index":4826,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:36",{"_index":3008,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":20596,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:46",{"_index":3011,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:56",{"_index":6901,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:63",{"_index":20601,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":20599,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:72",{"_index":6906,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:78",{"_index":3014,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:9",{"_index":19419,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":18668,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":6946,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:10",{"_index":6949,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:102",{"_index":20643,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":20628,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:112",{"_index":20633,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15003,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:16",{"_index":6952,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15010,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:27",{"_index":6950,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15008,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:61",{"_index":20635,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15005,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15006,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:69",{"_index":20630,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:74",{"_index":20632,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:81",{"_index":20638,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:92",{"_index":20641,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3327,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18086,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:126",{"_index":18114,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:146",{"_index":18116,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:165",{"_index":18118,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:183",{"_index":18120,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18110,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:21",{"_index":18094,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:210",{"_index":18104,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:214",{"_index":18100,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:227",{"_index":18098,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:23",{"_index":18093,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:27",{"_index":18096,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:38",{"_index":18108,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:59",{"_index":18106,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:77",{"_index":18102,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:96",{"_index":18112,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":12752,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["copyapiresponse",{"_index":6398,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":19629,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":2994,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3009,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":2995,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3012,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":2996,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3016,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":4825,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":6891,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":18652,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":6898,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":6951,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":6892,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":6899,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3109,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":6602,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3041,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3055,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18134,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18132,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":18129,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":20617,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":6943,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":6940,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.external_tool_element",{"_index":18158,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":6580,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18148,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":6585,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3115,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18151,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":6935,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":6933,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18154,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18156,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":20618,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18157,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":20620,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":6936,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":6934,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3057,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":6662,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":6660,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledto",{"_index":6418,"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":18145,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18146,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18147,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":6431,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":11103,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":6467,"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":6434,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":6503,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":6508,"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":6543,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":6549,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":11061,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":11067,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":19407,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":11132,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":11263,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":11261,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":6527,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":6566,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":6488,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.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":{}}}],["copyfilesofparentpayload",{"_index":6489,"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":{}}}],["copyfilesservice",{"_index":6540,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":6587,"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":{},"modules.html":{}}}],["copyhelperservice",{"_index":3007,"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":7081,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":6719,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":23357,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":2997,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":18655,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3018,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15009,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18087,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":6635,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":18687,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":20583,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":18684,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":6666,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":6908,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":18822,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":18823,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":18860,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":18870,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1669,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":18864,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":18874,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":23347,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":23423,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":23513,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5139,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":18876,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3025,"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":6658,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":4845,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.elements",{"_index":6663,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.status",{"_index":6657,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":6655,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":6656,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3042,"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":3065,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":6616,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":6941,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":6610,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":6581,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":2998,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":20540,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3021,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":20592,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":19797,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":20588,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":20594,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":6679,"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":24580,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":24340,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":231,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":10548,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":6671,"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/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["correct",{"_index":4702,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":23877,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1135,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":24127,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15413,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":23190,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":23601,"title":{},"body":{"license.html":{}}}],["count",{"_index":6132,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.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":13792,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16093,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":20796,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":23769,"title":{},"body":{"license.html":{}}}],["counties",{"_index":6706,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["countpipeline",{"_index":22617,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":22618,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":23446,"title":{},"body":{"license.html":{}}}],["country",{"_index":23805,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7079,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":6694,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.antareskey",{"_index":6711,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.countyid",{"_index":6709,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.name",{"_index":6707,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["countyid",{"_index":6698,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["coupling",{"_index":24222,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":1926,"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/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CourseUrlParams.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.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":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.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":5142,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":24753,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2683,"title":{},"body":{"entities/Board.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":6811,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":6815,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":6812,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":6823,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7020,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7063,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3180,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3178,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3173,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":10231,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":1941,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7215,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7039,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":24751,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":4839,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5135,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":18637,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":10232,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":10238,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":18635,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":10240,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5184,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":18636,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":10239,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":18701,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":6852,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":6903,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":6931,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":6942,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":6900,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":6889,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":6944,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":6965,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":6868,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":6972,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7022,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":6993,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":6739,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6767,"title":{"entities/CourseGroup.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15070,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6768,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7055,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7017,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7021,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":12715,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["coursegroupmemberids",{"_index":13124,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["coursegrouppermission",{"_index":15082,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15088,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouprepo",{"_index":1803,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["coursegrouprule",{"_index":1762,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":6720,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7054,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7043,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupsexist",{"_index":6937,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":20160,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":1920,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.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":7027,"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":18698,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":6872,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":6879,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7062,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7070,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7067,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7064,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7066,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7068,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7065,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7069,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":6871,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":6880,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7061,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":1948,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"interfaces/ITaskParent.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7093,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7125,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15083,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15090,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursequeryparams",{"_index":6857,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":4880,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1804,"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":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":6877,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1763,"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":4833,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.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":20964,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7214,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":6878,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":10264,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7161,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":1911,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.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":6924,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":18700,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":6866,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlparams",{"_index":6856,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":1934,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":23833,"title":{},"body":{"license.html":{}}}],["courts",{"_index":23897,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":23795,"title":{},"body":{"license.html":{}}}],["cover",{"_index":24372,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":935,"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":23433,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":24636,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14268,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":685,"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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.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":{},"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/SystemRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.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":15975,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2203,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":4874,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":15951,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":22867,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":10280,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":8336,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":8464,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":711,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4161,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":18803,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16151,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2017,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2036,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2030,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2034,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2032,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2037,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2031,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2035,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2029,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2033,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2028,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":9155,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":22844,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":20670,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":9163,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":22852,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":15481,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":9166,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":16530,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":15480,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":9162,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":15477,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":20674,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":15479,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":16529,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":15475,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":16528,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":20672,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":16532,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":9160,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":20668,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":9165,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":20673,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":9161,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":9164,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":22843,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2104,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":22859,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:19",{"_index":22866,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:26",{"_index":22870,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:40",{"_index":22868,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:67",{"_index":22873,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:88",{"_index":22877,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:92",{"_index":22875,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":24659,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13506,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13515,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":22918,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":22919,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":17776,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":17754,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":21355,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":21357,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3503,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3509,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":2745,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3683,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3687,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":18791,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":18824,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5001,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5004,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5074,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5006,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5010,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3529,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3537,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8188,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8196,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8116,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8126,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":2926,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":2931,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":3843,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3530,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3539,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":11220,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":3748,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":6301,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":21459,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":6310,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7143,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7147,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":24755,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2368,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseFactory.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":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":22811,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["created.id",{"_index":2371,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["createdaccountid",{"_index":14527,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14529,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":376,"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/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextElementResponseMapper.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":12611,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["createdate",{"_index":2105,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":549,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdeletionlog",{"_index":8357,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":8361,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":8507,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":8511,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdir",{"_index":10911,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":10920,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":7948,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdschoolexternaltool",{"_index":19215,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":21825,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":8679,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":18555,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":6334,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":3743,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":3746,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4218,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3531,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3541,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4157,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4165,"title":{},"body":{"injectables/CardService.html":{}}}],["createentity",{"_index":2301,"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":{}}}],["createentity(domainobject",{"_index":2316,"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":{}}}],["createerrorloggable",{"_index":11479,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":11490,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":11480,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":11492,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":11481,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":11494,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":11482,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":11496,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":11483,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":11498,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":11484,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":8941,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":8945,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":9814,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":21505,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":9829,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":9933,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":21308,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":21309,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":6544,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":6551,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14247,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":7893,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":7904,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":12028,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":12147,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":12040,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":8922,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":8926,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5136,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5165,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5138,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5151,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5167,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5193,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14174,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14193,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14175,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14196,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13452,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13459,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":22860,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":22869,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13453,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13461,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7123,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14034,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":7257,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":7238,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1592,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2601,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2635,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2602,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2637,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":13408,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15058,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15060,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":24759,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15172,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15177,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":8819,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":8826,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":14720,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":14724,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15344,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15347,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":15895,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":21290,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17340,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewentityfromdo",{"_index":2302,"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":{}}}],["createnewentityfromdo(domainobject",{"_index":2319,"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":{}}}],["createnewmigration",{"_index":22326,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":22334,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewsparams",{"_index":7279,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16217,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16219,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":16775,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":16782,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17042,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":9474,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":9483,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18213,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18218,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateidmaccount",{"_index":14502,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14504,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createpath",{"_index":17565,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":17569,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":17684,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":17691,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":17566,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":17572,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":17567,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":17571,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":17755,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":17784,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":21969,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":21971,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14055,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14061,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":11243,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":11253,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":4869,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":4876,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2205,"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":18921,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":18925,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":24740,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":19220,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":21792,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":19226,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":19617,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":19620,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":19799,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":13363,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":8723,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":8726,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":8764,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":7302,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":8729,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":20734,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":20739,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":8589,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":8606,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":13354,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":4610,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":4619,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":24483,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2106,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":10912,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":10924,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":19750,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":19758,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":24743,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusermigrationdto",{"_index":22485,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["createusermigrationdto(urlpath",{"_index":22489,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["createusersearchindex",{"_index":12620,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1026,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwelcomecolumnboard",{"_index":4870,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":4878,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creating",{"_index":7282,"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":3526,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationError.html":{}}}],["creationyear",{"_index":5141,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":5935,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":10422,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":5932,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["credential",{"_index":14434,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14521,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":158,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":8244,"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":8869,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":8875,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":314,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":23469,"title":{},"body":{"license.html":{}}}],["cross",{"_index":6681,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":24304,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2407,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":16892,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":16773,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:15",{"_index":16793,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:22",{"_index":16789,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:41",{"_index":16787,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:50",{"_index":16783,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:59",{"_index":16791,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:72",{"_index":16785,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:9",{"_index":16781,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":15995,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":16899,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1611,"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":2282,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":7247,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":15451,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":20264,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":19933,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":20263,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":19930,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":15461,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17355,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":11421,"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":10172,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13394,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2423,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":23731,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14490,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":18643,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":4706,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"controllers/GroupController.html":{},"interfaces/ICollectionFilePath.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":8485,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":12525,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["currentldapid",{"_index":13982,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":569,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":12288,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":7768,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":7770,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5190,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":294,"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/LegacySchoolController.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/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":7335,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":7339,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":7340,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":7337,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":7336,"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":7338,"title":{},"body":{"classes/CurrentUserMapper.html":{},"controllers/OauthSSOController.html":{}}}],["currentuser.userid",{"_index":3779,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/LegacySchoolController.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":4753,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":7310,"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":14032,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":15441,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":16515,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":22694,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":14673,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentyear",{"_index":13035,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1130,"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":24337,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":23593,"title":{},"body":{"license.html":{}}}],["customary",{"_index":23848,"title":{},"body":{"license.html":{}}}],["customer",{"_index":23598,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":979,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":19576,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":6684,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":19920,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":7349,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":7423,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":15570,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":7564,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2616,"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/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":9455,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":9451,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":9452,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":9453,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":9443,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":9441,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":9787,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":9786,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":9785,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":9793,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":9784,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":9788,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":9789,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2615,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":9669,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":7480,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":9253,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":9260,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2642,"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":6032,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["customparameterentryparam",{"_index":6080,"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":6188,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":7511,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":7565,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":7555,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2621,"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":7557,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":9256,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":9700,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":7583,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":9701,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":9698,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":9699,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6222,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":9736,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":9735,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":9734,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":9742,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6178,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":9737,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":9738,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6179,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6169,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6221,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6177,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":7573,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":5999,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":9580,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":9638,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":9783,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":5503,"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":5523,"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":7552,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":5521,"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":7589,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":9696,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":9694,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":9695,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":1927,"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":5497,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":5498,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":1939,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":5499,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":5500,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":5496,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":5494,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":5493,"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":7592,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":9706,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":9707,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":9708,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":9709,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":9704,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":9705,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":9703,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":14735,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":7371,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":21606,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":21615,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3607,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1608,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":6624,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.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":23880,"title":{},"body":{"license.html":{}}}],["das",{"_index":4913,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":23323,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":7614,"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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8033,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":7868,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8035,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":7990,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8032,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8028,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":14710,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":7612,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":7812,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardentity",{"_index":7646,"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":7941,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":7993,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":7799,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":7810,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":7831,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":7839,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":7887,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":7637,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":7627,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":7870,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":7886,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":7636,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8001,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":7811,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":7891,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardprops",{"_index":7663,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":7976,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":7631,"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":7629,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurl",{"_index":16456,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["dashboardurl.tostring",{"_index":16464,"title":{},"body":{"injectables/OAuthService.html":{}}}],["dashboardurlparams",{"_index":7618,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":284,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.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/ElementContentBody.html":{},"injectables/EtherpadService.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":{},"interfaces/ICalendarEvent.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthUc.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/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/SchoolNumberDuplicateLoggableException.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/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.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/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.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":1348,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.body",{"_index":18843,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentlength",{"_index":18846,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":18847,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":18903,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":18902,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":18845,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":12113,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":16693,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":16696,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":16695,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":16699,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":16697,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":18848,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17413,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalgroups.map((externalgroup",{"_index":17414,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17223,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":17226,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":17227,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":16434,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17409,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":16433,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":13977,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":7872,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":6427,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1350,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":6430,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1346,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":7873,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.response",{"_index":20248,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":22035,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":22037,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":22038,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":22039,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":22036,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":15776,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":15777,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":15775,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":6429,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17407,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.ts",{"_index":17788,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":21583,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":17790,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":21584,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":17791,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":21587,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":17789,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":21585,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":12506,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":18889,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":18896,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":18897,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1822,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITaskParent.html":{},"classes/KeycloakConsole.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.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":11236,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":15887,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":15888,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":15890,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":15886,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":11389,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8038,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8075,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8105,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["databasemanagementservice",{"_index":8109,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":8043,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":24533,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":24194,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":21225,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":16801,"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":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MigrationResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfig.html":{},"classes/OauthMigrationDto.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SanisLaufzeitResponse.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.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":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.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":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1634,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":14844,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":6990,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"controllers/OauthSSOController.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date(now.gettime",{"_index":22365,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":11971,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(user.createdtimestamp",{"_index":14470,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":4597,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["date.setdate(date.getdate",{"_index":19841,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":11970,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":8523,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":8524,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["days",{"_index":8171,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8174,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":574,"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":629,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":854,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:13",{"_index":857,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:134",{"_index":868,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:142",{"_index":861,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":11217,"title":{},"body":{"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_url",{"_index":11218,"title":{},"body":{"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":11219,"title":{},"body":{"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":{}}}],["dbc",{"_index":13523,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14429,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14445,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14431,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14430,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14449,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":23929,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":15892,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15339,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":7549,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{}}}],["dealing",{"_index":24196,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":5573,"title":{},"body":{"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":15306,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":12912,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":23314,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":11238,"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":1193,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":23534,"title":{},"body":{"license.html":{}}}],["decide",{"_index":4744,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14210,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":24161,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":206,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":18054,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":3928,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":23697,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1628,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1631,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1630,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":2782,"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/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":7845,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decorated",{"_index":11551,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":8853,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":138,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"classes/DownloadFileParams.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":{},"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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"controllers/LegacySchoolController.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/MigrationBody.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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/Role.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.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/SystemIdParams-1.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":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/UserMigrationController.html":{},"classes/UserParams.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":24531,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":12781,"title":{},"body":{"interfaces/IEncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":12783,"title":{},"body":{"interfaces/IEncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":16481,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":19932,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":23522,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":24472,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":489,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":486,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.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/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/ICleanOptions.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.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":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.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/SystemFactory.html":{},"injectables/SystemRepo.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":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/ToolConfiguration.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.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":6778,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":6731,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":6737,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":6744,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":24004,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_errorcode",{"_index":16339,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["default_language",{"_index":12639,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["default_message",{"_index":16340,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["defaultclientinternalid",{"_index":14188,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":7703,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":12802,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":8800,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":12428,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["defaultlanguage",{"_index":5839,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["defaultmapper",{"_index":14290,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14316,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14293,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1290,"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":{},"interfaces/IErrorType.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":11232,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["defaultoauthclientbody",{"_index":16774,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":15902,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["defaults",{"_index":843,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17282,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":13249,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":12510,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":7576,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["defaultvideoconferenceoptions",{"_index":22853,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":22854,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":22855,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":22856,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":23873,"title":{},"body":{"license.html":{}}}],["defending",{"_index":23393,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":23830,"title":{},"body":{"license.html":{}}}],["define",{"_index":459,"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":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":504,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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/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":{},"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/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/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":{},"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":{},"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":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.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/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":{},"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/SSOLoginQuery.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":24040,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2432,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1296,"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":12617,"title":{},"body":{"interfaces/ICollectionFilePath.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":12446,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["delay(ms",{"_index":14359,"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":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.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":{},"injectables/SystemRepo.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":{},"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":2985,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4105,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5032,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":8754,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":21488,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21465,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':externaltoolid",{"_index":21553,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":21510,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":272,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":13583,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":14989,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":15954,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":21823,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21796,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":22949,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":22923,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":19996,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':taskid",{"_index":20543,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":16941,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":16914,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":14993,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":4881,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4167,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5058,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2394,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{}}}],["delete(domainobjects",{"_index":2321,"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":5725,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":713,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(group",{"_index":11851,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1536,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":18806,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":20199,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1534,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(task",{"_index":20909,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":14987,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15149,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3371,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18171,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:22",{"_index":18174,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:29",{"_index":18181,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:34",{"_index":18180,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:39",{"_index":18177,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:44",{"_index":18183,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:51",{"_index":18184,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:57",{"_index":18185,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:62",{"_index":18186,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:67",{"_index":18187,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:72",{"_index":18182,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:86",{"_index":18176,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:90",{"_index":18179,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":12754,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["deleteaccountbyid",{"_index":263,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13519,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":269,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14404,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":8402,"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":2927,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":2986,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":2942,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":3845,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebyexternaltoolid",{"_index":19118,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":19124,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":680,"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":688,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":8466,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2325,"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":6272,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":6278,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolids",{"_index":6093,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":6101,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyuserid",{"_index":11,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{}}}],["deletebyuserid(userid",{"_index":37,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{}}}],["deletecard",{"_index":4048,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4106,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4059,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4220,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5002,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5033,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5012,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5076,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":12012,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":12015,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":6273,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":6280,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":21464,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":6312,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":280,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedat",{"_index":10414,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"interfaces/IUserProperties.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8148,"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":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":17991,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":18789,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":15989,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":18792,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":18808,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":17990,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedsince",{"_index":6465,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["deletedusernumber",{"_index":22637,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":14558,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":8724,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":8731,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":8766,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteentitybyid",{"_index":2303,"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":{}}}],["deleteentitybyid(id",{"_index":2327,"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":{}}}],["deleteexternaltool",{"_index":9815,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":21509,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":9831,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":9935,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":17952,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":17963,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8189,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8201,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":21208,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8190,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8204,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8160,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":11062,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":11160,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":11069,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":11138,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":11269,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":11267,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8165,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":12029,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":12043,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14176,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14199,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":13756,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":13760,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":8379,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletelesson",{"_index":15123,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15128,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8163,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8167,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8206,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18172,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18175,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":16776,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":16915,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":16784,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17044,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8209,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":18869,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":18825,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":17668,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":17675,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":9475,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":9485,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletes",{"_index":273,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":19221,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":21795,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":19228,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":19186,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19193,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":20907,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":20911,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":12134,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteteam",{"_index":4611,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":4623,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":22582,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":22585,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1065,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4487,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4492,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7202,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7205,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7045,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7049,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15124,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15130,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":21114,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":21118,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":22327,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":22336,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3343,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3429,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3432,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8177,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":5440,"title":{},"body":{"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/S3ClientAdapter.html":{}}}],["deletioncommand",{"_index":8255,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletiondomainmodel",{"_index":8277,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiondomainmodel.user",{"_index":8442,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionlog",{"_index":8259,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":8348,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":8287,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":8296,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":8342,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":8308,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":8347,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":8351,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":8352,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":8281,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":8331,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogs",{"_index":8297,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":8354,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{}}}],["deletionlogstatistic",{"_index":8368,"title":{"interfaces/DeletionLogStatistic.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionlogstatisticbuilder",{"_index":8382,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":8388,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionModule.html":{},"modules.html":{}}}],["deletionoperationmodel",{"_index":8280,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":8375,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequest",{"_index":8400,"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":8495,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":8497,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestcreateanswer",{"_index":8380,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestentities",{"_index":8487,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":8489,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":8418,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":8493,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":8424,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":8435,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":8441,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":8264,"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":{}}}],["deletionrequestlog",{"_index":8373,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestlogbuilder",{"_index":8444,"title":{"classes/DeletionRequestLogBuilder.html":{}},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["deletionrequestmapper",{"_index":8448,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":8482,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":8490,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":8483,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestprops",{"_index":8377,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestrepo",{"_index":8394,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequests",{"_index":8425,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestscope",{"_index":8480,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":8486,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":8393,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttoupdate",{"_index":8522,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletions",{"_index":8229,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":8413,"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":8434,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":8443,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":8433,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":8370,"title":{"interfaces/DeletionTargetRef.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiontargetrefbuilder",{"_index":8536,"title":{"classes/DeletionTargetRefBuilder.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["dem",{"_index":4905,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16318,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":23669,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":23793,"title":{},"body":{"license.html":{}}}],["depend",{"_index":24145,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":204,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":1607,"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":24658,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":10946,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":10932,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14486,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":24215,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AuthorizationParams.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserLoginMigrationService.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.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":22917,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":22924,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":22922,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":22926,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":22931,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":8543,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":22777,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":22776,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":8567,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":8549,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":8547,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":22778,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":8540,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":8559,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":23801,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3349,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":4918,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":6598,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":6603,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":6545,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":20597,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":6555,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":6893,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":6902,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":6599,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":6606,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":4936,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3676,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3667,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3675,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3234,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":24192,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":24385,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":24387,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":24416,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":24386,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":24490,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":24417,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":16599,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2416,"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":153,"title":{},"body":{"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/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":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentElementUrlParams.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":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.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/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsScope.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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/LdapConfig.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"interfaces/Options.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/RedirectResponse.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.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":{},"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":{},"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":15224,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":24362,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":24563,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13264,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":14577,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":13368,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":12846,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":3887,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":3889,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":3891,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":23931,"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":23608,"title":{},"body":{"license.html":{}}}],["designed",{"_index":23360,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":16963,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":24415,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":6406,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3013,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3074,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3099,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":6404,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3098,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":20595,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroyed",{"_index":18068,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":23856,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.response",{"_index":1318,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":22730,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":22732,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":24129,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1270,"title":{},"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/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.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":12579,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["detectable",{"_index":21630,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":9297,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":9305,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":10783,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":24126,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":17821,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":17830,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2594,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2611,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":7650,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":7673,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determinestatus",{"_index":19187,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinestatus(tool",{"_index":19195,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":5447,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":5449,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["determining",{"_index":17507,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":24544,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":24052,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14487,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":5577,"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":23382,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":12448,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.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":4207,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":23340,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":24256,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2107,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":11207,"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":{}}}],["didnt",{"_index":24575,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diffenrent",{"_index":23988,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":23855,"title":{},"body":{"license.html":{}}}],["different",{"_index":1128,"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":24712,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":23690,"title":{},"body":{"license.html":{}}}],["differs",{"_index":24405,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dir",{"_index":12519,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14230,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":23511,"title":{},"body":{"license.html":{}}}],["directions",{"_index":23614,"title":{},"body":{"license.html":{}}}],["directly",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserLoginMigrationUc.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":10458,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":10922,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":10928,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":10968,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":997,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":16445,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":10552,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":24715,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":23544,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":23864,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":23687,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2421,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":8714,"title":{},"body":{"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":3457,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2565,"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/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/INewsProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.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":23815,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2489,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":24179,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":24678,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["display",{"_index":10174,"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":7102,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":3797,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":7289,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":5953,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfig.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":23458,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":23194,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":6887,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":23269,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16256,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":24397,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":23859,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":24717,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":23354,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":23913,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":23818,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":23417,"title":{},"body":{"license.html":{}}}],["div",{"_index":5867,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4370,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["do.builder",{"_index":3225,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3184,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:23",{"_index":3202,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:24",{"_index":3199,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3196,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3208,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3211,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3214,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3217,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3220,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3205,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":13953,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":13920,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:13",{"_index":13927,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:5",{"_index":13924,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":22568,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3334,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:11",{"_index":3345,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:141",{"_index":21972,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:151",{"_index":21981,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:18",{"_index":3352,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:25",{"_index":21982,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:26",{"_index":3350,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:33",{"_index":21975,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:39",{"_index":3354,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:53",{"_index":3364,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:65",{"_index":3357,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:71",{"_index":21978,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:75",{"_index":3359,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:79",{"_index":21976,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:82",{"_index":3362,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:87",{"_index":3367,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:93",{"_index":3347,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3410,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3416,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3414,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3413,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4181,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3428,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3437,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3431,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3433,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dobasefactory",{"_index":4374,"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":7523,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":7542,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["docker",{"_index":24007,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":24645,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":24687,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3351,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3379,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docs",{"_index":23976,"title":{},"body":{"todo.html":{}}}],["document",{"_index":6402,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.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":{}}}],["documentation",{"_index":23282,"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":23674,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":3892,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":22047,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":13655,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3532,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3543,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesn't",{"_index":15153,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18272,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doing",{"_index":24176,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1778,"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/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.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/ExternalToolVersionService.html":{},"injectables/FederalStateService.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":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolYearService.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/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":24723,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":11756,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["domain.mapper.ts",{"_index":11661,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:15",{"_index":11668,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:43",{"_index":11671,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:60",{"_index":11675,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:72",{"_index":11673,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:81",{"_index":11680,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:90",{"_index":11678,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain/class",{"_index":4445,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":8317,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":9317,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/rules",{"_index":1777,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types/deletion",{"_index":8295,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["domainentity",{"_index":7927,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":18748,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1665,"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/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":{},"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":{},"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":3408,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.closedat",{"_index":22270,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":19671,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":19736,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":19735,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":8324,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":7443,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":8456,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":8329,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":8326,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":21948,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":21960,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":19672,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":21952,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":22271,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":21949,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":21956,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":21962,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":7449,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":7452,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4470,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2359,"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/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":21954,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4467,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":7453,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":7445,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":7444,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":7435,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":21961,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":21964,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":21950,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":21958,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4471,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":7437,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":7438,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":7439,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":22272,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":8328,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4462,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":7448,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":7451,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":8327,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":22915,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":11846,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":7447,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":21965,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":19670,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":19734,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":19733,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.preferences",{"_index":21963,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":21966,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":7442,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.removeuser(userid",{"_index":4505,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":7440,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":7441,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":21951,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":7436,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":7450,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4474,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4475,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":22267,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":22269,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":8458,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4472,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.target",{"_index":22913,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":22914,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":8455,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":8457,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":22268,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4464,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":19669,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":8325,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":7434,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4504,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4466,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.year",{"_index":4468,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":13085,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":2813,"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/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["domainobject:8",{"_index":2795,"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/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["domainobjectfactory",{"_index":8575,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2323,"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":18241,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4477,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainrolenames",{"_index":22446,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":22444,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":22447,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":23195,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":19311,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":19322,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":22492,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2431,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.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":8852,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.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":{}}}],["dont",{"_index":20660,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":2387,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dos.map((domainobj",{"_index":2389,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dosomethingcrazy",{"_index":24426,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":24431,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":24446,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":24441,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":24449,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":23638,"title":{},"body":{"license.html":{}}}],["down",{"_index":24152,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":17669,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":17677,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1254,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":10883,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":10896,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":10885,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":6483,"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":17627,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":17631,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1247,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":23749,"title":{},"body":{"license.html":{}}}],["draft",{"_index":13316,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["driven",{"_index":2488,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":12590,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["dropcollection",{"_index":8117,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8128,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":12558,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["droplibrarycss",{"_index":10549,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":24165,"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":{},"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":{},"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":{},"interfaces/ICollaborativeStorageStrategy.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MigrationMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.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":24239,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":20714,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":22764,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":10351,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":10360,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":10357,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":10355,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.cancelbuttonurl",{"_index":17438,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["dto.classes",{"_index":13718,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":12367,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":18383,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":12296,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":20712,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":20727,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":6661,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":20718,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":20716,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":6664,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.enablemigrationstart",{"_index":15840,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.factory",{"_index":18724,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":8585,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":8620,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":8618,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":8607,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":8616,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":8614,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":8604,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":18554,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":18556,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":8600,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":8599,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":8601,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":8598,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":8597,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":8612,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":8609,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":8610,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":8611,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":13706,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":13725,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":7884,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":7883,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":6659,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":13709,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":20722,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":20721,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":13712,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":931,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":548,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":542,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":544,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":546,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":555,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":412,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:22",{"_index":420,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:28",{"_index":418,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:5",{"_index":423,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":13704,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":22451,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":13721,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.oauthmigrationfinalfinish",{"_index":15839,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationfinished",{"_index":15838,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationmandatory",{"_index":15837,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationpossible",{"_index":15836,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.options",{"_index":22969,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":22765,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16265,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.proceedbuttonurl",{"_index":17437,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["dto.provisioningstrategy",{"_index":17872,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":17874,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.redirect",{"_index":22479,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["dto.response",{"_index":12299,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":12295,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":13715,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16321,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":18389,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":18387,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":22762,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16054,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":3976,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16320,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":3974,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16056,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":18385,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16051,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":22995,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":12090,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":2966,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4085,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":3985,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5023,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":11886,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":6325,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":6654,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/rich",{"_index":18461,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":10362,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":11348,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":12091,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/migration.dto",{"_index":22512,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["dto/oauth",{"_index":14951,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{}}}],["dto/oauth2",{"_index":22169,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/page",{"_index":22513,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["dto/pseudonym",{"_index":17906,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":20289,"title":{},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":22171,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":22172,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":16891,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":16893,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":22930,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":18539,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":19237,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17123,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":3769,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/system",{"_index":20291,"title":{},"body":{"controllers/SystemController.html":{}}}],["dto/task",{"_index":20565,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":4656,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":4758,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dto/user",{"_index":17117,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dtocreator",{"_index":8583,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":13620,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":4654,"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":3606,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/News.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3289,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":19968,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":12066,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":6360,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":6366,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":9440,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":6370,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":19391,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17527,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":6367,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":6369,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":6368,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2430,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":23592,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2108,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":8682,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":7275,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/OauthCurrentUser.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":23637,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":23490,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":5840,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1174,"title":{},"body":{"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":{}}}],["e",{"_index":2318,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.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/SchoolMigrationService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserMigrationService.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":2424,"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":{},"interfaces/ITemporaryFileProperties.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OauthCurrentUser.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":8849,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1015,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1017,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1012,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":8854,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":8856,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2406,"title":{},"body":{"classes/BaseDomainObject.html":{},"classes/CardIdsParams.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":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.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":12862,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/ImportUser.html":{},"entities/SchoolExternalToolEntity.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":23432,"title":{},"body":{"license.html":{}}}],["ease",{"_index":24783,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":24506,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":24409,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":24122,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":10283,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7110,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":24749,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3130,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":12189,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":12185,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":12027,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:104",{"_index":12074,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:124",{"_index":12048,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:137",{"_index":12077,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:152",{"_index":12045,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:163",{"_index":12064,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:171",{"_index":12057,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:183",{"_index":12042,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:200",{"_index":12080,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:220",{"_index":12082,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:54",{"_index":12070,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:67",{"_index":12061,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:76",{"_index":12054,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:83",{"_index":12051,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":12200,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":12183,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":11444,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:12",{"_index":11447,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:16",{"_index":11445,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:22",{"_index":11459,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:28",{"_index":11456,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:32",{"_index":11458,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:38",{"_index":19053,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:44",{"_index":17540,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:48",{"_index":17545,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:52",{"_index":17544,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:58",{"_index":17542,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:64",{"_index":17539,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:68",{"_index":17537,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:73",{"_index":17536,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:81",{"_index":17534,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":12092,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":11406,"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":12170,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":12171,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":12172,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":12162,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":12169,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":12163,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":12164,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":12165,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":11981,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":11983,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":11982,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":12209,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":12210,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":12211,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1106,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1115,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1116,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1117,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1114,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1112,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1119,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":5661,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":5664,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":5666,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15170,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15162,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1161,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1165,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1166,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1167,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1164,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1163,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1162,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":5824,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":11405,"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":15163,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":12026,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":11966,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":5831,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":10506,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":13891,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":13871,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":13872,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":13873,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":13874,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":13875,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":13876,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":13877,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":13879,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":13880,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":13881,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":13884,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":13887,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":13888,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":13889,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":13892,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15168,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":13894,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":13895,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":13890,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":13893,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":13878,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15169,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15167,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":10512,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":10511,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":10510,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":13882,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":13883,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":13885,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":13886,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":13870,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17512,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":12182,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":11976,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":12010,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15171,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15178,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15187,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15186,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15180,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15184,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15182,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15188,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":21181,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":21197,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":11985,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":11462,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":5841,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":12138,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":11413,"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":11415,"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":11417,"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":10535,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14287,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":23894,"title":{},"body":{"license.html":{}}}],["effected",{"_index":23541,"title":{},"body":{"license.html":{}}}],["effective",{"_index":23523,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":23910,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2209,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3670,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":24371,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":23763,"title":{},"body":{"license.html":{}}}],["einsatz",{"_index":4935,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":3901,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":3904,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":3902,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3709,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.getreferences()).flat",{"_index":7781,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":6613,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2714,"title":{},"body":{"entities/Board.html":{}}}],["elapsedtimemilliseconds",{"_index":14139,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":23916,"title":{},"body":{"license.html":{}}}],["element",{"_index":1942,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.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/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":{},"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":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":8740,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":8727,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":8732,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":5749,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":10410,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3070,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":7231,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":15926,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":15934,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":7237,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":15935,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":15927,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":15933,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":7235,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":15930,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":15931,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":10409,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":5716,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":9218,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9217,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":15251,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":2880,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["element.do.ts",{"_index":9173,"title":{},"body":{"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":18432,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":10376,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":18434,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":10378,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":18436,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15215,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15217,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15219,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15221,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9178,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":18430,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9180,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":19986,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":5668,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:13",{"_index":5675,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:43",{"_index":5677,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:56",{"_index":5678,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:68",{"_index":5679,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:81",{"_index":5680,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:93",{"_index":5676,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":7769,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":7773,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":7751,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9215,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15252,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":18464,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5227,"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":12686,"title":{},"body":{"interfaces/ICommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":12687,"title":{},"body":{"interfaces/ICommonCartridgeElement.html":{}}}],["element.publish",{"_index":18733,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":7772,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":7794,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":18462,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3461,"title":{},"body":{"classes/BoardElementResponse.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":9190,"title":{},"body":{"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:12",{"_index":10390,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9205,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":10389,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:17",{"_index":3468,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":10402,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:20",{"_index":15233,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:22",{"_index":3465,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9207,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9209,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":10404,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:29",{"_index":9206,"title":{},"body":{"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":10406,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:32",{"_index":9208,"title":{},"body":{"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":10403,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:35",{"_index":15243,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":10405,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:38",{"_index":15245,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:41",{"_index":15242,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15244,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9189,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{},"classes/RichTextElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:7",{"_index":3462,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4182,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":5722,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":5723,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":5728,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":5730,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":5724,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":5726,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":5732,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":5735,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":6668,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2704,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":4962,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15250,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5323,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5327,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":5375,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5355,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":5376,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5328,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":5391,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":5380,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":5392,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":5393,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":5394,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":5382,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":18575,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":18734,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9216,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15249,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":5820,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":5822,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":18617,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":8699,"title":{"classes/ElementContentBody.html":{}},"body":{"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:112",{"_index":9196,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":10394,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15236,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:78",{"_index":18450,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontentbody:96",{"_index":19979,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontroller",{"_index":2761,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3117,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3114,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":7871,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":7879,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":7876,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":7881,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":7885,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":7882,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":7880,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":7875,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":7874,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":1917,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":5712,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":5717,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":7926,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":7963,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":7962,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":7958,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":7953,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":7955,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":849,"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":3708,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":8635,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":8645,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":6612,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3113,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":6939,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":18578,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":18577,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":18576,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4216,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3568,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3571,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":6611,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":6615,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":2741,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":7757,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":7790,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":7789,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":2755,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":7906,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":7954,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":7956,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":11013,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3346,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.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/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":24528,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":11713,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":11697,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(systementity",{"_index":11708,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(user",{"_index":11712,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":653,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IJsonUser.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemFactory.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":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":24189,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":12636,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["embeddable",{"_index":2562,"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":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LdapConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["embedded",{"_index":4332,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["embedded(undefined",{"_index":4326,"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":{}}}],["embedded({entity",{"_index":20327,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":5842,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":23589,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":8870,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":8877,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":23922,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1731,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16134,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":6264,"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":13417,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["enable",{"_index":11545,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"classes/MigrationResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":22474,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":22475,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":13028,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1181,"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":11549,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":13029,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enablemigrationstart",{"_index":14970,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["enableoauthmigrationfeature",{"_index":22328,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":22338,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":23451,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":4707,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encoded",{"_index":2218,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{}}}],["encodeuricomponent(token",{"_index":1261,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":10910,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["encouraged",{"_index":23399,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":12782,"title":{},"body":{"interfaces/IEncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":12785,"title":{},"body":{"interfaces/IEncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":981,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":19929,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13488,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":8802,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":8804,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":15447,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":15450,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":8796,"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":{},"modules.html":{}}}],["encryptionproviderfactory(configservice",{"_index":8805,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":9824,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["encryptpassword",{"_index":855,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":860,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":12657,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":12659,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["end",{"_index":2190,"title":{},"body":{"injectables/BBBService.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":{},"interfaces/ICollectionFilePath.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":22838,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2210,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":22790,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":22954,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":19280,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":19282,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":19283,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":22952,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:11",{"_index":22953,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:18",{"_index":22955,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":24549,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":13052,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":22849,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":24579,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2094,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.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":12100,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":13091,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["ends",{"_index":2212,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":13564,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":13641,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":13572,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2166,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":21069,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":24406,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":23546,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":18488,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":18492,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":19188,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":19197,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":19210,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":19189,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":19199,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":10130,"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":3230,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3248,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":9099,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":9108,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3231,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3251,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":9928,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":9937,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":23297,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":9100,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":9110,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14056,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":21770,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":21773,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":23824,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15278,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":23566,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":23843,"title":{},"body":{"license.html":{}}}],["entities",{"_index":155,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.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":{},"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/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":{},"interfaces/ICollectionFilePath.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.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/RichTextElementNode.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/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.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/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":11037,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":11036,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":2364,"title":{},"body":{"injectables/BaseDORepo.html":{},"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":10611,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":10151,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":154,"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/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/RichTextElementNode.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/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":{},"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":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.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":{},"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":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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/RenameFileParams.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/Role.html":{},"classes/RoleMapper.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":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.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":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.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":{},"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":20382,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.closedat",{"_index":22294,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":9602,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":6144,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":19730,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7042,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15111,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4460,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.customs",{"_index":15608,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":8452,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":8322,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":8323,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":6146,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":8319,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":22008,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":22014,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":19732,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":11710,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":11703,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":9240,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":9249,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":9246,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":9251,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":9247,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":9245,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":14881,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":14931,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":14890,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":22295,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":22009,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":22012,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":22016,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":15613,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":15615,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":7966,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":7973,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":7975,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4455,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15107,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4446,"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/RoleMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":22011,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":14882,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":14883,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4453,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":20865,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":9611,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":15610,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":15609,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":15600,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":22015,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":22018,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":22010,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":22013,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig?.active",{"_index":20386,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4456,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":20868,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":15602,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":9609,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":9608,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":15603,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":15604,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":22292,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":11041,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":8321,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4447,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":15612,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.officialschoolnumber",{"_index":14885,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":20403,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":9612,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":8320,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":23091,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":23090,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":23092,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":11706,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":15611,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":22019,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":19729,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":19728,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.permissions",{"_index":18491,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":22017,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":14884,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":15607,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":20383,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":20384,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":9519,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":11038,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":15605,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.role.id",{"_index":11716,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":15606,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":22428,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":22020,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":19139,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":19181,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4448,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.id",{"_index":6143,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltool.school.id",{"_index":6239,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltool.school?.id",{"_index":6142,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltoolref.schoolid",{"_index":6240,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":14886,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":15601,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":15614,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4458,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4459,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":22290,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":22293,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":8454,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4457,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":11711,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.systems.getitems().map((system",{"_index":14888,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":14887,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":23088,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":24771,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":8451,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":8453,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":22291,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4451,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":21110,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":19731,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":19138,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":9520,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":6147,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":24238,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":20381,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4461,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.url",{"_index":9607,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":11715,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":9521,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.userids?.map((userid",{"_index":4449,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":14889,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.users.map((groupuser",{"_index":11698,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":11700,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":11701,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":11702,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":9613,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4454,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":12765,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":8315,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":21233,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":12885,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":9503,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17525,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":12766,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":19724,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":12767,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17526,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[key",{"_index":2386,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entity[prop",{"_index":1740,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":3882,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":12022,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydictionary",{"_index":11007,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2335,"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/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.closedat",{"_index":22301,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":9626,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.contextref.id",{"_index":6149,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.customs",{"_index":15624,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.displayname",{"_index":6151,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.email",{"_index":22023,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":14891,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":14892,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":14903,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":22302,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":22024,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":22030,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":15629,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":15631,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18031,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":14893,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":14894,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":9635,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":15626,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":15625,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":15616,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":22029,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":22032,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":22025,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":22028,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":9633,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":15618,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":9632,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":15619,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":15620,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":22299,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":9630,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":15628,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":14896,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":9636,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":23096,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":23095,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":23097,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":15627,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":22033,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":22031,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":14895,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":15623,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":9522,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":15621,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles",{"_index":15622,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":22026,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":19142,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schooltoolref.schooltoolid",{"_index":6153,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.schoolyear",{"_index":14897,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":15617,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":15630,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":22297,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":22300,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":14898,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":14899,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":23093,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":22298,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":19144,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":6154,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":9631,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":14901,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":9637,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":2346,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.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":2358,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entityfactory",{"_index":2304,"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":{}}}],["entityfactory(props",{"_index":2329,"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":{}}}],["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/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/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":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/ImportUserRepo.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.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":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.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/RenameFileParams.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/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":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams-1.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.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/ToolLaunchService.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":{},"injectables/UserMigrationService.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":2311,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.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/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":687,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.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/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":291,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":886,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":22003,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14462,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":20418,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":10145,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":10149,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":2378,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entityschema",{"_index":2428,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16062,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":6557,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2468,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entries",{"_index":9583,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":9642,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":5539,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":7494,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":7496,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":7495,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":7499,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":7501,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":7500,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":9643,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":19112,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":7504,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":7506,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":7505,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":19158,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":7507,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":7509,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":7508,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":9644,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":839,"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":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileContentBody.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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":{},"classes/SchoolExternalToolResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.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":{},"entities/TeamNews.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":15537,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13554,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":15534,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":6740,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":2922,"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/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.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/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5225,"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":15897,"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":23950,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":20666,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":6958,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":19842,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14488,"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":10918,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15121,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":20829,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":23506,"title":{},"body":{"license.html":{}}}],["eric",{"_index":24356,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":20658,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1243,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.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":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TimeoutInterceptor.html":{}}}],["err.code",{"_index":24447,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":18900,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.cause?.name",{"_index":18866,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":18849,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":990,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"injectables/DeleteFilesUc.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IError.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.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":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.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":3305,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3068,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('error",{"_index":12489,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["error('gradelevel",{"_index":4339,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["error('idm",{"_index":12429,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["error('invalid",{"_index":13740,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15194,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14447,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('not",{"_index":2747,"title":{},"body":{"entities/Board.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["error('nothing",{"_index":18123,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":5403,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":12992,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["error('root",{"_index":3170,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15200,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":13860,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('unknown",{"_index":6158,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["error('user",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1477,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1576,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14440,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3085,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":5816,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14530,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`login",{"_index":15294,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":11113,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":15770,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":14627,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":20435,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["error(error",{"_index":1573,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":3933,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":8938,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":8879,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":12914,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":3934,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":11514,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1795,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":6759,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["error.filter",{"_index":8912,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":11477,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":11500,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":11486,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":11489,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":11491,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":11502,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":11493,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":11497,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":11495,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":11499,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":11532,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":9351,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":12208,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":10155,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.mapper",{"_index":18741,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":12202,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":12206,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.officialschoolnumberfromsource",{"_index":22411,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["error.officialschoolnumberfromtarget",{"_index":22412,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["error.response",{"_index":1317,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1294,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1300,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1316,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.ts",{"_index":21892,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":21893,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":8847,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":22879,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13463,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":5545,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1783,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":5546,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1784,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":16341,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["errorhandler",{"_index":17079,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorhandler(error",{"_index":17086,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorloggable",{"_index":8816,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":11512,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":11515,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":8865,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":8829,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":8891,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":18749,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1509,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":8846,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":6675,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules.html":{}}}],["errorobj",{"_index":8897,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":8899,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorredirect",{"_index":17133,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('error",{"_index":17135,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('provider",{"_index":17137,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('sourceschoolnumber",{"_index":17143,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('targetschoolnumber",{"_index":17144,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorresponse",{"_index":1283,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":11530,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1310,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1307,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1305,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1302,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1303,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":11631,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":11633,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1297,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"injectables/UserLoginMigrationUc.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":14620,"title":{},"body":{"injectables/LdapService.html":{}}}],["errors/school",{"_index":16507,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["errorstatus",{"_index":22878,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":23010,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":994,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorurl",{"_index":22551,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.searchparams.append('sourcesystem",{"_index":22553,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.searchparams.append('targetsystem",{"_index":22554,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.tostring",{"_index":22555,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorutils",{"_index":1227,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1244,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2269,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":8904,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":11523,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":8842,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":11521,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":8840,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":11525,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":8843,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":4912,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":24022,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":24023,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":13418,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["es256",{"_index":1469,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1470,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1471,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":23197,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":15909,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":12649,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["escapedclasses",{"_index":13861,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":13845,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":13853,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":13856,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":22609,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":996,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22613,"title":{},"body":{"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2483,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1000,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.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/UserRepo.html":{}}}],["eslint/restrict",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.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":{},"injectables/SystemRepo.html":{}}}],["eslintrc.js",{"_index":24093,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":24224,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":23481,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":6520,"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":23298,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":8955,"title":{},"body":{"injectables/EtherpadService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["etherpadservice",{"_index":8939,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":24341,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":24342,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":24357,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":23337,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":3982,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":3988,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":3986,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":3969,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":3973,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":3972,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":3984,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":12417,"title":{},"body":{"interfaces/ICalendarEvent.html":{}}}],["eventid",{"_index":4007,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":12479,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":8562,"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":22742,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":8563,"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":23352,"title":{},"body":{"license.html":{}}}],["everything",{"_index":24707,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13546,"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":22433,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":705,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2492,"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":24617,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":24214,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":7737,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":24213,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":24204,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":24698,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":24212,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":9361,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":15910,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":4541,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.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":11536,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":11533,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13464,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13442,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13443,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13444,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":11534,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":9276,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:10",{"_index":19397,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:14",{"_index":16329,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception.ts:16",{"_index":11323,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":9279,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:18",{"_index":21369,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:20",{"_index":9363,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:26",{"_index":15875,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":9292,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":9278,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":21368,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:7",{"_index":11322,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":9293,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception/not",{"_index":16323,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exceptionfactory",{"_index":1157,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1159,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":11478,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":11535,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":23678,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":20064,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1185,"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":18063,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":23629,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":20877,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":20893,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":20878,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":20895,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":23828,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":23911,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":23787,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":19608,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":23835,"title":{},"body":{"license.html":{}}}],["exec",{"_index":24629,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":23477,"title":{},"body":{"license.html":{}}}],["execute",{"_index":21303,"title":{},"body":{"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":8432,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executes",{"_index":24046,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":23442,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":14260,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution.id",{"_index":14261,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executioncontext",{"_index":8689,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14258,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14237,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":14259,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["exercise",{"_index":23764,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":23542,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1456,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ITaskParent.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":2830,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseGroupProperties.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":14526,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14523,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14524,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14525,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":6915,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":6917,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2712,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4550,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4553,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4557,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4552,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":11764,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["existinggroup",{"_index":17357,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17388,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.id",{"_index":17364,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.users",{"_index":17369,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17393,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17384,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17387,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15020,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15022,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":22604,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":6604,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":6628,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":6621,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":7775,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":7778,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17321,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.externalid",{"_index":19361,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17361,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17327,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingtargets",{"_index":4989,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":4995,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":20661,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":20663,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":16440,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17346,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17342,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17344,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17348,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17349,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguserloginmigration",{"_index":14959,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["existinguserloginmigration?.closedat",{"_index":14963,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["exists",{"_index":2837,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":12013,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":12017,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":10958,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":10966,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15330,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":7265,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":24185,"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":24448,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":24429,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":24451,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":24494,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":24432,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":24495,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":24421,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":3172,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expecting",{"_index":24437,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":23642,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":20837,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":24705,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":7278,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":21227,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":19601,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":10692,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["expired",{"_index":12218,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":10825,"title":{},"body":{"injectables/FileRecordRepo.html":{},"controllers/OauthSSOController.html":{}}}],["expiresat",{"_index":159,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1484,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":19598,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":24573,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":24697,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":1994,"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":1007,"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":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":6968,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5099,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:140",{"_index":5124,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:148",{"_index":5128,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:18",{"_index":5108,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:25",{"_index":5117,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:41",{"_index":5113,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:65",{"_index":5115,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:85",{"_index":5120,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":6870,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":6962,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:15",{"_index":6966,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:9",{"_index":6964,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8079,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8103,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8082,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8040,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8045,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":12599,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exportcourse",{"_index":5102,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5116,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":6855,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":12577,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":12603,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":12616,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exporting",{"_index":24038,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":209,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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":{},"interfaces/ICollectionFilePath.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/RocketChatModule.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/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":13141,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":5579,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":24331,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":6865,"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":12128,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":23866,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.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":{},"injectables/SystemRepo.html":{}}}],["expressly",{"_index":23714,"title":{},"body":{"license.html":{}}}],["ext",{"_index":13905,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["ext_official_school_missing",{"_index":19358,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ext_official_school_number_mismatch",{"_index":19384,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ext_official_school_number_missing",{"_index":19354,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["extend",{"_index":472,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":24123,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":3893,"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":19891,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":180,"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/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.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":{},"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":{},"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":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.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/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.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":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.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":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"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":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.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":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":10531,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":23577,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":23460,"title":{},"body":{"license.html":{}}}],["external",{"_index":564,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.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/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IToolLaunchParams.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.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":{},"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":{},"injectables/ReferenceLoader.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"classes/ToolStatusResponseMapper.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_sub",{"_index":7241,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":9280,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":9289,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":9294,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":9364,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":9366,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["external_tools",{"_index":9235,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["externalauthconfig",{"_index":13991,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17308,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalid",{"_index":17359,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalorganizationid",{"_index":17360,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17367,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17365,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17366,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17368,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.users.map(async",{"_index":17373,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":8956,"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":19261,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":16694,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17392,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17374,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":8967,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":655,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.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":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":7323,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":8959,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":11839,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":13972,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17323,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17325,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17326,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":8987,"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":{}}}],["externalschoolid",{"_index":14679,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":8995,"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":11707,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":11709,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":9000,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":9003,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4390,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":9010,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":7269,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2627,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolRepo.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/ExternalToolVersionService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":21514,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":9775,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":9996,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":9999,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":9856,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":9992,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":9339,"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":9148,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":9855,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":9858,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":9991,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":9869,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":9885,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":9334,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":9132,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":9418,"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":9781,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":9093,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":9094,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":9420,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.url",{"_index":9780,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":9782,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2550,"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":2554,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2552,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2571,"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":2573,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2575,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":9766,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2563,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":9665,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2581,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2583,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2584,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":9046,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":9096,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":5771,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":9659,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":9153,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":9724,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":9732,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":9731,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":9729,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":9733,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":9728,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":9730,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":21533,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":2861,"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":5814,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18267,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":9187,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":8712,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"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":3204,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":9201,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":9185,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4083,"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":5707,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":5699,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":9214,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":9219,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentity(props",{"_index":9552,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":9238,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":9258,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":7558,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":7569,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":5991,"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":9266,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":9267,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":9273,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":9272,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":9286,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":9346,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":9274,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":9350,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":9290,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":9354,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":9106,"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":9318,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":9319,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmodule",{"_index":6067,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["externaltoolparametervalidationservice",{"_index":9377,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":21506,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":7518,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":9457,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":9513,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":17995,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":9471,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":17982,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":9378,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":6128,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":6155,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.parameters",{"_index":6148,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":19140,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":9561,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":9560,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":9645,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":9747,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":9758,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":21449,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":21536,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":21548,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":21543,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":21552,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21530,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21507,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":9060,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":9140,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":9073,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":9086,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":21451,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":19171,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":9551,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":9804,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21804,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":21518,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":9661,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":9538,"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":6349,"title":{"injectables/ExternalToolService.html":{}},"body":{"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":5443,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":9379,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":19875,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":9549,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":9554,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":9927,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":9692,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":9690,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":9711,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":9718,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":9722,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":9721,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":9719,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":9723,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":9717,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":9720,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":9375,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":19246,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionservice",{"_index":9376,"title":{"injectables/ExternalToolVersionService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionService.html":{}}}],["externaluser",{"_index":13970,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.email",{"_index":17345,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17350,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17341,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17343,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17336,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":18991,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":18992,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":10075,"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":8980,"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/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":24770,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":12866,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/IservProvisioningStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["extractaccount",{"_index":14400,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14406,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14401,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14409,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractids(users",{"_index":6816,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":11554,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extractjwt",{"_index":14020,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14024,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14023,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14021,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":15735,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":15714,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:20",{"_index":15720,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":15712,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":15733,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":15738,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:15",{"_index":15744,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":15742,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":15740,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":15741,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:5",{"_index":15739,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":15746,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:15",{"_index":15752,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:25",{"_index":15759,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:44",{"_index":15761,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:58",{"_index":15756,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14005,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14008,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":15794,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:13",{"_index":15797,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:7",{"_index":15795,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":15737,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":15713,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":11467,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/meta",{"_index":15709,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":15745,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor/uc/meta",{"_index":15793,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":14647,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":14654,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":2999,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3024,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2235,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["extractuserlist(users",{"_index":6828,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1298,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1314,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_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":{},"injectables/LegacySchoolService.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":2918,"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/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":24383,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":23849,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":23508,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8061,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":463,"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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":512,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2462,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1501,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":23402,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":14633,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":595,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"injectables/OauthAdapterService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/UserLoginMigrationError.html":{},"todo.html":{}}}],["failing",{"_index":15295,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":8219,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":8220,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":8227,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":8232,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":12443,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":11953,"title":{},"body":{"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["fair",{"_index":23505,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":20980,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":5793,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":15790,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":145,"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":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.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":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.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/LdapConfig.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolParams.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":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.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/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.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":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":10427,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":22851,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18301,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":24703,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":18954,"title":{},"body":{"interfaces/SanisNameResponse.html":{}}}],["family",{"_index":23633,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":23325,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":14565,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":23430,"title":{},"body":{"license.html":{}}}],["fast",{"_index":24380,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":23261,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":23639,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":7277,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1779,"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":10294,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":10301,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1759,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1764,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":8933,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":8936,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":10299,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":24299,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/authentication",{"_index":23124,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":23127,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8023,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":10288,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":23128,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1757,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"modules.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":10168,"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":10277,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":10281,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":8943,"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":10290,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":6961,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.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":23334,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":23324,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":17764,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":17757,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":12834,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":12835,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":12836,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":12685,"title":{},"body":{"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IServerConfig.html":{}}}],["features",{"_index":6721,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.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":24474,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":13018,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":10327,"title":{},"body":{"injectables/FederalStateService.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{}}}],["federalstateentity",{"_index":6713,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":14837,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":14850,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17317,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17331,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstaterepo",{"_index":10310,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":6712,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["federalstateservice",{"_index":10316,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":23560,"title":{},"body":{"license.html":{}}}],["feedback",{"_index":4950,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":4943,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1517,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2718,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":9298,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":9308,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":9281,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["fetchedentity",{"_index":2373,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["fetchlogo",{"_index":9299,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":9310,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchmetadata",{"_index":15747,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["fetchmetadata(url",{"_index":15751,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["fetchmetadata(userid",{"_index":15796,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["fetchoptions",{"_index":15773,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":24811,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":9321,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":9323,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":6994,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":5662,"title":{},"body":{"classes/ContentBodyParams.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":11969,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2670,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2091,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.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":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":8252,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":12557,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["file.data",{"_index":10339,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":21232,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":6421,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":12238,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":12236,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":12237,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":12235,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":6425,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":6426,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":6424,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":12213,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":12215,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":8250,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5274,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":12688,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":12689,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":12690,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":8247,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":10340,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":10338,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":21237,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":21182,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":21192,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":21188,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":21193,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":21190,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":21195,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":21196,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":8254,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":8256,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":5825,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":5828,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15165,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":5829,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15166,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":6560,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":12584,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filecontentbody",{"_index":5772,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":18137,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18144,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3331,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":4823,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":6570,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":6561,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedto",{"_index":6573,"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":10349,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":10363,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":10368,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":6553,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":6579,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":6572,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":2864,"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":5782,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":5779,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18254,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":10387,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":8705,"title":{"classes/FileElementContentBody.html":{}},"body":{"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":3207,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":10398,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":10385,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":3771,"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":3750,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":5708,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":5695,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":10408,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":8202,"title":{"entities/FileEntity.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":10455,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":21199,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":21210,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":12085,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":6584,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":6583,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":10359,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":10364,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":11076,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filemetadata",{"_index":10505,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5826,"title":{},"body":{"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":21242,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":12540,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filename.startswith",{"_index":21243,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":11200,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":11368,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":10745,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filenameobj.name",{"_index":10747,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filenameprefix",{"_index":6469,"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":10940,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filenames.map((filename",{"_index":12538,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":10744,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["fileownermodel",{"_index":10437,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":11011,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":6558,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":6565,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":6564,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":6481,"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":10945,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filepermissionentity",{"_index":10435,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":10622,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":10627,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":6437,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":6455,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":6460,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":6462,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":6444,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":6457,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":6445,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":6453,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":6458,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":11196,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":6451,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":6449,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":10709,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":10711,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerecordfactory",{"_index":10748,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":10755,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":6484,"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":6466,"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":10776,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":11101,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":10760,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":10775,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":6472,"title":{"classes/FileRecordParams.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/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":6438,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":10787,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18143,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":10757,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":11114,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":11116,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":11115,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordrepo",{"_index":10790,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":6442,"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":10772,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":11106,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":11107,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":11108,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":10686,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":10774,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":6463,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":10801,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":10818,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":10820,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":10821,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":10823,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":10824,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":10827,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":10659,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/FilesStorageModule.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerequestinfo",{"_index":6535,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["fileresponse",{"_index":10870,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":11201,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":11199,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":10866,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":17702,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":6441,"title":{},"body":{"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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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":18895,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8162,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8173,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8166,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14146,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":12896,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":8228,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":8222,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":11123,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":6542,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":6548,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":6550,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":6552,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":6556,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8186,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8205,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8195,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8207,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8208,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8198,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8203,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":12073,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":12130,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":12132,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":12801,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":11100,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":10439,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":10872,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":10877,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":10878,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":10880,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":10988,"title":{"modules/FilesModule.html":{}},"body":{"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["filespreviewevents",{"_index":17599,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":17604,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":17597,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8193,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":11020,"title":{"injectables/FilesService.html":{}},"body":{"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1183,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":11042,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules.html":{}}}],["filesstorageapimodule",{"_index":11051,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules.html":{}}}],["filesstorageclientadapterservice",{"_index":6547,"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":{}}}],["filesstorageclientmapper",{"_index":10612,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":11077,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":11104,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":10614,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":11079,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":11102,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":11105,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3592,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{},"modules.html":{}}}],["filesstorageconsumer",{"_index":11047,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":11055,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":11147,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":11153,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":11159,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":11155,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":11134,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1230,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":11150,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":11158,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":11197,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":11046,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules.html":{}}}],["filesstorageproducer",{"_index":11065,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":11129,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":11270,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{},"modules.html":{}}}],["filesstorageuc",{"_index":10893,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":6578,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":24733,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":12807,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":11064,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":8047,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":10906,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filesystemmodule",{"_index":10977,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["filetype",{"_index":18076,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18079,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":24679,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":6480,"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":6554,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":6568,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":20613,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":24526,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":9429,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":9331,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4381,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.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":12566,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filter((element",{"_index":6667,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":20407,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19049,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":11889,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":9924,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":13866,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((rolename",{"_index":22449,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((sanisgroupuser",{"_index":19038,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((user",{"_index":14561,"title":{},"body":{"classes/KeycloakSeedService.html":{},"injectables/SanisResponseMapper.html":{}}}],["filter(issubmissionitem",{"_index":8791,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16142,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":8911,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4213,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4222,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":8590,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":8608,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":10176,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":10190,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":6614,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":6618,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6617,"title":{},"body":{"injectables/CopyHelperService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["filtered.some((status",{"_index":6620,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":943,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":947,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":954,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":12551,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":12554,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filteredpathobjects",{"_index":18905,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":21785,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17381,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterforavailableexternaltools",{"_index":9049,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":9057,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":9050,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":9062,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":9051,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":9066,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":11281,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":11294,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":13734,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":13736,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":13738,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":11307,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":9052,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":9069,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":11628,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":20301,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":11650,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2350,"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":11299,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":18511,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":18513,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":18512,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":7149,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":20818,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":13786,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":20811,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":13778,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":13790,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":13780,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":13782,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":13788,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":22610,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":13784,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":20814,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":20816,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":20822,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":20809,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15072,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":22607,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":20824,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7176,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":20224,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":20228,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":6302,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":6314,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":15518,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":11318,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":12102,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":15853,"title":{},"body":{"classes/MigrationResponse.html":{},"license.html":{}}}],["find",{"_index":4743,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.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":8792,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find(@query",{"_index":20298,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":20276,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":10284,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":6105,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13507,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13521,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13508,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13525,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":264,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13528,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":295,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14413,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13509,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13530,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15950,"title":{},"body":{"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":15956,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":20943,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":9533,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":9540,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":6274,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":6282,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15059,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15062,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":8334,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":8338,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":20735,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":20741,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4531,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4534,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":20196,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":20201,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":20230,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":20145,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":20149,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7218,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7220,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":21183,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":21187,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4488,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4494,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7046,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7051,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7203,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7208,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":20536,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":20546,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":20945,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":20736,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":20745,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":20935,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":20947,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7144,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":20949,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7152,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7145,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7154,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":21063,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":21064,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16144,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16154,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":13565,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":13575,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":8508,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":8515,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":8460,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":8468,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15125,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15132,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16076,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16079,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":20537,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":20549,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":13566,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":13578,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16077,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16082,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":10792,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":10800,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":3839,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":3847,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":3840,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":3849,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3335,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3348,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":15582,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":15635,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":15585,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3684,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3689,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7024,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7025,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbydeletionrequestid",{"_index":8358,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":8363,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":4871,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":4883,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyemail",{"_index":22583,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":22587,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":14862,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":14866,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":21970,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":21977,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":11745,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":11749,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":19119,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":19128,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":20422,"title":{},"body":{"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":20424,"title":{},"body":{"injectables/SystemRepo.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/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":4885,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4169,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5060,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":12019,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":6284,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7210,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":8340,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":8470,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":5727,"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/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":15135,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":19201,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":20204,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":20913,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyids",{"_index":3336,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4172,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3353,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":9534,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15179,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":9542,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15173,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15181,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":18519,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":18522,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":9535,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":9544,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":15583,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":15588,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":10994,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":10998,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":10793,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":10803,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":10995,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":11001,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":19120,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":19130,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandparentid",{"_index":10794,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":10805,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":10795,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":10807,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolnumber",{"_index":14863,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":14868,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":23072,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":23073,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":10796,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":10809,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":20737,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":20747,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":20454,"title":{},"body":{"injectables/SystemService.html":{}}}],["findbytype(type",{"_index":20458,"title":{},"body":{"injectables/SystemService.html":{}}}],["findbyuser",{"_index":11746,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(user",{"_index":11752,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyuser(userid",{"_index":21189,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":21184,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":21191,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":17953,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16292,"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/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/TeamsRepo.html":{}}}],["findbyuseridandtoolid",{"_index":9476,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":9488,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":9477,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":9490,"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":4214,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4225,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":11626,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":11627,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4489,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findclassesforschool(schoolid",{"_index":4496,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findcontextexternaltools",{"_index":6275,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":6286,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":19440,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3645,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3649,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3646,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3651,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8118,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8130,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4003,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4006,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":7894,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":7907,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":4980,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":4984,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":21185,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":21186,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":21194,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":9929,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":21516,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":9939,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":9816,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":9834,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":9817,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":9836,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":17954,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":17968,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":9818,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":9838,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":10320,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":10323,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":11022,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":11027,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":11023,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":11029,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":10996,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":11004,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":6854,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":7634,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":6860,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findidsbyexternalreference",{"_index":3337,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3355,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":13757,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":13763,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":13758,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":13765,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3664,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16228,"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":22329,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":22340,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":22330,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":22342,"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":15174,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15183,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16078,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16084,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16229,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7146,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":15984,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7157,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":15959,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":10797,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":10811,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16145,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16158,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":10798,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":10813,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15175,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15185,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":19717,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":19718,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":10799,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":10815,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":11233,"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":{}}}],["findorcreatepseudonym",{"_index":17955,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":17970,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":4981,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":4987,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3338,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3358,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":5729,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":9478,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":9492,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":9479,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":9495,"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":18006,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":17956,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":17974,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":692,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":19190,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":19202,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":19231,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":19994,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":19998,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":20112,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":20116,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":20738,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":20749,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":4732,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":4740,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":16948,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":16952,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":16385,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":16402,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":21115,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":21120,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":22116,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":22129,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":22387,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":22658,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":22669,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":22584,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":22591,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":24414,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":20538,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":20576,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":20551,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":6894,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":6905,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8184,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":20678,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":19350,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":6922,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":20762,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":13313,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":13311,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":13314,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":13325,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":13321,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":13324,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":13374,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":19349,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"entities/ImportUser.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/NewsUc.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PatchMyAccountParams.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":17280,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":6839,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":13657,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":651,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonUser.html":{},"interfaces/INameMatch.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.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":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13846,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":12634,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["firstvaluefrom",{"_index":2245,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2259,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(respobservable",{"_index":12409,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":525,"title":{},"body":{"classes/AccountFactory.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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":5540,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":23869,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1748,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":24089,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7135,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixes",{"_index":23961,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":24803,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4500,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":24509,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":24576,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":11316,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":21853,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":21855,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":11284,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":8059,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flags.ts",{"_index":19306,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["flexible",{"_index":24163,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14232,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/UserLoginMigrationUc.html":{},"license.html":{}}}],["flow.id",{"_index":14246,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13467,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":16947,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":16951,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":16953,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":16955,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":16890,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":16807,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:102",{"_index":16976,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":16813,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":16817,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:24",{"_index":16972,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":16819,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:29",{"_index":16974,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:44",{"_index":16970,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":16822,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":16815,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17002,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":16825,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17004,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:90",{"_index":16978,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14229,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14242,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14244,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":681,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["fn",{"_index":3546,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3582,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":976,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":8070,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.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":11937,"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":16262,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16273,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":10923,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["folders",{"_index":16276,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":4952,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":5568,"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":8231,"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":24599,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":24108,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7167,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7192,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7162,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":23540,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":11333,"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":21571,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":11326,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":11332,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2530,"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":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":16842,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":22398,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15030,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":24348,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2540,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":18730,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":2824,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":8901,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":22987,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":22902,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":2938,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["forbiddenexception})@get",{"_index":4068,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":3759,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1851,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1882,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1854,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":288,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":11553,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":11555,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":3879,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":3881,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":132,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":13413,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["forcepathstyle",{"_index":8241,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8145,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":6498,"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":7193,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7171,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":9926,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":14684,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":22615,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":14396,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CreateJwtParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.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":21462,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":286,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":13273,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/RichText.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":571,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1522,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":24087,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":23586,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1170,"title":{},"body":{"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":{}}}],["forroot(options",{"_index":1171,"title":{},"body":{"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":{}}}],["forroutes",{"_index":19569,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7194,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7166,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7195,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7165,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1826,"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":292,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.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/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.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":8812,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":8814,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":9121,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16324,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":19256,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":19257,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":19258,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":945,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":438,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":23349,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":5480,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":5534,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":5531,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":5527,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18008,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18010,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":19433,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":19435,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16314,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16316,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16319,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":932,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":946,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":952,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1518,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":23367,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2185,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":23207,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":4946,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":7556,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":7380,"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":22850,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":23109,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":23107,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":23108,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14006,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14007,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":11560,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":7727,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":11561,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":7725,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":11562,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":7724,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":11563,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":7726,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15421,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":16592,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":7383,"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":7531,"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":10959,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":14568,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":14570,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.rm",{"_index":10972,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":10957,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":24536,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":24174,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":23526,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":24360,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":24815,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":10931,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":18333,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2117,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18306,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":10550,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":22407,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":474,"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":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.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":6682,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":24583,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":21027,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":23653,"title":{},"body":{"license.html":{}}}],["functions",{"_index":22346,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":4917,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":23610,"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":24473,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":24493,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1815,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"interfaces/INewsProperties.html":{},"entities/News.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":11340,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":11396,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":11436,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":11335,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":11370,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules.html":{}}}],["fwulearningcontentstestmodule",{"_index":11381,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules.html":{}}}],["fwulearningcontentsuc",{"_index":11345,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":6576,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":21241,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":24090,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["general",{"_index":10536,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2409,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":23489,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":500,"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/SubmissionFactory.html":{},"classes/SystemFactory.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":17660,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3533,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3545,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":20455,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatebrokersystems(systems",{"_index":20460,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatechecksum",{"_index":2191,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2213,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":12318,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":12326,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":6496,"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":2467,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2470,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":20488,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.id",{"_index":20490,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":20491,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":20492,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":20494,"title":{},"body":{"injectables/SystemService.html":{}}}],["generateemptydashboard",{"_index":7991,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8004,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16230,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16241,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16231,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16245,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1581,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1591,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":21650,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":21655,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":17592,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":17605,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":17634,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":17596,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16243,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":12505,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":12564,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["generatesharetoken",{"_index":21351,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":24098,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_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":{},"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":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewService.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":17640,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":17587,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":17589,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":17613,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":17591,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":17595,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":17598,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":17602,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":17625,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":17630,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":17635,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:37",{"_index":17632,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:43",{"_index":17637,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":21352,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":17575,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":17578,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17548,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":17586,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":17658,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":17659,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":17661,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":507,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":24799,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":24139,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":987,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":19882,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":19883,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":12701,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["geschlecht",{"_index":18961,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["get('*/:fwulearningcontent",{"_index":11343,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":21738,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":21730,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":21555,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":21524,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":11655,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":11637,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/class",{"_index":11648,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":12142,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":12056,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":12136,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":12063,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":12096,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":2972,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":2976,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":21496,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":21469,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":21491,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":21474,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":21397,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":6858,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":21545,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":21521,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":296,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":15960,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":17909,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":17899,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':roomid/board",{"_index":18659,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":21815,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21800,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolid/migration",{"_index":14806,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["get(':schoolid/migration')@authenticate('jwt')@apifoundresponse({description",{"_index":14777,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":22947,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":22925,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":22837,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":22793,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":22834,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":22799,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":22831,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":22803,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":3776,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":21066,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":19651,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":12047,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17180,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17105,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":16935,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":16867,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":16903,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":16900,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":16928,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":12050,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":21406,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":21578,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":21567,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":20547,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17176,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17095,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":12060,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('login/:systemid",{"_index":17091,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('loginrequest/:challenge",{"_index":16863,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":21917,"title":{},"body":{"controllers/UserController.html":{}}}],["get('oauth",{"_index":17110,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('oauth/migration",{"_index":17186,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('oauth/migration')@authenticate('jwt')@apiokresponse({description",{"_index":17098,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('page",{"_index":22461,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["get('params/:id",{"_index":12053,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":20297,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":20278,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":20303,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":20284,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":21412,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":21402,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":22182,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":22130,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":20000,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":12072,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":13579,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":22136,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":21517,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":312,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":10895,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":10286,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1074,"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":11341,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1529,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["get(url",{"_index":12328,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":12109,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":13937,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":13943,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14093,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":12030,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":12123,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":12046,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15176,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13510,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":12014,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":10375,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3339,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3361,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":10177,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":10193,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18335,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18351,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthenticationurl",{"_index":16386,"title":{},"body":{"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{}}}],["getauthenticationurl(oauthconfig",{"_index":16404,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getauthenticationurl(session",{"_index":17088,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getavailabletoolsforcontext",{"_index":9101,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":21396,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":9112,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":9102,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":21401,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":9114,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2237,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2192,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2222,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":18712,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":18716,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3147,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3153,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":2928,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":2946,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":4872,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":4888,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":2929,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":2950,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":1908,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":1915,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":20879,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":20897,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":20880,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":20899,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":9511,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18028,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2702,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":10373,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4049,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4063,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":2814,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3253,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14094,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14095,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":17731,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8119,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":17733,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":20037,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":21394,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":21405,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":21395,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":21411,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":16809,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":16929,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":16816,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":16859,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":7706,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":12031,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":12049,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":12032,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":12115,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":12052,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":4811,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":6303,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":21468,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":6317,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":9177,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":6304,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":21473,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":6319,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18089,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18097,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":20625,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":20636,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18090,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18099,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":6832,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":13123,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["getcoursesfromuserspseudonym",{"_index":10178,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":10195,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":1909,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":1918,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":2816,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{}}}],["getcurrentschoolyear",{"_index":19446,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":7978,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":7982,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":13938,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(currentuser",{"_index":15715,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getdata(input",{"_index":13945,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":17832,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8120,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8133,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8137,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":20936,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdeleteafter",{"_index":8407,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":8273,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionrequestid",{"_index":8275,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":15214,"title":{},"body":{"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":20626,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":20640,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":20627,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":20642,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":22659,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":22671,"title":{},"body":{"injectables/UserService.html":{}}}],["getdomain",{"_index":8267,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":19965,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":7651,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":7676,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2705,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":8761,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":8768,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":718,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":10124,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":10132,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":10955,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":4923,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":580,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":587,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":11598,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14177,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":9930,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":21520,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":9941,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":9300,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":9312,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":21504,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":21556,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":21523,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":6519,"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":21200,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":21212,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":21201,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":21214,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":10869,"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":11127,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":11156,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":11140,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":21202,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":21216,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":21203,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":21218,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17300,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17306,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":13308,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":7652,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14248,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14238,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":17568,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":17570,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":11342,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":13337,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4288,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":7653,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":10179,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":10197,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":11635,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1050,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["geth5pcontentparams",{"_index":11443,"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":12033,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":12143,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":12055,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":11450,"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":11449,"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":11423,"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":4033,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":19474,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17080,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17093,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":7654,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14178,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14203,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":17957,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":17976,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15218,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":19475,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":19478,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":18433,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9211,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":581,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":596,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4284,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":17725,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":22021,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtforuser",{"_index":17195,"title":{},"body":{"injectables/OauthUc.html":{}}}],["getjwtforuser(userid",{"_index":17199,"title":{},"body":{"injectables/OauthUc.html":{}}}],["getjwtfromresponse",{"_index":21265,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1570,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":21651,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":21657,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapdn",{"_index":4290,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":12739,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlessonlinkedtasks",{"_index":12740,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlessonmaterials",{"_index":12741,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlibrary",{"_index":12103,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":11461,"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":12110,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":12058,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":11463,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":15435,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":15438,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":16848,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":16917,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":16971,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":16862,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginurl",{"_index":22486,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getloginurl(system",{"_index":22494,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getlogmessage",{"_index":1343,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaxsubmissions",{"_index":13315,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2193,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2224,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":22976,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":6843,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["getmetadatastorage",{"_index":8824,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":11464,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmigration",{"_index":14773,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{}}}],["getmigration(schoolid",{"_index":14947,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["getmigration(schoolparams",{"_index":14775,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["getmigrationconsentpageredirect",{"_index":22487,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrationconsentpageredirect(officialschoolnumber",{"_index":22496,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrationpagedetails",{"_index":22459,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationpagedetails(@query",{"_index":22466,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationpagedetails(pagetypequery",{"_index":22460,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationredirecturi",{"_index":22488,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrations",{"_index":22117,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":22134,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":22389,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":8271,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4276,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/Group.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getnewh5peditor",{"_index":12034,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":12137,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":12062,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16146,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16160,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":12735,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getnumberofplannedtasks",{"_index":12737,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getnumberofpublishedtasks",{"_index":12731,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getoauth2client",{"_index":16777,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":16786,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17048,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13497,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":12245,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":12252,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":18826,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":682,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":700,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":8269,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":7895,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":7909,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3685,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3692,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":5371,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":11600,"title":{},"body":{"classes/Group.html":{}}}],["getpagecontent",{"_index":22383,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["getpagecontent(pagetype",{"_index":22391,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["getparametervalue",{"_index":2603,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2640,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":12726,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":13367,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentinfo",{"_index":10732,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getpath",{"_index":21266,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getpath(routenameinput",{"_index":1562,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getpermittedcourses",{"_index":20937,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":20952,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":10125,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":10134,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":20994,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":20938,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":20955,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":10087,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":10093,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":10088,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":10095,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":12035,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":12097,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":12065,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":17729,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpostloginredirecturl",{"_index":16387,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getpostloginredirecturl(idtoken",{"_index":16406,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getpresentationurl",{"_index":2241,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":17670,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":17680,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":17685,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":17699,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":10733,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getpropertyvalue",{"_index":8820,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":8831,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1668,"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/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["getprotectedroles",{"_index":18531,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningstrategy",{"_index":17822,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":17834,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":17876,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":17897,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":7256,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":16549,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":19460,"title":{},"body":{"classes/Scope.html":{}}}],["getredirecturi",{"_index":16388,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getredirecturi(migration",{"_index":16409,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getreferences",{"_index":7711,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":7655,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":7684,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":17958,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":17978,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16147,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16164,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3125,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":22660,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":22673,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3045,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3087,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":5373,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1272,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":18649,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":18658,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":17727,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":481,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2239,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":3767,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.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":9169,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":8721,"title":{},"body":{"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":4108,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":8717,"title":{},"body":{"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":3791,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":8718,"title":{},"body":{"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":4109,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":9170,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":9969,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":9171,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":9970,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":8719,"title":{},"body":{"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":3790,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":8720,"title":{},"body":{"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":4110,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":21140,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":14911,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":14918,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":14912,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":14920,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":14913,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":14922,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":19222,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":21799,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":19233,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":21791,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":21802,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolid",{"_index":4278,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsecuritytoken",{"_index":10706,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getseedfolder",{"_index":12520,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["getservice",{"_index":10302,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":10293,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":6837,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4294,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4296,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":8411,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":3937,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6809,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":6820,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":3744,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":3755,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":13331,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":13142,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["getsubstitutionteacherids",{"_index":6813,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":6826,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4292,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":20275,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":20304,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":20283,"title":{},"body":{"controllers/SystemController.html":{}}}],["gettargetfilters",{"_index":16148,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16167,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":12522,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":8405,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":8409,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":12727,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getteacherids",{"_index":4282,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":6824,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":13126,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["gettempfile",{"_index":12106,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":9103,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":9116,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":9104,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":9118,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":12036,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":12071,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":6776,"title":{},"body":{"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/ICourseProperties.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":18429,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":23280,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4029,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3340,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3363,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolid",{"_index":17878,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":21564,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":21565,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":21683,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":21722,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":21765,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":21724,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":21775,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":21723,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":21729,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":21777,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4521,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":11602,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":9510,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":2818,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{}}}],["geturl",{"_index":1208,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2226,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1219,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":10089,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":22675,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":10097,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13511,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13534,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":10180,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":10200,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":7656,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4280,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1030,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getuserparams",{"_index":21896,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":658,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":10181,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":10202,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3123,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":10090,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":10099,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":7979,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":7984,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":10182,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":10204,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":10091,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":10101,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1862,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1871,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":1896,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":1897,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":5955,"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":22974,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":22978,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14096,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getyear",{"_index":4286,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":24027,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":24607,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":15907,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":11743,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":23287,"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":23219,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":23235,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":23283,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":23557,"title":{},"body":{"license.html":{}}}],["given",{"_index":274,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/LegacySchoolController.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":13224,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["gives",{"_index":10161,"title":{},"body":{"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":23563,"title":{},"body":{"license.html":{}}}],["global",{"_index":6688,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":11471,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":8910,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":13897,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":7550,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":11473,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":24261,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":24262,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":11540,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":17639,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":23342,"title":{},"body":{"license.html":{}}}],["go",{"_index":22846,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":23984,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":23412,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":24470,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1224,"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":21291,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":24159,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":14685,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":23680,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":23413,"title":{},"body":{"license.html":{}}}],["grace",{"_index":19347,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":22364,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":12935,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["gradecomment",{"_index":13104,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["graded",{"_index":3819,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":13338,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4270,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["grant",{"_index":1389,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":113,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":114,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1393,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":16586,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":23497,"title":{},"body":{"license.html":{}}}],["grants",{"_index":23742,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":12394,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ISystemProperties.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":15764,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"modules.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":23609,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":23904,"title":{},"body":{"license.html":{}}}],["grep",{"_index":24656,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7077,"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":7992,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":7716,"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":7935,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":7793,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":7784,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":7959,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":7952,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":7950,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":7957,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8034,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":7707,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":7823,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["gridelementwithposition",{"_index":7682,"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":7657,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":7688,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":7677,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":7685,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":975,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.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/ICourseGroupProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/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":11759,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":11770,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(user",{"_index":17371,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":16702,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":8958,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":18374,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":8962,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":18375,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":8966,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":18371,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":8965,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":18370,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":8960,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":8961,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":18372,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":8963,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":18373,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":8968,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":11787,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":11687,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19045,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19048,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.laufzeit?.bis",{"_index":19047,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.laufzeit?.von",{"_index":19046,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19037,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":11784,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17396,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":11624,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1058,"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":11789,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17482,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17484,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17395,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15100,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7035,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7038,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7037,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7036,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.type",{"_index":11785,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":11786,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":10220,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":11615,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["groupcontroller",{"_index":11622,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":7738,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":11659,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":11762,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":11758,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":11769,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":11695,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":7833,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":6763,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":11763,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":11669,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":11681,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes.class",{"_index":11684,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":11683,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":11705,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16236,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":11934,"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":11938,"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":11936,"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":7715,"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":11636,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":6742,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":7740,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1039,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1043,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3672,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":7735,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":11619,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{},"modules.html":{}}}],["groupname",{"_index":1035,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":11741,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["groupprops",{"_index":11604,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["grouprepo",{"_index":11739,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":11643,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":11644,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":11654,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":11658,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":11639,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19016,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19050,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":11828,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19051,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1765,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":6722,"title":{},"body":{"entities/Course.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/ICourseProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.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":{}}}],["groupservice",{"_index":11738,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17386,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17390,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17389,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17394,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19032,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19019,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19033,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":11777,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":11803,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":8964,"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":11685,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":11686,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":11691,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuc",{"_index":11620,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":11869,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":11591,"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":11890,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":11714,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":11892,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":11610,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":11677,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":11912,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16284,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16297,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16303,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":11779,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":11925,"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":11682,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":11940,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":18935,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":18943,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":18948,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":18944,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gruppenzugehoerigkeiten",{"_index":19041,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["gt",{"_index":3657,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7170,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":577,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":24276,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":11943,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15293,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15290,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15288,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15298,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15297,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":11950,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2118,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":24013,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2020,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":23011,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":24540,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":18985,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":5843,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5p",{"_index":1125,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":21235,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_library",{"_index":10523,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":12191,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontent",{"_index":5934,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IH5PContentProperties.html":{}}}],["h5pcontentfactory",{"_index":11962,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":11967,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":11975,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":11431,"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":11984,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":5930,"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/IH5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17538,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":11968,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentrepo",{"_index":12009,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":11424,"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":12025,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":12120,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":11425,"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":12145,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":11410,"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":12141,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":12166,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":12167,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":12168,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":12173,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules.html":{}}}],["h5peditorprovider",{"_index":12190,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":12186,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":12194,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{},"modules.html":{}}}],["h5peditoruc",{"_index":12088,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":12205,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":12201,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":12131,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":11460,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5pplayerprovider",{"_index":12192,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":11432,"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":12155,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":12212,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":12219,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":21861,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":8710,"title":{},"body":{"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":3084,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":18689,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":18693,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handled",{"_index":3913,"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":115,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15333,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2604,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2644,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":23973,"title":{},"body":{"todo.html":{}}}],["handlerejections",{"_index":15334,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handles",{"_index":24525,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":6685,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.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":16444,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":24296,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":10538,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccesstoentity",{"_index":1699,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1704,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":20166,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":20172,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1700,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1708,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1701,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1710,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2109,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2662,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":10007,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameternames(oldparams",{"_index":10018,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterregex",{"_index":10008,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterregex(newparams",{"_index":10020,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterscope",{"_index":10009,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterscope(newparams",{"_index":10023,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparametertypes",{"_index":10010,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparametertypes(newparams",{"_index":10025,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedrequiredparameters",{"_index":10011,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":10027,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschild",{"_index":2791,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":2807,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hascontextexternaltool",{"_index":9081,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":18640,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":18622,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":18626,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":18623,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":18628,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":9384,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":9395,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":10722,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasfeature",{"_index":14914,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":14925,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":11402,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":15458,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14522,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14137,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":15460,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":15462,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":7705,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2182,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15101,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":18624,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":18630,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":13759,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":13767,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmigrated",{"_index":15825,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["hasname",{"_index":10718,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasname(name",{"_index":10717,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":10012,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":10029,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["hasnewspermission",{"_index":24768,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1702,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1712,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3639,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":20857,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":20859,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15108,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":20167,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":20174,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":20168,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":20176,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15110,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18308,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18315,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1735,"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/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":1875,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1842,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1848,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":10147,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{}}}],["hasreadaccess",{"_index":20169,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":20179,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":20864,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":10721,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":10724,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasschoolmigrated",{"_index":19312,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":19325,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4593,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":19329,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hastaskreadpermission",{"_index":18625,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":18632,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17514,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17516,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2110,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":22378,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15105,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2183,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":10725,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["haswriteaccess",{"_index":20170,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":20181,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3624,"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":18793,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":18811,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1488,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerconst",{"_index":1502,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1547,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":12368,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1079,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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":18827,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":18828,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":18899,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":23398,"title":{},"body":{"license.html":{}}}],["height",{"_index":3275,"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":4041,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4086,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":19585,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":19587,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":5423,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":6779,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":5574,"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":3044,"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":20531,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":6592,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":6594,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":6596,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":6607,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":6605,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":6601,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":19881,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:13",{"_index":21696,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":21311,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:26",{"_index":21697,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":19884,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:51",{"_index":21698,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":21310,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":6591,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":6400,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":6412,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":6415,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":6416,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":6407,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":6414,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":6411,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":6405,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":6636,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:10",{"_index":6648,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:30",{"_index":6641,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:39",{"_index":6645,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":6595,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":6417,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":24260,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":24438,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":4927,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":24423,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":24071,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":6386,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2427,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"classes/FileMetadata.html":{},"interfaces/ICourseGroupProperties.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":23784,"title":{},"body":{"license.html":{}}}],["hex",{"_index":575,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15340,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3476,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":4922,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":5386,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":24220,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":24147,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":24709,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":4939,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5584,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":23943,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":24578,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":15457,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":23721,"title":{},"body":{"license.html":{}}}],["holders",{"_index":23686,"title":{},"body":{"license.html":{}}}],["holds",{"_index":24787,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":23932,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":24237,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homeworkid",{"_index":13107,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["homeworkid'})@index",{"_index":19960,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":13282,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":24797,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":470,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":23202,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":6780,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":24217,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1195,"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":11508,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":11518,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":24596,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1201,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":23616,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13434,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":23977,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["household",{"_index":23634,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2080,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5166,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1463,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1464,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1465,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5174,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":18422,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1368,"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":1370,"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":1295,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.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":12917,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":24795,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":24594,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":23351,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14266,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":24616,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14379,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":24587,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5350,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5351,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5337,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5339,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://mock.de",{"_index":20360,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/auth",{"_index":20349,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/jwks",{"_index":20353,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/logout",{"_index":20351,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/mock/auth/public/mocktoken",{"_index":20347,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mockhost:3030/api/v3/sso/oauth",{"_index":20348,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://www.gnu.org/licenses",{"_index":23925,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5353,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5354,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5352,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5345,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5343,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":5426,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5344,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5342,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5300,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5349,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":5427,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5341,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5335,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":5425,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5298,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5306,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5302,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5304,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5283,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":11517,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":11519,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":2961,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(201",{"_index":8750,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(204",{"_index":2981,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21489,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15384,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":3730,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5051,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":12207,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":8928,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":24335,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3998,"title":{},"body":{"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.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":17164,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14267,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14380,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":23933,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":24264,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":21646,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":24542,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":23957,"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":10688,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2444,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":23980,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":24113,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":24305,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":7572,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":9259,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":24114,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":24116,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.tld/auth",{"_index":20355,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/logout",{"_index":20358,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/token",{"_index":20356,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":20357,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://nestjs.com",{"_index":24112,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":20362,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":23942,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2392,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":18746,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/n21",{"_index":14952,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["https://url.com",{"_index":7570,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":7524,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":5794,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":7532,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5177,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":5428,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":7544,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18051,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":7540,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":24117,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":7534,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":963,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.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":1284,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":14611,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1291,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.conflict",{"_index":3929,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":11334,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":9282,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":8815,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":11647,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":3883,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1696,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationError.html":{}}}],["httpstatus.unprocessable_entity",{"_index":3736,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":5582,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":12401,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17068,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_public_uri",{"_index":12242,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraadapter",{"_index":17067,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":6390,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":12381,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":12382,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":12274,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":12278,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthuc",{"_index":12239,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":12264,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":12353,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":12250,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17127,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":12390,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":12397,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":12392,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":12400,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":12407,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":6783,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":12628,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["i.width",{"_index":15789,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":23211,"title":{},"body":{"dependencies.html":{}}}],["iaccountconfig",{"_index":12410,"title":{"interfaces/IAccountConfig.html":{}},"body":{"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["iat",{"_index":7264,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2199,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icalendarevent",{"_index":3980,"title":{"interfaces/ICalendarEvent.html":{}},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"interfaces/ICalendarEvent.html":{}}}],["iclassentityprops",{"_index":4335,"title":{"interfaces/IClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/IClassEntityProps.html":{}}}],["icleanoptions",{"_index":12418,"title":{"interfaces/ICleanOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["icollaborativestoragestrategy",{"_index":4616,"title":{"interfaces/ICollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["icollectionfilepath",{"_index":12501,"title":{"interfaces/ICollectionFilePath.html":{}},"body":{"interfaces/ICollectionFilePath.html":{}}}],["icolumnboardproperties",{"_index":4853,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgeconfig",{"_index":12683,"title":{"interfaces/ICommonCartridgeConfig.html":{}},"body":{"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IServerConfig.html":{}}}],["icommoncartridgeelement",{"_index":5226,"title":{"interfaces/ICommonCartridgeElement.html":{}},"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/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgefile",{"_index":5267,"title":{"interfaces/ICommonCartridgeFile.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFile.html":{}}}],["icommoncartridgefilebuilder",{"_index":5202,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgefilebuilderoptions",{"_index":5209,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5269,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5324,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5326,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5218,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5216,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5122,"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":5129,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":5398,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icomponentetherpadproperties",{"_index":12695,"title":{"interfaces/IComponentEtherpadProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentgeogebraproperties",{"_index":12705,"title":{"interfaces/IComponentGeogebraProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentinternalproperties",{"_index":12710,"title":{"interfaces/IComponentInternalProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentlernstoreproperties",{"_index":12707,"title":{"interfaces/IComponentLernstoreProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentnexboardproperties",{"_index":12709,"title":{"interfaces/IComponentNexboardProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentproperties",{"_index":5119,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{}}}],["icomponenttextproperties",{"_index":12704,"title":{"interfaces/IComponentTextProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icons",{"_index":24550,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":5858,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["icontentchange",{"_index":5860,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["icontentmetadata",{"_index":5833,"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icontextexternaltoolproperties",{"_index":6039,"title":{"interfaces/IContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["icopyfiledo",{"_index":11148,"title":{"interfaces/ICopyFileDO.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["icopyfiledomainobjectprops",{"_index":6423,"title":{"interfaces/ICopyFileDomainObjectProps.html":{}},"body":{"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDomainObjectProps.html":{}}}],["icopyfilesofparentparams",{"_index":11245,"title":{"interfaces/ICopyFilesOfParentParams.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["icopyfilesrequestinfo",{"_index":6533,"title":{"interfaces/ICopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/ICopyFilesRequestInfo.html":{}}}],["icoremoduleconfig",{"_index":12758,"title":{"interfaces/ICoreModuleConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["icoursegroupproperties",{"_index":7005,"title":{"interfaces/ICourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["icourseproperties",{"_index":6773,"title":{"interfaces/ICourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["icreatenews",{"_index":12762,"title":{"interfaces/ICreateNews.html":{}},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["icurrentuser",{"_index":270,"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/LegacySchoolController.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/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":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.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":{},"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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.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":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/IservProvisioningStrategy.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":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.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":{},"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":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.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/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":{},"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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/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":{},"classes/SchoolParams.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":{},"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":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.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":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.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":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.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":21568,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":11638,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":234,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":244,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":242,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":240,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14433,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":19266,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":19271,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":19269,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":20292,"title":{},"body":{"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":256,"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":{},"classes/SystemIdParams-1.html":{}}}],["id.params.ts:11",{"_index":258,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:7",{"_index":6059,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6062,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams-1.html":{}}}],["id.pipe.ts",{"_index":24287,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":1895,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":1900,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14331,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":5608,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":5644,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":2831,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":126,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17263,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardmodelproperties",{"_index":7822,"title":{"interfaces/IDashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["idashboardrepo",{"_index":7995,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2404,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2206,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14049,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":23807,"title":{},"body":{"license.html":{}}}],["identified",{"_index":12227,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2418,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["identifier",{"_index":1312,"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":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiername",{"_index":16326,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["identifierref",{"_index":5292,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":12845,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/JwtValidationAdapter.html":{}}}],["identifies",{"_index":19850,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":5609,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":24584,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":2836,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"classes/OauthConfigDto.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementmodule",{"_index":616,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{},"modules.html":{}}}],["identitymanagementoauthservice",{"_index":13487,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"injectables/SystemService.html":{}}}],["identitymanagementoauthservice:24",{"_index":14371,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14372,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14374,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":583,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:113",{"_index":14415,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:126",{"_index":14416,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:131",{"_index":14405,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:136",{"_index":14417,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:14",{"_index":14403,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:152",{"_index":14418,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:46",{"_index":14420,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:62",{"_index":14422,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:76",{"_index":14414,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:84",{"_index":14411,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:98",{"_index":14412,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14321,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14320,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14205,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14208,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":4894,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":4895,"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/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":630,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":24029,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":543,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":176,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13516,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmoauthservice",{"_index":15273,"title":{},"body":{"injectables/LocalStrategy.html":{},"injectables/SystemService.html":{}}}],["idmreferenceid",{"_index":378,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":586,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14518,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":12773,"title":{},"body":{"interfaces/ICurrentUser.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14198,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13437,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":13188,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":565,"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":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4066,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.map((id",{"_index":2709,"title":{},"body":{"entities/Board.html":{}}}],["ids.map(async",{"_index":2398,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.params.ts",{"_index":4116,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4120,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3164,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":121,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.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":17295,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":13956,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13440,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13479,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenservice",{"_index":13448,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["ieditormodel",{"_index":11408,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["iencryptionservice",{"_index":9825,"title":{"interfaces/IEncryptionService.html":{}},"body":{"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["ientity",{"_index":2411,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithschool",{"_index":6760,"title":{"interfaces/IEntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["ientitywithtimestamps",{"_index":12790,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":8895,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["ierrortype",{"_index":3917,"title":{"interfaces/IErrorType.html":{}},"body":{"classes/BusinessError.html":{},"interfaces/IErrorType.html":{}}}],["iexternaltoolproperties",{"_index":9234,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["iexternaltoolpseudonymentityprops",{"_index":9465,"title":{"interfaces/IExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["if/else",{"_index":24407,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifederalstateproperties",{"_index":6704,"title":{"interfaces/IFederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["ifiledo",{"_index":11149,"title":{"interfaces/IFileDO.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["ifiledomainobjectprops",{"_index":10342,"title":{"interfaces/IFileDomainObjectProps.html":{}},"body":{"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IFileDomainObjectProps.html":{}}}],["ifilerecordparams",{"_index":11249,"title":{"interfaces/IFileRecordParams.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["ifilerecordproperties",{"_index":10684,"title":{"interfaces/IFileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ifilerecordsecuritycheckproperties",{"_index":10676,"title":{"interfaces/IFileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ifilerequestinfo",{"_index":6531,"title":{"interfaces/IFileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.html":{}}}],["ifilesstorageclientconfig",{"_index":11257,"title":{"interfaces/IFilesStorageClientConfig.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IServerConfig.html":{}}}],["ifilestats",{"_index":10507,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ifilestorageconfig",{"_index":12796,"title":{"interfaces/IFileStorageConfig.html":{}},"body":{"interfaces/IFileStorageConfig.html":{}}}],["ifindoptions",{"_index":7150,"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":{},"interfaces/IPagination.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":5866,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":24683,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13481,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2340,"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/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2435,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14026,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":7679,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5pcontentproperties",{"_index":5931,"title":{"interfaces/IH5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["iidentitymanagementconfig",{"_index":12831,"title":{"interfaces/IIdentityManagementConfig.html":{}},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{},"injectables/LocalStrategy.html":{}}}],["iimportuserproperties",{"_index":12837,"title":{"interfaces/IImportUserProperties.html":{}},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{}}}],["iimportuserrolename",{"_index":12843,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":12882,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["iinstalledlibrary",{"_index":10513,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":11409,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["iinterceptorconfig",{"_index":12760,"title":{"interfaces/IInterceptorConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/IInterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["ijsonaccount",{"_index":12888,"title":{"interfaces/IJsonAccount.html":{}},"body":{"interfaces/IJsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["ijsonuser",{"_index":12892,"title":{"interfaces/IJsonUser.html":{}},"body":{"interfaces/IJsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":12894,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":12901,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilearnroom",{"_index":6761,"title":{"interfaces/ILearnroom.html":{}},"body":{"entities/Course.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["ilearnroomelement",{"_index":2682,"title":{"interfaces/ILearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["ilegacylogger",{"_index":12907,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilessonparent",{"_index":6769,"title":{"interfaces/ILessonParent.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["ilessonproperties",{"_index":12699,"title":{"interfaces/ILessonProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{}}}],["ilibrarymetadata",{"_index":10514,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":5863,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iloggerconfig",{"_index":12761,"title":{"interfaces/ILoggerConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/ILoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["iltitoolproperties",{"_index":7351,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["im",{"_index":4938,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":15768,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":9327,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":9322,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":9325,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":21314,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":9307,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":9359,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":17626,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":15754,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":15757,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":12229,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["images[0",{"_index":15791,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":15792,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":9358,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3283,"title":{},"body":{"classes/BoardDoBuilderImpl.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":15226,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":5796,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":5798,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":10289,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":10300,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imaterialproperties",{"_index":12926,"title":{"interfaces/IMaterialProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["imigrationoptions",{"_index":12434,"title":{"interfaces/IMigrationOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["immediately",{"_index":10166,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":9995,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":23300,"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":24570,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":7346,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["impersonates",{"_index":12772,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["impl",{"_index":3369,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3226,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:113",{"_index":3244,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:128",{"_index":3245,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:142",{"_index":3246,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:157",{"_index":3247,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:175",{"_index":3242,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:189",{"_index":3237,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:194",{"_index":3254,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:200",{"_index":3252,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3250,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:30",{"_index":3233,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:39",{"_index":3241,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:43",{"_index":3239,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:60",{"_index":3238,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:75",{"_index":3235,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:99",{"_index":3243,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":24804,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":14743,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2494,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/UserLoginMigrationUc.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":24146,"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":13996,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17475,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":24178,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1147,"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/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.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":{},"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":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.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":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.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/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/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/SchoolYearEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":24316,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":24700,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":24721,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":23829,"title":{},"body":{"license.html":{}}}],["implies",{"_index":5628,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"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":{},"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":{},"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/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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.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/OAuthMigrationError.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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/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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"interfaces/S3Config.html":{},"classes/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.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":{},"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":19683,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":19687,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":19686,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":13751,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":13608,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":11282,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":13658,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":19886,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":21852,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":22429,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":13561,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":24631,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":15842,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":19265,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":22473,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":13679,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":13726,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:12",{"_index":13732,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:5",{"_index":13730,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":18501,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":22434,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":14572,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":13750,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":353,"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":8080,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8100,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8088,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8081,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8098,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8091,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":12597,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":12594,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["importhash",{"_index":13420,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["importing",{"_index":23775,"title":{},"body":{"license.html":{}}}],["imports",{"_index":225,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionModule.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":{},"interfaces/ICollectionFilePath.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":14482,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":19618,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":19625,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":19801,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":12849,"title":{"entities/ImportUser.html":{}},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":13700,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":13696,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":13701,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":13694,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":13697,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":13695,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":13703,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":13698,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":13772,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":13702,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":13798,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13560,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":13794,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":13797,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":13643,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":13651,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":13674,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":13618,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":13621,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":13609,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":13623,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":13600,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":13617,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":13616,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":13622,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":13627,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":13688,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":13723,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":22450,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":13745,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["importuserrepo",{"_index":13749,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":13610,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":12848,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":19268,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":13771,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":13687,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":13691,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":13692,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":13582,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":23706,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":23832,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16139,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":23394,"title":{},"body":{"license.html":{}}}],["improves",{"_index":24368,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5356,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5309,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5308,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5307,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":21513,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":24240,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":23884,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":23887,"title":{},"body":{"license.html":{}}}],["inamematch",{"_index":12886,"title":{"interfaces/INameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["inc",{"_index":23350,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":23881,"title":{},"body":{"license.html":{}}}],["include",{"_index":2420,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":6409,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16235,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":10951,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":23585,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1124,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":12805,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":12808,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IServerConfig.html":{}}}],["incomplete",{"_index":12101,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":23397,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":23850,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":23636,"title":{},"body":{"license.html":{}}}],["increase",{"_index":10050,"title":{},"body":{"injectables/ExternalToolVersionService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":10013,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":10031,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["indefinitely",{"_index":5565,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":23702,"title":{},"body":{"license.html":{}}}],["independent",{"_index":23575,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"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/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.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":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.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/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":{},"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":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"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":{},"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":{},"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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"classes/UserAndAccountTestFactory.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":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.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":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":10657,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3616,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":7805,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":6751,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":21886,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":6997,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":7803,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":20516,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":7889,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":6746,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15037,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":10649,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3612,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":10652,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":23939,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":8053,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":12627,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["indicate",{"_index":23746,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":7307,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":23583,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":23428,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":23645,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1499,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inewsproperties",{"_index":7101,"title":{"interfaces/INewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["inewsscope",{"_index":12770,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":13678,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":22798,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15308,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":5658,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4389,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4396,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4401,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4400,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4398,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4395,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4397,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4403,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4399,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":13058,"title":{},"body":{"interfaces/IScopeInfo.html":{}}}],["info.mapper",{"_index":16033,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":19292,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":19294,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":19691,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":19695,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":19694,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":19693,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":19692,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4430,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2162,"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":22971,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4422,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":19300,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":22097,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4419,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4424,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":22096,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4423,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4421,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4418,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":19299,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4420,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4425,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":12757,"title":{},"body":{"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":22964,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":22973,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:12",{"_index":22975,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:19",{"_index":22977,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:74",{"_index":22979,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":22937,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":22939,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":23622,"title":{},"body":{"license.html":{}}}],["information",{"_index":1306,"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":4930,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":15674,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":6475,"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":1436,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14053,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":23046,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":3983,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":4728,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3513,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8056,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":11278,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/database/mongo",{"_index":11387,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":9382,"title":{},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.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":1776,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16221,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":12503,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":599,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/IServerConfig.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{}}}],["infra/mail",{"_index":19532,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":17756,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":9381,"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":11215,"title":{},"body":{"modules/FilesStorageModule.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":8898,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.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":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":11146,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":19533,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":10337,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.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":{},"classes/H5pFileDto.html":{},"interfaces/IFileStorageConfig.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":24250,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":19575,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":23744,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":23772,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":23439,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2422,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":24704,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16104,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":382,"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/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":{},"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":{},"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":{},"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/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":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.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/OAuthMigrationError.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.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":{},"injectables/RoleRepo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.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/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationError.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":3908,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":12319,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":12330,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":14630,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialized",{"_index":18055,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8191,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":23767,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":12775,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":12256,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":12292,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":639,"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":{},"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":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.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":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.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":1234,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('dashboard_repo",{"_index":8025,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["inject('icollaborativestoragestrategy",{"_index":4641,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('mail_service_options",{"_index":15660,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1019,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2247,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14058,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":9854,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":17686,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3157,"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":11397,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":21238,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":14551,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14115,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":12513,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["inject(redis_client",{"_index":19570,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":18835,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":18836,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":9328,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":24826,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":539,"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/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/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/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{}},"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/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/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":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IRepoLoader.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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{},"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":541,"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/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/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/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":10162,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":12644,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["injecting",{"_index":24819,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":14745,"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":24777,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1363,"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":1362,"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":13010,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":5390,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":12996,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerrole.resolvepermissions",{"_index":12997,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerroles",{"_index":12993,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerroles.foreach((innerrole",{"_index":12995,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["input",{"_index":2220,"title":{},"body":{"injectables/BBBService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IParentInfo.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.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":18984,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.dto.ts",{"_index":16709,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":16711,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":16712,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":16710,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.mapper",{"_index":17844,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":17868,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":17871,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":13975,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":18983,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":13961,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["inputdto",{"_index":17852,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14540,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3286,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":18440,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":5781,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":13288,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3580,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1558,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inputpath.charat(pos",{"_index":1555,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inputroles",{"_index":17524,"title":{},"body":{"injectables/PermissionService.html":{}}}],["insensitive",{"_index":13828,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8143,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":3915,"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":24655,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":24541,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":23487,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":23649,"title":{},"body":{"license.html":{}}}],["installed",{"_index":23666,"title":{},"body":{"license.html":{}}}],["installedlibrary",{"_index":10524,"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":10565,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":10567,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":10569,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["instance",{"_index":5284,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.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/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":604,"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":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.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":{},"entities/Task.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":5813,"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":6782,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2396,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"entities/CourseGroup.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserLoginMigrationService.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":24257,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":7354,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":23552,"title":{},"body":{"license.html":{}}}],["integration",{"_index":11418,"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":12673,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["intended",{"_index":4204,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5172,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":23545,"title":{},"body":{"license.html":{}}}],["interact",{"_index":23918,"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":23845,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":23454,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":24190,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":23457,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":8686,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":8688,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":6693,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptormodule",{"_index":6676,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"modules.html":{}}}],["interchange",{"_index":23594,"title":{},"body":{"license.html":{}}}],["interest",{"_index":23760,"title":{},"body":{"license.html":{}}}],["interface",{"_index":105,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileSecurityCheckEntityProps.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/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.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/RejectRequestBody.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/ToolVersion.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.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/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/File.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/Meta.html":{},"entities/News.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"interfaces/Options.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":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.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/SuccessfulRes.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.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":{},"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":3941,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4012,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/json",{"_index":14548,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1615,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14073,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":13274,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1402,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":17795,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/page",{"_index":17451,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["interface/preview",{"_index":10663,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18290,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1793,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interfaces",{"_index":107,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"injectables/ErrorLogger.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageClientAdapterService.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/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/LegacyLogger.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.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/RejectRequestBody.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/ToolVersion.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"injectables/UserUc.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":6534,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":14740,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfered",{"_index":23655,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1814,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":563,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"entities/CourseNews.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"classes/NewsListResponse.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":21848,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13445,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":1975,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":879,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internally",{"_index":18838,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2111,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":24201,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1226,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthSSOError.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":3623,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":6960,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":6834,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":4844,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":11353,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":19845,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('lessons",{"_index":12729,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":18785,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":17857,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":18880,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":18859,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":18868,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":18853,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":18873,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":13306,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":13310,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":16988,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":7944,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4502,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2266,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":16986,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":14877,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":12298,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":8903,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1257,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":12388,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":19631,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":12069,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":19637,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":15719,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":24202,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":23893,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":23486,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":23493,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":10163,"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":24295,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":23997,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":23936,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17035,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17050,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":13903,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":13011,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":285,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ICollectionFilePath.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":13914,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":5569,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalidate",{"_index":23572,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":13910,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":22826,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["inversion",{"_index":24144,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4268,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1044,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":24618,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":24654,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":24657,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipagination",{"_index":9501,"title":{"interfaces/IPagination.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{}}}],["iparentinfo",{"_index":10685,"title":{"interfaces/IParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ipath",{"_index":10515,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":11208,"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":{}}}],["irelatedresourceproperties",{"_index":12932,"title":{"interfaces/IRelatedResourceProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["irepoloader",{"_index":12951,"title":{"interfaces/IRepoLoader.html":{}},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["iretryoptions",{"_index":12431,"title":{"interfaces/IRetryOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["iroleproperties",{"_index":12987,"title":{"interfaces/IRoleProperties.html":{}},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["irrevocable",{"_index":23499,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":8641,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":2792,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":20036,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":2809,"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":5736,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":5740,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":3411,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(user",{"_index":3415,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":8676,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":5590,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.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/SchoolExternalToolPostParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":16527,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@ismongoid({each",{"_index":17506,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":5605,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":5548,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":6609,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":6619,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isauthenticated",{"_index":24812,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1567,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1566,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorizedstudent",{"_index":2516,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2527,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":9385,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":9397,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isblocked",{"_index":10719,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isboolean",{"_index":147,"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/MigrationBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SSOLoginQuery.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":7581,"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":7306,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":5552,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/MigrationBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":139,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2167,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":8923,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":8929,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4046,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["ischoolexternaltoolproperties",{"_index":13000,"title":{"interfaces/ISchoolExternalToolProperties.html":{}},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["ischoolproperties",{"_index":13008,"title":{"interfaces/ISchoolProperties.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ischoolyearproperties",{"_index":13050,"title":{"interfaces/ISchoolYearProperties.html":{}},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["isclientidunique",{"_index":9971,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":9976,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":4803,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":4827,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":4843,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":4820,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":8591,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3035,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3079,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":4976,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscopeinfo",{"_index":13056,"title":{"interfaces/IScopeInfo.html":{}},"body":{"interfaces/IScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["iscopyfrom",{"_index":10647,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["iscoursefinished",{"_index":13326,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":18638,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":9386,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":9399,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":807,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.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":7286,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":9387,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":9401,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":9388,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":9403,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":10415,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":3820,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskScope.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["isemail",{"_index":251,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17489,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":11588,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":6268,"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":17714,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":852,"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/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.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/PageContentQueryParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.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":853,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":838,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4516,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":7227,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.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":7236,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":8702,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":7596,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":7584,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":7595,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":7590,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":7597,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":7593,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":19878,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":6479,"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":11305,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":11306,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":11455,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":19888,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":8707,"title":{},"body":{"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":18424,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4263,"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":15483,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":15476,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":15484,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":15478,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":7301,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":7294,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(pagetypes",{"_index":17452,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":6491,"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":6493,"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(schoolyearquerytype",{"_index":4386,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":19610,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":19605,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":19893,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1796,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":16621,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":16607,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":20370,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":16620,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":16612,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":16533,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":16531,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2577,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2574,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6023,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6076,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6020,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":6378,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":23115,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":13952,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{}}}],["iserverconfig",{"_index":601,"title":{"interfaces/IServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/IServerConfig.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["iservlogouturl",{"_index":16460,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.searchparams.append('id_token_hint",{"_index":16462,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.searchparams.append('post_logout_redirect_uri",{"_index":16463,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.tostring",{"_index":16465,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservmapper",{"_index":13918,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":13973,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":13971,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":13935,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":17827,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isession",{"_index":16737,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["isexpired",{"_index":12214,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternaltoolelement(reference",{"_index":9186,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":7273,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{}}}],["isfeatherserror",{"_index":8924,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":8931,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":20044,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":20049,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":20057,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":10386,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":5704,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":5719,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":3821,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":13328,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":13320,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":13819,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":13837,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":9456,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":9389,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":9405,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":4569,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":4577,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["isgraded",{"_index":13152,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":13155,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["isgradedforuser(user",{"_index":13153,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":7708,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":22983,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["isharetokenproperties",{"_index":13078,"title":{"interfaces/IShareTokenProperties.html":{}},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{}}}],["ishidden",{"_index":7384,"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":12357,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1235,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17036,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15345,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15350,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":5591,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":5560,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":19600,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":848,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":842,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["islatest",{"_index":5448,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":5452,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3036,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3076,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":12748,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["islinkelement(reference",{"_index":15230,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2181,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":7373,"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":15482,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":15474,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1189,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":9016,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":9027,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismandatory",{"_index":19307,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["ismarked",{"_index":10852,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":10477,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3419,"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/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":13135,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["ismongoid",{"_index":808,"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/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/PageContentQueryParams.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/SchoolParams.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/SystemIdParams-1.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":6061,"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-1.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":3876,"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/SchoolParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6058,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":7291,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":15916,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":9151,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4117,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":9390,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":9407,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":5502,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":5495,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":8925,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":8934,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":16964,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":16949,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":16954,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":2735,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":809,"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":19945,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":19946,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3493,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.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":5586,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3490,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":15918,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3487,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15261,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":15932,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15257,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":9017,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":9029,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13498,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":16389,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16411,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":11448,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isolate",{"_index":24695,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":24455,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":24390,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":6974,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":249,"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/DownloadFileParams.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/MigrationBody.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/SSOLoginQuery.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":5612,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":5603,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isboolean",{"_index":386,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isboolean()@apiproperty",{"_index":18929,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":235,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":11315,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":390,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":21865,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4512,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":19876,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":11300,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":19887,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4384,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4514,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1788,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":7232,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":396,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":11310,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isstring",{"_index":388,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty",{"_index":18931,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":19684,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":243,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":11313,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1785,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":11286,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":21867,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text)@apipropertyoptional({description",{"_index":21863,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoutdated",{"_index":19367,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":22648,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":21990,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isowner",{"_index":22643,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":10727,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isplanned",{"_index":13330,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":19588,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":19586,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispossible",{"_index":19308,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["ispresenter",{"_index":2180,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":10730,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ispropertyprivacyprotected",{"_index":8821,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":8833,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":22703,"title":{},"body":{"injectables/UserService.html":{}}}],["ispublished",{"_index":13329,"title":{},"body":{"interfaces/ITaskParent.html":{},"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":9391,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":9409,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":9392,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":9411,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":5792,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":5799,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":10265,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":20045,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":20050,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":20056,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":18444,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":5705,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":5720,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":7242,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":24361,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":19427,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":19429,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1554,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isslash(inputpath",{"_index":1552,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isstring",{"_index":248,"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/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/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/SSOLoginQuery.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/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2572,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":257,"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":{}}}],["isstring()@apiproperty({nullable",{"_index":17932,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":18300,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":20669,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":400,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":7579,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1113,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15202,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":5567,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6078,"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":20671,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7139,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":7297,"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":7284,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":19948,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstudent",{"_index":7163,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":8772,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":19972,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":8784,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":20108,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":8773,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":8788,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":8781,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":20054,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":20055,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":13133,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":13138,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["issubmittedforuser(user",{"_index":13134,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":3822,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1486,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":24086,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3081,"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":3037,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3072,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":13378,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7164,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":21109,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":7372,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":21652,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":21659,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istorageproviderproperties",{"_index":13089,"title":{"interfaces/IStorageProviderProperties.html":{}},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["isubmissionproperties",{"_index":13102,"title":{"interfaces/ISubmissionProperties.html":{}},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{}}}],["isuniqueemail",{"_index":920,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":924,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":921,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":926,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":922,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":928,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4391,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":8704,"title":{},"body":{"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GetMetaTagDataBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isurl()@apiproperty",{"_index":15206,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isurl()@apiproperty({required",{"_index":11469,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["isuserinfinisheduser",{"_index":13323,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17391,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isuserreferenced",{"_index":1703,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1714,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":13149,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["isusersubstitutionteacher(user",{"_index":6830,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":13352,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3311,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":5471,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":5488,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":10728,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isvisible",{"_index":15106,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14039,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14046,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["isystemproperties",{"_index":13156,"title":{"interfaces/ISystemProperties.html":{}},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["it's",{"_index":24424,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":24389,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":24428,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":24430,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":24492,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itargetgroupproperties",{"_index":12933,"title":{"interfaces/ITargetGroupProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["itask",{"_index":13262,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{}}}],["itaskcreate",{"_index":13266,"title":{"interfaces/ITaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["itaskparent",{"_index":6771,"title":{"interfaces/ITaskParent.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["itaskproperties",{"_index":13267,"title":{"interfaces/ITaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{}}}],["itaskstatus",{"_index":3815,"title":{"interfaces/ITaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["itaskupdate",{"_index":13265,"title":{"interfaces/ITaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["iteamproperties",{"_index":13379,"title":{"interfaces/ITeamProperties.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{}}}],["iteamuserproperties",{"_index":13384,"title":{"interfaces/ITeamUserProperties.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["item",{"_index":3222,"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":3749,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":3763,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":7305,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":7309,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":4996,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":2885,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":20033,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:10",{"_index":20040,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:14",{"_index":20041,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:18",{"_index":20043,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:6",{"_index":20038,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":20059,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":20060,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":9445,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":20249,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":20069,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":20073,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":20074,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":20071,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":20075,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":20072,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":20070,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":8775,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":20096,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:11",{"_index":20097,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:14",{"_index":20100,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:24",{"_index":20099,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:44",{"_index":20102,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":12379,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":2767,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":20111,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":20113,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":20117,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":20119,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":20115,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":20131,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":20132,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":8793,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":7304,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":19988,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":3770,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":20243,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":20246,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":20247,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":20245,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":21869,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":9442,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":12232,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfileproperties",{"_index":12216,"title":{"interfaces/ITemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["itemporaryfilestorage",{"_index":21229,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":827,"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":{},"interfaces/IRoleProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["itemsperpage",{"_index":11932,"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":8530,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["itoolfeatures",{"_index":9054,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/ToolConfiguration.html":{}}}],["itoollaunchparams",{"_index":2606,"title":{"interfaces/IToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["itoollaunchstrategy",{"_index":13405,"title":{"interfaces/IToolLaunchStrategy.html":{}},"body":{"interfaces/IToolLaunchStrategy.html":{},"injectables/ToolLaunchService.html":{}}}],["itself",{"_index":1819,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.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":12769,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":11987,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserconfig",{"_index":13061,"title":{"interfaces/IUserConfig.html":{}},"body":{"interfaces/IServerConfig.html":{},"interfaces/IUserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["iuserloginmigration",{"_index":22235,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["iuserproperties",{"_index":13411,"title":{"interfaces/IUserProperties.html":{}},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.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":7568,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":22749,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ivideoconferencesettings",{"_index":13432,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2236,"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":21292,"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":24095,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":24503,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":24480,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":24488,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":24500,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":23319,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8169,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14489,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":22046,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":13654,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2138,"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":2230,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":22802,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":22999,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2150,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2116,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2121,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2124,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2125,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2122,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2123,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2120,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2155,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":22996,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":22991,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":22994,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":22993,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":22992,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":22997,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:11",{"_index":22998,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:18",{"_index":23000,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":23002,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":23009,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":23007,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":22805,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":10913,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":10934,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3642,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":23062,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":23215,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":9367,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":6777,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.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":1503,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":14569,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":12587,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.replace",{"_index":12646,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":12650,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify",{"_index":12555,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8068,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":8850,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2661,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1575,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1572,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":12613,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify(where",{"_index":19494,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsondocuments",{"_index":3903,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["jsondocuments.length",{"_index":8141,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":5885,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["jsonwebtoken",{"_index":1443,"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":1623,"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":16558,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":12396,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":16557,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":16560,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":16561,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":16551,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1478,"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/OauthUc.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":13955,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1629,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":7259,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":16454,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":12291,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":13984,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1444,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14028,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1481,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1483,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1485,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1489,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1487,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1492,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14003,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14025,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14022,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14009,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1549,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1626,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1431,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1494,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1432,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":13990,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1612,"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":7341,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":7348,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":7343,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":7344,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":7347,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":7342,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":7345,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1587,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1423,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":7255,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":7313,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":7317,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1602,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1424,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1706,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":4921,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14126,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14297,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14273,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14129,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14131,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14289,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14274,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14294,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14308,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14319,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14313,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14276,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14314,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14311,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14315,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14243,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14239,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14133,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14450,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14425,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14528,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":14563,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14435,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14451,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14461,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14432,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14466,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14185,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14103,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14370,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14101,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14117,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14118,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":24562,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":12596,"title":{},"body":{"interfaces/ICollectionFilePath.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":8716,"title":{},"body":{"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":24044,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":18958,"title":{},"body":{"interfaces/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":23482,"title":{},"body":{"license.html":{}}}],["key",{"_index":1984,"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":{},"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":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.getpublickey",{"_index":16563,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.substring(path.length",{"_index":18894,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":568,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14080,"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":13492,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13494,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":24638,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14079,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14065,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13485,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules.html":{}}}],["keycloakadministrationservice",{"_index":14077,"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":14140,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14335,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14083,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14167,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14086,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":12899,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14147,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["keycloakconfigurationservice",{"_index":14152,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":12425,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakconsole",{"_index":12438,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{}}}],["keycloakconsole.retryflags",{"_index":12455,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13493,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13495,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14142,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14156,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14494,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14154,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13486,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["keycloakseedservice",{"_index":14153,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":12904,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14438,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14442,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14446,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14458,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":7246,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":7254,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":7251,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":7245,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":567,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1653,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":23930,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1038,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":23450,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":23358,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":24150,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":23380,"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":24191,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":23797,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":23804,"title":{},"body":{"license.html":{}}}],["known",{"_index":12670,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":12398,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14123,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":4914,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19035,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":6785,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["l.course.isfinished()).map((l",{"_index":20968,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":20969,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15023,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":23327,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18348,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18350,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1108,"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/IH5PContentProperties.html":{},"interfaces/IUserProperties.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":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":12643,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["languagetype",{"_index":4260,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/IUserProperties.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":11457,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":11446,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4261,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":24404,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":23578,"title":{},"body":{"license.html":{}}}],["last",{"_index":7234,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14090,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":13414,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":19386,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":19385,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":19368,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":13214,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastname",{"_index":652,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonUser.html":{},"interfaces/INameMatch.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.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":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13854,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":12635,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["lastsuccessfulfullsync",{"_index":13212,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastsuccessfulpartialsync",{"_index":13213,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastsyncattempt",{"_index":13211,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.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":3737,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":965,"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":16570,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14378,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3455,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15195,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15198,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["laufzeit",{"_index":18937,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{}}}],["launch",{"_index":2651,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":21388,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":21563,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":21574,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":21591,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":21597,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":21602,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":21599,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":21605,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":21627,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":21632,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":21633,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":21649,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:22",{"_index":21654,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:38",{"_index":21656,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:51",{"_index":21658,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:73",{"_index":21662,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:86",{"_index":21660,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2650,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2589,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":21680,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:11",{"_index":21682,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:18",{"_index":21684,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":21631,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":21387,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":15872,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17474,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":21828,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":15503,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":21590,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":1893,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2587,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":15446,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":21648,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":23956,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":21626,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1651,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":17787,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":21582,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":21389,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":21679,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":7548,"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":5288,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":21675,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":21600,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":21573,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17479,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":21670,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2613,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2665,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2664,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":23441,"title":{},"body":{"license.html":{}}}],["laws",{"_index":23420,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":23770,"title":{},"body":{"license.html":{}}}],["lax",{"_index":17168,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":21699,"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":24303,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":23938,"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":17520,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13754,"title":{},"body":{"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/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15364,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":14610,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":8810,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":13022,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":20308,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":14571,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":14585,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":13159,"title":{"classes/LdapConfig.html":{}},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":13191,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.federalstate",{"_index":13192,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":13200,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":13196,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":13198,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":13194,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.provider",{"_index":13208,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.provideroptions",{"_index":13210,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.rootpath",{"_index":13203,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.searchuser",{"_index":13205,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.searchuserpassword",{"_index":13207,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.url",{"_index":13201,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconnectionerror",{"_index":14605,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4271,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["ldapencryptionservice",{"_index":8801,"title":{},"body":{"modules/EncryptionModule.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{}}}],["ldapid",{"_index":12872,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["ldapjs",{"_index":14619,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":23221,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":20354,"title":{},"body":{"classes/SystemFactory.html":{}}}],["ldapschool",{"_index":13966,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":13034,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1425,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":14638,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1426,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":13023,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":13959,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":13968,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":14574,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4208,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":20833,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3306,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":23230,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":24033,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":7353,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":11337,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":5387,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3605,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DashboardModelMapper.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":14707,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":14692,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["learnroommetadata",{"_index":6765,"title":{},"body":{"entities/Course.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":14696,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["learnroomtypes",{"_index":6766,"title":{},"body":{"entities/Course.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/ICourseProperties.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":6844,"title":{},"body":{"entities/Course.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/ICourseProperties.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":6364,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":21320,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":24218,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":950,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LoggerModule.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.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":24773,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":24099,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":24076,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":23985,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2313,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.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":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.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":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschoolapimodule",{"_index":14757,"title":{"modules/LegacySchoolApiModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["legacyschoolcontroller",{"_index":14766,"title":{"controllers/LegacySchoolController.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{}}}],["legacyschooldo",{"_index":1964,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["legacyschooldofactory",{"_index":14841,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":14834,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":14842,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":5434,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthApiModule.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":{},"modules.html":{}}}],["legacyschoolrepo",{"_index":1427,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1766,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":1959,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["legacyschooluc",{"_index":14762,"title":{"injectables/LegacySchoolUc.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{}}}],["legal",{"_index":23388,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":18760,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":205,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":3548,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{}}}],["lernstore",{"_index":12702,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":13032,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":2696,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/ContentMetadata.html":{},"classes/DtoCreator.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.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":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":24761,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5154,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15143,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":18647,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":8661,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":20756,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":18606,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":8659,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2685,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":8664,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":8666,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":8662,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":8658,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":8657,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":14982,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5152,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":18604,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":18605,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":18603,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3471,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3475,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3485,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3486,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3482,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3491,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3488,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3480,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3489,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3483,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3492,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3484,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":20863,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.updatedat",{"_index":8660,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":19685,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":14975,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["lessonboardelement",{"_index":2695,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":14981,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":6640,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":6642,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3005,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":14698,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3103,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":3711,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2684,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15043,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15045,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":13281,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5121,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":20798,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":20763,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":20761,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":8623,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":14697,"title":{"modules/LessonModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["lessonname",{"_index":13280,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonreadpermission",{"_index":15084,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15094,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":1805,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["lessonrule",{"_index":1767,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5146,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":20967,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5148,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":20990,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15142,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15067,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5106,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/ShareTokenService.html":{}}}],["lessonuc",{"_index":14979,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlparams",{"_index":14988,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15085,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15096,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":24556,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":23405,"title":{},"body":{"license.html":{}}}],["level",{"_index":3610,"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":3656,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15327,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["liability",{"_index":23689,"title":{},"body":{"license.html":{}}}],["liable",{"_index":23438,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15196,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15197,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libraries",{"_index":1148,"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":12104,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1143,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["library",{"_index":10530,"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":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.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":{}}}],["libraryfileurlparams",{"_index":12059,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymetadata.addto",{"_index":10581,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":10583,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":10585,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":10586,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":10588,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":10589,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":10590,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":10591,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":10593,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":10594,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":10595,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":10572,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":10573,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":10597,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":10574,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":10576,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":10599,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":10600,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":10602,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":10605,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":10578,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":10606,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":10579,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":10603,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":10517,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1152,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1145,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":12178,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":12179,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["libs",{"_index":15191,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15192,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15193,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":5844,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":23424,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":23425,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":23427,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":5845,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["licenses",{"_index":23364,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":5846,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["licensing",{"_index":23748,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":23696,"title":{},"body":{"license.html":{}}}],["likes",{"_index":24566,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":23740,"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/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":{},"interfaces/IPagination.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":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":23878,"title":{},"body":{"license.html":{}}}],["limited",{"_index":23867,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":23688,"title":{},"body":{"license.html":{}}}],["line",{"_index":998,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":24130,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2232,"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":{},"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":5773,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":23491,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18205,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":2867,"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":5789,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18256,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":5800,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":5787,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":5785,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementcontent",{"_index":15231,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":8706,"title":{"classes/LinkElementContentBody.html":{}},"body":{"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":{}}}],["linkelementcontentbody)@apiresponse({status",{"_index":8741,"title":{},"body":{"controllers/ElementController.html":{}}}],["linkelementnode",{"_index":3210,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15239,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15229,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4055,"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":5709,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":5696,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15248,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":7547,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["linter",{"_index":23972,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":24137,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.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":18813,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":20290,"title":{},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":814,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4123,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4121,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":818,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":5988,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":9805,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":12753,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["listconsentsessions",{"_index":16849,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":16936,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":16869,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17053,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17071,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listenercount",{"_index":2168,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1352,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":6523,"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":21222,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":11063,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":11071,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":11248,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":11266,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":11264,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":21257,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":16778,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":16788,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17055,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15253,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":18794,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":18815,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":18829,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":20012,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":10939,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2715,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":120,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.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/ICalendarEvent.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.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":{},"injectables/RoomBoardDTOFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/SystemFactory.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":{}}}],["litigation",{"_index":23768,"title":{},"body":{"license.html":{}}}],["load",{"_index":1821,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":23949,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":24246,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1582,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1594,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14538,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":12530,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":12536,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":12981,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18295,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":12544,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loaded",{"_index":4119,"title":{},"body":{"classes/CardIdsParams.html":{},"entities/Course.html":{},"injectables/ExternalToolUc.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":9952,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":9953,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":5476,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":5516,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":19253,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":9850,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":9891,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":10222,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":6357,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":9841,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":9997,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":9993,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1743,"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":{}}}],["loading",{"_index":21700,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":21702,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":4606,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":21653,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":21661,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14539,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1512,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.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":15266,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":6391,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":12383,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":12384,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":12352,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":12376,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":12371,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":12365,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":12369,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":12370,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":12377,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":12372,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":12374,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":12355,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":12354,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":12363,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1199,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":22614,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1191,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":24012,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":24651,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":24049,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":11237,"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":1428,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":24314,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":24228,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":7456,"title":{},"body":{"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":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":12356,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":12358,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":9697,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":9791,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":9740,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":12359,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":10424,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":646,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ICollectionFilePath.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":8384,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.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":12920,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.builder.ts",{"_index":8445,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["log.builder.ts:4",{"_index":8447,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["log.do",{"_index":8318,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":8261,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":8265,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":8266,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":8268,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":8270,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":8272,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":8274,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":8276,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":8316,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":8289,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:21",{"_index":8292,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:24",{"_index":8294,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:27",{"_index":8293,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:30",{"_index":8290,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:33",{"_index":8291,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":8345,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":8310,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:19",{"_index":8314,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:32",{"_index":8312,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:36",{"_index":8313,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":8311,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":8333,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":8343,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":8341,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":8339,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":8337,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":8335,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.service.ts",{"_index":8356,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:10",{"_index":8360,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:13",{"_index":8362,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":8364,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":23974,"title":{},"body":{"todo.html":{}}}],["loggable",{"_index":1338,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.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/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/OauthAdapterService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":22244,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":22246,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":22245,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15354,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1334,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:10",{"_index":1354,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:13",{"_index":1355,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":9287,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:6",{"_index":9288,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":11505,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16172,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/oauth",{"_index":12267,"title":{},"body":{"injectables/HydraOauthUc.html":{},"controllers/OauthSSOController.html":{}}}],["loggable/preview",{"_index":17600,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":12910,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":21512,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2312,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"modules/CoreModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.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":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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":{},"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":{},"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":17772,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":3963,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":17786,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":24442,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":14741,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":12909,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":12919,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":12921,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":12916,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":12923,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":12913,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":3966,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15325,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":14719,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":14723,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":14729,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":14734,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":14726,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":14728,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":14727,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":14731,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":14725,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":14733,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":8694,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18291,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":19571,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":19579,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":8867,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":8878,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":8874,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":8876,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":8880,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":8872,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":19553,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":8835,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":8836,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggermodule",{"_index":214,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/DeletionModule.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/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["logging",{"_index":6686,"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":18368,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":8684,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":8687,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18356,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":8691,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18355,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":8884,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":8883,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":8886,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":11511,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":13140,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"injectables/OAuthService.html":{},"entities/Submission.html":{},"injectables/UserMigrationService.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":128,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/OAuthMigrationError.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1544,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.query.ts",{"_index":18928,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.query.ts:13",{"_index":18930,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.query.ts:8",{"_index":18932,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.response",{"_index":16717,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":16714,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":16715,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":1637,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["login_challenge",{"_index":5595,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17264,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":5570,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":5596,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":5615,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1383,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1617,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":15433,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15358,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15386,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15361,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15359,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15392,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15368,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":11285,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13857,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15360,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15372,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1507,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15401,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17015,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17016,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15365,"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":16996,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":16985,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":16716,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15379,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15388,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15395,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":5618,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1381,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginurl",{"_index":22484,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.searchparams.append('migration",{"_index":22560,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.searchparams.append('postloginredirect",{"_index":22559,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.tostring",{"_index":22561,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginuseruc",{"_index":24279,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1339,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":8841,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1340,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15349,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logmigrationinformation",{"_index":22384,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["logmigrationinformation(userid",{"_index":22393,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["logo",{"_index":7567,"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":9984,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":9295,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":9306,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":9302,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":9304,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":9316,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":9311,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":9309,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":9313,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":9268,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":9271,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":9270,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":7365,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":9221,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":9355,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":5992,"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/IFederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":12776,"title":{},"body":{"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserMigrationService.html":{}}}],["logoutendpoint",{"_index":12399,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17001,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17003,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":16898,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17005,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2021,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ISystemProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1028,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":5580,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["lokalisierung",{"_index":18962,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["long",{"_index":5562,"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":24554,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":13994,"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":15262,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":24169,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":12813,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":633,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":559,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":585,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":597,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":588,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":19619,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":19635,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":19803,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":19751,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":19760,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":19752,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":19762,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":12293,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":23885,"title":{},"body":{"license.html":{}}}],["losses",{"_index":23888,"title":{},"body":{"license.html":{}}}],["lot",{"_index":24505,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":24223,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":24148,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":12873,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":8505,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3659,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5265,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":9575,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":9615,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":9620,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":9625,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":9622,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":9624,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":9623,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":9621,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":9614,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":15445,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":7519,"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":9672,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":9156,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":9223,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":7541,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":7562,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":9751,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":9676,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":9674,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":21625,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":7366,"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":7367,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":7516,"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":7546,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":7360,"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":7369,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":15571,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":7545,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":12325,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":15508,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":15513,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":15512,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":15511,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":15502,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":15515,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":15519,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":7352,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":15572,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":15573,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":15538,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":7364,"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":15595,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["ltitooldo",{"_index":7431,"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":15563,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":15569,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":15574,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{},"modules.html":{}}}],["ltitoolpromise",{"_index":16312,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":4673,"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":7363,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":15578,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13395,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":21258,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":5883,"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":11988,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":24643,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":10540,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1109,"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":10541,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":10532,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":16962,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1371,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/ISystemProperties.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfig.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":15659,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":15653,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail_service_options",{"_index":15654,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1358,"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":{}}}],["mailcontent",{"_index":1365,"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":{}}}],["mailmodule",{"_index":15648,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["mailmodule.forroot",{"_index":19538,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":15650,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailservice",{"_index":15652,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":15656,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":23331,"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":10296,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":5847,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["mainlibraryubername",{"_index":11453,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":23613,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":24121,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":15847,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":23479,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1110,"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":1728,"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":1132,"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":21862,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15029,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":10643,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["managed",{"_index":15391,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15370,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":600,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LocalStrategy.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SystemService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config.ts",{"_index":12833,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{}}}],["management.console",{"_index":15668,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3502,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8044,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3512,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8051,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8048,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3507,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8055,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":15671,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8077,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8090,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8087,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8084,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8096,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8093,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":24621,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":15680,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8111,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8112,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":24624,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8113,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:100",{"_index":13541,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8138,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:15",{"_index":8134,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:17",{"_index":13517,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:170",{"_index":14408,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:186",{"_index":14410,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8135,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:26",{"_index":13543,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8131,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:35",{"_index":13545,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8123,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:43",{"_index":13529,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:44",{"_index":8132,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:51",{"_index":13522,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8125,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:58",{"_index":8127,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:59",{"_index":13526,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8129,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8136,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:67",{"_index":13532,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:74",{"_index":13533,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8121,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:81",{"_index":13520,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:89",{"_index":13536,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:9",{"_index":14402,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.uc",{"_index":3518,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3528,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["management.uc.ts:13",{"_index":3535,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:16",{"_index":3536,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:39",{"_index":3540,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:49",{"_index":3538,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:60",{"_index":3542,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:71",{"_index":3547,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:75",{"_index":3551,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:79",{"_index":3544,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8078,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/identity",{"_index":12832,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{}}}],["management/idm",{"_index":14481,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":12420,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"classes/OidcIdentityProviderMapper.html":{}}}],["management/keycloak/keycloak.module",{"_index":19489,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14536,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14365,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["managementmodule",{"_index":15662,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["managementservermodule",{"_index":15675,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules.html":{}}}],["managementservertestmodule",{"_index":15682,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules.html":{}}}],["manager",{"_index":1880,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":18756,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:23",{"_index":18761,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:57",{"_index":18765,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:64",{"_index":18763,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":12675,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":22250,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":22252,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":22251,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":22173,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":22255,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":22256,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":22156,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":22203,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5229,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":23785,"title":{},"body":{"license.html":{}}}],["manual",{"_index":11303,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":24332,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":8592,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15201,"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":2677,"title":{},"body":{"entities/Board.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2674,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":7820,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["manytomany('material",{"_index":12716,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["manytomany('user",{"_index":6788,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":6728,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":18476,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5094,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5092,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":7006,"title":{},"body":{"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":12714,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["manytoone('dashboardmodelentity",{"_index":7821,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":13284,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":13106,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7137,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7112,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7000,"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":9198,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2647,"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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolLaunchService.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((element",{"_index":6665,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":7869,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":20406,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19031,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":11891,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":18893,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":13865,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":18891,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((relation",{"_index":19042,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":22022,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":22448,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5186,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":12569,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["map.set(key",{"_index":6632,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":6634,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map[node.id",{"_index":3389,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3680,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3681,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":414,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":417,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":9563,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":9573,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":9759,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":9764,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":9564,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":9576,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":18558,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":21089,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":21090,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":11872,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":11875,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":18559,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":8593,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":8613,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17017,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17022,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17018,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17024,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5103,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5118,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6162,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6164,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6202,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6205,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontexttypetodotype",{"_index":6094,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetodotype(type",{"_index":6108,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype",{"_index":6095,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype(type",{"_index":6110,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":11082,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":11088,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":11083,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":11090,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5104,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5123,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3148,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3155,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17013,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17014,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16018,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16022,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":9647,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":9657,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":7314,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":7319,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":9565,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":9578,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":9566,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":9581,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":9567,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":9584,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":9568,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":9586,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":9760,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":9767,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":7896,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":7911,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":7897,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":7914,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":9480,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":9497,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":11667,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomaintoadapter",{"_index":4650,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":4651,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":24252,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":9918,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":9919,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2305,"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":19720,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2333,"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":9905,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":9906,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdtotoresponse",{"_index":15833,"title":{},"body":{"injectables/MigrationMapper.html":{},"injectables/PageContentMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["mapdtotoresponse(dto",{"_index":15834,"title":{},"body":{"injectables/MigrationMapper.html":{},"injectables/PageContentMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["mapelementtoentity",{"_index":7898,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":7916,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2306,"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":2336,"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":9481,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":9499,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":11662,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":11670,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapentitytodto",{"_index":21049,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":21050,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":11084,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":11092,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":11663,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":11672,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":11664,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":11674,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":9648,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":9660,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":11085,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":11094,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":11086,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":11096,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":11166,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":11170,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":24253,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":20438,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":20441,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":20439,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":20442,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":18484,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":18486,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":20376,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":18485,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":18489,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":20440,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":20443,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":20375,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":20379,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":20397,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":20400,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":7860,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":7862,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":7899,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":7918,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":11873,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":11877,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":11665,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":11676,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":11666,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":11679,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":12203,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":12204,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":13680,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":13681,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":13727,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":13729,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["maplearnroom",{"_index":7861,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":7864,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":18560,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":6637,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":6639,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":8594,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":8615,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17019,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17025,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":9569,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":9590,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":9761,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":9769,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":9570,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":9592,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":13728,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":13731,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16019,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16024,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":9571,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":9594,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":9572,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":9597,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":9762,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":9771,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17020,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17027,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapped",{"_index":4544,"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/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SystemController.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":21538,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":18608,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":9710,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":9715,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":11804,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":7965,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":7969,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":20416,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":18602,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":21614,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":18585,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":18594,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":18592,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":18600,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":18598,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":18596,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":21450,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":21616,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mapper",{"_index":631,"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":{},"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/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/PreviewService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/SubmissionController.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":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":5714,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":5706,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2505,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2510,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2508,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":8759,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":3782,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14292,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":24251,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":930,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4000,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":4638,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":6873,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":7628,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":8344,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14160,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":13601,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15380,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/migration.mapper",{"_index":14770,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{}}}],["mapper/news.mapper",{"_index":15968,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":16769,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{}}}],["mapper/provisioning",{"_index":17843,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":17904,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":18538,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":14708,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":20294,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":4757,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":16423,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":21416,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":13604,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/OauthSSOController.html":{}}}],["mapper/user.mapper",{"_index":22687,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":22928,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":22814,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14295,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":5693,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":24226,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mappseudonymtouserdata",{"_index":10183,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":10206,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17021,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17028,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":7900,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":7920,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":7901,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":7922,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":9649,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":9663,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":9650,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":9667,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6163,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6167,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":9651,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":9670,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":9652,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":9673,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":9653,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":9677,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":9654,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":9680,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":15505,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":15506,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":8893,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":8894,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":4653,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":18998,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19002,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":10762,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":10765,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":19147,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":19148,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":22259,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":22261,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":415,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":419,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsessiontodto",{"_index":16735,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["mapsessiontodto(session",{"_index":16736,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["mapsortingquerytodomain",{"_index":9655,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":9684,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":11087,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":11098,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":5694,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":5700,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":20077,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":20079,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":18561,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":6638,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":6643,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":20692,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":20694,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":8595,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":8617,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5105,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5127,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":20693,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":20696,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":11167,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":11172,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":15802,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":15803,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":23100,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":23103,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":2738,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":11791,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":11794,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":11792,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":11797,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":21435,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":21439,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":21436,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":21442,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":19162,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":19165,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4433,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["maptodo(entity",{"_index":4437,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["maptodomain",{"_index":18503,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":22436,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":18504,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4434,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4439,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":416,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":422,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":3979,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":8596,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":8619,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4435,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4441,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4436,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["maptoentity(domainobject",{"_index":4443,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":18999,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19004,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19000,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19006,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":13921,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":13923,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19008,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":9763,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":9773,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":13922,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19009,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":13926,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":10763,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":10768,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":10764,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":10770,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":11793,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":11800,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":23101,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":23104,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":17869,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":17870,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":23102,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":23105,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":21356,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":21359,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17274,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17277,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15427,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":15429,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16020,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16026,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7058,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7059,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":7315,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":7321,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":15428,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":15431,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":21592,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":21596,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":11874,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":11882,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":783,"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/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/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":785,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":3728,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4148,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5047,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":6647,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":7866,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2509,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":13684,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16028,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":17920,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":18506,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":19293,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":19743,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":19698,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":3814,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":20080,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":20504,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":20699,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":18380,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":784,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":787,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":21437,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":21445,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":21438,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":21447,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":19163,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":19167,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":19164,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":19168,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":11168,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":11176,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":20134,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":20135,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":11169,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":11178,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":21593,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":21598,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":21594,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":21601,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":21595,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":21604,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":21745,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":21746,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6203,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6207,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6204,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6211,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16021,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16030,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":9656,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":9689,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":22260,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":22264,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":20078,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":20081,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":23826,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":8461,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":8472,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":8462,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":8474,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8170,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":10750,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":11024,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":11031,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":10712,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["markfordeletion",{"_index":10474,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":23701,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":19313,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(schoolid",{"_index":19331,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":23422,"title":{},"body":{"license.html":{}}}],["master",{"_index":24626,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.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":13605,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":22435,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:20",{"_index":22438,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:8",{"_index":22437,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":21856,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":21858,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":13662,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":22430,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":22458,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":22455,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":22453,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":22454,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":22457,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":22456,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":22431,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":22452,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":12877,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["match_userid",{"_index":12875,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3673,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3678,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":12842,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":13743,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":13741,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":12884,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.auto",{"_index":13735,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":13737,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":13739,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":3927,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":13646,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":12840,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":250,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7141,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":254,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":6625,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":12870,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["matches[1",{"_index":12871,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":2641,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":10021,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["matchingparams.some((param",{"_index":10069,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["matchsinglerule",{"_index":18757,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":18762,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":13733,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":13744,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":13742,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":12697,"title":{"entities/Material.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"license.html":{}}}],["materialfactory",{"_index":15696,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":15699,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":12706,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materialids",{"_index":12717,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materially",{"_index":23670,"title":{},"body":{"license.html":{}}}],["materials",{"_index":12700,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{}}}],["materials.entity",{"_index":12698,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materialsrepo",{"_index":15700,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1640,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":7746,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3583,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":10756,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":24551,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3550,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17464,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15265,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":12798,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["max_redirects",{"_index":12243,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":12799,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["maxage",{"_index":19568,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":12126,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":14631,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":9362,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":845,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["maxkeys",{"_index":6524,"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":12457,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["maxredirects",{"_index":12283,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":13318,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":3823,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2169,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":9600,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":23978,"title":{},"body":{"todo.html":{}}}],["me(@currentuser",{"_index":21921,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1020,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":21916,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":22677,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":23709,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":23336,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":23304,"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":23525,"title":{},"body":{"license.html":{}}}],["measures",{"_index":23306,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":24200,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":23549,"title":{},"body":{"license.html":{}}}],["meet",{"_index":23561,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2161,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2039,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2001,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2004,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2005,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2157,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2002,"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":2170,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":23468,"title":{},"body":{"license.html":{}}}],["member",{"_index":1002,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"interfaces/OauthCurrentUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":13146,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["memberids.some((id",{"_index":13151,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["members",{"_index":1057,"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":11388,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":19556,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":24574,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":24171,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":7357,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":23466,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":23868,"title":{},"body":{"license.html":{}}}],["mere",{"_index":23453,"title":{},"body":{"license.html":{}}}],["merge",{"_index":23341,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":7658,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":7690,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":23757,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":12708,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["message",{"_index":1025,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthorizationError.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.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/InvalidOriginForLogoutUrlLoggableException.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/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.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":12792,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagekey",{"_index":2011,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":24569,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagewithcontext",{"_index":15356,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":23501,"title":{},"body":{"license.html":{}}}],["meta",{"_index":11930,"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":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2022,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":2171,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":5912,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":5927,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.authors",{"_index":5921,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.changes",{"_index":5925,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":5929,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":5893,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":5900,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":5902,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":5887,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.h",{"_index":5904,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.language",{"_index":5889,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.license",{"_index":5895,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":5923,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":5914,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":5891,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.metadescription",{"_index":5906,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":5908,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.preloadeddependencies",{"_index":5898,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7072,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7088,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7091,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7089,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7087,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7090,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7085,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7092,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7086,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7073,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.source",{"_index":5919,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.title",{"_index":5896,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.type",{"_index":7943,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":5910,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":5916,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.yearto",{"_index":5918,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadataprops",{"_index":5325,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":8857,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":8861,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":10551,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":15799,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":5848,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metakeywords",{"_index":5849,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":15703,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["metatagextractorconfig",{"_index":15734,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":15710,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":15707,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["metatagextractorresponse",{"_index":15721,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":15717,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":15732,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":15708,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["method",{"_index":591,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.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":{},"injectables/UserLoginMigrationService.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":16619,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":24796,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":8579,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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/ExternalToolVersionService.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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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/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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"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":17762,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":17759,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":17749,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":17752,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":17753,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":24726,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":24058,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":24789,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":17763,"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":19511,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":17760,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":12477,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/OauthUc.html":{},"classes/SchoolMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":12480,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["migrate(skip",{"_index":14341,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14506,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":17201,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16277,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migrated.'})@apiresponse({type",{"_index":17100,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migratedaccounts",{"_index":14510,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":19375,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":19376,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrates",{"_index":22404,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrateschool",{"_index":19314,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(externalid",{"_index":19333,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":17081,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":22501,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(jwt",{"_index":17097,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrateuserlogin",{"_index":22118,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":22140,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":22237,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/SSOLoginQuery.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{}}}],["migration.controller",{"_index":22111,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":22114,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":22162,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":22150,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":22157,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:17",{"_index":22462,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":22128,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":22143,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":22139,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":22133,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":22202,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":22208,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":22211,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":22207,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":22206,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":22209,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":22210,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":22212,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.dto",{"_index":14793,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{}}}],["migration.dto.ts",{"_index":16743,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:10",{"_index":16744,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:2",{"_index":16748,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:4",{"_index":16747,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:6",{"_index":16746,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:8",{"_index":16745,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.entity",{"_index":13016,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":22226,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":22230,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":22231,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":22233,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":22229,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":22232,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":22227,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":22228,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error",{"_index":16508,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{}}}],["migration.error.ts",{"_index":14573,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["migration.error.ts:11",{"_index":14578,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:12",{"_index":16350,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["migration.error.ts:14",{"_index":16344,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["migration.error.ts:17",{"_index":15869,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":15870,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":15806,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":15807,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:4",{"_index":19277,"title":{},"body":{"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["migration.error.ts:6",{"_index":14576,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.mapper",{"_index":17121,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migration.mapper.ts",{"_index":22258,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["migration.mapper.ts:13",{"_index":22265,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:5",{"_index":22478,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":22262,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":22112,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":22277,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":22170,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":16498,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":16499,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":16501,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":16500,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":22281,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:14",{"_index":22282,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:19",{"_index":22286,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:27",{"_index":22283,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":17118,"title":{},"body":{"controllers/OauthSSOController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":22304,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserMigrationResponse.html":{}}}],["migration.response.ts:1",{"_index":22481,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":22309,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":22311,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":22308,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":22310,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":22306,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":22305,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":22307,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:6",{"_index":22482,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":22321,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":22324,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":22323,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":22322,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14166,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts",{"_index":14501,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:106",{"_index":19341,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:111",{"_index":22349,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":22505,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:12",{"_index":19318,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:129",{"_index":22333,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:130",{"_index":19324,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:135",{"_index":22493,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:141",{"_index":19336,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:147",{"_index":19321,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:149",{"_index":22335,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:158",{"_index":19327,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:159",{"_index":22490,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:165",{"_index":19330,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:169",{"_index":22495,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:171",{"_index":22353,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14507,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:180",{"_index":22339,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:188",{"_index":22341,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:194",{"_index":22343,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:20",{"_index":19343,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:21",{"_index":22508,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:214",{"_index":22337,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:23",{"_index":22510,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:25",{"_index":22507,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:27",{"_index":22509,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:28",{"_index":19334,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:29",{"_index":22347,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:42",{"_index":22498,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:43",{"_index":19339,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14505,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:54",{"_index":22500,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:81",{"_index":19332,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:82",{"_index":22351,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14503,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:91",{"_index":22499,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:95",{"_index":22345,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:97",{"_index":22502,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.uc",{"_index":22464,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["migration.uc.ts",{"_index":4567,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4574,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:14",{"_index":18403,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:15",{"_index":21343,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:155",{"_index":22394,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:18",{"_index":22386,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4576,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":19901,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":21346,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:24",{"_index":18406,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:30",{"_index":22392,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:40",{"_index":22390,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:42",{"_index":19899,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:47",{"_index":18404,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:51",{"_index":21344,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:58",{"_index":4579,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:60",{"_index":22388,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:78",{"_index":22395,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":16497,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/page",{"_index":17440,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["migration/controller/dto/request/school",{"_index":19275,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":22254,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/page",{"_index":17453,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["migration/controller/dto/response/user",{"_index":22303,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":22113,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["migration/error",{"_index":22546,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration/error/oauth",{"_index":16338,"title":{},"body":{"classes/OAuthMigrationError.html":{},"controllers/OauthSSOController.html":{}}}],["migration/error/school",{"_index":19302,"title":{},"body":{"classes/SchoolMigrationError.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/error/user",{"_index":22098,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["migration/loggable/user",{"_index":22249,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["migration/mapper/page",{"_index":17432,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["migration/mapper/user",{"_index":22257,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service",{"_index":17211,"title":{},"body":{"injectables/OauthUc.html":{}}}],["migration/service/dto",{"_index":17112,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/UserMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":15827,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":15829,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17421,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/dto/school",{"_index":19305,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["migration/service/migration",{"_index":15813,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":19309,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":22312,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/success",{"_index":22550,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4566,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":22279,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":18401,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":19895,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":21341,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":22382,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":19527,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":14584,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationbody",{"_index":14783,"title":{"classes/MigrationBody.html":{}},"body":{"controllers/LegacySchoolController.html":{},"classes/MigrationBody.html":{}}}],["migrationbody.oauthmigrationfinished",{"_index":14804,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationbody.oauthmigrationmandatory",{"_index":14803,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationbody.oauthmigrationpossible",{"_index":14802,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationcheckservice",{"_index":15812,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationconsentredirect",{"_index":16435,"title":{},"body":{"injectables/OAuthService.html":{}}}],["migrationdto",{"_index":14799,"title":{"classes/MigrationDto.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{}}}],["migrationdto.redirect",{"_index":22419,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrationdto.redirect.includes('migration/error",{"_index":22418,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrationerror",{"_index":17139,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerror.officialschoolnumberfromsource",{"_index":17141,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerror.officialschoolnumberfromtarget",{"_index":17142,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerrorhandler",{"_index":17082,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerrorhandler(error",{"_index":17102,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationflags",{"_index":14778,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationmapper",{"_index":14763,"title":{"injectables/MigrationMapper.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{}}}],["migrationmaybecompleted",{"_index":15841,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":15849,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationpage",{"_index":22176,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":22179,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":22181,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":14794,"title":{"classes/MigrationResponse.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":22178,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse})@apiunauthorizedresponse",{"_index":14785,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationresponse})@apiunauthorizedresponse()@apinotfoundresponse({description",{"_index":14779,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrations",{"_index":22115,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationsflags",{"_index":14780,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.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":{},"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":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.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":8054,"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":23970,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":11209,"title":{},"body":{"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":{}}}],["mikroormmodule.forroot",{"_index":11235,"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":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":15896,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":15891,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":11210,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mikroservice",{"_index":24225,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":19374,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":10664,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1361,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3494,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.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":3499,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.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":17463,"title":{},"body":{"classes/PaginationParams.html":{}}}],["mind",{"_index":24701,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":844,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":24005,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":24019,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":24018,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":24015,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1111,"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":15913,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minwidth",{"_index":15755,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["misrepresentation",{"_index":23694,"title":{},"body":{"license.html":{}}}],["missed",{"_index":7276,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":936,"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":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":19395,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":15876,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4556,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":14581,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":15871,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16138,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":20827,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":14683,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":23223,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":10962,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":10967,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":10963,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":10971,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15338,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":5363,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":5365,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":5359,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":5358,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":5362,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":5361,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":5360,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":5364,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":24102,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":24393,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":9255,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17290,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17289,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":24608,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":24609,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":20352,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mock_type",{"_index":20350,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mockbaseurl",{"_index":9252,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mockcomment",{"_index":9257,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":24498,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":24458,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":24496,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":24420,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":20346,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mockservice",{"_index":24475,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":24491,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mode",{"_index":15848,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":7295,"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":8279,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["modelentity",{"_index":7913,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":7938,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":7937,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":7970,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":7930,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":7936,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":7942,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":7933,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":7934,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16202,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2126,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2172,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":8564,"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":2025,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":23418,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":23471,"title":{},"body":{"license.html":{}}}],["modified",{"_index":22121,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":8263,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["modifies",{"_index":23565,"title":{},"body":{"license.html":{}}}],["modify",{"_index":23390,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":23444,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":24000,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":19925,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":201,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/RocketChatModule.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/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/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":{},"modules/DatabaseManagementModule.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":{},"interfaces/ICoreModuleConfig.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/LegacySchoolApiModule.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":{},"injectables/OauthUc.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/RocketChatModule.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/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":24479,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":24476,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":24477,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":24255,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":24456,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":24285,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":24280,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":24464,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":24468,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":24467,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":203,"title":{"modules.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/RocketChatModule.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/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":{},"modules.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":1437,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/IServerConfig.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":19513,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":17815,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14508,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1605,"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":789,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":2963,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.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/LegacySchoolController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.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":{}}}],["modules/authentication/authentication",{"_index":12199,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":11056,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/OauthApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":12087,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":17212,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18358,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":22686,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/services/authentication.service",{"_index":17209,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/authorization",{"_index":2531,"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/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthApiModule.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/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.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":11057,"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":24292,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":3860,"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":1830,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":19514,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/board/service/column",{"_index":3039,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["modules/class",{"_index":11623,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":11885,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4368,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":6762,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":4633,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3043,"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/feathers/feathers",{"_index":24290,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":24291,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1231,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"classes/FileRecordFactory.html":{},"interfaces/IServerConfig.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":19490,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":8969,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":6764,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":19515,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom",{"_index":1922,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":13064,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":6649,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":19516,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":10215,"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":3469,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":1963,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.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":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":14703,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{}}}],["modules/lesson/lesson",{"_index":19517,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":3047,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":6651,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":16956,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":19491,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":21295,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":19518,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":19519,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":122,"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":12339,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":13949,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OAuthMigrationError.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":19520,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1438,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":12307,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":12265,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/oauth.service",{"_index":16505,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/provisioning",{"_index":16419,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/provisioning/dto",{"_index":16420,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":4679,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":19521,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":16981,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/rocketchat",{"_index":19522,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1439,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":22569,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":4637,"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":4756,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":18500,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1609,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":602,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":19679,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":19523,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1440,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18044,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/dto/system.filter.params",{"_index":20287,"title":{},"body":{"controllers/SystemController.html":{}}}],["modules/system/controller/system.controller",{"_index":20271,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/mapper/system",{"_index":20413,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["modules/system/mapper/system.mapper",{"_index":20464,"title":{},"body":{"injectables/SystemService.html":{}}}],["modules/system/service",{"_index":14225,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/UserMigrationService.html":{}}}],["modules/system/service/dto",{"_index":13505,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":20318,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":20402,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":17210,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["modules/system/service/system",{"_index":14226,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/service/system.service",{"_index":20392,"title":{},"body":{"modules/SystemModule.html":{},"injectables/SystemUc.html":{}}}],["modules/system/system",{"_index":19524,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":17816,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":20272,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":14717,"title":{},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{}}}],["modules/task/controller/dto/task",{"_index":6652,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":3048,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":19525,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":6653,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams/teams",{"_index":19526,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":21160,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tool",{"_index":1828,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{}}}],["modules/tool/common/domain",{"_index":6054,"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":9599,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6055,"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":6124,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["modules/tool/common/interface",{"_index":9550,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3602,"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":{},"interfaces/IRepoLoader.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":7521,"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":6127,"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":16957,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3603,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IServerConfig.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.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":{},"classes/UserMigrationMapper.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":21983,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":22427,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":19528,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":19529,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":7248,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moment",{"_index":16250,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":573,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BsonConverter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":13840,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":24660,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":24006,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":11276,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mongodb",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongoexport",{"_index":12588,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["mongoimport",{"_index":12575,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":11273,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"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.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":11280,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":24263,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":10462,"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":13839,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":23237,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1729,"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":23729,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":24792,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":23299,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":23292,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":23952,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1337,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3430,"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":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4174,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3434,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5062,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":5731,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":24720,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4050,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4070,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5078,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4071,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":3841,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5015,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":3851,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5016,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":8736,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":17194,"title":{},"body":{"injectables/OauthUc.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4215,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":7692,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":7617,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":8735,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4227,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8010,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8016,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":7619,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":15929,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":12476,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["movetotrash",{"_index":18795,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":18817,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":24802,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":12456,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["ms",{"_index":12491,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":3965,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":977,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":24401,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3511,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2095,"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":{}}}],["multivalued",{"_index":14330,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":23063,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2026,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":23166,"title":{},"body":{"dependencies.html":{}}}],["n/a",{"_index":22420,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["n21",{"_index":1834,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/FederalStateService.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"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":{},"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/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":{},"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/IClassEntityProps.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"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/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"classes/TaskCreateParams.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":{},"classes/TaskUpdateParams.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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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/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":{},"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":9254,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":10715,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["name.mapper",{"_index":13690,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":18502,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:12",{"_index":18505,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:5",{"_index":18507,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":6623,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":1907,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:12",{"_index":1914,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:19",{"_index":1921,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:42",{"_index":1919,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:48",{"_index":1916,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.tolowercase",{"_index":5508,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["named",{"_index":23333,"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":24581,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nameonly",{"_index":8151,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5126,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.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":24560,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":23993,"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":12340,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/OauthUc.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":21353,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":12348,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["nanoid(16",{"_index":17214,"title":{},"body":{"injectables/OauthUc.html":{}}}],["narrowed",{"_index":11954,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":23255,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":23576,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":13906,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":10859,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":20828,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.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":1824,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/ISubmissionProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":20953,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1820,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.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/ICourseProperties.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":1122,"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":356,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":23983,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":24042,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":24045,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":24069,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":24070,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":24064,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":24065,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":24085,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":24088,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":24041,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":24048,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":24053,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":24050,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":24060,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":24055,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":24078,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":24079,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":24080,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":24082,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":24084,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":24081,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":24083,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":12803,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":24300,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":11973,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":10298,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":8692,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3516,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/ErrorModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.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":964,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.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":3952,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":24107,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":226,"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":{},"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":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.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":{},"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":{},"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":{},"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":{},"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":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DomainObjectFactory.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":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.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/ExternalToolVersionService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.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":{},"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/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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":{},"classes/OAuthSSOError.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":{},"injectables/OauthUc.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.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":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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":{},"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/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":16556,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4581,"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":{}}}],["nestjs/common/exceptions/internal",{"_index":6758,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":9120,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":598,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"controllers/CourseController.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":8909,"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":1433,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":23141,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1435,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":12086,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":150,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DownloadFileParams.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/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/LegacySchoolController.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/MigrationBody.html":{},"classes/MigrationResponse.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/PageContentQueryParams.html":{},"classes/PageContentResponse.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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemIdParams-1.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/ToolConfigurationController.html":{},"controllers/ToolContextController.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":{},"controllers/UserMigrationController.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":21294,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":24459,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestmodule",{"_index":19531,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":24326,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":23311,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":23363,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":4906,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":8580,"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":236,"title":{},"body":{"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/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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/CommonToolValidationService.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/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":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.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":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.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/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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.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":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationMapper.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.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":{},"classes/OauthLoginStateMapper.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.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":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleMapper.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":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.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":{},"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":{},"injectables/SubmissionRule.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.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":{},"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":14304,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14302,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14211,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14299,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14306,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":8365,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":8525,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":8528,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":8527,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":7783,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":2366,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{}}}],["newentity._id",{"_index":2382,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newentity.id",{"_index":2381,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newfactory",{"_index":2473,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":7739,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":6574,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":6577,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":22680,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":2743,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":6909,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":10063,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":10066,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":10067,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparams",{"_index":10061,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":10064,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam",{"_index":10052,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.isoptional",{"_index":10053,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.name",{"_index":10042,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.regex",{"_index":10072,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.scope",{"_index":10074,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.type",{"_index":10073,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams",{"_index":10015,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.filter((parameter",{"_index":10062,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.find((p",{"_index":10070,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.some",{"_index":10051,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.some((newparam",{"_index":10040,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newpath",{"_index":1259,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2471,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5239,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5242,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":7763,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":7765,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7106,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.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":{},"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":16041,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16073,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":21062,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":21067,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16047,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16181,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16042,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16039,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":7281,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":11314,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":7298,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":21868,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":7285,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:25",{"_index":21864,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":7290,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:32",{"_index":21866,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:37",{"_index":7296,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:44",{"_index":7293,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16049,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16043,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16044,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16045,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16046,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16040,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16048,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16050,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16196,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":24313,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":24315,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16198,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16007,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16011,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":15948,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16187,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":15991,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16183,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16200,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16197,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16101,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16105,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16097,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16214,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":15979,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":15982,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16190,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":15971,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":15983,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":15967,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":15977,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":15981,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16000,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":15978,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":15988,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16063,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["newspermission",{"_index":16162,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsrepo",{"_index":16068,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":15972,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":24764,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16090,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7098,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16080,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7099,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7124,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7129,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7126,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":15969,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16193,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16185,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":15953,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":10032,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newtool.parameters",{"_index":10036,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newtool.version",{"_index":10038,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newuser",{"_index":24746,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":12703,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16225,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16226,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16222,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15055,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"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/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18365,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":8696,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":12405,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISchoolProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16259,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":4674,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":11927,"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":16257,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":4675,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16274,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16286,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":6525,"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":19011,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3307,"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":3221,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4126,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":9199,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":10396,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":18452,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15238,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4127,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":4859,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":4857,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":10397,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":23289,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3658,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3660,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3370,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3644,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:19",{"_index":3650,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:30",{"_index":3652,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:6",{"_index":3647,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:9",{"_index":3648,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3390,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3297,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":14547,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node_env",{"_index":13062,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["node_env=test",{"_index":19577,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1175,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1192,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":13065,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["nodejs",{"_index":10533,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":18910,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":23234,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":23236,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3653,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3674,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3662,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":20820,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":8786,"title":{},"body":{"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":23604,"title":{},"body":{"license.html":{}}}],["none",{"_index":1475,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/LtiTool.html":{},"classes/OauthClientBody.html":{},"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16207,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":10058,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":10068,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":10065,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparams",{"_index":10055,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":10059,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["normal",{"_index":1825,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1583,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1596,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1584,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1598,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":23632,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":18856,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":18850,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16330,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":21230,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":21244,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2484,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":20987,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8022,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":15593,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":15597,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2681,"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":{},"interfaces/IGridElement.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":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["notfoundexception('board",{"_index":2724,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":9149,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":7756,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":18852,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4186,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":5742,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception(`school",{"_index":22516,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["notfoundexception(`the",{"_index":11234,"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":{}}}],["notfoundexception(`there",{"_index":3378,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":16960,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":18884,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5009,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":19630,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":2953,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":2948,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":8742,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":2944,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4061,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5013,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":8733,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":2959,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4076,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4079,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5020,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":3764,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4072,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5017,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":8737,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":2939,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4057,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":3753,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4539,"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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":22401,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4555,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":4896,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":10273,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":10268,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":11862,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":10261,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":10271,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17383,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":23741,"title":{},"body":{"license.html":{}}}],["notice",{"_index":15303,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15310,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":23459,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":23730,"title":{},"body":{"license.html":{}}}],["notify",{"_index":23726,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3255,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"interfaces/IRepoLoader.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.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":15104,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":19829,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":19848,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":4832,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":12980,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["notimplementedexception('rooms",{"_index":18642,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3315,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":5691,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":5715,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19633,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":19365,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":19369,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":23685,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7168,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":23345,"title":{},"body":{"license.html":{}}}],["now",{"_index":1818,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ISubmissionProperties.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":12526,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["now.getmonth",{"_index":12527,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["nowplusdays",{"_index":19784,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":19805,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":8698,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":23944,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":24622,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":593,"title":{},"body":{"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/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.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":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":{},"injectables/LegacySchoolUc.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.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":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.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/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["nullable",{"_index":144,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.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":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.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/MigrationBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":19927,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":11946,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":11947,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":6622,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.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":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.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":{},"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/File.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.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/IAccountConfig.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IError.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.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":{},"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":{},"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":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.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/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":15785,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":15786,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8182,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":6626,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.pagesize",{"_index":12461,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["number(options.skip",{"_index":12483,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":10478,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":1957,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":1962,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":1960,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":23860,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3477,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":8224,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":8217,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3478,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":8218,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3479,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":6981,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":13350,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":13358,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":6984,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":20025,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":15911,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":24403,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":24595,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":24001,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8060,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3397,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":18890,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":5554,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":16583,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13489,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/SystemService.html":{}}}],["oauth.service.ts",{"_index":13496,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14369,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13501,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13503,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14373,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13500,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc",{"_index":17115,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauth.uc.ts",{"_index":12241,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:14",{"_index":12251,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":12261,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:25",{"_index":12260,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:27",{"_index":12253,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:47",{"_index":12262,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:49",{"_index":12258,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:66",{"_index":12255,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":5550,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ICurrentUser.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":22141,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15416,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15373,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":10198,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":9596,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":9617,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":9618,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":9908,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":9914,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":9913,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":9909,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":9619,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":9911,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":9616,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":16496,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":7537,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1429,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":7520,"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":9679,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":9157,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":9222,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":7526,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":7560,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":7538,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":9750,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":9683,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":9681,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16334,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":13024,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthadapterservice",{"_index":16392,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":16573,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["oauthclient",{"_index":9859,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17030,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":9903,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":9901,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":9897,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":9899,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":16584,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":7379,"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":5611,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":12263,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{}}}],["oauthconfig.authendpoint",{"_index":13179,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":12346,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":13169,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":13175,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":13171,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":13185,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":13187,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":13183,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":13181,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":12347,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":12344,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":12345,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":13173,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13504,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":16658,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":16652,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":16653,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":16656,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":16654,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":16663,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":16664,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":16662,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":16661,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":16655,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":16659,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":16660,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":16657,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse",{"_index":16665,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":16685,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":16680,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":16683,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":16681,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":16690,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":16691,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":16689,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":16688,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":16682,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":16686,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":16687,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":16684,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":9894,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":7325,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthUc.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":13974,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externalschool?.externalid",{"_index":22422,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externalschool?.officialschoolnumber",{"_index":22421,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externaluser.externalid",{"_index":22423,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatadto",{"_index":13941,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":13946,"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":12323,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1401,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1398,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15378,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthloginstate",{"_index":17147,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstate.provider",{"_index":17175,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstate.state",{"_index":17149,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstatedto",{"_index":16720,"title":{"classes/OauthLoginStateDto.html":{}},"body":{"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["oauthloginstatedto(session.oauthloginstate",{"_index":16741,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["oauthloginstatemapper",{"_index":16732,"title":{"classes/OauthLoginStateMapper.html":{}},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{}}}],["oauthloginstatemapper.mapsessiontodto(session",{"_index":17148,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthmigrationdto",{"_index":14791,"title":{"classes/OauthMigrationDto.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/OauthMigrationDto.html":{}}}],["oauthmigrationerror",{"_index":16337,"title":{"classes/OAuthMigrationError.html":{}},"body":{"classes/OAuthMigrationError.html":{},"controllers/OauthSSOController.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthmigrationfailed",{"_index":16345,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthmigrationfinalfinish",{"_index":14968,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["oauthmigrationfinished",{"_index":14847,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmigrationmandatory",{"_index":14845,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmigrationpossible",{"_index":14846,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmodule",{"_index":1419,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["oauthprocessdto",{"_index":16357,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["oauthprocessdto.jwt",{"_index":17162,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthproviderapimodule",{"_index":16755,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["oauthproviderclientcruduc",{"_index":16760,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":16761,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":16767,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13455,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":16762,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":16763,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":16759,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules.html":{}}}],["oauthproviderrequestmapper",{"_index":16979,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":16994,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":16764,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":9823,"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":9373,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules.html":{}}}],["oauthprovideruc",{"_index":16765,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":13025,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":5544,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":5572,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":5581,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":5583,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":5585,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":5589,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13465,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":12249,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":16580,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerror",{"_index":12266,"title":{"classes/OAuthSSOError.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror('failed",{"_index":13957,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["oauthssoerror('requesting",{"_index":16571,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["oauthssoerror(`requested",{"_index":16428,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthssoerror:10",{"_index":16346,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:11",{"_index":22574,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:4",{"_index":16349,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:5",{"_index":22577,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:6",{"_index":16348,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:7",{"_index":22576,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:8",{"_index":16347,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:9",{"_index":22575,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthsystems",{"_index":20467,"title":{},"body":{"injectables/SystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":22367,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17178,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":12269,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":16424,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":12276,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["oauthuc",{"_index":16578,"title":{"injectables/OauthUc.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["obfuscated",{"_index":11557,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":13907,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj.id",{"_index":2839,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["object",{"_index":133,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.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":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LessonFactory.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.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":{},"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":2469,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3458,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1883,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":8570,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16195,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":8577,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entity).foreach((key",{"_index":2384,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(object).foreach((key",{"_index":2286,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2660,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":9923,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1008,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1663,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":8574,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":8573,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":8572,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2403,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":11111,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16009,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":10731,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["object.values(validationerror.constraints",{"_index":1326,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2324,"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":{}}}],["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":{},"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":{},"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":{},"entities/ExternalToolPseudonymEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenFactory.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4188,"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/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{}}}],["objectid().tostring",{"_index":7994,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":893,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":890,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":5946,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":8350,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":8330,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.id",{"_index":2383,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["objectid(domainobject.schoolid",{"_index":4463,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4473,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.year",{"_index":4469,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":9523,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":9524,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":606,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{}}}],["objectid(id).tohexstring",{"_index":19680,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":11010,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":5944,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":11014,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":4972,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":4865,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":13088,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["objectid(props.creatorid",{"_index":10498,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":10699,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(props.lockid",{"_index":10502,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":7410,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":10495,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":10493,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["objectid(props.refid",{"_index":10631,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":10696,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(reference.id",{"_index":3393,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":10470,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4543,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(systemid",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4465,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":9505,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(user.id",{"_index":11761,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["objectid(userid",{"_index":725,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":7814,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":7824,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3520,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":605,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":13842,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":13844,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":726,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":6819,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":24692,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":6526,"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":12982,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["objects",{"_index":3894,"title":{},"body":{"injectables/BsonConverter.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"interfaces/ICollectionFilePath.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":23839,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":23618,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":23527,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2244,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["obsolete",{"_index":22410,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["occasionally",{"_index":23603,"title":{},"body":{"license.html":{}}}],["occur",{"_index":354,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":4699,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["occurring",{"_index":23738,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":23656,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":11929,"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":11928,"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":16156,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":23387,"title":{},"body":{"license.html":{}}}],["offered",{"_index":23624,"title":{},"body":{"license.html":{}}}],["offering",{"_index":23607,"title":{},"body":{"license.html":{}}}],["offers",{"_index":24067,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["offical",{"_index":22517,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["official",{"_index":14583,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":19320,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":8989,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.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":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["officialschoolnumberfromsource",{"_index":16342,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["officialschoolnumberfromtarget",{"_index":16343,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["offline",{"_index":7529,"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":15762,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":12891,"title":{},"body":{"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{}}}],["oidc",{"_index":14234,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper",{"_index":20414,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.mapper.ts",{"_index":20396,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":20401,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":20398,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":20399,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14227,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":20409,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:12",{"_index":20412,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:21",{"_index":20411,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:9",{"_index":20410,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":18978,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":18979,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":5597,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":13160,"title":{"classes/OidcConfig.html":{}},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":13238,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":13234,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":13235,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["oidcconfig.defaultscopes",{"_index":13245,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":13236,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":13241,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":13240,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":13243,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":20405,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14307,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14194,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17256,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17253,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17254,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17260,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17255,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17259,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17252,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17257,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17258,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidccontextresponse",{"_index":5620,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14235,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14159,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":4685,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":24593,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17287,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":17828,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17297,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17398,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":20469,"title":{},"body":{"injectables/SystemService.html":{}}}],["oidcuserattributemappername",{"_index":14233,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":22848,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":20836,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":6582,"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":14301,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14207,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14305,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14300,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":23409,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":10041,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams",{"_index":10017,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.every((oldparam",{"_index":10054,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.filter((oldparam",{"_index":10039,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.filter((parameter",{"_index":10056,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldtool",{"_index":10034,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldtool.parameters",{"_index":10035,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["once",{"_index":18281,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":10144,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITaskParent.html":{},"injectables/JwtStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.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":6987,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":3788,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.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":6365,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6757,"title":{},"body":{"entities/Course.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":6734,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":7829,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":13285,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":12718,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["onetoone",{"_index":2678,"title":{},"body":{"entities/Board.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19073,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2669,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":21012,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":21013,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongoing",{"_index":7084,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7174,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":2730,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8058,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":20364,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":21006,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":21005,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":15889,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2434,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":15763,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":24135,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":13677,"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":20760,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":20984,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":20989,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":21756,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":7530,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":22751,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6230,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":24611,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":7382,"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":23890,"title":{},"body":{"license.html":{}}}],["operated",{"_index":23611,"title":{},"body":{"license.html":{}}}],["operates",{"_index":24369,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":23484,"title":{},"body":{"license.html":{}}}],["operation",{"_index":8262,"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":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":22795,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":11330,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":11331,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16173,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":15993,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:13",{"_index":15997,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:6",{"_index":15996,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":24710,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":24364,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":10561,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":24648,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":23847,"title":{},"body":{"license.html":{}}}],["ops",{"_index":23971,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":10559,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":24030,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":14681,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":24157,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":23682,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.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/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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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":{},"entities/Course.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":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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/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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IError.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonAccount.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SSOLoginQuery.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"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":{},"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/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.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":{},"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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17270,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":24338,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":12542,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["options",{"_index":490,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.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/ICleanOptions.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IShareTokenProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.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":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"interfaces/Options.html":{},"injectables/PseudonymService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.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.collection",{"_index":8063,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.do",{"_index":4301,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["options.do.ts",{"_index":4518,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["options.do.ts:12",{"_index":4522,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:6",{"_index":4520,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.enabled",{"_index":1182,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4334,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["options.entity.ts",{"_index":4525,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4527,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":22899,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":22744,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":22746,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1186,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1184,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.hostname",{"_index":1190,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":22748,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8064,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":13615,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.port",{"_index":1197,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.response",{"_index":22972,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":23060,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":23065,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":23061,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":23064,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.retrycount",{"_index":12463,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.retrydelay",{"_index":12464,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.routingkey",{"_index":1188,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.skip",{"_index":12482,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.ts",{"_index":12823,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{}}}],["options.verbose",{"_index":12484,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options?.collection",{"_index":8062,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":19767,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14452,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":19768,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":19815,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14454,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":9555,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8072,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":9525,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":19811,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14453,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":24725,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":24175,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":24216,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2093,"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":{},"interfaces/IPagination.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.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":9559,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":22624,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":22628,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17505,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17508,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":12609,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["orderedlist",{"_index":18719,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":22623,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":22625,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":22629,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":5383,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":18957,"title":{},"body":{"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5161,"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":5252,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5254,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5149,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5157,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5163,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":5389,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":5381,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":11589,"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":5203,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["orgid",{"_index":18938,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{}}}],["origin",{"_index":2023,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["original",{"_index":3330,"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":18121,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18136,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18135,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18162,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.context",{"_index":18126,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18155,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18133,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18140,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18150,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18153,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18152,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18125,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18149,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3050,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":4831,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3051,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3096,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":6904,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":6927,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":6938,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":6919,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3058,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3020,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15018,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3091,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3090,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":19337,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3023,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":20609,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":20610,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3094,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":20608,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":20611,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3093,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":20639,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":11403,"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":12936,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["originsystemid",{"_index":22497,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["origintool",{"_index":7374,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":7377,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7133,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":24115,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":173,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.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":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.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":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":24510,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":10690,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["orm/issues/2165",{"_index":13386,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["orm/mikro",{"_index":10689,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.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":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/ExternalToolPseudonymEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/ShareToken.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":11211,"title":{},"body":{"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":{},"dependencies.html":{}}}],["orphan",{"_index":5812,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6735,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/LessonEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["os",{"_index":10933,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":10965,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":9446,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":9444,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":10563,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":10566,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":10568,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":10570,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":24206,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":20342,"title":{},"body":{"classes/SystemFactory.html":{}}}],["others",{"_index":11552,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otherwise",{"_index":1461,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":24270,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":220,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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":{},"interfaces/IImportUserProperties.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":24382,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":21572,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":21829,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":13415,"title":{},"body":{"interfaces/IUserProperties.html":{},"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":24410,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":24186,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":11558,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["outputformat",{"_index":6492,"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":{}}}],["outside",{"_index":7744,"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":20644,"title":{},"body":{"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":24628,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["overenginiering",{"_index":24155,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":15900,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":2088,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["overrideprovider(consolewriterservice",{"_index":21301,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":21299,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":8908,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":6687,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":24460,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":24072,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":24685,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":24462,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":23781,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":12221,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":10426,"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":10456,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16015,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":11000,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":20743,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":2330,"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":18904,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":10071,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["p.sourcepath",{"_index":18871,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":24644,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":23122,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":23571,"title":{},"body":{"license.html":{}}}],["packages",{"_index":23945,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":23478,"title":{},"body":{"license.html":{}}}],["pad",{"_index":8951,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":8953,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":8948,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":8949,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":8947,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":822,"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":{},"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/PageContentQueryParams.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":22400,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":9531,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17420,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{}}}],["pagecontentmapper",{"_index":17431,"title":{"injectables/PageContentMapper.html":{}},"body":{"injectables/PageContentMapper.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserMigrationController.html":{}}}],["pagecontentqueryparams",{"_index":17439,"title":{"classes/PageContentQueryParams.html":{}},"body":{"classes/PageContentQueryParams.html":{},"controllers/UserMigrationController.html":{}}}],["pagecontentresponse",{"_index":17434,"title":{"classes/PageContentResponse.html":{}},"body":{"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"controllers/UserMigrationController.html":{}}}],["paged",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":850,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":12423,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{}}}],["pagetype",{"_index":17442,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["pagetypequery",{"_index":22463,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.pagetype",{"_index":22468,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.sourcesystem",{"_index":22469,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.targetsystem",{"_index":22470,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypes",{"_index":17445,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_source_system",{"_index":22530,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_source_system_mandatory",{"_index":22532,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_target_system",{"_index":22524,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes})@isenum(pagetypes",{"_index":17446,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["paginate",{"_index":10117,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":6861,"title":{},"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":{},"interfaces/IPagination.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.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":11652,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.skip",{"_index":11651,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7180,"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":7179,"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":836,"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":847,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":851,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationresponse",{"_index":815,"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":820,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16003,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":831,"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":830,"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":825,"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":22432,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":10759,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7074,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":9806,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":13660,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":20686,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":6436,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pairwise",{"_index":9916,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":23244,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":23917,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":23718,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":23790,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":24508,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":333,"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":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.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":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.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":{},"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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('file",{"_index":12121,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17177,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":22935,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":22936,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":10904,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":24452,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":24450,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":6529,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":6532,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":9448,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":9639,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":9438,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":5528,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.location",{"_index":9641,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":5530,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.name.tolowercase",{"_index":5519,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["param.regex",{"_index":5536,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.regexcomment",{"_index":9640,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":5520,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.type",{"_index":5535,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["paramdisplayat",{"_index":16180,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":363,"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/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/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":7455,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":7459,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":7464,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":7465,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":7466,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":7462,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":7467,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":7458,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":7463,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":7461,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":7460,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":7483,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":7487,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":7486,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":7485,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":7490,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":7491,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":7492,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":7488,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":7493,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":7484,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":7489,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":10057,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["parameter.name",{"_index":10060,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["parameter.params",{"_index":9167,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":7575,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":7586,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":7580,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":7578,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":7577,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":7587,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":7588,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":7591,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":7585,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":7594,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":7582,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6002,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":7599,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":7605,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":7603,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":7602,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":7601,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":7606,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":7607,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":7608,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":7604,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":7609,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":7600,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":9095,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":1904,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":1950,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":1951,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":7482,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17478,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":15879,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":15881,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":15884,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":22796,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":15880,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameterstoinclude",{"_index":2645,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17477,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":1930,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":271,"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":{},"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":{},"interfaces/IToolLaunchStrategy.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":{},"classes/MigrationResponse.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthMigrationDto.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.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/SystemFactory.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":{},"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":514,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4016,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2287,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":20725,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":16922,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":16944,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":16907,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":9746,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16058,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":12099,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15047,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15048,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":21431,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":21424,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":21425,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":20607,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15046,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":6669,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":20724,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16059,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":24181,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":20726,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":18680,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.enablemigrationstart",{"_index":15868,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.everyattendeejoinsmuted",{"_index":22942,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":22943,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":14822,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":21547,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":14823,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":14833,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":12112,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":12119,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":11194,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":18886,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":13630,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":7639,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":11657,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15050,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":12118,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":14824,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2652,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["params.interface.ts",{"_index":13404,"title":{},"body":{"interfaces/IToolLaunchParams.html":{}}}],["params.inusermigration",{"_index":14825,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":12140,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":6670,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":16905,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":22823,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":22944,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":9745,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.oauthmigrationfinalfinish",{"_index":15866,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationfinished",{"_index":15864,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationmandatory",{"_index":15862,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationpossible",{"_index":15860,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.officialschoolnumber",{"_index":14827,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":16906,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3059,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":16908,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":19422,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":17646,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":17696,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":14826,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":17911,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":21428,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":21421,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":14828,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":19421,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":17153,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["params.systems",{"_index":14830,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16177,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16061,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16060,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":19424,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":20008,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":7645,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":7640,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4382,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":11734,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4385,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":13626,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":14832,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":18678,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":7267,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":7263,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":7268,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":7262,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":7270,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":7260,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":24242,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":948,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3366,"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":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4190,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5067,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":5744,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18271,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18270,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.getstudentids",{"_index":12747,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["parent.getstudentids().length",{"_index":13319,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":10615,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3439,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":20637,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18238,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18247,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18248,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentid",{"_index":3632,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"classes/LumiUserWithContentData.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":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3635,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":20804,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":20802,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":20806,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":20801,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":20805,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":20807,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":20803,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentmeetingid",{"_index":2112,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":19690,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18221,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":11994,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15016,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":11998,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":11996,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":11999,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15086,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15098,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1315,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":24769,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":4834,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{}}}],["parentsfinished",{"_index":20768,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":20769,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":20770,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18212,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":20765,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":20766,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":20767,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17243,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttype",{"_index":5933,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"classes/LumiUserWithContentData.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":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":24286,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":24312,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":24288,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":23173,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1813,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.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":484,"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/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":12876,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["partialtype",{"_index":21860,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2173,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":20838,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":23452,"title":{},"body":{"license.html":{}}}],["parts",{"_index":23495,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":23612,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":23758,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":24271,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":760,"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":487,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":24728,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14010,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1434,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14019,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["passportstrategy(strategy",{"_index":14014,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["passthrough",{"_index":6881,"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":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.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":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":307,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17498,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17503,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17502,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1648,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17487,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17488,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":252,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14136,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7107,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":24529,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":334,"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":21914,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":2982,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4100,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4103,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5030,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":8751,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":7625,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":7620,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":325,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":13598,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":13590,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":15965,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":18665,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":18662,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":3783,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":20552,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":20555,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":20558,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":16933,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":16920,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":16924,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":300,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":4717,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":4697,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1542,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1541,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":16810,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":16818,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":16874,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":18650,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":18661,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":7615,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":7622,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":7624,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17483,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":22661,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":22679,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":16850,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":16973,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":16877,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":328,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":299,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":18651,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":18664,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17504,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":10525,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17509,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":23717,"title":{},"body":{"license.html":{}}}],["patents",{"_index":23776,"title":{},"body":{"license.html":{}}}],["path",{"_index":360,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CopyFiles.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OAuthService.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":10976,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":10746,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["path.replace(':token",{"_index":1260,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1561,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["path.targetpath",{"_index":18878,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3619,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":18881,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":18906,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3637,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2624,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3661,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3663,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":10936,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":18867,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":18882,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":17692,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":18875,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":17633,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3643,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":253,"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":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICourseProperties.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":24359,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.test(firstchar",{"_index":6842,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern_login_from_dn",{"_index":12864,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["payload",{"_index":1616,"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":19628,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":20103,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":19713,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":19712,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":19741,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":19707,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":19711,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":19710,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":19709,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":7272,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2658,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":23819,"title":{},"body":{"license.html":{}}}],["peer",{"_index":23620,"title":{},"body":{"license.html":{}}}],["peers",{"_index":23623,"title":{},"body":{"license.html":{}}}],["pem",{"_index":7253,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":10666,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["per",{"_index":8794,"title":{},"body":{"injectables/ElementUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":19345,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":24413,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":19344,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":19362,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["performing",{"_index":15999,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":19348,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":11727,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":11939,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":11942,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":11941,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":23725,"title":{},"body":{"license.html":{}}}],["permission",{"_index":643,"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":{},"interfaces/INewsProperties.html":{},"interfaces/IRoleProperties.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.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":4703,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":24730,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":19832,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":24760,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":8640,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":24745,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":10454,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":10619,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":10626,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":10628,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":10629,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":10625,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":10624,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":10623,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":24788,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":19834,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16212,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":23031,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16179,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16175,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16174,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":16991,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":16800,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":16797,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":10473,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":24741,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":23030,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":20960,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":20961,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":9946,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":19833,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15154,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15152,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":4586,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":20239,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":24738,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":4775,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":22957,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":22963,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":23014,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":11003,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1723,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.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":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":4705,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":4711,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":21074,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":21079,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":21075,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":21076,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":21078,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":21077,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":4664,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":4665,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":4635,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":21080,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":21081,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":21084,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":21085,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":21082,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":21083,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":10148,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16211,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1725,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":10142,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":4786,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":21088,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":21091,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":4662,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":10457,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":4666,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":4663,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":4695,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":4781,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":216,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":23554,"title":{},"body":{"license.html":{}}}],["permit",{"_index":23584,"title":{},"body":{"license.html":{}}}],["permits",{"_index":23404,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":23353,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":20995,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":21011,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":22605,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":20233,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":23661,"title":{},"body":{"license.html":{}}}],["persist",{"_index":7376,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"interfaces/ICollectionFilePath.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":7986,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":7980,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":7988,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":14580,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["persistent",{"_index":1256,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["person",{"_index":18960,"title":{},"body":{"interfaces/SanisPersonResponse.html":{},"interfaces/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":23631,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":18965,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{}}}],["personenkontexte",{"_index":18994,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["personenstatus",{"_index":18966,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{}}}],["perspective",{"_index":24711,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":23837,"title":{},"body":{"license.html":{}}}],["php",{"_index":10537,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":23590,"title":{},"body":{"license.html":{}}}],["physically",{"_index":23602,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":15748,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":15753,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":18995,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["piece",{"_index":24133,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":23378,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":22476,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pipe",{"_index":1082,"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":1120,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1139,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":22734,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":11012,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":22630,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":24259,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1140,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":7252,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":20831,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":12511,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["placeholder.length",{"_index":12648,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["placeholders",{"_index":12674,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":12654,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["places",{"_index":24168,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":3895,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1369,"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":1367,"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":1141,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1151,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":11195,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1149,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1153,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["player",{"_index":10542,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2395,"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":24534,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":23762,"title":{},"body":{"license.html":{}}}],["png",{"_index":9368,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":7287,"title":{},"body":{"classes/CreateNewsParams.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":23912,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3069,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":24807,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pool",{"_index":23273,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":4741,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"interfaces/IRepoLoader.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":20751,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3686,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3694,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3454,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/ICourseProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":20146,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":20154,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":21166,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":21168,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1196,"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":23627,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1553,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{}}}],["pos.x",{"_index":7742,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":7745,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":2804,"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":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.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":7788,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":7877,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":7878,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":7659,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":7694,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":23599,"title":{},"body":{"license.html":{}}}],["possession",{"_index":23569,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":23892,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2493,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"controllers/OauthSSOController.html":{},"classes/SchoolInMigrationError.html":{},"controllers/SystemController.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":2962,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.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":{},"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":21549,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":21529,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/delete/:contentid",{"_index":12044,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":12146,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":12041,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":12157,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":12079,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":2988,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4111,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5035,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":8757,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":18681,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":18653,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":22934,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":22920,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":3792,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":20581,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20541,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":19656,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":12125,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":12076,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":16910,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":22194,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":22120,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8086,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8083,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15385,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":18685,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":18656,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15390,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":13586,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15394,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14483,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8089,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":22184,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":22159,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":13573,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":13594,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8095,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":21460,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{}}}],["post(subpath",{"_index":1543,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["post.body.params",{"_index":1146,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6074,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6085,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6075,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19110,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6077,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19108,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6079,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":19111,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6084,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6087,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":12037,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":12075,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["posth5pcontentcreateparams",{"_index":11454,"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":11452,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["postloginredirect",{"_index":16407,"title":{},"body":{"injectables/OAuthService.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"classes/SSOLoginQuery.html":{},"injectables/UserMigrationService.html":{}}}],["potential",{"_index":6913,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":24820,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":23964,"title":{},"body":{"todo.html":{}}}],["power",{"_index":23539,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":24586,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":23318,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":23365,"title":{},"body":{"license.html":{}}}],["practice",{"_index":23794,"title":{},"body":{"license.html":{}}}],["practices",{"_index":24543,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":23969,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":23356,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4209,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":23284,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":23759,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":24334,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":24392,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":13416,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["preferred",{"_index":23470,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18058,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18061,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":261,"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/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ISchoolProperties.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LegacySchoolController.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":{},"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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.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":12436,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["preloadedcss",{"_index":10553,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":5850,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":10554,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":24156,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":24412,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":14737,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":22861,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":22871,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":24419,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":23309,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4205,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["present",{"_index":23854,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2197,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":23465,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":23692,"title":{},"body":{"license.html":{}}}],["preset",{"_index":22750,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":24092,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2429,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["prevented",{"_index":23654,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1642,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":6495,"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.producer",{"_index":17624,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":17651,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":17652,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":10674,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":10672,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":10673,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":10675,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_possible",{"_index":10670,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewactionsloggable",{"_index":17546,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview",{"_index":17607,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":17648,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":17642,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":17665,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":17663,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17557,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":17689,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":17703,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":17574,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17550,"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":11401,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":11404,"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":17580,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules.html":{}}}],["previewgeneratorbuilder",{"_index":17585,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":17645,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":17590,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":17583,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":17584,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":11214,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules.html":{}}}],["previewgeneratorservice",{"_index":17594,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":17614,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":10662,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewmoduleconfig",{"_index":17577,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17553,"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":17555,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17556,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":6477,"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":17654,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":6490,"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":17700,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":17573,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":17622,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":17579,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":11130,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":6439,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":10740,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":10735,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":10743,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":10742,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":10737,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":10738,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":6478,"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":17656,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":23761,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":13012,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["previously",{"_index":5629,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5191,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":23374,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":23821,"title":{},"body":{"license.html":{}}}],["primary",{"_index":566,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{}}}],["primarykey",{"_index":2412,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["principle",{"_index":24136,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":24128,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":23727,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":8851,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":7370,"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":246,"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":241,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":394,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17494,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17500,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":8860,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":603,"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/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"classes/ClassMapper.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/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":{},"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":{},"classes/DeletionRequestScope.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/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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":{},"injectables/OauthUc.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":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":{},"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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.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":{},"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":16615,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14059,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":7243,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":10544,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3669,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":5576,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":23857,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":23650,"title":{},"body":{"license.html":{}}}],["proceed",{"_index":17458,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["proceedbuttonurl",{"_index":17424,"title":{},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"injectables/UserMigrationService.html":{}}}],["process",{"_index":7082,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process.dto.ts",{"_index":16359,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16361,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16360,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":15898,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":12320,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":12332,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":12500,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["processing",{"_index":4700,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processoauthlogin",{"_index":17196,"title":{},"body":{"injectables/OauthUc.html":{}}}],["processoauthlogin(cachedstate",{"_index":17205,"title":{},"body":{"injectables/OauthUc.html":{}}}],["processredirect",{"_index":12321,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":12335,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":12246,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":12254,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":23811,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1606,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":17623,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":18736,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":18740,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":18738,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":18739,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":18737,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":24325,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2064,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":12469,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":23822,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14384,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":23370,"title":{},"body":{"license.html":{}}}],["program's",{"_index":23548,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":23923,"title":{},"body":{"license.html":{}}}],["programming",{"_index":23475,"title":{},"body":{"license.html":{}}}],["programs",{"_index":23379,"title":{},"body":{"license.html":{}}}],["progress",{"_index":6413,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":23512,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":23536,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":23816,"title":{},"body":{"license.html":{}}}],["project",{"_index":22616,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18318,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":17758,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":17783,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":17785,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":17781,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":17705,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":17778,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":17771,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":17782,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":17751,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":17775,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":17773,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":17747,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":17779,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":17780,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":17777,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":23467,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":23462,"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":{},"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/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IToolLaunchStrategy.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.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/MigrationCheckService.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/OauthUc.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/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/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":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":14634,"title":{},"body":{"injectables/LdapService.html":{}}}],["promise.all",{"_index":933,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/LegacySchoolUc.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/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":16308,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":7939,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":18879,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18210,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":7960,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2362,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":7931,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16306,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":10241,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":10244,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":10243,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":21784,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18159,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3086,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":22603,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3067,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2653,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":16945,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":13976,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17296,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":19650,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promises",{"_index":2357,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":23198,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17286,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1715,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["propagate",{"_index":23435,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":23745,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":23445,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":13317,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3133,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":24489,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.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":{},"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":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.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":{},"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":{},"injectables/CollaborativeStorageAdapter.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":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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/File.html":{},"classes/FileContentBody.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.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/LdapConnectionError.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":{},"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":{},"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":{},"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/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.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/NewsListResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.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":{},"entities/Role.html":{},"classes/RoleDto.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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.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/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"classes/ScopeRef.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":{},"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":{},"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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemScope.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.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":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TimestampsResponse.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/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.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":{},"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/UserLoginMigrationError.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/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2655,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2663,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16075,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":172,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.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":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.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":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.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":{},"entities/News.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.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":170,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/News.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@unique",{"_index":9461,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":20061,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({fieldname",{"_index":4856,"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":160,"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/LdapConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfig.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/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2440,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":11958,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2656,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2659,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2609,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2649,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2657,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":21607,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":21608,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2620,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1322,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1324,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":381,"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":{},"injectables/ContextExternalToolRepo.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/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":{},"interfaces/INewsProperties.html":{},"classes/ImportUserResponse.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":{},"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/OauthLoginStateDto.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"classes/RichTextElement.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.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/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/UserMigrationResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["props.abbreviation",{"_index":6715,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":13097,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.accesstoken",{"_index":15400,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.activated",{"_index":200,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.alias",{"_index":13251,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.alternativetext",{"_index":10400,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.availabledate",{"_index":13290,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":12316,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2557,"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.bucket",{"_index":10466,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.cancelbuttonurl",{"_index":17430,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["props.caption",{"_index":10399,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":13671,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":12856,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["props.client",{"_index":12939,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.client_id",{"_index":1405,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1407,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":16518,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":16519,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.closedat",{"_index":22222,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1413,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":6797,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":7747,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":13112,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.completed",{"_index":20067,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":1993,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.content",{"_index":7114,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":12723,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.context.type",{"_index":4863,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":9203,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":9192,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6044,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.contextref",{"_index":5972,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6046,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.cookies",{"_index":12313,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":6803,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":7007,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7008,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":12721,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["props.create",{"_index":10638,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":407,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.creator",{"_index":7117,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.credentialhash",{"_index":190,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":12309,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":7403,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":1985,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":7469,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":7611,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":10640,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":8429,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":10480,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":10479,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.deletedcount",{"_index":8304,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":10700,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.deletionrequestid",{"_index":8306,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":6790,"title":{},"body":{"entities/Course.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Material.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":13287,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":4846,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7116,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":5974,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.domain",{"_index":8299,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":13292,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":10084,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["props.enddate",{"_index":13055,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["props.endpointurl",{"_index":13095,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.expiresat",{"_index":198,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.externalgroups",{"_index":16708,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7120,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{}}}],["props.externalidtoken",{"_index":16719,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalorganizationid",{"_index":8978,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.externalschool",{"_index":16706,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":11692,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4406,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":16704,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":8984,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":6805,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":13049,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18081,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":22224,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":10080,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.flagged",{"_index":12860,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":13422,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.friendlyurl",{"_index":7414,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":8974,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":7420,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":16525,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":13118,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.gradecomment",{"_index":13120,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.graded",{"_index":13116,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.gradelevel",{"_index":4337,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.grant_type",{"_index":1411,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":7749,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":7827,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["props.height",{"_index":4131,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":12719,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.hydracookies",{"_index":6397,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":405,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.idmreferenceid",{"_index":812,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":16492,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15240,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importuserid",{"_index":13665,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":13041,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":18455,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":13042,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4349,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":10697,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.isdirectory",{"_index":10463,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":7422,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":7407,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":7479,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.istemplate",{"_index":7405,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4412,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":7387,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1658,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":13423,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.lastloginsystemchange",{"_index":13427,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.lastname",{"_index":10082,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.lasttriedfailedlogin",{"_index":196,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":15472,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":13257,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.ldapdn",{"_index":4354,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["props.lesson",{"_index":13297,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":12940,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.localcookies",{"_index":6395,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":7471,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":10500,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":13667,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":9032,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":7391,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":9237,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":6716,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":7393,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":7395,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":22218,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":13672,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":12858,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":12724,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.merlinreference",{"_index":12942,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.method",{"_index":21639,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":10695,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.modifiedcount",{"_index":8302,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4342,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.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":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":7412,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":13253,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.officialschoolnumber",{"_index":8994,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":13255,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.opennewtab",{"_index":7418,"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":8300,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":22754,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":11732,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":11696,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":4829,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":7408,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.outdatedsince",{"_index":13429,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.parameters",{"_index":5976,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3621,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3622,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3628,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":10348,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parenttype",{"_index":10347,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.password",{"_index":186,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":21640,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.permissions",{"_index":10499,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IRoleProperties.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.position",{"_index":3630,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.postloginredirect",{"_index":16730,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.preferences",{"_index":13425,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.previousexternalid",{"_index":13038,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{}}}],["props.privacy_permission",{"_index":7401,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":13293,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17428,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["props.properties",{"_index":21589,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":16731,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.provisioningstrategy",{"_index":13259,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{}}}],["props.provisioningurl",{"_index":13261,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{}}}],["props.pseudonym",{"_index":9468,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":13301,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.read",{"_index":10636,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":10680,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect",{"_index":22483,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["props.redirect_uri",{"_index":1409,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":16521,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":7723,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":12311,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":10497,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":10633,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":16494,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":7475,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":7477,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":13101,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.relatedresources",{"_index":12944,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.requesttoken",{"_index":10682,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.resource_link_id",{"_index":7397,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":12314,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.role",{"_index":11916,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.roleid",{"_index":11909,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":8986,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":13669,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":12853,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["props.roles",{"_index":7399,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/IRoleProperties.html":{},"entities/LtiTool.html":{},"entities/Role.html":{}}}],["props.school",{"_index":6793,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/ICourseProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/News.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4344,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":13007,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["props.schooltool",{"_index":6042,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":19116,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":5970,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4410,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":7473,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":7389,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":13099,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.secretvalue",{"_index":1660,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":10489,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":21087,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":10491,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":10464,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.skipconsent",{"_index":7416,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4358,"title":{},"body":{"entities/ClassEntity.html":{},"entities/CourseNews.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7122,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4360,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":22239,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":22214,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":6801,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":22220,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.state",{"_index":16728,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.status",{"_index":1987,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":1989,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":10465,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":10467,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":13110,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.studentcount",{"_index":4414,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7009,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["props.subjects",{"_index":12946,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.submitted",{"_index":13115,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.successor",{"_index":4356,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.system",{"_index":9009,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.systemid",{"_index":194,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/ProvisioningSystemDto.html":{}}}],["props.systems",{"_index":13044,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":12948,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.target",{"_index":3459,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":12950,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.targetmodel",{"_index":22753,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":8427,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":8431,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":22241,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":22216,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":13114,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.teacherids",{"_index":4348,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.teachernames",{"_index":4408,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4428,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":21102,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":13121,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.teamname",{"_index":21104,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":13303,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":13390,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{}}}],["props.teamusers.map((teamuser",{"_index":13391,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.text",{"_index":18454,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":10486,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":10487,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":9193,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3631,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":188,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.tokenendpointauthmethod",{"_index":16523,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":13005,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["props.toolid",{"_index":9470,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":5978,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":12756,"title":{},"body":{"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4528,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4404,"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":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":8976,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":6799,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":409,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.updater",{"_index":7118,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":7385,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/LdapConfig.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":11915,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/ImportUser.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.userid",{"_index":192,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.userids",{"_index":4345,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":13046,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/OauthLoginStateDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":184,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.users",{"_index":8972,"title":{},"body":{"classes/ExternalGroupDto.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":11694,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":11689,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":11730,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":11690,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":7497,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{}}}],["props.version",{"_index":9033,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.versionkey",{"_index":10503,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":10634,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4351,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["propsfactory",{"_index":449,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2481,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":23383,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":448,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.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":{},"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":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.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":{},"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/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/SystemFactory.html":{},"classes/TaskFactory.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":22707,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":22701,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":22706,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":23519,"title":{},"body":{"license.html":{}}}],["protection",{"_index":23559,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14270,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14326,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14202,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":23673,"title":{},"body":{"license.html":{}}}],["prototype",{"_index":1006,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":23872,"title":{},"body":{"license.html":{}}}],["provide",{"_index":636,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.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":3308,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"interfaces/OauthCurrentUser.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":4677,"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":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginStateDto.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.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":12475,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["provider.client",{"_index":16772,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":16806,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":16768,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":16846,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":16858,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":16864,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":16879,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":16854,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":16861,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":16876,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":16871,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":16883,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":16868,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":16866,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":16873,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":16856,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":16885,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13466,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":16889,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14161,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17273,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17276,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17278,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":16770,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17011,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17066,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17034,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17047,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17039,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17058,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17046,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17037,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17057,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17041,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17051,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17052,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17056,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17043,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17049,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17062,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17045,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17054,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17060,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":16894,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17069,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17072,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17074,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17070,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":16827,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":136,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":146,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4255,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4257,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":5543,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13438,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13439,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15254,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15402,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16365,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":18412,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":22579,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":22580,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":5637,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":5594,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":5604,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":5607,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":5610,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":5613,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":5614,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":5617,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":5619,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":5621,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":5625,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":5602,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":5626,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":5627,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":5630,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":5631,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15407,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15414,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15411,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15412,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15415,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15417,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15418,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15419,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15423,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15424,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15425,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15410,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":5634,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":5632,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18276,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18282,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18278,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":16845,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":9851,"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":17801,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":109,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18298,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":17797,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":17792,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":13904,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":17800,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":17802,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13441,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":16794,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":123,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":16617,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":16618,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/mapper/oauth",{"_index":16980,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":16766,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13449,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":16946,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":16771,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":16824,"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":16887,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14253,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":16886,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":9847,"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":17793,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":13218,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["providerredirectresponse",{"_index":16826,"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":208,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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":{},"injectables/DeleteFilesUc.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":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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/LegacySchoolApiModule.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/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/RocketChatModule.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/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":8234,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4603,"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":4691,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":19259,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":23723,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":17823,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":17837,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17301,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17309,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17302,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17311,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17303,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17313,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning",{"_index":11837,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":22572,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17405,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17299,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:121",{"_index":17310,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:166",{"_index":17307,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:191",{"_index":17316,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:20",{"_index":17305,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:32",{"_index":17312,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:69",{"_index":17314,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":13165,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["provisioningdto",{"_index":13950,"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":17807,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningmodule",{"_index":16577,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["provisioningservice",{"_index":16393,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":13161,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["provisioningstrategy:10",{"_index":17293,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17292,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:24",{"_index":13948,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:28",{"_index":13947,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:30",{"_index":18977,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17291,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:34",{"_index":18976,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17403,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:61",{"_index":13942,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17402,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningsystemdto",{"_index":16698,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":17842,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":17853,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":13162,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["provisionuser",{"_index":16390,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":16413,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":19562,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":23862,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1472,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1473,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1474,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":9460,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":17949,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":9459,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":9462,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":9463,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":9464,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":17922,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":17894,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":10275,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":9473,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:10",{"_index":9482,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:104",{"_index":9498,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:112",{"_index":9494,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:13",{"_index":9491,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:24",{"_index":9489,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:39",{"_index":9487,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:48",{"_index":9484,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:69",{"_index":9486,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:77",{"_index":9496,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:91",{"_index":9500,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":10216,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":17923,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":17924,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":17887,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["pseudonymcontroller",{"_index":17893,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":17913,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18029,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":17918,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":17903,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":17912,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":4672,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{},"modules.html":{}}}],["pseudonymous",{"_index":7362,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":17898,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":17980,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":17883,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":17961,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":17905,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":17900,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":9466,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":21366,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":21370,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18013,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":9502,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":9493,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":10188,"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":17929,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":17891,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18011,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18009,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":662,"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/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.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":{},"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":{},"classes/FileRecordSecurityCheck.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.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/MigrationMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.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":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.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":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"entities/Task.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/TestHelper.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"classes/UsersList.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":{}}}],["publicbackendurl",{"_index":16476,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["publicclient",{"_index":14272,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":23695,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":7250,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16223,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":20279,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":24203,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13268,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18032,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":20447,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18035,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":4973,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":2773,"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":23118,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":23317,"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/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4206,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":23809,"title":{},"body":{"license.html":{}}}],["put",{"_index":4081,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/LegacySchoolController.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":21818,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":21807,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4095,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5026,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":8746,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":21499,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":21478,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':schoolid/migration",{"_index":14798,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["put(':schoolid/migration')@authenticate('jwt')@apiokresponse({description",{"_index":14784,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["put(':scope/:scopeid/start",{"_index":22822,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":22810,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":16912,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":22191,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":22153,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":22188,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":22145,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":10902,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1539,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1538,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":24035,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":7274,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":24026,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":24606,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":6841,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14444,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":12341,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14398,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":23735,"title":{},"body":{"license.html":{}}}],["quality",{"_index":23871,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":24634,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":24020,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":13864,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":13867,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":310,"title":{},"body":{"controllers/AccountController.html":{},"controllers/CardController.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.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":{},"controllers/UserMigrationController.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":13639,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":7641,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":7642,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":16831,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":13719,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17160,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.error",{"_index":17161,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.firstname",{"_index":13707,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":13724,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":21994,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":21993,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":13710,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":13713,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":13720,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":13722,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.migration",{"_index":17154,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.name",{"_index":22441,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.postloginredirect",{"_index":17155,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.role",{"_index":13714,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":19208,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.state",{"_index":17150,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.targetid",{"_index":16055,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16053,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":9812,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":21984,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16057,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":22397,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":24311,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":19462,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":22606,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":22612,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7178,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7160,"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":9925,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":22598,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":22627,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":22626,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2214,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2290,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2280,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":6884,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":11239,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2279,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":12342,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":16565,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":11135,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq",{"_index":1225,"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":18052,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":24010,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":24003,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18050,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18057,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":11206,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rabbitmqwrappertestmodule",{"_index":11274,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rabbitpayload",{"_index":11142,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":11143,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":11133,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3534,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3549,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1610,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":11361,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":12161,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":12160,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":21220,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":21254,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":11359,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":21219,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":11019,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":11015,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":11017,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15080,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15076,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15078,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":12441,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["rd",{"_index":12445,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["re",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":12430,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["react",{"_index":24125,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1678,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":1682,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1215,"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":18084,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":21313,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18075,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18082,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18072,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18077,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":21003,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":20999,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":21004,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":10914,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":10937,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3131,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":10915,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":10941,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readily",{"_index":23799,"title":{},"body":{"license.html":{}}}],["reading",{"_index":23676,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":21008,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":177,"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":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.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/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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IErrorType.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.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/OauthUc.html":{},"classes/OidcConfig.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":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemFactory.html":{},"injectables/SystemOidcService.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":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":21226,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ready",{"_index":14496,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["real",{"_index":24037,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":6774,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14134,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":12903,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14240,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14249,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14251,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":10677,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.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":23600,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":20450,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":23733,"title":{},"body":{"license.html":{}}}],["receive",{"_index":23377,"title":{},"body":{"license.html":{}}}],["received",{"_index":13915,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"license.html":{}}}],["receives",{"_index":23750,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":23813,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":24471,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":24193,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":23660,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":23806,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1372,"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":23473,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":24502,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":24548,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":24546,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":14629,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":14682,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":988,"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":{},"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":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IUserProperties.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":10761,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":10769,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":10766,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":10771,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2174,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3326,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3325,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3332,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3344,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":10950,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3372,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3404,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":23962,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2119,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{}}}],["redirect_to",{"_index":17803,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1394,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":9912,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18279,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18284,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":16836,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":16672,"title":{},"body":{"classes/OauthConfigResponse.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturi",{"_index":12402,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturi.tostring",{"_index":16480,"title":{},"body":{"injectables/OAuthService.html":{}}}],["redirecturis",{"_index":7533,"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":18280,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":3954,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18289,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":19555,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":3955,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14060,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18285,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["redisstore",{"_index":19550,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":23907,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":3959,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":24809,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5189,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":3789,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.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":8537,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.builder.ts:6",{"_index":8539,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.do.ts",{"_index":19113,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":19115,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":19114,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":6376,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":6377,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":6379,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":2737,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":6372,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":6374,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":6373,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["refactor",{"_index":7996,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacySchoolUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":10326,"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":3467,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1739,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.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":{},"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":1741,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":21384,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":21720,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":21728,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":21732,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":7731,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.loader",{"_index":1850,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":21744,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":21747,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":11058,"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":1812,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":21742,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":21748,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":21755,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":21752,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":21757,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:28",{"_index":21750,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":21751,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1837,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1844,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":21764,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1847,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":21766,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1849,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3474,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":21716,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":21712,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":21713,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":18516,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":21715,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":18515,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":21714,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3395,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":21769,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:10",{"_index":21772,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:17",{"_index":21778,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:40",{"_index":21780,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:57",{"_index":21776,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:71",{"_index":21774,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3452,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/INewsProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":8491,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedid",{"_index":7714,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":7791,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2675,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["referenceloader",{"_index":1806,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["referencemodels",{"_index":7929,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2668,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.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":2731,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3108,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3104,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(taskelement",{"_index":3102,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":2736,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":7792,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referer",{"_index":12289,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":23373,"title":{},"body":{"license.html":{}}}],["refers",{"_index":23419,"title":{},"body":{"license.html":{}}}],["refid",{"_index":10620,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":24552,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":23252,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":21326,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":21329,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":10469,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":10416,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":10621,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":23842,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":16792,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":18911,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":16487,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["regard",{"_index":23681,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":23307,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":23570,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":23496,"title":{},"body":{"license.html":{}}}],["regex",{"_index":5541,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.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":15905,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":7457,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":6562,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`${sourceid",{"_index":6575,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":22636,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":9447,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":5537,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":9449,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["region",{"_index":6515,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":17610,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":17611,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":18918,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18214,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18220,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":17824,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":17839,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":24778,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["regular",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":23722,"title":{},"body":{"license.html":{}}}],["reject",{"_index":14635,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":14643,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":5592,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16366,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16367,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16368,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16369,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16370,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16371,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":16811,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":16820,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":16967,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":16975,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":5753,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":5756,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":16821,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":7292,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"classes/KeycloakConsole.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"entities/Submission.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":{}}}],["relatedresources",{"_index":12928,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["relation",{"_index":11834,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19052,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":10644,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":13366,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":12937,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["relative",{"_index":12361,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["relative.org",{"_index":5795,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":24521,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":23414,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":23406,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":23564,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":23415,"title":{},"body":{"license.html":{}}}],["reload",{"_index":17713,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":23798,"title":{},"body":{"license.html":{}}}],["remain",{"_index":23617,"title":{},"body":{"license.html":{}}}],["remains",{"_index":23371,"title":{},"body":{"license.html":{}}}],["remember",{"_index":116,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":117,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":5563,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":5561,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":23844,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":23846,"title":{},"body":{"license.html":{}}}],["removal",{"_index":23683,"title":{},"body":{"license.html":{}}}],["remove",{"_index":1832,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/OauthUc.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.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":{}}}],["removechild",{"_index":2793,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":2811,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":{},"classes/RpcMessageProducer.html":{},"modules/VideoConferenceModule.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":2729,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":10916,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":10947,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17304,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17315,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":14915,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":14927,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":7660,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":7696,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14040,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14050,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1048,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1585,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1600,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":13567,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":13581,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":10468,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2307,"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(entity",{"_index":2338,"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":11564,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":7710,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":11565,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":7709,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":7661,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":7698,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":10949,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["removesecrets(collectionname",{"_index":12677,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":12680,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":12682,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7015,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":6850,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":6848,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4265,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":11594,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4274,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16296,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16300,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":11025,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":11033,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":9601,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":2957,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16278,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":6487,"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":8011,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8018,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":23886,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":18713,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":18718,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2707,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2719,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":23876,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":24164,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14352,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":12487,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["repeats",{"_index":15681,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":12488,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["replace",{"_index":1888,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":11537,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":14756,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1816,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.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":6563,"title":{},"body":{"injectables/CopyFilesService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":265,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":298,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":24642,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":23966,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":24646,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replyto",{"_index":1375,"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":2487,"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":{},"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":{},"interfaces/IRepoLoader.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"injectables/TemporaryFileStorage.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":7184,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":24513,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.ts",{"_index":24249,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":625,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":8398,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":19764,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":21236,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repoloader",{"_index":12983,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["repoloader.populate",{"_index":12985,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":12986,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["report",{"_index":8067,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":24345,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":24553,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":24524,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":5444,"title":{},"body":{"modules/CommonToolModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":23948,"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":17986,"title":{},"body":{"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":17989,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":17988,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":12953,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["represent",{"_index":23647,"title":{},"body":{"license.html":{}}}],["representation",{"_index":576,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":5587,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":10886,"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":18323,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":11355,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17182,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":22825,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18322,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":10898,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18363,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":11356,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18364,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18327,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18362,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18361,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18336,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18341,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18342,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18340,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18343,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18317,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":141,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.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":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.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'})@apiresponse({status",{"_index":4701,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["request(event",{"_index":11255,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request.body",{"_index":14674,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.ts",{"_index":111,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":5551,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15403,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":5559,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15404,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":5566,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6172,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6173,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6174,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":8440,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":8401,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:16",{"_index":8403,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:20",{"_index":8404,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:24",{"_index":8406,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:28",{"_index":8408,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:32",{"_index":8410,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:36",{"_index":8412,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":8419,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:21",{"_index":8420,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:24",{"_index":8423,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:27",{"_index":8422,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":8421,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":8437,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:9",{"_index":8439,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":8479,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6161,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:113",{"_index":9664,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:117",{"_index":9671,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:123",{"_index":9675,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:129",{"_index":9678,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:135",{"_index":9682,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:141",{"_index":9668,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:158",{"_index":9686,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":8450,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:170",{"_index":9662,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":21360,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6168,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":8449,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":21358,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":9691,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6165,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":19149,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:87",{"_index":9658,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":8399,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":8459,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:10",{"_index":8463,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:13",{"_index":8478,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:17",{"_index":8471,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:27",{"_index":8465,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:33",{"_index":8469,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:48",{"_index":8477,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:55",{"_index":8473,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:66",{"_index":8475,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:77",{"_index":8467,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":21641,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":21643,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":21647,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":21645,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":21642,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.schoolid",{"_index":19153,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6171,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":8397,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":8506,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:10",{"_index":8510,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:13",{"_index":8512,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:34",{"_index":8517,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:40",{"_index":8516,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:46",{"_index":8521,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:50",{"_index":8518,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:54",{"_index":8519,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:58",{"_index":8514,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":19152,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6175,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":21634,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":21635,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":21636,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":21638,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":21637,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.user.user",{"_index":23954,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":19154,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2149,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":24310,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":5571,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":5598,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":12247,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(userid",{"_index":12257,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17083,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17104,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestdata",{"_index":15454,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":5624,"title":{},"body":{"classes/ConsentResponse.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["requested_access_token_audience",{"_index":5599,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":5600,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requesthandler",{"_index":18320,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":8381,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["requestinfo",{"_index":18304,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18337,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":16603,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":12918,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18353,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":21811,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":15452,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":13899,"title":{},"body":{"modules/InterceptorModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requesttimeout",{"_index":18667,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":18682,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":21325,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1223,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/OAuthService.html":{}}}],["requesttoken(code",{"_index":16415,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":5622,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":12631,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":13992,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":11474,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":10961,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":22857,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":142,"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":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.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":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"classes/MigrationBody.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":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolParams.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/SystemIdParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.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":277,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4196,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4162,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredextensions",{"_index":10556,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1673,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.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":1721,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1734,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1736,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2521,"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":3144,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14262,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":23619,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":9425,"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":23431,"title":{},"body":{"license.html":{}}}],["res",{"_index":6863,"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":{},"controllers/OauthSSOController.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":10901,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1514,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.cookie('jwt",{"_index":17173,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.data.destroy",{"_index":10899,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":18898,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.redirect(errorredirect.tostring",{"_index":17138,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(oauthprocessdto.redirect",{"_index":17174,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(redirect",{"_index":17156,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(response.redirect",{"_index":17190,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.send(externaltoollogo.logo",{"_index":21562,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":11358,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":21559,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":21558,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":11364,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":11363,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18330,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":19558,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":219,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":14097,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14367,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18338,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18344,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":17628,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":17636,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":5575,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":14642,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3030,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"license.html":{}}}],["resolvedgroup",{"_index":11802,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":11819,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":11820,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":11821,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":11816,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":11817,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":11827,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":11822,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":11642,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":11879,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":11883,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":9867,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":9874,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":21923,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":18378,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":21924,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":18382,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":11878,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":11893,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":12990,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["resolvepermissions(user",{"_index":17518,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17515,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17522,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":12651,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["resolverepo",{"_index":18292,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":12978,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["resolves",{"_index":13769,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":16546,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":16552,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5231,"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":21511,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5248,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5266,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":5416,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5270,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":5417,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5271,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":5411,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5272,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":5412,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":5413,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":5418,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5273,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":7368,"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":5410,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":5408,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceid",{"_index":16327,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourcename",{"_index":16328,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13499,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13502,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5155,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5153,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":8548,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2263,"title":{},"body":{"injectables/BBBService.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":23067,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":23068,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":23069,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":8566,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":8558,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":8556,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.url",{"_index":8561,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":23543,"title":{},"body":{"license.html":{}}}],["respective",{"_index":24349,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":12408,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":23989,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":15958,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":24166,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":824,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.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":{},"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":{},"injectables/MigrationMapper.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/PageContentMapper.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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/SystemController.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.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":21363,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14387,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1577,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":6505,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":6507,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":10868,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":9754,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":11369,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":11362,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":11367,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6195,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6196,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":10369,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14399,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":11365,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.displayname",{"_index":6197,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":24182,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14388,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1571,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4149,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":1969,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":1976,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":1979,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":1980,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":1978,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":1974,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:26",{"_index":5702,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:38",{"_index":5701,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":10365,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6192,"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":21361,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":9755,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14385,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14389,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16363,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.logourl",{"_index":6200,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":3731,"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":782,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.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/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:11",{"_index":21832,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:111",{"_index":19007,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":15432,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":19169,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":18562,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":786,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":18460,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":11795,"title":{},"body":{"classes/GroupResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17029,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6206,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:23",{"_index":17023,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":9212,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":18458,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":18564,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15247,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":19984,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":19001,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:35",{"_index":19166,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:37",{"_index":11798,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6212,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17026,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:43",{"_index":20082,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":9774,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6209,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":18567,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":15430,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["response.mapper.ts:52",{"_index":11801,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:53",{"_index":19010,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":788,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:64",{"_index":19003,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:68",{"_index":19005,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":3729,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:71",{"_index":9765,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":18566,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:75",{"_index":9770,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:79",{"_index":9772,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9213,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:83",{"_index":9768,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":18459,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":18565,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":18745,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":12156,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":9752,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":9756,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6198,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16364,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":21362,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.schoolid",{"_index":19159,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6194,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":6885,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":11109,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":22986,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.status",{"_index":19160,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":11520,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":16841,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.token_endpoint",{"_index":14386,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":17937,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6199,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18037,"title":{},"body":{"classes/PublicSystemResponse.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18042,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:17",{"_index":18043,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:24",{"_index":18040,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:31",{"_index":18041,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18039,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.url",{"_index":9753,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":17938,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":9757,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":24243,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":12343,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":16587,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":16568,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":10773,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18328,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18339,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":18973,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":11935,"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":18319,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18349,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":16449,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":16572,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":16566,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":9343,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":24307,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":24132,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":23751,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":24779,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":24780,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":21701,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":23990,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":8685,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":22122,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":15854,"title":{},"body":{"classes/MigrationResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":18402,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":22189,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":22144,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(schoolid",{"_index":22344,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(userid",{"_index":18405,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartuserloginmigrationuc",{"_index":18400,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":24619,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":18796,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":20579,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":18819,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":20554,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":24504,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":13376,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":10545,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restricting",{"_index":23537,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":23710,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":23708,"title":{},"body":{"license.html":{}}}],["result",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.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/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsScope.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":{},"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.content",{"_index":19987,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19055,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19057,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19056,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.image?.url",{"_index":15727,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14303,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":7779,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":19463,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4249,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":8226,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result[sortby",{"_index":13693,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":7759,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":23400,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18088,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":8225,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map((account",{"_index":14455,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":8647,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["resultuser",{"_index":22601,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14467,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14475,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14471,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14473,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14513,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":23664,"title":{},"body":{"license.html":{}}}],["retried",{"_index":12444,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrieve",{"_index":15962,"title":{},"body":{"controllers/NewsController.html":{}}}],["retry",{"_index":12442,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrycount",{"_index":12432,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrydelay",{"_index":12433,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retryflags",{"_index":12440,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["return",{"_index":349,"title":{},"body":{"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":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.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/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":{},"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/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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.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/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":{},"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/ExternalToolVersionService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.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/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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"entities/Role.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":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.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/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.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/TestHelper.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.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":2012,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":482,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.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/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.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":22137,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":18888,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":6401,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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/ExternalToolVersionService.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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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/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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":24427,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":5555,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":24258,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":21561,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":22313,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:13",{"_index":22317,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:7",{"_index":22315,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":22127,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":20539,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":20557,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":20957,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":22314,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":22316,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":24567,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":23329,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":23896,"title":{},"body":{"license.html":{}}}],["revised",{"_index":23852,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":16881,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":16851,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":16942,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":16880,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17059,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17073,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":12881,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["rewindsequence",{"_index":460,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":16602,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rich",{"_index":2881,"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":18415,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":5774,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":2870,"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":18260,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":5805,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":5802,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":18445,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":8708,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"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":3213,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3555,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3579,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":18453,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":18443,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":3772,"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":5710,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":5697,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":18463,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":20846,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":4836,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":23658,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":23384,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":10960,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":10975,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":23870,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":11510,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":983,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":18471,"title":{},"body":{"modules/RocketChatModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket.chat",{"_index":24641,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":13020,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":24691,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":24690,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":18473,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":24689,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":992,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/ISchoolProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.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":24688,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":989,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1084,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1009,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":974,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":18468,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rocketchatmodule.forroot",{"_index":19540,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":969,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1018,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["role",{"_index":276,"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":{},"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/ICollaborativeStorageStrategy.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfig.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OidcConfig.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":13383,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{}}}],["role.factory",{"_index":22087,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":7331,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":15504,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":15507,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":4661,"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":4712,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":21098,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":21099,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":21100,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1724,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["role.roles.isinitialized(true",{"_index":21178,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":13229,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleattributenamemapping",{"_index":13226,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roledto",{"_index":4630,"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":18540,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":21150,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":21152,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":21154,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":4748,"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":22050,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":18482,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":18547,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":18545,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":18543,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":15509,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":15517,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19029,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1420,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{},"modules.html":{}}}],["rolename",{"_index":4660,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.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":12844,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":24786,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":10259,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.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":15514,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":10258,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":15510,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":13689,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":13716,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":13699,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":12841,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":15516,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":13230,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["rolepermissions",{"_index":13431,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["roleref",{"_index":22705,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":7334,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":13969,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":7328,"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":17335,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":18497,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3140,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{},"interfaces/OauthCurrentUser.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.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":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":13430,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["roles.length",{"_index":17378,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17338,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":21177,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17379,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17529,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":4734,"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":13227,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleteacher",{"_index":13228,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roletype",{"_index":13222,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleuc",{"_index":18498,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":18863,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["rollbackmigration",{"_index":19315,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["rollbackmigration(originalschooldo",{"_index":19335,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["rollbackmigration(userdocopy",{"_index":22503,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":18967,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":18949,"title":{},"body":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":23667,"title":{},"body":{"license.html":{}}}],["room",{"_index":7671,"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":8605,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":8678,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":8603,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3466,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":8667,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":8656,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":8652,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":14699,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":18615,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1042,"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":7700,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":7771,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1034,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":7675,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":8626,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":7777,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":6907,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["roomsauthorisationservice",{"_index":8587,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":14702,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":6896,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":14700,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":18618,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2426,"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":3165,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3167,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":5385,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3163,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":13215,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roster",{"_index":10171,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":10170,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:100",{"_index":10199,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:137",{"_index":10194,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:145",{"_index":10203,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:153",{"_index":10192,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:163",{"_index":10196,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:169",{"_index":10191,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:199",{"_index":10210,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:211",{"_index":10214,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:222",{"_index":10212,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:232",{"_index":10207,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:53",{"_index":10189,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:63",{"_index":10205,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:78",{"_index":10201,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":10111,"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":18334,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1563,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["routenameinput",{"_index":21277,"title":{},"body":{"classes/TestApiClient.html":{}}}],["routepath",{"_index":18307,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":23301,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1187,"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":23766,"title":{},"body":{"license.html":{}}}],["rp",{"_index":12774,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":18742,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":11145,"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":11241,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":11256,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":11252,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":11254,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":24650,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":24647,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1466,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1467,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1468,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":16559,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7103,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1879,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":5505,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1885,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":18782,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1768,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1780,"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":18784,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":18786,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":10547,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.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":10555,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":24454,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2175,"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":22804,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":23291,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1457,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":966,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.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":968,"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":1645,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["s3",{"_index":8212,"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":18833,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":18834,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8200,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":11393,"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":18922,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":18842,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":18908,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":18901,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":18885,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8187,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":11216,"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/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"modules.html":{}}}],["s3clientmodule.register",{"_index":24821,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":11231,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":12193,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":17616,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":6513,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.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":12187,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["s3configlibraries",{"_index":12188,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["safest",{"_index":23909,"title":{},"body":{"license.html":{}}}],["safety",{"_index":23310,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":23774,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2196,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2207,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/SchoolMigrationService.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":10104,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":17166,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":24582,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":10297,"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":24465,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":24275,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":24466,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":24355,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":24322,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":18941,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":24036,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisgrouprole",{"_index":18950,"title":{},"body":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19018,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19017,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":18940,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19020,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupuser.ktid",{"_index":19039,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupuser.rollen",{"_index":19040,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupusers",{"_index":19034,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":18942,"title":{"interfaces/SanisGruppenResponse.html":{}},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":18946,"title":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":18933,"title":{"interfaces/SanisGruppeResponse.html":{}},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{}}}],["sanislaufzeitresponse",{"_index":18939,"title":{"interfaces/SanisLaufzeitResponse.html":{}},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{}}}],["sanisnameresponse",{"_index":18953,"title":{"interfaces/SanisNameResponse.html":{}},"body":{"interfaces/SanisNameResponse.html":{},"interfaces/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":18956,"title":{"interfaces/SanisOrganisationResponse.html":{}},"body":{"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":18964,"title":{"interfaces/SanisPersonenkontextResponse.html":{}},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":18959,"title":{"interfaces/SanisPersonResponse.html":{}},"body":{"interfaces/SanisPersonResponse.html":{},"interfaces/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":17812,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":18980,"title":{"interfaces/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":17813,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole",{"_index":18968,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19012,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19014,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19013,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19015,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":11832,"title":{"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"interfaces/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":17826,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":22366,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":22370,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":23259,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":7299,"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":7300,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5",{"_index":20675,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizer",{"_index":23941,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":5769,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":18423,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":5783,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":5780,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":5803,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":24183,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":10140,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":313,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":10136,"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/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/SystemRepo.html":{},"injectables/SystemService.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":3365,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["save(entities",{"_index":716,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(entitydo",{"_index":2342,"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":{}}}],["save(group",{"_index":11857,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":14929,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(systemdto",{"_index":20462,"title":{},"body":{"injectables/SystemService.html":{}}}],["save(user",{"_index":22682,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":402,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":793,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":796,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":804,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":806,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":801,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":803,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":797,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":805,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":802,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":800,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":798,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":795,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":794,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":799,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3373,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18211,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:109",{"_index":18233,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:125",{"_index":18234,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:139",{"_index":18235,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:152",{"_index":18236,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:165",{"_index":18231,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:181",{"_index":18228,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:188",{"_index":18222,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:196",{"_index":18225,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:202",{"_index":18219,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:36",{"_index":18217,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:40",{"_index":18223,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:54",{"_index":18230,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:68",{"_index":18229,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:81",{"_index":18226,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:95",{"_index":18232,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2308,"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(entitydos",{"_index":2344,"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":22684,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":13568,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":13637,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":13585,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":6276,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":6288,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":9954,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":6293,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":9516,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["saveddos",{"_index":2354,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddos[0",{"_index":2356,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":11765,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedgroup",{"_index":11866,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedmigration",{"_index":22357,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["savedpassword",{"_index":15276,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":11768,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17333,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["saveduser",{"_index":17351,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17354,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":22697,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":21204,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":21224,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":12038,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":12078,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":11451,"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":18215,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18224,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":12154,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":19191,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":19204,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":19559,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3403,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3406,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":683,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":702,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":22595,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":23615,"title":{},"body":{"license.html":{}}}],["sc",{"_index":3990,"title":{},"body":{"injectables/CalendarMapper.html":{},"interfaces/ICalendarEvent.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":18347,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":13063,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["sc_theme",{"_index":4954,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":10785,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":10679,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanresult",{"_index":1203,"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":1241,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":10780,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":10779,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1238,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1239,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":10767,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":6485,"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":10784,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":10778,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":10781,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":12541,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["scanstatus",{"_index":6440,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":10720,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.error",{"_index":10723,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.pending",{"_index":10678,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.verified",{"_index":10729,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":10726,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scdomain",{"_index":14264,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":24411,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":24402,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":3751,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"controllers/ElementController.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":24247,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":24248,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":5357,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":654,"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":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.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":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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":{},"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":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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":21403,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":24742,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":13388,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["school._id",{"_index":13841,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.controller",{"_index":14769,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.controller.ts",{"_index":14772,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:101",{"_index":21798,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:121",{"_index":21794,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:28",{"_index":14786,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school.controller.ts:46",{"_index":21805,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":14781,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school.controller.ts:61",{"_index":21801,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:79",{"_index":21809,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":14809,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":14814,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":14815,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":14818,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":14816,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":14817,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":14820,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":14813,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":14819,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":14821,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":14811,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":14812,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":16700,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":8988,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":8991,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":8992,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":8990,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":6770,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["school.factory",{"_index":6986,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":14836,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":14932,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":14934,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":14933,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":16447,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":15821,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["school.module",{"_index":14767,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.module.ts",{"_index":14859,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17324,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["school.officialschoolnumber",{"_index":1966,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":14688,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":14691,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":14861,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":14864,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:24",{"_index":14872,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:28",{"_index":14867,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:35",{"_index":14869,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":14905,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":14906,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":14908,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":14907,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":21999,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":14910,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:10",{"_index":14917,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:16",{"_index":14926,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:21",{"_index":14928,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:29",{"_index":14921,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:35",{"_index":14919,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:41",{"_index":14923,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:47",{"_index":14930,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":14664,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":14665,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(systemid",{"_index":17328,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems?.filter((systemid",{"_index":22369,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school.uc.ts",{"_index":14941,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:101",{"_index":14945,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:16",{"_index":14943,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:26",{"_index":14950,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:77",{"_index":14948,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school/controller/dto/migration.body.ts",{"_index":15808,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:12",{"_index":15811,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:21",{"_index":15810,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:30",{"_index":15809,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.response.ts",{"_index":15851,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:14",{"_index":15857,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:20",{"_index":15856,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:26",{"_index":15855,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:31",{"_index":15852,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:8",{"_index":15858,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/school.params.ts",{"_index":19399,"title":{},"body":{"classes/SchoolParams.html":{}}}],["school/controller/dto/school.params.ts:11",{"_index":19400,"title":{},"body":{"classes/SchoolParams.html":{}}}],["school/controller/legacy",{"_index":14771,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school/error/school",{"_index":19390,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/legacy",{"_index":14764,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school/mapper/migration.mapper.ts",{"_index":15832,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["school/mapper/migration.mapper.ts:7",{"_index":15835,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":19439,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":19441,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":19442,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":10318,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":14909,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":19444,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":19426,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17318,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school/uc/dto/oauth",{"_index":16742,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["school/uc/legacy",{"_index":14940,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school?.id",{"_index":17410,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["school_external_tools",{"_index":13003,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["school_in_migration",{"_index":19278,"title":{},"body":{"classes/SchoolInMigrationError.html":{}}}],["school_migration_failed",{"_index":19303,"title":{},"body":{"classes/SchoolMigrationError.html":{}}}],["school_number_duplicate",{"_index":19393,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":19398,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schooldo",{"_index":13925,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":13929,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldo.features",{"_index":22374,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":22375,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":22376,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":13928,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":13930,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldo.previousexternalid",{"_index":19381,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldo.systems",{"_index":19379,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldo.systems.push(targetsystemid",{"_index":19380,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":19351,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":644,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolentity(props",{"_index":14880,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolexclusive",{"_index":19599,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19097,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":1898,"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":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":21797,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":9083,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":19174,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":1955,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":19177,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":9087,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":19176,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19084,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":21453,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19086,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltooldto",{"_index":19150,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6034,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolentity(props",{"_index":19135,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["schoolexternaltoolfactory",{"_index":19091,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19096,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":5993,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19098,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":6103,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmodule",{"_index":6068,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["schoolexternaltoolparams",{"_index":21803,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":21813,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19107,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolprops",{"_index":19076,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":19121,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":19232,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":5961,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1807,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":19145,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":19155,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":19161,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":21808,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21793,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1769,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":9065,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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":9079,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10270,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":9881,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":19123,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":19170,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":19173,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":19184,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":6308,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"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":9124,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":9128,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":19218,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19105,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolexternaltoolversion",{"_index":19248,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":6985,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":6995,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":21155,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":13013,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":22361,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17332,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17319,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17362,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4266,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"injectables/NewsUc.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OidcProvisioningService.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":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.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":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7001,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":19264,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":19274,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":19295,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":19296,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":19297,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16032,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16037,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16004,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationerror",{"_index":16506,"title":{"classes/SchoolInMigrationError.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationError.html":{}}}],["schoolinusermigrationendloggable",{"_index":19279,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":19285,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":19359,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationerror",{"_index":19301,"title":{"classes/SchoolMigrationError.html":{}},"body":{"classes/SchoolMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationerror(details",{"_index":22415,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationflags",{"_index":19304,"title":{"interfaces/SchoolMigrationFlags.html":{}},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["schoolmigrationservice",{"_index":4572,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":13219,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{}}}],["schoolnews",{"_index":7130,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7128,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":14924,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":18997,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":19389,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":19432,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermissingloggableexception",{"_index":19394,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":19906,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":22160,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":7553,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":13002,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolparams",{"_index":14776,"title":{"classes/SchoolParams.html":{}},"body":{"controllers/LegacySchoolController.html":{},"classes/SchoolParams.html":{}}}],["schoolparams.schoolid",{"_index":14801,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["schoolrepo",{"_index":12954,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":13030,"title":{"classes/SchoolRolePermission.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":13033,"title":{"classes/SchoolRoles.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":24766,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":10669,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":14878,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":1961,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3328,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":19408,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3598,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":19417,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":19418,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":19411,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schooltomigrate",{"_index":17224,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schooltomigrate(currentuserid",{"_index":19338,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooltool",{"_index":6027,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["schooltool.school",{"_index":6135,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["schooltoolid",{"_index":6053,"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":5954,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltype",{"_index":12934,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["schooluc",{"_index":14797,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["schoolvalidationservice",{"_index":14857,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4392,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":13017,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":14840,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":11901,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":11376,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":14839,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":14851,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearquerytype",{"_index":4383,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":14858,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":14856,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":7288,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2081,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.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":12360,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":16965,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["scope",{"_index":5558,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.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":{},"interfaces/ISystemProperties.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/LegacyLogger.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/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/PseudonymScope.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemRepo.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":24722,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":20795,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":20794,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":20793,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":20808,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":20815,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":6141,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":20819,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":13787,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycontextid(query.context?.id",{"_index":6139,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycontexttype(query.context?.type",{"_index":6140,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":20821,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15071,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16096,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":20813,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":20810,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":13779,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15073,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.byid(query.id",{"_index":6137,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":13781,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":13783,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":13789,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16092,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":13785,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":13777,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":19136,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byschooltoolid(query.schooltoolref?.schooltoolid",{"_index":6138,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16091,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":19137,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16095,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":13775,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":22911,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":20823,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":20812,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":20817,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7177,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7175,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7186,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7182,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7185,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":22881,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":13791,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":22443,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":20825,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":23110,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":23114,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":23112,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":6134,"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/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SystemRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":10291,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":22887,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16204,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":21070,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":21072,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":14742,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":8499,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":15120,"title":{},"body":{"classes/LessonScope.html":{},"classes/SystemScope.html":{}}}],["scope.ts:12",{"_index":8504,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":10849,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":20452,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":20892,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":10856,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":10858,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:31",{"_index":10851,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:37",{"_index":16131,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":20890,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":20887,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":15119,"title":{},"body":{"classes/LessonScope.html":{},"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":20894,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":8503,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:60",{"_index":20884,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":20901,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":10854,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":20896,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:8",{"_index":16133,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:83",{"_index":20882,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":20900,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:95",{"_index":20898,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":20430,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":20432,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":20434,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope:11",{"_index":6253,"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":6251,"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":6265,"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":6267,"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":6254,"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":16201,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16184,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":20993,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":10112,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/IScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":22872,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":22897,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":22889,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":9693,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":9790,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":9739,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":13059,"title":{},"body":{"interfaces/IScopeInfo.html":{}}}],["scopeoperator",{"_index":6252,"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":22791,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":22828,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":20992,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":20991,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":19470,"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":22827,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":22883,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2617,"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":13474,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13468,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13475,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":24805,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":15765,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":15766,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":11420,"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":23168,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":8211,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":18832,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":813,"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":9807,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":9809,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":9810,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":835,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":840,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":841,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":24317,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":266,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":309,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":684,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":704,"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":21471,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":13851,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13531,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":22263,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":22266,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":9744,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":13216,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["searchusername",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":13217,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["second",{"_index":2721,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":23437,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":23391,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":6840,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":5564,"title":{},"body":{"classes/ConsentRequestBody.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["secret",{"_index":1491,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/ICollectionFilePath.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/SystemFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":6518,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14519,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14027,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":12671,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1654,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":16600,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":23587,"title":{},"body":{"license.html":{}}}],["secure",{"_index":17170,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5290,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":10452,"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":10882,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":10888,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":10891,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":10417,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":10691,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["securitycheckstatus",{"_index":6464,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["see",{"_index":511,"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":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.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":8050,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":12466,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["seed.service",{"_index":14163,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14537,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14541,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":14546,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14542,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14543,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14544,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14545,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8041,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8049,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":24395,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":12563,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":12578,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeded",{"_index":14491,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":12574,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":12598,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeding",{"_index":24589,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":12465,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":23979,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":24141,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":4948,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":24767,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14179,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14206,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14667,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":18780,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":18758,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":18764,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":24714,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":23789,"title":{},"body":{"license.html":{}}}],["selling",{"_index":23773,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":23421,"title":{},"body":{"license.html":{}}}],["senario",{"_index":24418,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1209,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1540,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{}}}],["send(params",{"_index":1548,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1221,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":16547,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":16554,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendhttpresponse",{"_index":11485,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":11501,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":24188,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1730,"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":20282,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1126,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1308,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":23626,"title":{},"body":{"license.html":{}}}],["separate",{"_index":14747,"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":16598,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":23573,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15015,"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":24198,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":23290,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":461,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.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":{},"interfaces/ICollectionFilePath.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":11974,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":12220,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":13656,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":20361,"title":{},"body":{"classes/SystemFactory.html":{}}}],["serialization",{"_index":19914,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":3888,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["serialize(documents",{"_index":3898,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2414,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":3900,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":23260,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":24100,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2024,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.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":{},"injectables/TemporaryFileStorage.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.config",{"_index":19536,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":19493,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module.ts",{"_index":15679,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":15685,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":24119,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":24118,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":24798,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/types",{"_index":5884,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":23982,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":23959,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":632,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":24602,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":13077,"title":{},"body":{"interfaces/IServerConfig.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":19472,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":19484,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["servercontroller",{"_index":19495,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":19498,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["servermodules",{"_index":19537,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":23401,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":19578,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["serves",{"_index":23480,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":560,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.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/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolUc.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":{},"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":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.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":24801,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":8952,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":19412,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":19414,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":19416,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":10115,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":24294,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":10110,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":9852,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":9904,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":9907,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17065,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":10167,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":10279,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":10287,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":10285,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":10282,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":10304,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":10305,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1744,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:10",{"_index":1751,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:5",{"_index":1745,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3418,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":21628,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3321,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":3956,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":3999,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3604,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":6967,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/copy",{"_index":6593,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":17122,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{}}}],["service/dto/page",{"_index":17435,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["service/files",{"_index":11124,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":12270,"title":{},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthModule.html":{}}}],["service/id",{"_index":17012,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14084,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":21629,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/oauth",{"_index":16754,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":12271,"title":{},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{}}}],["service/oidc",{"_index":17404,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":11151,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":17817,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18085,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rooms.service",{"_index":18723,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":19405,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":8774,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/system",{"_index":20393,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/user.service",{"_index":22570,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":21052,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":19810,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":19812,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":19816,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":18830,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":4729,"title":{},"body":{"modules/CollaborativeStorageModule.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":628,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":626,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":627,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1446,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/deletion",{"_index":8396,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":424,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":21092,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":21053,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/ldap.service",{"_index":1447,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14492,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":23875,"title":{},"body":{"license.html":{}}}],["session",{"_index":118,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17033,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17031,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17032,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.destroy((err",{"_index":17131,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["session.oauthloginstate",{"_index":17145,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["session.response.ts",{"_index":5638,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":5646,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":5647,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":5645,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":5642,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15408,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2158,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":19547,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessionhandler",{"_index":17084,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sessionhandler(session",{"_index":17107,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sessions",{"_index":16937,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":16939,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":517,"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/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/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"controllers/LegacySchoolController.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":{},"classes/MigrationBody.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.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/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/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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('authorization",{"_index":1537,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":5510,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1546,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":13148,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["set(permissions",{"_index":12999,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["set(tasksubmitterids",{"_index":13349,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":10377,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":10374,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":20039,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":14721,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":4813,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":14730,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":9179,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":12334,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":12378,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":15216,"title":{},"body":{"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":19966,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setgroupname",{"_index":11566,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":7713,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4035,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4075,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15220,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":18435,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setlearnrooms",{"_index":7662,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":7701,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":13569,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":13588,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":12878,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["setmigration",{"_index":14774,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigration(schoolid",{"_index":14949,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigration(schoolparams",{"_index":14782,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["setmigrationmandatory",{"_index":21342,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":22151,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(schoolid",{"_index":22348,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(userid",{"_index":21345,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setname(name",{"_index":10714,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14098,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setrangeresponseheaders",{"_index":12039,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":12081,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3127,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":4751,"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":21142,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":4612,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":4625,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":22718,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":18431,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":18913,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":12490,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["setting",{"_index":7134,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":24309,"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":2246,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":12414,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4144,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":23117,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":23119,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":23120,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4031,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15213,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3519,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICollectionFilePath.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":24598,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":24032,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":24640,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":24639,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":12580,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["setupsessions",{"_index":19546,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":19572,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["seturl(value",{"_index":15212,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":21138,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13512,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13539,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":20042,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setuserstatus(authtoken",{"_index":1023,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2281,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2285,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2283,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2217,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18053,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1129,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":19621,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":19603,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":340,"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":{},"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":{},"interfaces/ICoreModuleConfig.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4540,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2243,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15283,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/controller",{"_index":247,"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/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":152,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":11317,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":24265,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"modules/AccountApiModule.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/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.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":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto-1.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/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.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/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.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":{},"classes/RenameFileParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RoleDto.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":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.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":{},"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/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1747,"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":{},"interfaces/IRepoLoader.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":3417,"title":{},"body":{"injectables/BoardDoRule.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CurrentUserMapper.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/OidcProvisioningService.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/ShareTokenDO.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserService.html":{}}}],["shared/domain/domainobject/base.do",{"_index":5965,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/link",{"_index":5770,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3038,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":12338,"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":9122,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/UserDORepo.html":{}}}],["shared/domain/domainobject/user.do",{"_index":7329,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":1718,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TeamRule.html":{},"classes/UserDO.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["shared/domain/entity/account.entity",{"_index":722,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4333,"title":{},"body":{"entities/ClassEntity.html":{},"entities/ContextExternalToolEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/ShareToken.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18237,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":11724,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":7428,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":15698,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":11726,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ITaskParent.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":22234,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":13015,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":23077,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/index",{"_index":16795,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["shared/domain/interface",{"_index":4969,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/Course.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/TaskRepo.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15011,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":13164,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["shared/domain/interface/video",{"_index":22910,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/types",{"_index":2501,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardExternalReference.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ContentElementFactory.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/ElementContentBody.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/NexboardService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/ShareTokenDO.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{}}}],["shared/domain/types/entity",{"_index":13084,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["shared/domain/types/input",{"_index":13272,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/domain/types/session",{"_index":16739,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["shared/pipes",{"_index":24289,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":227,"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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"interfaces/IRepoLoader.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.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":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.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":15594,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":723,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":4678,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":9803,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":8213,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":20428,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":13093,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["shared/repo/user/user",{"_index":22567,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":23047,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":3556,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4367,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":21151,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":21148,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":21043,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":21149,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":15998,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":24266,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":24283,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":24269,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":10557,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":6723,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken(props",{"_index":19726,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["sharetoken.context",{"_index":19822,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":19746,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":19745,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":19825,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":19773,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":19744,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":19595,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":19664,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":13081,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":19813,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":19611,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":19838,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":19614,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":19660,"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":19673,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":19681,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":19627,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":19652,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":19701,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":19700,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":19699,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":19688,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":19642,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":19639,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":19655,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":19636,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":13082,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"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":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":19682,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":19775,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":19777,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":19702,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":19840,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":19831,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":19666,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":19706,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":19742,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenrepo",{"_index":19714,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":19643,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":19640,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":19649,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":19623,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":10418,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["sharetokenservice",{"_index":19747,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":13083,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":19641,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":19626,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":19501,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["sharingmodule",{"_index":19855,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["shit",{"_index":6775,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7078,"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":24557,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":23233,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":6845,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":10043,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["shouldskipconsent",{"_index":16968,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":16977,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":15815,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":15818,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16157,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":13026,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":13027,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15420,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2208,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":24816,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":15448,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":15449,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1480,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":15456,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":23648,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1479,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1442,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":23411,"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":24149,"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":10562,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":23995,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":24231,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":24422,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":23308,"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":23836,"title":{},"body":{"license.html":{}}}],["sind",{"_index":4937,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3309,"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":3318,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3319,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":24614,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":24615,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":18563,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":6486,"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":11302,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":24696,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":10929,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":823,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":7830,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["skeleton",{"_index":2951,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5044,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4200,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4202,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4210,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4201,"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":{},"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/ICleanOptions.html":{},"interfaces/IFindOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IPagination.html":{},"interfaces/IRetryOptions.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":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":7381,"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":828,"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":23987,"title":{},"body":{"todo.html":{}}}],["slow",{"_index":12592,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":24142,"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":15787,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":13225,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["snapshotlogicchecks",{"_index":10560,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":10558,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socketio",{"_index":23263,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":23348,"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":23635,"title":{},"body":{"license.html":{}}}],["sole",{"_index":23507,"title":{},"body":{"license.html":{}}}],["solely",{"_index":23515,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3132,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":23920,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":20826,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somemethod",{"_index":24347,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":24205,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13446,"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":24793,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":18947,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":18945,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{}}}],["soon",{"_index":24706,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4509,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":9921,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":9922,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":19874,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3049,"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":3119,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3000,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3028,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3118,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3120,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":12608,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["sortedchildren",{"_index":3299,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":15781,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":15788,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":15782,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":9685,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":19879,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":13576,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":20744,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":9917,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":9920,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":23955,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4510,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4513,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":19877,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4515,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":9687,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":11653,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":9743,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":721,"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":{},"interfaces/IPagination.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.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":743,"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":7222,"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":9688,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/ImportUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":7717,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":11725,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":9002,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":9005,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":9004,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.name.familienname",{"_index":19026,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19025,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19036,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19024,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19021,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19023,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation?.id",{"_index":19044,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0]?.gruppen",{"_index":19030,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19028,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":11781,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":9012,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":9014,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":9013,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":8997,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":8999,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":8998,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":24236,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7104,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceexternalid",{"_index":19328,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":6422,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"injectables/UserMigrationService.html":{}}}],["sourceoptions",{"_index":4273,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["sourceparent",{"_index":3444,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3446,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18139,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":6511,"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":24051,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":4838,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":22413,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["sourcesystem",{"_index":17443,"title":{},"body":{"classes/PageContentQueryParams.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["sourcesystemid",{"_index":22204,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["sourcesystemloginurl",{"_index":22525,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sourcesystemloginurl.tostring",{"_index":22528,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sourcetype",{"_index":16010,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":4907,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":23597,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":6789,"title":{},"body":{"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/ICourseProperties.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":23372,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":24074,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":10543,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":24140,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":993,"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":23359,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":24308,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":24365,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":4752,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":21644,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":10534,"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":24481,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":23853,"title":{},"body":{"license.html":{}}}],["split",{"_index":14954,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":24800,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":24564,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":24235,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":11221,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.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":{}}}],["src/core",{"_index":11049,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["src/core/error/dto",{"_index":11641,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":3925,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":3926,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":14659,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1228,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["src/core/logger",{"_index":1341,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.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":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdTokenCreationLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LegacySchoolApiModule.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":{},"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":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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":{},"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/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":11324,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":624,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":11503,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":11325,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{}}}],["src/imports",{"_index":14057,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/modules/authentication",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["src/modules/authorization",{"_index":15711,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["src/modules/authorization/domain",{"_index":11979,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":24516,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":11845,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":11965,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5131,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["src/shared/domain/types",{"_index":22511,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sso",{"_index":16376,"title":{},"body":{"classes/OAuthSSOError.html":{},"controllers/OauthSSOController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":16582,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17078,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:119",{"_index":17111,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:152",{"_index":17096,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:162",{"_index":17106,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:183",{"_index":17101,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:47",{"_index":17087,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:65",{"_index":17103,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:83",{"_index":17108,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:98",{"_index":17092,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.error",{"_index":12268,"title":{},"body":{"injectables/HydraOauthUc.html":{},"controllers/OauthSSOController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso.error.ts",{"_index":16373,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:11",{"_index":16374,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:5",{"_index":16379,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:7",{"_index":16378,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:9",{"_index":16377,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso_auth_code_step",{"_index":12273,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["sso_internal_error",{"_index":16429,"title":{},"body":{"injectables/OAuthService.html":{}}}],["sso_jwt_problem",{"_index":13958,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":22578,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13965,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ssoauthenticationerror",{"_index":1787,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["ssoerror",{"_index":17130,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["ssoerror.errorcode",{"_index":17136,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["ssoerrorcode",{"_index":16380,"title":{},"body":{"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{}}}],["ssoerrorcode.sso_jwt_problem",{"_index":16455,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ssoerrorcode.sso_oauth_login_failed",{"_index":16375,"title":{},"body":{"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["ssologinquery",{"_index":17090,"title":{"classes/SSOLoginQuery.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/SSOLoginQuery.html":{}}}],["stack",{"_index":9283,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.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/UserNotFoundAfterProvisioningLoggableException.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":4920,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":23472,"title":{},"body":{"license.html":{}}}],["standards",{"_index":23474,"title":{},"body":{"license.html":{}}}],["start",{"_index":829,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.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":22808,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":19286,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":19288,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":19287,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":22381,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":6724,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1351,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/OauthUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["startedat",{"_index":22205,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":24790,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":23285,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":19897,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":22185,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":22158,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":22350,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":19900,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["startoauthauthorizationcodeflow",{"_index":17085,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["startoauthauthorizationcodeflow(session",{"_index":17109,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["startoauthlogin",{"_index":17197,"title":{},"body":{"injectables/OauthUc.html":{}}}],["startoauthlogin(session",{"_index":17207,"title":{},"body":{"injectables/OauthUc.html":{}}}],["starts",{"_index":15363,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":13570,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":13592,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2176,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":24625,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":19894,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":238,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"injectables/OAuthService.html":{},"classes/OauthLoginStateDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.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.dto",{"_index":16740,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["state.dto.ts",{"_index":16722,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:10",{"_index":16724,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:12",{"_index":16723,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:4",{"_index":16726,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:6",{"_index":16727,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:8",{"_index":16725,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.entity",{"_index":13019,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":6696,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":6700,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":6703,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":6702,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":6701,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":10309,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":10306,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":10308,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":10307,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":22761,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":14838,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.mapper",{"_index":17119,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["state.mapper.ts",{"_index":16734,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["state.mapper.ts:5",{"_index":16738,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["state.repo.ts",{"_index":10312,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":10313,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":10314,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":8554,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":10319,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":10324,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":10322,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":23500,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17094,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":23032,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":23039,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23712,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":413,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.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":{},"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/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.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/ICleanOptions.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRetryOptions.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":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginStateMapper.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/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"modules/S3ClientModule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.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/SystemFactory.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/TestHelper.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.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/UserMigrationMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":23553,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":8385,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":8387,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":8376,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["statistics_reporting=false",{"_index":24676,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.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":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.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":{},"classes/FileRecordSecurityCheck.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":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.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/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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.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":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.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":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3061,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3106,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3107,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":6630,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2015,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.mapper",{"_index":20702,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":20923,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":20924,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":6633,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":3810,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["status.response.ts",{"_index":3818,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":20932,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:17",{"_index":20931,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":20927,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":3831,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":20928,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":3830,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":20930,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":3826,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":20929,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":3825,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":3827,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":3829,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":3828,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.status",{"_index":3064,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status_code",{"_index":5547,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":991,"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":20705,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3027,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3100,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statusmapping",{"_index":21833,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["statusmapping[status",{"_index":21837,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["statustext",{"_index":1972,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":24162,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":12642,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["steps",{"_index":23385,"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":24729,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":24739,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":24373,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7083,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.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":12640,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3600,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IServerConfig.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":{},"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":4698,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":4682,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4602,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":4618,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":4626,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":4632,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":4624,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":4621,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":4628,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":11222,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":12797,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["storage.const",{"_index":1233,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":11126,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":11131,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":11137,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":11141,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":11139,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":4690,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":4704,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":11165,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":11173,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":11177,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":11171,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":11175,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":11174,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":11179,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":11050,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":4727,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":6468,"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":6539,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":6537,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":6538,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":17655,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":17657,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":10789,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":17653,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":10786,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":10788,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":10987,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":10984,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":10986,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":10617,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":8582,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":8581,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19060,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19061,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19059,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":19873,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18303,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":6536,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":6474,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":6471,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":11073,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":11240,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":11244,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":11246,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":11250,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":11247,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":6433,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":10833,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":10835,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":10836,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":10841,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":10839,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":10840,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":10831,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":10834,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":10837,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":10838,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":10832,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":10758,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":10830,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":6499,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":6500,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":6502,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":6501,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":6435,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":4784,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":4731,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":21215,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":21205,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:13",{"_index":4737,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":21207,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":21213,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":21209,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:31",{"_index":4742,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":21211,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:42",{"_index":4750,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:43",{"_index":21217,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":21221,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:60",{"_index":4739,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:64",{"_index":4738,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":21223,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:68",{"_index":4746,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":21228,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":12750,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["storage.uc",{"_index":4710,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":4772,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":4782,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":4778,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":4777,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":4779,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":4776,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4601,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":4689,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":6432,"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":19054,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":21073,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":10881,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":11125,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":10331,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":10336,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":10334,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":10335,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":10333,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":21101,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":10752,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":10642,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:104",{"_index":10654,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:107",{"_index":10661,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:110",{"_index":10656,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:113",{"_index":10655,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:116",{"_index":10660,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:120",{"_index":10658,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:124",{"_index":10650,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:131",{"_index":10646,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:138",{"_index":10651,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:145",{"_index":10648,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:45",{"_index":10865,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:48",{"_index":10863,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:51",{"_index":10864,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:54",{"_index":10862,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:57",{"_index":10861,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1232,"title":{},"body":{"injectables/AntivirusService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/IFileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper",{"_index":3046,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["storage/helper/test",{"_index":21307,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":11400,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":4648,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":6504,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":10350,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":11164,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17558,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":17564,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":17562,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":4785,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":21048,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":21051,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":10842,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":10791,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:13",{"_index":10812,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:20",{"_index":10814,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:27",{"_index":10804,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:34",{"_index":10806,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:45",{"_index":10808,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:56",{"_index":10810,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:65",{"_index":10802,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:81",{"_index":10816,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:9",{"_index":10817,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":17666,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":17672,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":17678,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":17676,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":17674,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":17683,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":17681,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":17679,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":4730,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":4634,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":4636,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":21025,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":21030,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":21028,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":21132,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":21131,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":21130,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":21029,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":12492,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":12499,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":12496,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":12495,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":12497,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":11926,"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":16227,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16253,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16240,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16239,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16242,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16246,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16233,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16249,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16237,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16234,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16247,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":4771,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":24062,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":24061,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":24063,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":11392,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":17576,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":17615,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":8253,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8199,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":8245,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["storageprovider.endpointurl",{"_index":8240,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":8242,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":8246,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["storageproviderencryptedstringtype",{"_index":13092,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"interfaces/IStorageProviderProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{}}}],["storageproviderentity",{"_index":8197,"title":{"entities/StorageProviderEntity.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":10444,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderrepo",{"_index":8194,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":12509,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":12681,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":12508,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["storagestrategy",{"_index":4683,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":3942,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":3961,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":21754,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":12494,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":4608,"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":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":17855,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":21676,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":21671,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":17851,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":13406,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":13407,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":13409,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":1894,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":4640,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2588,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1448,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1450,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1451,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1452,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":4681,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":4680,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16335,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1453,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":17818,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":11836,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/sanis/sanis",{"_index":17819,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/tool",{"_index":13403,"title":{},"body":{"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{}}}],["stream",{"_index":1217,"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":18916,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":18917,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":6864,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":12114,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":11198,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":10900,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":11366,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":6888,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":17169,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.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/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/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":{},"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":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.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/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.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/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/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":{},"injectables/LegacySchoolUc.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.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/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/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.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":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.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/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":{},"entities/Role.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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"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":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.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":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.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/UserLoginMigrationError.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":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":10985,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":10983,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2288,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":13069,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17356,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":14722,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":14732,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15346,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15352,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":572,"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":151,"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":13686,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":13863,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":13849,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":13855,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":13858,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":22611,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":22608,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":13717,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":13705,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":13708,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":13711,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":22442,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":19950,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}${additionalinfo",{"_index":13964,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":12403,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["strip",{"_index":23266,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":10164,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":24501,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":5384,"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":24229,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":14739,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":6817,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":23953,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3136,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.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":10221,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":13031,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":665,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4393,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":10235,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":13108,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["studentids",{"_index":6810,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7012,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7014,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["studentpermissions",{"_index":22084,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":10245,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":10253,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":6725,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":6975,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":6979,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":666,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":13021,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":20018,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":23316,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":23339,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":24425,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":11422,"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":6410,"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":24814,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":17638,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":12228,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["subdividing",{"_index":23756,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":7840,"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":9915,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":16609,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":12929,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["subjecttype",{"_index":16608,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":16606,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":23786,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":23517,"title":{},"body":{"license.html":{}}}],["submission",{"_index":2883,"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":{},"entities/CourseGroup.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":3741,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":3760,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":3765,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":3754,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":20142,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":13277,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":13347,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":20140,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":20138,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":13339,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":13342,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":13335,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":13341,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":20188,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":20916,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":20193,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":20191,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":13128,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["submissioncontainer",{"_index":20098,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":20104,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":5775,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":2873,"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":8790,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":8787,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":20121,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":5808,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18262,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":19973,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":8711,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"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":3216,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":19971,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4084,"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":4056,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":5711,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":5698,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":19985,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":19990,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":19981,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":3756,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":20106,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":20109,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":19992,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":20016,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":20030,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":20206,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2525,"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":20091,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18265,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":20093,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18264,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":20092,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2543,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":20058,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":20114,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3219,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":20065,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":20053,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":8744,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":3774,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":3781,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":20084,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":8728,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":3777,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":20127,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":20086,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3596,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":20085,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":2756,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":3747,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":20002,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":20011,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrepo",{"_index":1808,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":20009,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1770,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":3742,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":20757,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":13334,"title":{},"body":{"interfaces/ITaskParent.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":13345,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":20010,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":13340,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":20194,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":3768,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":20090,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":3758,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":20004,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":20013,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":20137,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":20003,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":19995,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":3824,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":13333,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":13346,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":20139,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":20063,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":20141,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":21273,"title":{},"body":{"classes/TestApiClient.html":{}}}],["subpermissions",{"_index":17531,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":23492,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":23605,"title":{},"body":{"license.html":{}}}],["subset",{"_index":5557,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3138,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":23643,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":23754,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":24138,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3137,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":6753,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":10237,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":6814,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":10247,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":6726,"title":{},"body":{"entities/Course.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":8715,"title":{},"body":{"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":24444,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["succesfully",{"_index":17099,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["success",{"_index":986,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DeleteFilesUc.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":{}}}],["successful",{"_index":14641,"title":{},"body":{"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15366,"title":{},"body":{"controllers/LoginController.html":{}}}],["successfully",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["successfully.'})@apiresponse({status",{"_index":306,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":21526,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":11933,"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":20251,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":21927,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4272,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["such",{"_index":2725,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":23796,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":23651,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":10131,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":23994,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":23937,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":24358,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":12389,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":24077,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":22619,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":346,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICalendarEvent.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.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":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["super",{"_index":182,"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":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":14582,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":14579,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":6130,"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":11258,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":3863,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2043,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":7433,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":22968,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1005,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":11426,"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(message",{"_index":16351,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["super(oidcprovisioningservice",{"_index":18981,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(props",{"_index":403,"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/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/INewsProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.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":5968,"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":8560,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":833,"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":1319,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2102,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7031,"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":275,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":289,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1500,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1535,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1533,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1530,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supplement",{"_index":23677,"title":{},"body":{"license.html":{}}}],["support",{"_index":2405,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"modules.html":{},"todo.html":{}}}],["support_${objectid",{"_index":13999,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1515,"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":23998,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2459,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":13997,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1133,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.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":23831,"title":{},"body":{"license.html":{}}}],["survive",{"_index":23711,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":23889,"title":{},"body":{"license.html":{}}}],["svg",{"_index":23927,"title":{},"body":{"modules.html":{}}}],["swagger",{"_index":23205,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["switch",{"_index":1931,"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/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":22408,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":12415,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":12787,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":12900,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":12905,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":12788,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["symbol('toolfeatures",{"_index":13396,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13436,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":8803,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":8808,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8052,"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":17283,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2726,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":8042,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14322,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14257,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":984,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3134,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/PageContentQueryParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"classes/SystemResponseMapper.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":{},"injectables/UserMigrationService.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'})@ismongoid",{"_index":17448,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["system.'})@apiresponse({status",{"_index":20285,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":20368,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":10982,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":10909,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":10919,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":10956,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":10921,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":10938,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":10953,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":10942,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":10925,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":10948,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":10935,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":18046,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":18047,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{}}}],["system.dto",{"_index":16701,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":17863,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":17866,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":17865,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":17864,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":9007,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/ImportUser.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.factory",{"_index":13650,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["system.id",{"_index":14628,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserDORepo.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":20324,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":12667,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":12668,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.module",{"_index":20273,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":10981,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":12661,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserMigrationService.html":{}}}],["system.oauthconfig.clientsecret",{"_index":12662,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.oauthconfig.provider",{"_index":17217,"title":{},"body":{"injectables/OauthUc.html":{}}}],["system.oauthconfig?.logoutendpoint",{"_index":16459,"title":{},"body":{"injectables/OAuthService.html":{}}}],["system.oauthconfig?.provider",{"_index":16458,"title":{},"body":{"injectables/OAuthService.html":{}}}],["system.oidcconfig",{"_index":12664,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/SystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":12665,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":20493,"title":{},"body":{"injectables/SystemService.html":{}}}],["system.provisioningstrategy",{"_index":20321,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system.provisioningurl",{"_index":20322,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system.type",{"_index":18045,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{}}}],["system.url",{"_index":20320,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system/file",{"_index":10908,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":11888,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["system?.id",{"_index":22557,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["systemapimodule",{"_index":19502,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{},"modules.html":{}}}],["systemcontroller",{"_index":20270,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdto",{"_index":11880,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["systemdto.alias",{"_index":20477,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.displayname",{"_index":20478,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.id",{"_index":20474,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.oauthconfig",{"_index":20479,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":20480,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.provisioningurl",{"_index":20481,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.type",{"_index":20476,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.url",{"_index":20482,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdtos",{"_index":20299,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":9006,"title":{"entities/SystemEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systemfactory",{"_index":13649,"title":{"classes/SystemFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemFactory.html":{}}}],["systemfactory.build",{"_index":13652,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systemfactory.define(systementity",{"_index":20359,"title":{},"body":{"classes/SystemFactory.html":{}}}],["systemfilterparams",{"_index":20277,"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/IJsonAccount.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":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemOidcMapper.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":17089,"title":{"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{}},"body":{"controllers/OauthSSOController.html":{},"controllers/SystemController.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{}}}],["systemids",{"_index":22368,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":22371,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":20446,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":20373,"title":{"classes/SystemMapper.html":{}},"body":{"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":20473,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":20466,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":20385,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1421,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules.html":{}}}],["systemoidcmapper",{"_index":20394,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":20420,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":20417,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":20404,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14183,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprovisioningstrategy",{"_index":13163,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":13954,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17294,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":18982,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":17873,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":622,"title":{"injectables/SystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":20448,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":20293,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":20302,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":20306,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":20449,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18036,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systems",{"_index":10926,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.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":20280,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":20485,"title":{},"body":{"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":12660,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":22007,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":20444,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":20489,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemscollectionname",{"_index":12507,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["systemscope",{"_index":20427,"title":{"classes/SystemScope.html":{}},"body":{"injectables/SystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":16394,"title":{"injectables/SystemService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["systemstrategy",{"_index":17836,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":20497,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":20367,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":20429,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":20431,"title":{},"body":{"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemtypeenum.oidc",{"_index":20433,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemuc",{"_index":20268,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":479,"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/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":{},"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":{},"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/SystemFactory.html":{},"injectables/SystemRepo.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":20664,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":12612,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16255,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":178,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":11466,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["tags",{"_index":12930,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{}}}],["tags'})@apiresponse({status",{"_index":15716,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":12874,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":20830,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":23630,"title":{},"body":{"license.html":{}}}],["tap",{"_index":8693,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":2739,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PageContentQueryParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolMigrationService.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":10120,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":8859,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2694,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":4964,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":4968,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":4967,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":4966,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":20506,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":20507,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":18697,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":4979,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:11",{"_index":4988,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:33",{"_index":4985,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:8",{"_index":4983,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16137,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16209,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16135,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":4997,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16136,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16008,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":3872,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":3853,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4245,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4228,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4175,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5079,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":7796,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":7797,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":19326,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":12523,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["targetgroups",{"_index":12931,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["targetid",{"_index":7283,"title":{},"body":{"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetids",{"_index":10118,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16034,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16036,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16005,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7105,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.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":16168,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":23083,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":23081,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16205,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":23079,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":23094,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":23087,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3435,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3448,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3442,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3443,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18141,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":10708,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["targetpath",{"_index":6512,"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":10109,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3436,"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":8374,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["targetrefdoamin",{"_index":8378,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["targetrefdomain",{"_index":8371,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["targetrefid",{"_index":8372,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["targets",{"_index":10114,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16208,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":10119,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":4840,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":22414,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["targetsystem",{"_index":17444,"title":{},"body":{"classes/PageContentQueryParams.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetsystemid",{"_index":19323,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetsystemloginurl",{"_index":22522,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["targetsystemloginurl.tostring",{"_index":22527,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["task",{"_index":2686,"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":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.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":{},"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":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":24363,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":20715,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":18644,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":20710,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":8655,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":20974,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":8654,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":20973,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":18639,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":20614,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":20615,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":20713,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":20717,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2687,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":20027,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":20978,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":20704,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":20707,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":12736,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["task.isplanned",{"_index":12738,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["task.ispublished",{"_index":12734,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":18641,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":20163,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":20164,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":20532,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5195,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{}}}],["task.name}${task.description",{"_index":5196,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3472,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":3795,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":3805,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":3806,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":3799,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":3804,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":3800,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":3802,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":3803,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":3801,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":3809,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":3808,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":3798,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":20979,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":20184,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":20921,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":20983,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":20711,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":19503,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{},"modules.html":{}}}],["taskboardelement",{"_index":2697,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":20530,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":20598,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":20619,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":6644,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":20593,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":6646,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3004,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":20527,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":18590,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":18593,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreateparams",{"_index":20667,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":20703,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":20719,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":20709,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":20708,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":20723,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":20720,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3101,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":3707,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":20026,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":20031,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":20683,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":20203,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5192,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5194,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":20151,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":20563,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":20575,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":20560,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":20574,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":14715,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules.html":{}}}],["taskparentdescriptions",{"_index":13279,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":18634,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskrepo",{"_index":1809,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":20564,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":20572,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1771,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5158,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":12733,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["tasks.foreach((task",{"_index":5162,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":20972,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":20754,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":20764,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5107,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskstatus.mapper",{"_index":18569,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":3813,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":3816,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":20701,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":20706,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":20687,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":20926,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":13344,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":20569,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":20573,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":20528,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdateparams",{"_index":20697,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlparams",{"_index":19999,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":18579,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":8621,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"interfaces/ITaskParent.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":8651,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":20971,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3135,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ISchoolProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.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":5187,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5188,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":12412,"title":{},"body":{"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["teacheraccount",{"_index":671,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":10236,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":13283,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4452,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4267,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4394,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":22085,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":10246,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":10252,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4417,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICourseProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":11900,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":6976,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":6982,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":672,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":7358,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":7359,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":4622,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICreateNews.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":7097,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":4657,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":4659,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16272,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16282,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":21173,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":21123,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":21124,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":4755,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":4620,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7096,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":21058,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":21059,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":21054,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":21034,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":21046,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":3970,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":4725,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":13131,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammemberobjectids",{"_index":13129,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammemberobjectids.map((id",{"_index":13132,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammembers",{"_index":13105,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":20019,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":20023,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":4658,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7136,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7127,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16070,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":4754,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":4749,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":4696,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":4631,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":4726,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamrole",{"_index":4693,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":4790,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":4789,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":4694,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":4655,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1772,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":12768,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":21122,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":21127,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13476,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":19504,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{},"modules.html":{}}}],["teamservice",{"_index":21112,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":4735,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":21158,"title":{"modules/TeamsModule.html":{}},"body":{"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules.html":{}}}],["teamsrepo",{"_index":1810,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/IRepoLoader.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":4715,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13269,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":21065,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16248,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":21056,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":21057,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":21055,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16252,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":13382,"title":{"classes/TeamUserEntity.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":13392,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["teamuserfactory",{"_index":21042,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":21047,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":21153,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":21044,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamusers",{"_index":13381,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{}}}],["teamusers(value",{"_index":13389,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["teamusers.map(async",{"_index":16289,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":23965,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":24111,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":8844,"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":23524,"title":{},"body":{"license.html":{}}}],["tell",{"_index":24104,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":5553,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":10927,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["temp/:file",{"_index":12107,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":21251,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":21234,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":12223,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":12226,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":12225,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":12230,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":12224,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":12231,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":21255,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14245,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1077,"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":{},"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":{},"injectables/SystemRepo.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":21408,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":9332,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":5989,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":5990,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6001,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":5998,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":5997,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6000,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":5995,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":5996,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":302,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfilerepo",{"_index":12180,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":12181,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":24782,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":23498,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":24588,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":23716,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":23734,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":23724,"title":{},"body":{"license.html":{}}}],["termination",{"_index":23713,"title":{},"body":{"license.html":{}}}],["terms",{"_index":23305,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":934,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.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":21297,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":11275,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["test.module.ts:29",{"_index":11277,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":11386,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":12198,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":21286,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1510,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":21284,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":24378,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testdata",{"_index":24398,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7183,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":21306,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":12095,"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":12067,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":21293,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14099,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":24517,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":24523,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":24520,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":24519,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":24518,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":21317,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1505,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1569,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1545,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1528,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1532,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["tests",{"_index":2425,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IFileStorageConfig.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":21316,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":21312,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":7261,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["text",{"_index":2882,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.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":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":18438,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":21315,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":18417,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":18419,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":18420,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":18418,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":24281,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":4909,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":4929,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":4945,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":4958,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":24267,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":24282,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3665,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":24810,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":24469,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16293,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2260,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":20835,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7010,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.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":23381,"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":20652,"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":23547,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2463,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":19465,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":17739,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":17740,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":4971,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":4975,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":4864,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._contextid.tohexstring",{"_index":4866,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":13087,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._contexttype",{"_index":4862,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":5945,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":5937,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":11016,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15077,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":22620,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(fetchedentity",{"_index":2375,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":12023,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this._em.create(this.entityname",{"_index":2369,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":728,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":20161,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":11009,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":15596,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":18529,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":19943,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":20436,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":21176,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":740,"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(user",{"_index":22005,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7181,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7033,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":10828,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":13795,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15074,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16102,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":14876,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":20839,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15199,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":21996,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone(account",{"_index":724,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":3700,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":13776,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":15599,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":14874,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":9553,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":22288,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail",{"_index":6136,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":3704,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":3702,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":10315,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":10829,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":13773,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":15598,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16098,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":18527,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":19443,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":19727,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":21172,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2374,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":23086,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":19143,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":22027,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":19141,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(schoolexternaltoolentity",{"_index":6152,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.getreference(systementity",{"_index":14900,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":14902,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":11018,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15079,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":22633,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":13800,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":2400,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":22638,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":3703,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2363,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":3714,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7173,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7032,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16108,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":13774,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15069,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":3712,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15075,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16103,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16099,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":21179,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16106,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":20162,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":3710,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":20755,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16107,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":21174,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":22599,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":21998,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":13799,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":22635,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities",{"_index":2391,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2502,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._id",{"_index":7813,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this._instance",{"_index":17746,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":10698,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":10694,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._isenabled",{"_index":17736,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":10501,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":10461,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14375,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":19464,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":7409,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":7378,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":10494,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":10460,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":5943,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._parentid.tohexstring",{"_index":5939,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._parentid?.tohexstring",{"_index":10459,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":17738,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":19467,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":19466,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":19469,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":19468,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":17737,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":5947,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":5941,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.a11ytitle",{"_index":5911,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.abbreviation",{"_index":6714,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":16832,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":16983,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":13096,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.accesstoken",{"_index":15399,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":959,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":882,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":885,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":887,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":883,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":942,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":16513,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":22538,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":22693,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1619,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14511,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":22549,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":22544,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17353,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1620,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1646,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":372,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":366,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.activated",{"_index":199,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":13190,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.adapter.createteam(team",{"_index":4769,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":4768,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":4770,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":4765,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14275,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":9870,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.addlessons(builder",{"_index":5143,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":6269,"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":16140,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16141,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":10860,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":7766,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5144,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":18988,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":10580,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":13250,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.allowmodstounmuteusers",{"_index":2056,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":7776,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":10392,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1251,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":15661,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":18743,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18069,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3640,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3634,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":6710,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.app",{"_index":1524,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":2728,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2054,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":13998,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":13178,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":14670,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.generatejwt(oauthcurrentuser",{"_index":17232,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.authenticationservice.loadaccount",{"_index":14690,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":14687,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15285,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":14676,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":14675,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":17230,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":14678,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":10582,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":5926,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":20659,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15033,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15012,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":20657,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15027,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":8629,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":18729,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":8639,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":6955,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7191,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7040,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1886,"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/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":21111,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1887,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":19836,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":9958,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16194,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16178,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":20959,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":20236,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":21704,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2535,"title":{},"body":{"classes/BaseUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.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":6970,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":24752,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16210,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16206,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":16796,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":16990,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18012,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1855,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.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/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":20975,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":20982,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1857,"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":24731,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":13237,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.authorizeaccess",{"_index":14119,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":5920,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":4762,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.checkpermission(authorizableuser",{"_index":14974,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":15443,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":4763,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.getuserwithpermissions(userid",{"_index":14956,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.availabledate",{"_index":13289,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.axiosconfig",{"_index":12315,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.basepath",{"_index":12518,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.baseroute",{"_index":1525,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.baseurl",{"_index":2567,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.bbbresponse",{"_index":22763,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":22894,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":22961,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":22981,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":22880,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":23013,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2248,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2250,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2249,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthtime",{"_index":10522,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.board",{"_index":8628,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":8631,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":6921,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2533,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2536,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4248,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":20123,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":4842,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3441,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4183,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5066,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":4828,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":5739,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3158,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3166,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4184,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":4893,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4194,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3445,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5070,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3438,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":5750,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":5741,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":20107,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3161,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":4898,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":4901,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4195,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5071,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":4899,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":4847,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":5751,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3440,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3447,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":20105,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3449,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":18776,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":4900,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4192,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5068,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":5745,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4193,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5069,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":5746,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":21708,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5095,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3524,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":12975,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.boardnoderepo",{"_index":3405,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3401,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3398,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3374,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18240,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3375,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3382,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":18731,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":6911,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":18726,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":18705,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3062,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":21709,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":2989,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":2987,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":2973,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":2978,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5027,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":2983,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":12589,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":12607,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.bucket",{"_index":10483,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":7551,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(params",{"_index":2466,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requiredpermissions",{"_index":1686,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3262,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":6631,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":8634,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":5690,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":5682,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13473,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":5684,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":5686,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":6133,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":5688,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":16448,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":20159,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":18528,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14064,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14063,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":13359,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":13357,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4019,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14127,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17429,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["this.cancreaterestricted",{"_index":12000,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caninstallrecommended",{"_index":12002,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":12004,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":10391,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4211,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5045,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5086,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4241,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4238,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4246,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4235,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5088,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4239,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4240,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4113,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4107,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4092,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":8747,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4101,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4104,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":3932,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":5649,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":5924,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1526,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1564,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":22722,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":22708,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":19814,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":19821,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":14672,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15291,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":20651,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15019,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":20656,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateincontext(contextexternaltool",{"_index":6356,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":18744,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":19771,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":6953,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":19808,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":19820,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":21245,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":17688,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2716,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(schooldo",{"_index":19356,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":5524,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15014,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":20650,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":5526,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":5525,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":19809,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2544,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":19904,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkschoolauthorization(authorizableuser",{"_index":14958,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.checkscopeandvalidateparameter(validatabletool",{"_index":5517,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkstreamresponsive(stream",{"_index":18844,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":8782,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalue(account.userid",{"_index":14669,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":14680,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":14671,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":19252,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":2833,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":2826,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":2838,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":2832,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3256,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3257,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3298,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1237,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":6807,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4498,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4499,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4506,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":13670,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":12857,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":8858,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15284,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1565,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.client",{"_index":12938,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16281,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16309,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16279,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16270,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16280,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16267,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16268,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16263,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16261,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16285,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16294,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16269,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16266,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16311,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16307,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16283,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":18840,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16264,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1404,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":5648,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1406,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13167,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.clientsecret",{"_index":13168,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.clienturl",{"_index":17129,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.clone(newpropsfactory",{"_index":2474,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closedat",{"_index":22221,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":22103,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":22196,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1412,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.color",{"_index":6798,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3095,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":2783,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":18708,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":3868,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":1945,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":3866,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":3873,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":18706,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":4991,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":3869,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":18710,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":3725,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":3870,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5084,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":3871,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5087,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":3874,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5085,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5036,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5034,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4096,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5031,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":13111,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":21677,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":6359,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.checkforduplicateparameters(schoolexternaltool",{"_index":19251,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":9450,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":10037,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.completed",{"_index":20066,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.config",{"_index":1992,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":18839,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":18877,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":22710,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":22721,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15286,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":607,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":6882,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('login_block_time",{"_index":1639,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14265,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get(placeholder",{"_index":12655,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.connect(system",{"_index":14623,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":16931,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":16934,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":12453,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`cleaned",{"_index":12462,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`configured",{"_index":12474,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`migrated",{"_index":12486,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`seeded",{"_index":12468,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.consolewriter.info('error",{"_index":3521,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":19482,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3585,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":19483,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3525,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8069,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1551,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3473,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.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":5811,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":5790,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":5807,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":5791,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":5804,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":5788,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":4961,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":5743,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4197,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":1943,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":11433,"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":11997,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":11995,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":12722,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.contenttype",{"_index":5928,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.context",{"_index":14753,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":11327,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":11328,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":9202,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":15883,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":12977,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.contextexternaltoolid",{"_index":9191,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":6297,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":6296,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":9882,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":6295,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":6291,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":6292,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":5984,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":6294,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":18777,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":19240,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18206,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":6340,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":6341,"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":6336,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyid(contextexternaltoolid",{"_index":6339,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyid(contexttoolid",{"_index":6344,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":6361,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":6335,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":21485,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":21490,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":21497,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":21492,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":21500,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":6333,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextid",{"_index":6043,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["this.contextref",{"_index":5971,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":21717,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttype",{"_index":6045,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this.converterutil.xml2object",{"_index":2262,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2275,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":12312,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":18862,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3052,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3080,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":19824,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":6920,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":20604,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3110,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":6918,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15024,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":20665,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3056,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":6586,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":6804,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3077,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":19827,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18168,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18131,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3073,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":19828,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":20603,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":10584,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":6708,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.course",{"_index":2700,"title":{},"body":{"entities/Board.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":13373,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":13370,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":13327,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":13353,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":13369,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":12744,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.coursecopyservice.copycourse",{"_index":6957,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":18683,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":6971,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":6883,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":12720,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["this.coursegroup.getstudentids",{"_index":13125,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.coursegroup.school.id",{"_index":12745,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.coursegrouppermission(user",{"_index":15112,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":12961,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.coursegrouprule",{"_index":18768,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15115,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":6836,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":6833,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":20689,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":20688,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15113,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":12959,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":6930,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8027,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":20997,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":6916,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":20996,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":6910,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":4835,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15017,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3168,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":18725,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":6932,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":18767,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7041,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":10262,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":21707,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":1940,"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(sharetoken.payload.parentid)).name",{"_index":19774,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":24750,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":24754,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":24758,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":6876,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.create",{"_index":10639,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":22882,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15189,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":18858,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":2740,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":3701,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":18857,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3564,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":8236,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3560,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":406,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{}}}],["this.createelements(1",{"_index":3570,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4191,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createentity(domainobject",{"_index":2360,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createerrorloggable(error",{"_index":11506,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":11516,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":11524,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":11522,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":11526,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":11527,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":21318,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":6569,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":7949,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14282,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14318,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14310,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13472,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":8839,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewentityfromdo(domainobj",{"_index":2390,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewentityfromdo(domainobject",{"_index":2367,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewmigration(schooldo",{"_index":22354,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18257,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14514,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":21988,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":4910,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":20981,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":8650,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusermigrationdto",{"_index":22545,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.createusersearchindex",{"_index":12618,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.creator",{"_index":13295,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":6454,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.credentialhash",{"_index":189,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":16911,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":16916,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":16901,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":16904,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":16913,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":12308,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":7402,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":7818,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8030,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8026,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8029,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":7635,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":7638,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":7643,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboardurl",{"_index":22531,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.data",{"_index":834,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":12561,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":12559,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":12562,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":12605,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":12531,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":12622,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":12595,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":12619,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8102,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8104,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8073,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8065,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8099,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8101,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8066,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8074,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8140,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8157,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8158,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8150,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":7468,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.default_errorcode",{"_index":16354,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.default_message",{"_index":16352,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17281,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":12663,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":12666,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.defaultlanguage",{"_index":5892,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":16802,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":13244,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.defaultvalue",{"_index":7610,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":10641,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":12024,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":18872,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":18907,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":18865,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":8428,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":10476,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":10475,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IUserProperties.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{}}}],["this.deletedcount",{"_index":8305,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":18861,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":6459,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.deleteentitybyid(entityid",{"_index":2399,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":17993,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":8223,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":8248,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8181,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14286,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18192,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18190,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18188,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18207,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18195,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18197,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18199,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18203,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18201,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":17992,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":20919,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":8366,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":8367,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionrequestid",{"_index":8307,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":8526,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":8535,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":8531,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":8529,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":8533,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":8534,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":8532,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.derivecopyname(composedname",{"_index":6629,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":20606,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":6571,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":6925,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":6791,"title":{},"body":{"entities/Course.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/FileMetadata.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":13286,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":3931,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":9348,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":9357,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":17849,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":7764,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determinestatus(tool",{"_index":19213,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7115,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7076,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":5973,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.doescourseexist(courseid",{"_index":3557,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":8298,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domigration(externalid",{"_index":19352,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":22539,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":17643,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":12571,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":10587,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":13291,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":5899,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":5901,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4145,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4242,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":20130,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":8779,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":8783,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4244,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":20120,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":8780,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4243,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":8778,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":8758,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":8755,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":8752,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":9509,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.assign(entity",{"_index":4562,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":9514,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":11766,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(boardnode",{"_index":3381,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4542,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3391,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":4999,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":8349,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":9508,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":11760,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18027,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":8488,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":9530,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":7951,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":7972,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":9507,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":11757,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18026,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3655,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3584,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8002,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":8346,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":8481,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":9504,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18025,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":7974,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3407,"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":8139,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18268,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":8492,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3654,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":9517,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18030,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18275,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":8353,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":8484,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":9515,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":7998,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":11767,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.persist(target",{"_index":4998,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3559,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3567,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3561,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":12572,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":8496,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3572,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4563,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8000,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":8494,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":7971,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18209,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":8498,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{}}}],["this.email",{"_index":10083,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LumiUserWithContentData.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.emailsearchvalues",{"_index":21959,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":5886,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enablemigrationstart",{"_index":15867,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":22355,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":10964,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":9857,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":899,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":12593,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":12570,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":12658,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.enddate",{"_index":13054,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["this.endpointurl",{"_index":13094,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":19217,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":19211,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":19209,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3259,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":9136,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3277,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":9945,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":9127,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":21787,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2482,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2465,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityfactory(entityprops",{"_index":2380,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.entityname",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":8838,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":16353,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.errorhandler(error",{"_index":17157,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.errortype",{"_index":1016,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":22912,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":22743,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":22745,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":18750,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expiresat",{"_index":197,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{}}}],["this.externalgroups",{"_index":16707,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7119,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.externalidtoken",{"_index":16718,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalorganizationid",{"_index":8977,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.externalschool",{"_index":16705,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalsource",{"_index":11728,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4405,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":9139,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":9137,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":9129,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":9142,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":9131,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":21423,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":21420,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":21430,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":21427,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":21534,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":21540,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":21539,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":21550,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6003,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":9133,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":9947,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":21557,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":9989,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":9986,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":17999,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":17998,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":17996,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18002,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18001,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":9884,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":9866,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":9875,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":9878,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":9879,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":9862,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":9865,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":9949,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":9957,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":6358,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":9147,"title":{},"body":{"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":19212,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":9352,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16310,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":9439,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":10267,"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":10004,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":9123,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":9956,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":9955,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":21535,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":21554,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":21541,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":21546,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":21551,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":9864,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":16703,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":8983,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14456,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14441,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14448,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14459,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14476,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14472,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14474,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractparamsfromrequest(request",{"_index":14661,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3053,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1331,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1321,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":18728,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":10152,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":10153,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":10138,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":10139,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":8950,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16224,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":10121,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":10108,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":10113,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":24293,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":6806,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":13048,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":10328,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17330,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":9341,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18138,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":4837,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":12233,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["this.files",{"_index":10608,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":8249,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":8221,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":19420,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":6567,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18194,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15137,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":20209,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":20918,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":11154,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":11163,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":11161,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":11157,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":10897,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":10905,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":11075,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":11080,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":11078,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":12601,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":12615,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":12517,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":12539,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":12534,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":12521,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":12537,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":12585,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":12614,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filetype",{"_index":18080,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4237,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":8632,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":10230,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":20234,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":6343,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":20976,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":20977,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":20568,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":10822,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":22002,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3400,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3377,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":22692,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":18541,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":7945,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":4990,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":17984,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":13793,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16313,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":22377,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16094,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16287,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":10819,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":10223,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":17983,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":20797,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":4766,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":16442,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":6923,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":13309,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":13375,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":13312,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":13377,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":13299,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":22223,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":22248,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":10079,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{}}}],["this.firstnamesearchvalues",{"_index":21955,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":12861,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.forcepasswordchange",{"_index":13421,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.formattedjwt",{"_index":1527,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":7413,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":8973,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":7419,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":16524,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2128,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18324,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":10592,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":11357,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3574,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":20465,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":20472,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2289,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":17697,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1021,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4017,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":12351,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":12375,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":13963,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":10248,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":10250,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":10249,"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":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1031,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2257,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3159,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":1938,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":20903,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":20904,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":20902,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":20905,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3303,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3296,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8155,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18127,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":20655,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18130,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":13145,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":10229,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":1949,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":1935,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8142,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":20986,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":20649,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":20654,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getelement(position",{"_index":7787,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2703,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2713,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":8777,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":10146,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14296,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":21250,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":21253,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17363,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":13322,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":7782,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":13356,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1040,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getid",{"_index":7736,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14317,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":889,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":880,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtforuser(user.id",{"_index":17221,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.getjwtfromresponse(response",{"_index":1550,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getloginurl(sourcesystem",{"_index":22526,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.getloginurl(targetsystem",{"_index":22523,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.getmaxsubmissions",{"_index":13360,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2271,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16191,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14391,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":7964,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3698,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":12746,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1531,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getpermittedcourses(user",{"_index":20962,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":20963,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16186,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpostloginredirecturl",{"_index":16443,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.getpreviewfile(params",{"_index":17698,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":8848,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":17854,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":17850,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getredirecturi(migration",{"_index":16466,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.getreferencesfromposition(from",{"_index":7758,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":17987,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":17981,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getseedfolder",{"_index":12524,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":6846,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":13332,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":13355,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":13150,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.gettargetfilters(userid",{"_index":16203,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":12600,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":12732,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.getteammemberids",{"_index":13144,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.geturl('create",{"_index":2252,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2273,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2277,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2272,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1248,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1250,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":10103,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":10227,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":22980,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.grade",{"_index":13117,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":13119,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.graded",{"_index":3834,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4353,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.grant_type",{"_index":1410,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":13174,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.grid",{"_index":7748,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":7774,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":7795,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":7786,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":7754,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":7755,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":7767,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":7752,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":7785,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":7750,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":7798,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":7780,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":7853,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":7828,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":19262,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.group.externalorganizationid",{"_index":19263,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":7852,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":7851,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":11868,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":11863,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":11861,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuser(user",{"_index":11864,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findclassesforschool(schoolid",{"_index":11865,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":11867,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":18779,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":6808,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17397,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17358,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyuser(user",{"_index":17385,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17372,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":11649,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":11656,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":22092,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":22093,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2133,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2050,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":5903,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":12148,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":12135,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":12124,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":12117,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":12116,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":12139,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":12144,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":12098,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":12111,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":12122,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":12133,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":12158,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":18702,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":20185,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":10046,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":10047,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":10049,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":10048,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":10045,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschild(child",{"_index":2828,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":18645,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":18646,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":9419,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":10044,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.hasparent",{"_index":3633,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":20866,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":20190,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":20189,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18325,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1881,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1853,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":20187,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":10741,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.hasschoolmigrated(externalid",{"_index":19360,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":20186,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":1990,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4130,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3495,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.hosturl",{"_index":22514,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.host}${location",{"_index":12362,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":18986,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":9342,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2274,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4021,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":16567,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2258,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14393,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":9285,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":6396,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":12275,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":12285,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":12294,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17179,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(currentuser.userid",{"_index":17185,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":404,"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":{},"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":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.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/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":{},"classes/ResolvedGroupDto.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.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":16332,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":20487,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":20484,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15287,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":811,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":13170,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.idtoken",{"_index":16491,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":16838,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":17650,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15234,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":21953,"title":{},"body":{"classes/UserDO.html":{}}}],["this.importuserid",{"_index":13664,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":19273,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1344,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1347,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1349,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1345,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":8215,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":12586,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":12565,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":13040,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":5399,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":5404,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":5405,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":5406,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":18448,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.integration",{"_index":11412,"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.inusermigration",{"_index":13043,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4350,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":2823,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":19872,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1574,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":20126,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":9426,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":10734,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":10001,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":8638,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":9421,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":9436,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":9435,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":10481,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":3835,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":3837,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":13361,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":9423,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":4588,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.isgraded",{"_index":13154,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":13365,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":7728,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":7421,"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.islatest(contextexternaltool",{"_index":5458,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":5457,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":7406,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isnameunique(externaltool",{"_index":9416,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16436,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isoptional",{"_index":7478,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.ispending",{"_index":10739,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":10736,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":8855,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":9430,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":9433,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":19431,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1557,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isslash(path",{"_index":1560,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.issubmitted",{"_index":13137,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":13364,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":3836,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":13184,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.isteacher",{"_index":8653,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":7404,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":21673,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":956,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4411,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isuserreferenced(user",{"_index":1738,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":13136,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":13362,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":5532,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":10710,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":10969,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":13186,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.jwt",{"_index":16362,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1624,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1627,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14031,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1632,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14236,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":14559,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14269,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14347,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14343,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14120,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14121,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14424,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14460,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14457,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14439,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14116,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14381,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14383,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14377,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14390,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14122,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14125,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14124,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14135,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":7386,"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":19931,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":19934,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14349,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14348,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14351,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14350,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":12452,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":12460,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":12473,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":12481,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":12467,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14497,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14498,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14499,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14346,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14344,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14345,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1657,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":5888,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.lastauthorizationtime",{"_index":14138,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":13426,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.lastmodifytimestamp",{"_index":13199,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastname",{"_index":10081,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{}}}],["this.lastnamesearchvalues",{"_index":21957,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":13195,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":13197,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastsyncattempt",{"_index":13193,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lasttriedfailedlogin",{"_index":195,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":21339,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":15471,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":20323,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":13256,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.ldapdn",{"_index":4355,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":12868,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":12669,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":14677,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":9871,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legayschoolrule",{"_index":18773,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":13296,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":13372,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":13371,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3089,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3116,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":18686,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":20690,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15102,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo",{"_index":12967,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15138,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids([originallesson.course.id",{"_index":15021,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonrepo.findallbycourseids([roomid",{"_index":18699,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15139,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(readcourseids",{"_index":21010,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonrepo.findallbycourseids(writecourseids",{"_index":21009,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15013,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15140,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15145,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":18769,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":20869,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15156,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5147,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15151,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":19776,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":24762,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":14994,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonwritepermission(user",{"_index":15103,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3627,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":11427,"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.license",{"_index":5894,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/Path.html":{}}}],["this.licenseextras",{"_index":5922,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.licenseversion",{"_index":5913,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.limit",{"_index":17473,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":18883,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":14668,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":14554,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":12547,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":12546,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":12582,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1856,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":21672,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":14553,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":6394,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":7470,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":19574,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":8888,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":8889,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":3865,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":14639,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":12630,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16304,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":21487,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`created",{"_index":2370,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(`externaltool",{"_index":21537,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`generating",{"_index":17220,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.debug(`oauth",{"_index":17218,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.debug(`removing",{"_index":16299,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":21822,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(`updated",{"_index":2376,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(err",{"_index":14637,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15318,"title":{},"body":{"injectables/Logger.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(new",{"_index":17606,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":14750,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":8887,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":8954,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":18841,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14516,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":8230,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14500,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":8251,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"controllers/OauthSSOController.html":{}}}],["this.logger.error(loggable",{"_index":11507,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":8890,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":14752,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18366,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":14689,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15317,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":9345,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":14748,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8176,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.log('before",{"_index":8695,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8183,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":12349,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":14564,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14517,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":8697,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":14562,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`could",{"_index":18851,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(`initialized",{"_index":8237,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14515,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":14560,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":18914,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":12350,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(err",{"_index":17132,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.log(localdto",{"_index":12373,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":24323,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15316,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":14751,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18359,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":3864,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4234,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":4642,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":4716,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":4759,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5083,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":12514,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8175,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":8214,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":8776,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":11074,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":11152,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":11260,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":11398,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":12272,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":12439,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14495,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14509,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":14622,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16176,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16260,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":16426,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17128,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(oauthuc.name",{"_index":17213,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":17603,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":17641,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":17662,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":17687,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":18408,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":18837,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":19807,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":19903,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":24321,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16317,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":20261,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3082,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`completemigration",{"_index":19372,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warn(`could",{"_index":17694,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.warn(`placeholder",{"_index":12656,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.warn(`restartmigration",{"_index":19378,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warn(err",{"_index":3063,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning(message",{"_index":15315,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":14749,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":13666,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15387,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.loginurl",{"_index":22529,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.logmigrationinformation",{"_index":22416,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.logmigrationinformation(currentuserid",{"_index":22403,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.logo",{"_index":9031,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":7390,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":9236,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6008,"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/IFederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":13182,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":16926,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2046,"title":{},"body":{"classes/BBBCreateConfig.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"injectables/UserMigrationService.html":{}}}],["this.lookuptoken(token",{"_index":19772,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":7392,"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":7394,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":12385,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":15637,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16315,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":16959,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":10519,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":5890,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.majorversion",{"_index":10520,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mandatory",{"_index":22253,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":22217,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":9627,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":9776,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":9603,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":18570,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":8649,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5156,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcontexttypetodotype(entity.contexttype",{"_index":6145,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcontexttypetoentitytype(entitydo.contextref.type",{"_index":6150,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5140,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3169,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":9634,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":9610,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":9779,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":9512,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2379,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":7940,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2365,"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":14875,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":14879,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":22001,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":22289,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":9518,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":9506,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":11704,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":11693,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":20445,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":18493,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":7967,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":11699,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":8648,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":9629,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":9777,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":9605,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":9628,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":9604,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":9778,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8003,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":7999,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":7997,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":9860,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":18674,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":5713,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":10254,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":7932,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":7961,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":9725,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":9712,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":9716,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6220,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6176,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":9726,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":9713,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":9727,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":9714,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19027,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":20087,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":8646,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":11806,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":21455,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":19175,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4476,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":8633,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4478,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19043,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":5718,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":21452,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":19172,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6225,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":20089,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":13673,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":12880,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":18783,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":12743,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.materials.isinitialized(true",{"_index":12742,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.materials.set(props.materials",{"_index":12725,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.max_redirects",{"_index":12297,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":9365,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":3833,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.meetingid",{"_index":2006,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":7760,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":12941,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.message",{"_index":3930,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.metadata",{"_index":5948,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metadataprops.version",{"_index":5334,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":10596,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":5905,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metakeywords",{"_index":5907,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metatagextractorservice.fetchmetadata(url",{"_index":15798,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.fetchmetadata(currentuser.userid",{"_index":15725,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18321,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":16437,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.migrationerrorhandler(error",{"_index":17191,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.migrationmapper.mapdtotoresponse(migrationdto",{"_index":14805,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.mimetype",{"_index":6456,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.minorversion",{"_index":10521,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":22747,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2052,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":8303,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.name",{"_index":2044,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.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":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["this.name.length",{"_index":6838,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16199,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16189,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16188,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16192,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16182,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":15976,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":15990,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":15980,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":15985,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":15986,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":19817,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3497,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3498,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3496,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":16453,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":16450,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":7411,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":13252,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14392,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":16482,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14382,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":12393,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthmigrationfinalfinish",{"_index":15865,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationfinished",{"_index":15863,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationmandatory",{"_index":15861,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationpossible",{"_index":15859,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":16987,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13478,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":16989,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":16918,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":16921,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":16932,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":16940,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":16919,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":16902,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":16927,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":16923,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":16840,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":16995,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17006,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":16803,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":9861,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":16805,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":16829,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":16982,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":9888,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":9895,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":16799,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17075,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":16798,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":16837,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17000,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17076,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":16804,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":9892,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":16938,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":16943,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser",{"_index":17222,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":16509,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":22402,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.getauthenticationurl(system.oauthconfig",{"_index":17216,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.getredirecturi(userloginmigration",{"_index":17219,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.provisionuser",{"_index":16510,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["this.oauthservice.requesttoken",{"_index":12277,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":12279,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthuc.migrate(jwt",{"_index":17188,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.oauthuc.processoauthlogin",{"_index":17159,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.oauthuc.startoauthlogin",{"_index":17152,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.officialschoolnumber",{"_index":8993,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.officialschoolnumberfromsource",{"_index":16355,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["this.officialschoolnumberfromtarget",{"_index":16356,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["this.oidcconfig",{"_index":13254,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14309,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup(externalgroup",{"_index":17415,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17406,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17408,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17412,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.openinnewtab",{"_index":21718,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":7417,"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":8301,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{}}}],["this.options",{"_index":8565,"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":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5258,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5259,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1246,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1252,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1264,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5256,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":21298,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1253,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5257,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5260,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":11731,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":5388,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":11788,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5253,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5251,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5247,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":13917,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":7446,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":15903,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8159,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.outdatedsince",{"_index":13428,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.ownedbyuserid",{"_index":12234,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["this.pagecontentmapper.mapdtotoresponse(content",{"_index":22471,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["this.parameters",{"_index":5975,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":15882,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17480,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":7536,"title":{},"body":{"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":527,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":6452,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":19696,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15109,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parentsmap.get(card.id",{"_index":18252,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18251,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18244,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18266,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18253,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18255,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18259,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18261,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18263,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18273,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17251,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttype",{"_index":5942,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.password",{"_index":185,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":10575,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3625,"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":3636,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.payload",{"_index":17554,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.permission",{"_index":8557,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":4791,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":10471,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IRoleProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":10472,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8005,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":15778,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.populate([task",{"_index":20759,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":20840,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":3699,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":20157,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":20158,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":21175,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":21180,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":22600,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":22000,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3629,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.positionfromgridindex(key",{"_index":7753,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1029,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1024,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1047,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1037,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1059,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1045,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1041,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1049,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1033,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1027,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postloginredirect",{"_index":16729,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["this.preferences",{"_index":13424,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.preloadedcss",{"_index":10598,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":5897,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":10601,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":22893,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":17608,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":17704,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":11162,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":6461,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":13039,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{}}}],["this.privacy_permission",{"_index":7400,"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":13294,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17427,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":12366,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":12286,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":3910,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2101,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2099,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2151,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2086,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2084,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2097,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2087,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2152,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2153,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2085,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2089,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":21588,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16100,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1666,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":10381,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.caption",{"_index":10379,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":2820,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":20046,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":4815,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":9181,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":5367,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":2821,"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":{}}}],["this.props.creationyear",{"_index":5366,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":8415,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":8285,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":8286,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5287,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":8282,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":19967,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":11607,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4309,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4040,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5322,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":5414,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1667,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5320,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15225,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":18439,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":5415,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4307,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapdn",{"_index":4310,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":8284,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4303,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":8283,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":11608,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.pseudonym",{"_index":17884,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.requireduserrole",{"_index":3143,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5236,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":5377,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5241,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4304,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.source",{"_index":4312,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4313,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":19423,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":8417,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4311,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.targetrefdomain",{"_index":8414,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":8416,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":19425,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4306,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":18437,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4038,"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":17885,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4523,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5321,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":2822,"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":{}}}],["this.props.url",{"_index":5289,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":17886,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.userids",{"_index":4305,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4314,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.users",{"_index":3142,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":11609,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":11611,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5296,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4308,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2461,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2472,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2475,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2464,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2476,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2478,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2477,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2485,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":13180,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.provideroptions",{"_index":13209,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.provisioningservice.getdata",{"_index":22405,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":16432,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":16441,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":13258,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.provisioningurl",{"_index":13260,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.pseudonym",{"_index":9467,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18000,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":17997,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":17994,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16291,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13480,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":10256,"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":10260,"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":10226,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":10276,"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":17910,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicbackendurl",{"_index":22515,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.publicsubmissions",{"_index":13300,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":2785,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":23121,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3577,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.read",{"_index":10637,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":10681,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2135,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/UserMigrationResponse.html":{}}}],["this.redirect_to",{"_index":18283,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1408,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":13176,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.redirecturis",{"_index":16520,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":19573,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.references",{"_index":7722,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2706,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":7730,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2710,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":2744,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":2733,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2699,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":7817,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.referer",{"_index":12310,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":10630,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":10496,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":10632,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":16493,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":7474,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":7476,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":13100,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.registerparentdata(parent",{"_index":18242,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":17846,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":17847,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":17845,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":16835,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":16984,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":5778,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":5777,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":5776,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":5815,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":5784,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":5801,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":5806,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":5810,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":5809,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":12943,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.relation.ktid",{"_index":11838,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen[0",{"_index":11840,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2727,"title":{},"body":{"entities/Board.html":{}}}],["this.removefromposition(from",{"_index":7761,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(newentity",{"_index":2372,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":7762,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":12606,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":12679,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":12678,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":12459,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.repo.delete(meta",{"_index":21248,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":21249,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7213,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7212,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":11040,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":11035,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":21261,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":21252,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":21246,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7053,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":21262,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7056,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7216,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":11039,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":12979,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":12974,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":12976,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":12958,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":12960,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":12966,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":12964,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":12972,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":12970,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":12956,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":12968,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":12962,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":17664,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":11262,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":11268,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":11265,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":10295,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":21819,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":21333,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":10683,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":16430,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":10604,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":17644,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17533,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17532,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17530,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":12647,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":12984,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":16569,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":7396,"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":5409,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourceid",{"_index":16333,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resourcename",{"_index":16331,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5250,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1014,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":18990,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":18989,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":18987,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":21827,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":21817,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":21821,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":21814,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":13177,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":22190,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":10607,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resultmap.get(child.id",{"_index":18164,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18122,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18128,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.role",{"_index":2130,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["this.roleid",{"_index":11908,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":22065,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":8985,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":13668,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":12854,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.rolerepo.findbyid(id",{"_index":18542,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":18544,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":18546,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":7398,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":12994,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roles.isinitialized(true",{"_index":12991,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roles.set(props.roles",{"_index":12989,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":4767,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17376,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17337,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":18552,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":22702,"title":{},"body":{"injectables/UserService.html":{}}}],["this.rollbackmigration(schooldocopy",{"_index":19353,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.rollbackmigration(userdocopy",{"_index":22542,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.room",{"_index":8627,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":8674,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":8673,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":8677,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":8675,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":8644,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":8643,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":19871,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":8630,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":8637,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":8636,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":18727,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":6912,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":18673,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":18679,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":18675,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":13202,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.routepath",{"_index":18326,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1884,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":18766,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":18781,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":10577,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":21247,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":21256,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":8257,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":8235,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":8238,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2284,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15190,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7172,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15068,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":20758,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([entitydo",{"_index":2355,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18250,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":6792,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["this.school.id",{"_index":12879,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.schoolexternaltoolid",{"_index":6005,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolrepo",{"_index":12973,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":9883,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":19214,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":19207,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":9880,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":19206,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":19216,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":18775,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19241,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":6327,"title":{},"body":{"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":9145,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":9125,"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":19239,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":19242,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":21826,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":21824,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":21812,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":21816,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":21820,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":19238,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolid",{"_index":4343,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LumiUserWithContentData.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":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4594,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(schoolid",{"_index":4596,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":22417,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool(data.externalschool.externalid",{"_index":17228,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.schoolmigrationservice.schooltomigrate",{"_index":17225,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(schoolid",{"_index":14965,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolmigrationservice.validategraceperiod(existinguserloginmigration",{"_index":14961,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.schoolname",{"_index":19284,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19022,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":13006,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["this.schoolrepo",{"_index":12965,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":14937,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":14936,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":14663,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":19434,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":14938,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":14935,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":24772,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":24756,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17322,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":13967,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18014,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":1965,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":14957,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(userdo.schoolid",{"_index":19355,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber",{"_index":19357,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":15820,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["this.schoolservice.removefeature(schoolid",{"_index":22360,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":22318,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":19383,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17334,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":19382,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schooltool",{"_index":6041,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6193,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":5969,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooluc.getmigration(schoolparams.schoolid",{"_index":14807,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.schooluc.setmigration",{"_index":14800,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":14939,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4409,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":19452,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":19451,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17329,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":7472,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{}}}],["this.scripts",{"_index":11414,"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":734,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":13204,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.searchuserpassword",{"_index":13206,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.secret",{"_index":7388,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":13098,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.secretvalue",{"_index":1659,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":10490,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":10703,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":10705,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.status",{"_index":10702,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":10704,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":6450,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14279,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.sendhttpresponse(error",{"_index":11509,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":4793,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":4792,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":4794,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":4788,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.sessionhandler(session",{"_index":17158,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.setmatch(props.user",{"_index":12859,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.share",{"_index":21086,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":19770,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":19769,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":10492,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":19818,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":19823,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":19819,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":19646,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":19657,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":19653,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7075,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":16993,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":6448,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.skip",{"_index":17472,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":7415,"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":3088,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4359,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7121,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceid",{"_index":6428,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4361,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.sourcesystem",{"_index":22238,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":22213,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":9284,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.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/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":6802,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":22219,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":22186,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":8555,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/OauthLoginStateDto.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.status",{"_index":1986,"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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1011,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":1988,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":17647,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":17693,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":11399,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":17649,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":17701,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":10482,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":10484,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":8233,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":21664,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":21674,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":17856,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":21669,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":17848,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":21665,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":21666,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":21667,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":4643,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":4646,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":4645,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":4647,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":4644,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":14754,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15355,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":13109,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.student.id",{"_index":13143,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.studentcount",{"_index":4413,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7011,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7013,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":6821,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7016,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":6794,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":11416,"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":12945,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.submissionitemservice.create(userid",{"_index":8795,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":20128,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":20129,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":20250,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":3793,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":3778,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":3784,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":12971,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":20210,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":20208,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":20207,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":18774,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":13304,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":13307,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":13305,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":13298,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":20238,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":20232,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":20235,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":20014,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":20007,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":3832,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":20214,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":20215,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":6831,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":6827,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":6851,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":6796,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":20256,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4357,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.system",{"_index":9008,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.systemid",{"_index":193,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14277,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.findall",{"_index":20471,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":20468,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":20419,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":20470,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":20415,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":20475,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":14662,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":20483,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systems",{"_index":14829,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":13045,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.findbyid(id",{"_index":20502,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(sourceid",{"_index":22520,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":16427,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{}}}],["this.systemservice.findbyid(targetid",{"_index":22521,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":20500,"title":{},"body":{"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.systemservice.findbytype(type",{"_index":20501,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":20300,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":20305,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":12947,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.target",{"_index":16013,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":12949,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.targetid",{"_index":16012,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7131,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetrefdomain",{"_index":8426,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":8430,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetsystem",{"_index":22240,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":22215,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":13113,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3092,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":20582,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":12957,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":20612,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":20920,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":20988,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":20970,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":20602,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":20648,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":20662,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":20917,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":20616,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":18770,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":20192,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":12730,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.tasks.isinitialized(true",{"_index":12728,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.taskservice.delete(task",{"_index":21014,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":19778,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5159,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":20577,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":20584,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":20571,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":20570,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":20580,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.teacherids",{"_index":4347,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.teachernames",{"_index":4407,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4427,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":6825,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":6849,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":6795,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":3975,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":13127,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":13130,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":13122,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teamname",{"_index":21103,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":18771,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":4760,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":12969,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":4761,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13469,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":21126,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":4718,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":13302,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":21031,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":18447,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":22890,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":10485,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":10488,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":18751,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":24440,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4014,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":3726,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.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":3884,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":2784,"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":{},"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":7733,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":22192,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":187,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":13172,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.tokenendpointauthmethod",{"_index":16522,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":19766,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":13239,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.tool",{"_index":13004,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["this.toolfeatures.backendurl",{"_index":9330,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":9080,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":16958,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":9338,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolid",{"_index":9469,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":21687,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":21686,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":21580,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":21789,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":6332,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":9146,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":21788,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":21736,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":21739,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":9948,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":9950,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":5977,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toparams(config",{"_index":2253,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17419,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":23036,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":21782,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":15771,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":15772,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":17690,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tspuid",{"_index":4529,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2566,"title":{},"body":{"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/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":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.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":{},"classes/ToolLaunchData.html":{}}}],["this.uc.getpagecontent",{"_index":22467,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["this.unknownquerytype",{"_index":21849,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":8975,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":6800,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3060,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":408,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{}}}],["this.updateentity(domainobject",{"_index":2361,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.updateexistinggridelement(existing",{"_index":7947,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updateexistingmigration(existinguserloginmigration",{"_index":22363,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.updatefileurls(taskcopy",{"_index":20605,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14284,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":9863,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":9890,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14312,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16014,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16271,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":6446,"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":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/LdapConfig.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":19290,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":7825,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"classes/DtoCreator.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":22699,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":22700,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":22695,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":22696,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":22698,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":191,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IGridElement.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4346,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":13642,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":13619,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":13628,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":13638,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":13624,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":13640,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":13629,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":13242,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.userloginmigration",{"_index":13047,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/OauthLoginStateDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigrationid",{"_index":14831,"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":22380,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid",{"_index":15822,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":19363,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":22358,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":22362,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4595,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationrule",{"_index":18778,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4592,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":22319,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4584,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool(schoolid",{"_index":14960,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":22399,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration(schoolid",{"_index":18409,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigration",{"_index":14962,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(schoolid",{"_index":21348,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":19905,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":22183,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":22177,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":22197,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":19272,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.getmigrationconsentpageredirect",{"_index":16439,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.usermigrationservice.getpagecontent",{"_index":22396,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.usermigrationservice.migrateuser",{"_index":17229,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":183,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.userrepo",{"_index":12963,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":22712,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":940,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15296,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":22690,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1891,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.save(user",{"_index":22709,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":18772,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":8971,"title":{},"body":{"classes/ExternalGroupDto.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":11612,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":11614,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":13979,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":13960,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17375,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17339,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":15823,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":16992,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":10224,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":4830,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16290,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":10242,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13470,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":19366,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13471,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.getresolveduser(userid",{"_index":17231,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.userservice.save(newuser",{"_index":24748,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17352,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":22548,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":22543,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":19377,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":19371,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":13633,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":21922,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":21926,"title":{},"body":{"controllers/UserController.html":{}}}],["this.validate(props",{"_index":4341,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":10228,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":10234,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":9988,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":9987,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":5522,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2708,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":10233,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":12284,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":16830,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":16431,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8031,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1327,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validperiod",{"_index":11729,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":7430,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":22885,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6011,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.versionkey",{"_index":10504,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":22830,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":22839,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":22835,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":22832,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":22985,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":22891,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":22888,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":22960,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":22989,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":22886,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":22959,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":23001,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":22984,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":22884,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":23003,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":22895,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":22901,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":22958,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":22941,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":22950,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":22938,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":22945,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4146,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18274,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18269,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18258,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18193,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18191,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18189,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18208,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18196,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18198,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18200,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18204,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18202,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18124,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.w",{"_index":5909,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2048,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":10635,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5238,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5255,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5319,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":7815,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.xposition",{"_index":7849,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4352,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.yearfrom",{"_index":5915,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.yearto",{"_index":5917,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.ypos",{"_index":7816,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.yposition",{"_index":7850,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5246,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5261,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5243,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5263,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2058,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":11972,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":21260,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":23679,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":16591,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":24681,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":23596,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8179,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8180,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":23455,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":529,"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":{},"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":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.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/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.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":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":{},"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":18357,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":22862,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":22874,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":24818,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":11952,"title":{},"body":{"classes/GuardAgainst.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2251,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":10419,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":10420,"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":1838,"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":23320,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1643,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CreateNewsParams.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":1633,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4018,"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":21332,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":21327,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":13900,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":13902,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4002,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":24445,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":21328,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":18909,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2096,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["timestamp",{"_index":16016,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":3716,"title":{},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.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":3724,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.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":3720,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.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":1638,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":24433,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":23272,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":1271,"title":{},"body":{"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":{},"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":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IErrorType.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.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/UserLoginMigrationError.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":4039,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15223,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":7718,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":7720,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":4897,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3387,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":4994,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tls",{"_index":8243,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":24620,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":24630,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":24590,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":24591,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":24031,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":10970,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5185,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":15921,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":15925,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":15915,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1726,"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":{},"entities/Course.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolUc.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.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":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":24806,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":11312,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":21340,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["token",{"_index":124,"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":{},"interfaces/IShareTokenProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/JwtExtractor.html":{},"injectables/OauthAdapterService.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":{},"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":19622,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":19597,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":19606,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":19604,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":19602,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":19609,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":19858,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":19616,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":19624,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":19638,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":19634,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":13086,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"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":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":19675,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":19678,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":19662,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":19668,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":19667,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":19665,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":19663,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":16486,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":16489,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":16490,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":16488,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":19725,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":13080,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["token.entity.ts:19",{"_index":19594,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":19593,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":19590,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":19591,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":19589,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":19592,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":19765,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":19716,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:17",{"_index":19719,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":19723,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1390,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1399,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1395,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1396,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1397,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1400,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17192,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":19740,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":19739,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":19738,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":19737,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":16828,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13450,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:12",{"_index":13456,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":19755,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:20",{"_index":13460,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":19759,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:41",{"_index":13458,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:42",{"_index":19761,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":19763,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:51",{"_index":13462,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":19757,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":11742,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":19780,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:131",{"_index":19795,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:139",{"_index":19796,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:150",{"_index":19798,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:166",{"_index":19794,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:192",{"_index":19788,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:204",{"_index":19790,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:225",{"_index":19806,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:231",{"_index":19792,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:24",{"_index":19786,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:39",{"_index":19800,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:67",{"_index":19804,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:89",{"_index":19802,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":19849,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":19851,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":9910,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":13908,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":13909,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":16611,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":16451,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":16512,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":16511,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":12406,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":7517,"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":7535,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":19754,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestmapper",{"_index":16422,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":16484,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":16452,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":16483,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":16604,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":13247,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":12222,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":19373,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2548,"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/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.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/ExternalToolVersionService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IToolLaunchStrategy.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SortExternalToolParams.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":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":21409,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":21726,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":9808,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":21525,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool.config",{"_index":16998,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":9872,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":16999,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":5951,"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":5962,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19078,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":5958,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19081,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":5959,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19080,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":5960,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19079,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":5957,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19082,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:32",{"_index":9025,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:33",{"_index":19077,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:34",{"_index":9022,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:36",{"_index":9021,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:38",{"_index":9019,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:40",{"_index":9024,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":5964,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:42",{"_index":9020,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:44",{"_index":9023,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":19083,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:46",{"_index":9018,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:62",{"_index":9026,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:66",{"_index":9030,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:70",{"_index":9028,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":9200,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6026,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:13",{"_index":9229,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:16",{"_index":9232,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":19089,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:19",{"_index":9227,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":19087,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:22",{"_index":9226,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":19088,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6035,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:25",{"_index":9224,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":19090,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6028,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:28",{"_index":9231,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6030,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:31",{"_index":9225,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6031,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:34",{"_index":9230,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6033,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:37",{"_index":9233,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6036,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6049,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":9263,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":9262,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":16538,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":7515,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:7",{"_index":19095,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":9265,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6052,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":9264,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":9077,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":9074,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":9353,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":21390,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":5439,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":9877,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":12386,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":9562,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:107",{"_index":9574,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:114",{"_index":9595,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:123",{"_index":9591,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:136",{"_index":9587,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:154",{"_index":9579,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":9589,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:172",{"_index":9585,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:182",{"_index":9582,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:48",{"_index":9577,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:55",{"_index":9598,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:64",{"_index":9593,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:77",{"_index":9588,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":6091,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:114",{"_index":6111,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:125",{"_index":6109,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:14",{"_index":9536,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:19",{"_index":9548,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":19133,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:25",{"_index":6096,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:27",{"_index":9543,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:30",{"_index":6123,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:32",{"_index":19129,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:36",{"_index":9541,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:38",{"_index":6102,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:41",{"_index":19131,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:45",{"_index":6106,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:50",{"_index":19125,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:54",{"_index":9539,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:55",{"_index":19127,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:64",{"_index":19122,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:70",{"_index":6099,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.response",{"_index":6271,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6181,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6190,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6184,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6185,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6186,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6189,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6191,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6183,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:31",{"_index":9749,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6187,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6234,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":6237,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":6236,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":6235,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":6129,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":6241,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":9798,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":19183,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":6262,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":9800,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":6256,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":6258,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":9802,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":19182,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":6260,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":12387,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":6355,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":5446,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:10",{"_index":5450,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:103",{"_index":9832,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:11",{"_index":6287,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:118",{"_index":9845,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:131",{"_index":9849,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:143",{"_index":9828,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:16",{"_index":9826,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:17",{"_index":6285,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":19203,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:23",{"_index":6289,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":5455,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:28",{"_index":9830,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:29",{"_index":6279,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:32",{"_index":19200,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:39",{"_index":6281,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":19198,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:43",{"_index":6283,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":9842,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:51",{"_index":9839,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:52",{"_index":19196,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":15634,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":19194,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:64",{"_index":19205,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:78",{"_index":9833,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:8",{"_index":6277,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":15636,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:93",{"_index":9835,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:98",{"_index":9837,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":16997,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6126,"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":6300,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:10",{"_index":9932,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:101",{"_index":6320,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:11",{"_index":19225,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:115",{"_index":6318,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:124",{"_index":6316,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":9934,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:19",{"_index":6309,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:28",{"_index":6311,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:30",{"_index":19227,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":9944,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:47",{"_index":19230,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:52",{"_index":9940,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:56",{"_index":6322,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:59",{"_index":19229,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:63",{"_index":9942,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:70",{"_index":9936,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:71",{"_index":19234,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":9938,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":19236,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:92",{"_index":6313,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6072,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":21382,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/dto",{"_index":6089,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["tool/controller/dto/context",{"_index":6014,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":7503,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2569,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":9037,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":15473,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":16526,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6060,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":7574,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":9154,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19100,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2579,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":9043,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":15492,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":16539,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":5986,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":7598,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":9748,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19085,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/school",{"_index":19099,"title":{},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":19157,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":21383,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":21502,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:101",{"_index":21522,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:120",{"_index":21531,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:142",{"_index":21515,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:160",{"_index":21527,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:53",{"_index":21508,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:73",{"_index":21519,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":1901,"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/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2547,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":9035,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":15464,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":16516,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":5950,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":9015,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19075,"title":{},"body":{"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":21710,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6038,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool/entity/config/basic",{"_index":2559,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":9040,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":15485,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":16534,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6025,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["tool/entity/custom",{"_index":7481,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":9220,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":13001,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool/external",{"_index":9380,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":9275,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":15580,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":21386,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6160,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":9646,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19146,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":21433,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19106,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":6324,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IRepoLoader.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":5980,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":9047,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.html":{}}}],["tool/service/lti",{"_index":15632,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/school",{"_index":19185,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":21763,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["tool/uc",{"_index":21385,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":6299,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/context",{"_index":6125,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool/uc/dto/school",{"_index":19134,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":9097,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":19219,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":21768,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":5456,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":5461,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":5454,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":5462,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":10002,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":9998,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":10000,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":9427,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":9437,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":9424,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":5513,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":9434,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":9431,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":5529,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":5533,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_value_regex",{"_index":5538,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":10003,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":21830,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":9994,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":19254,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":6371,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":19505,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules.html":{}}}],["toolconfigmodule",{"_index":9374,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toolconfigtype",{"_index":2553,"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":2556,"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":7543,"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":7539,"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":21609,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":21617,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13397,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":21392,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":21377,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":21415,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":21426,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":21432,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":21422,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":21429,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationstatus",{"_index":5451,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.latest",{"_index":5459,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.outdated",{"_index":5460,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.unknown",{"_index":21836,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse",{"_index":19156,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.latest",{"_index":21834,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.outdated",{"_index":21835,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.unknown",{"_index":19179,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolcontextcontroller",{"_index":21379,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontexttype",{"_index":1928,"title":{},"body":{"injectables/AutoContextNameStrategy.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":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":1936,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":1933,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontroller",{"_index":21381,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":9056,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolid",{"_index":9314,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":9067,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":9078,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":21444,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":21441,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":21454,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":24453,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":21376,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2629,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2634,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":21586,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":21610,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":21611,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":21612,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":21613,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":21618,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":21577,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":21668,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":21581,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":21619,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toollaunchparams",{"_index":21566,"title":{"classes/ToolLaunchParams.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{}}}],["toollaunchrequest",{"_index":2639,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":21576,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":21569,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":21624,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchuc",{"_index":21374,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1827,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toolpermissionhelper",{"_index":6307,"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":9090,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":9092,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6208,"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":6227,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6228,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6229,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6231,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":21719,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":21380,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":21733,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":21741,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":21731,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":21743,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":21767,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6210,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":21758,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":21760,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":21759,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":21761,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":21762,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6223,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":21727,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6213,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6224,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6071,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":21781,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":21783,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":21786,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":21375,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6315,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.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":21398,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":9873,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":21542,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":9868,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":6346,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":9150,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":21544,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":21735,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":21725,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":21407,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":21413,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":21458,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":21503,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":21790,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":21721,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":9135,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":21378,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":21663,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusoutdatedloggableexception(userid",{"_index":21678,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toolstatusresponsemapper",{"_index":6214,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(schoolexternaltool.status",{"_index":19178,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6232,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolswithpermission",{"_index":6342,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":9084,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":9089,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":9143,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":9144,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":9931,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":5453,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toomanypseudonymsloggableexception",{"_index":21364,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1833,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":20653,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2194,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2233,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":24635,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["toplevel",{"_index":14255,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4112,"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":8071,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":949,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":816,"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":22621,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":22622,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":11931,"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":11948,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":24785,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":9843,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":9887,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":9889,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":9886,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":9848,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":23017,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":23021,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":23018,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":23023,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":23019,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":23025,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":23020,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":23027,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":12915,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":23699,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":23698,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":23700,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":23657,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":12470,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{}}}],["transferred",{"_index":23659,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":23753,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1121,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.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/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1137,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":11548,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1142,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.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/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":11546,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":462,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":24632,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":24333,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":23303,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":23621,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":19915,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15331,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":18821,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["treated",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":24538,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":23531,"title":{},"body":{"license.html":{}}}],["tries",{"_index":24388,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":24597,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["trim",{"_index":13847,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":24153,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":143,"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":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.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":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.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":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.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/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.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":{},"classes/MigrationBody.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.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":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"modules/S3ClientModule.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.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":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.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":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.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":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4118,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":21850,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":5606,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@enum",{"_index":20331,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4323,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6082,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":23113,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":5549,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":7228,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":11296,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":11297,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@unique({options",{"_index":6748,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":579,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.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":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationUc.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":{}}}],["try/catch",{"_index":22409,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["trybuildtoolreference",{"_index":21771,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":21779,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":15749,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":15758,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":15750,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":15760,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":11848,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":11859,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":17671,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":17682,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6835,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["ts",{"_index":982,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4371,"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":19552,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["tvalue",{"_index":13537,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":12217,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14000,"title":{},"body":{"interfaces/JwtConstants.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisOrganisationResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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/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":{},"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":{},"classes/BoardUrlParams.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/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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.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":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.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/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":{},"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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.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":{},"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":{},"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":{},"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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"classes/UserAndAccountTestFactory.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":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":10366,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1403,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18074,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18078,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3313,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":12794,"title":{},"body":{"interfaces/IErrorType.html":{}}}],["type.mapper.ts",{"_index":15801,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":15804,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.query.param.ts",{"_index":17441,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:12",{"_index":17449,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:16",{"_index":17450,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:8",{"_index":17447,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.response",{"_index":11782,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":5464,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":24199,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":9702,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":9792,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":9741,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":11818,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1568,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/TestApiClient.html":{}}}],["types",{"_index":1664,"title":{},"body":{"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":{},"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":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"classes/DomainObject.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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":{},"entities/SystemEntity.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.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.enum",{"_index":10665,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["types.get(type",{"_index":11193,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":11191,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":11182,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":11187,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":11185,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":11189,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":11180,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":11183,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":11980,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":19613,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":15805,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":19704,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":19705,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":11986,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":15643,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":15642,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":15647,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":15639,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":15640,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":15641,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":15644,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":15645,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":15646,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":15638,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3618,"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":23144,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":23146,"title":{},"body":{"dependencies.html":{}}}],["types/copy.types",{"_index":6608,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/deletion",{"_index":8278,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{}}}],["types/entity",{"_index":13275,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":23148,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":23150,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7100,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":23152,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":8624,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":13276,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":23154,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":999,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":23640,"title":{},"body":{"license.html":{}}}],["typing",{"_index":10165,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":509,"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/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":6847,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2538,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":21125,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15164,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":2764,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.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/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.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":{},"controllers/UserMigrationController.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":11871,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:29",{"_index":11876,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:47",{"_index":11884,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:9",{"_index":11881,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":24254,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":230,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3517,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":4709,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":6869,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":6867,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":7630,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8057,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1618,"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":4426,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6170,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/oauth",{"_index":14792,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{}}}],["uc/dto/school",{"_index":19151,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":22688,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":2765,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":11346,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":12089,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/hydra",{"_index":17114,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["uc/keycloak",{"_index":12426,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["uc/lesson",{"_index":18669,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1386,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":15970,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":16888,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":18670,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":2766,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":20288,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":20561,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":20562,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":13607,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"controllers/UserMigrationController.html":{}}}],["ucs",{"_index":14709,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":23268,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17265,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":24680,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":12867,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["uid=(.+?),/i",{"_index":12865,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":13859,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":13653,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":12863,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["uk",{"_index":13419,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["um",{"_index":4915,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3083,"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":1311,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1032,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":21579,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":21570,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":21843,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1877,"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/OauthUc.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":10150,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":10143,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":16514,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('oauth",{"_index":17146,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14033,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":14626,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`invalid",{"_index":17151,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["unauthorizedexception(`school",{"_index":14666,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":15718,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1614,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1622,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":4933,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":556,"title":{},"body":{"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":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.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":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.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/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.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":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.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":{},"classes/FileRecordSecurityCheck.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/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":{},"injectables/LegacySchoolUc.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MetaTagExtractorService.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.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/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElementContentBody.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.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":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["undefined})@apiproperty({oneof",{"_index":9159,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":3752,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":22842,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":10653,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6083,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":11136,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["under",{"_index":23293,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":24370,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":24443,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":24379,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":8845,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["unique",{"_index":168,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/Role.html":{},"entities/Submission.html":{},"entities/User.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":9228,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":13348,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":13351,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":13232,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["uniquememberids",{"_index":13147,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["uniquenames",{"_index":5509,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":5511,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":12998,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["unit",{"_index":23999,"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":24532,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":23274,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":1218,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.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":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"entities/LessonEntity.html":{},"injectables/LessonUC.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/NewsUc.html":{},"controllers/OauthSSOController.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":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":11830,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":11833,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":11835,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":11513,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":21847,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":21844,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":23646,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":10713,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":19316,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(schoolid",{"_index":19340,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":23434,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":23518,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":21705,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":23675,"title":{},"body":{"license.html":{}}}],["unprocessableentityexception",{"_index":5703,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["unprocessableentityexception('cannot",{"_index":8785,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception('current",{"_index":17187,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["unprocessableentityexception(`could",{"_index":9876,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`requested",{"_index":17215,"title":{},"body":{"injectables/OauthUc.html":{}}}],["unprocessableentityexception(`school",{"_index":19364,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["unprocessableentityexception(`system",{"_index":22556,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["unprocessableentityexception(`the",{"_index":9893,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":9606,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":17695,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":4974,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":11309,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":939,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":18915,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":4947,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1001,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/ICollectionFilePath.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":3734,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":4951,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":8709,"title":{},"body":{"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":{},"injectables/SanisResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":6727,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7169,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":1953,"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":9088,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":9091,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":20834,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":14955,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"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":2958,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.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":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":8476,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":8520,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":5733,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16170,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":20101,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":15963,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":9959,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":21016,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":9961,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":9964,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":15501,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":21019,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":9967,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":15500,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":9963,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":21020,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":15499,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":16542,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":15498,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":16541,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":21017,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":16543,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":21015,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":9960,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":21018,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":9966,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":9962,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":9965,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":5738,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":5752,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:108",{"_index":5757,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:28",{"_index":5755,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:34",{"_index":5761,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:38",{"_index":5760,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:42",{"_index":5759,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:46",{"_index":5763,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:55",{"_index":5764,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:76",{"_index":5765,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:85",{"_index":5766,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":5768,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:99",{"_index":5762,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13513,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13542,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14419,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":267,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13514,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13544,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14421,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":18690,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":18695,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":2930,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":2955,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":3855,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4051,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4074,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4230,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4052,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4078,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4232,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5003,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5019,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5081,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":6305,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":21477,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":6321,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3001,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3031,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":305,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"controllers/CollaborativeStorageController.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":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":331,"title":{},"body":{"controllers/AccountController.html":{}}}],["updated.id",{"_index":2377,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["updatedat",{"_index":377,"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":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.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":4503,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4507,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4558,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3112,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4560,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedlessons",{"_index":15141,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15146,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":7946,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedtool",{"_index":6338,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4591,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.closedat",{"_index":14964,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.finishedat",{"_index":14969,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.mandatorysince",{"_index":14967,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.startedat",{"_index":14966,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateelement",{"_index":8725,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":8739,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":8762,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":8770,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":8713,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"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":2309,"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":{}}}],["updateentity(domainobject",{"_index":2347,"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":{}}}],["updateexecutionrequest",{"_index":14252,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":7902,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":7924,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistingmigration",{"_index":22331,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["updateexistingmigration(userloginmigrationdo",{"_index":22352,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["updateexternaltool",{"_index":9819,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":21528,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":9840,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":9943,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":20589,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":20600,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":13571,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":13596,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":13597,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updateheight",{"_index":4158,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4177,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14180,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14212,"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":1603,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4532,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4537,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":13589,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":268,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":15964,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":16779,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":16790,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17061,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":9820,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":9844,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":9821,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":9846,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14181,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14214,"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":5747,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7113,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":301,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":19223,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":21806,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":19235,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":10701,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["updatesecuritystatus",{"_index":10884,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":10903,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":10889,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesubmissionitem",{"_index":3745,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":3761,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":20118,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":3762,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":4613,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":4627,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":4614,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":4692,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":4747,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":12498,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":4629,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16232,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16251,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4159,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":4891,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4179,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5064,"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":4773,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":4780,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":18714,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":18721,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2341,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/ICreateNews.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":16086,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":18831,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":18855,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":12083,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15258,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":24272,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1313,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":970,"title":{},"body":{"interfaces/AdminIdAndToken.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":1262,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.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":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.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/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"classes/PageContentResponse.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.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/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserMigrationService.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('/dashboard",{"_index":16457,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url('/login",{"_index":17134,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["url('/migration",{"_index":22518,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url('/migration/error",{"_index":17140,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1263,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(`api/v3/sso/login/${system.id",{"_index":22558,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(oauthconfig.authendpoint",{"_index":16468,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(params.logouturl).origin",{"_index":22824,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(path",{"_index":16479,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(system.oauthconfig.logoutendpoint",{"_index":16461,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(this.baseurl",{"_index":2291,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":5786,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":13916,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(this.publicbackendurl",{"_index":22535,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(url",{"_index":5797,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url(urlpath",{"_index":22552,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(value",{"_index":15222,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":15722,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":11468,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":11470,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.href",{"_index":1265,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":15769,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":13912,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2292,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2294,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.searchparams.append('origin",{"_index":22519,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url.tostring",{"_index":2295,"title":{},"body":{"injectables/BBBService.html":{},"injectables/UserMigrationService.html":{}}}],["urlencoded",{"_index":14397,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":16564,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlobject",{"_index":15779,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["urlparamkeys",{"_index":14241,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":2941,"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":{}}}],["urlparams.boardid",{"_index":2974,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4097,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5028,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":8748,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":7644,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":18677,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":13625,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":14995,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":15987,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":18676,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":3780,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":20015,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":3785,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":20578,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":21071,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":19654,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urlpath",{"_index":22491,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["urls",{"_index":11419,"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":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"injectables/UserMigrationService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":23277,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2215,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["usable",{"_index":19607,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4501,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.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":{},"injectables/UserLoginMigrationService.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":12800,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["usecase",{"_index":24172,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":24211,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":13593,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":8913,"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":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.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":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUserEntity.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":11475,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3641,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":4684,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":637,"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":23914,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":15377,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('ldap",{"_index":15383,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15389,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15393,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15362,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15369,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15374,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":12084,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":239,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.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":{},"injectables/DashboardRepo.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.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":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.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":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.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":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.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":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":16844,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":21854,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":21857,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":24747,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(props",{"_index":21987,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user(s",{"_index":24718,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":13387,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["user.'})@apiresponse({status",{"_index":304,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":13843,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":14557,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1625,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14325,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14463,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14464,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.business",{"_index":21891,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":12001,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":12003,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":12005,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":13753,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":13562,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:104",{"_index":13595,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:112",{"_index":13574,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:29",{"_index":13577,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:47",{"_index":13591,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:59",{"_index":13584,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:70",{"_index":13599,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:82",{"_index":13580,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:99",{"_index":13587,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":18384,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14469,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.dto",{"_index":8970,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":8979,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":10077,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":10076,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":8982,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":8981,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":10078,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":12006,"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":6772,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["user.entity.ts",{"_index":11911,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["user.entity.ts:102",{"_index":13559,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13555,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13551,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":11914,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":11913,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13557,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13558,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13553,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13549,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13550,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13552,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13548,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13556,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13547,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":13983,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15396,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":649,"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":13645,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":13647,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3174,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICourseProperties.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":22069,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyService.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":14550,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":12893,"title":{},"body":{"interfaces/IJsonUser.html":{}}}],["user.language",{"_index":22068,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":15826,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3175,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICourseProperties.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":22067,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":13602,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":7312,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:17",{"_index":13683,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":7324,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:32",{"_index":13685,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":7320,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:49",{"_index":13682,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":18381,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":7318,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":7327,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":21910,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.name",{"_index":12007,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":19370,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":22440,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":11283,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":11319,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":11289,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":11292,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":11293,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":11298,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":11291,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":11287,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":11301,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.permissions",{"_index":10107,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":22070,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":24284,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.resolvepermissions",{"_index":1720,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":11783,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":11918,"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":18392,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":11923,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":18394,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":11920,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":18393,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":18391,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":18398,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":13805,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":18396,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":18395,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":13807,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":18397,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":13803,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":13806,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":13809,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":13802,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":13808,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":11922,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":13804,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":13659,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":13801,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":11921,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":11924,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":11824,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":22066,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17347,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":21925,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":7330,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":22445,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17528,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":7333,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":22704,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":10257,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":6926,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":6238,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":6929,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":6928,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.tostring",{"_index":18388,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":4841,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":10105,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":21986,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.ts",{"_index":11905,"title":{},"body":{"classes/GroupUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":11907,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":18377,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":11906,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":18376,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":12008,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":24278,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":18386,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":13868,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":13869,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":11825,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":11823,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":11826,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":11613,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14468,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":20125,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14029,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/import",{"_index":13563,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user?.id",{"_index":17377,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user?.lastloginsystemchange",{"_index":15824,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":21894,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2159,"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":22102,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":22247,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":22278,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["user_login_migrations",{"_index":22236,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["user_migration_failed",{"_index":22243,"title":{},"body":{"classes/UserLoginMigrationError.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":21889,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":656,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":657,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":669,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":19506,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{},"modules.html":{}}}],["userattributenamemapping",{"_index":13223,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["userboardrole",{"_index":3421,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3425,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3426,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3423,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3139,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["usercontroller",{"_index":21909,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":14552,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":10208,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":20083,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":7322,"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/OauthUc.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":13933,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":13934,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":13931,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":22379,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":13932,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":22547,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":22506,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":22634,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":22631,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":22632,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":22040,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":22045,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":21967,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":22048,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":21997,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":22004,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":22006,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":11144,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":648,"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":20032,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":6991,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":6992,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":20029,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":20028,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":22089,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17320,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17380,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":10219,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":10218,"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":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.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":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/HydraOauthUc.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IJsonAccount.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolUc.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":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.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":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolInUserMigrationStartLoggable.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/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.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/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":20048,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":21045,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2539,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4450,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":10116,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4315,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":953,"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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7003,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":13606,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":15440,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemFactory.html":{}}}],["userinfo.token.claim",{"_index":14329,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16035,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16038,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16052,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16006,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":13248,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":17204,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":13632,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":13634,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4580,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.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":{}}}],["userloginmigration.closedat",{"_index":4590,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat",{"_index":4587,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":4598,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigration.id",{"_index":4589,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigration.mandatorysince",{"_index":14972,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":13036,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.startedat",{"_index":14971,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":19902,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":22155,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":22123,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":19507,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["userloginmigrationcontroller",{"_index":22109,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4578,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.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":{}}}],["userloginmigrationdo.closedat",{"_index":22372,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationdo.finishedat",{"_index":22373,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationentity",{"_index":13014,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationentity(props",{"_index":22287,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationerror",{"_index":22242,"title":{"classes/UserLoginMigrationError.html":{}},"body":{"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":4582,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":22124,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":22148,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":22154,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":13037,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":21347,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":21349,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":22152,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":22165,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":22175,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":22187,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":22180,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":14761,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4583,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4585,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":22125,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":22146,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":22296,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":22166,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":15816,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationrepo.save",{"_index":22359,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":22167,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":22161,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":22132,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":22149,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":22126,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4573,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1773,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":22131,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":22168,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":22138,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":22135,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4571,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":18407,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":18410,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":22107,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{}}}],["usermapper",{"_index":22424,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":22691,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":13796,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":13611,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":13636,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":13603,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":13631,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":13635,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":13661,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":19270,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":10225,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":10217,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationcontroller",{"_index":22108,"title":{"controllers/UserMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserMigrationController.html":{}}}],["usermigrationdto",{"_index":15830,"title":{},"body":{"classes/MigrationDto.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdto.redirect",{"_index":15831,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":22472,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationmapper",{"_index":17120,"title":{"classes/UserMigrationMapper.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/UserMigrationMapper.html":{}}}],["usermigrationmapper.mapdtotoresponse(migration",{"_index":17189,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["usermigrationresponse",{"_index":17116,"title":{"classes/UserMigrationResponse.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{}}}],["usermigrationservice",{"_index":16395,"title":{"injectables/UserMigrationService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermodel",{"_index":14327,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3593,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthApiModule.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":{},"modules.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/IJsonAccount.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.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/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":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1647,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":10175,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":16421,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":16446,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":650,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userpathadditions",{"_index":13220,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["userpermissions",{"_index":22086,"title":{},"body":{"classes/UserFactory.html":{}}}],["userquery",{"_index":21974,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1705,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1737,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":217,"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":{},"interfaces/IRepoLoader.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.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":14407,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":13663,"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":18508,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":18510,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":18509,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2522,"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":2542,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3179,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3177,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1774,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3122,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CollaborativeStorageService.html":{},"entities/Course.html":{},"classes/ExternalGroupDto.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.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/ICleanOptions.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IUserProperties.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":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.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":{},"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.filter((groupuser",{"_index":17382,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14443,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":22602,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.foreach((user",{"_index":17370,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.getidentifiers('_id",{"_index":6818,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":6822,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":6829,"title":{},"body":{"entities/Course.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseProperties.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14437,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":19387,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14436,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":24604,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":12621,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":12633,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":12632,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":12625,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":12624,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscope",{"_index":21985,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":978,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersearchindex",{"_index":12626,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":12629,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":12623,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userservice",{"_index":4822,"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/OauthUc.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":22689,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":12898,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":6787,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1719,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1722,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":20088,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":8789,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":13978,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":13980,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":13981,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":7316,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":7326,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":13614,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1890,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":14765,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1180,"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":21300,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":493,"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":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":5578,"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":10943,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{}}}],["util",{"_index":11504,"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":14755,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15323,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15342,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":3368,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18239,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(id",{"_index":3386,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":8837,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":570,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":13648,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":12478,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":23986,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":23991,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":9134,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":10451,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":5489,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":578,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LdapConfig.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":5474,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":5514,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":5518,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":5512,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":5507,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1123,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.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":6352,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14017,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4336,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["validate(request",{"_index":14657,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(school",{"_index":19430,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":19249,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15281,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1155,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":10184,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":10209,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":9393,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":9413,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":10185,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":10211,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":9972,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":9977,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1136,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validategraceperiod",{"_index":19317,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validategraceperiod(userloginmigration",{"_index":19342,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validatelogosize",{"_index":9301,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":9315,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":9973,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":9979,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6088,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9194,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":9158,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6081,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":9974,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":9980,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":5472,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":5491,"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":2711,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":10186,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":10213,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":12244,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":16812,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":16823,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":16391,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":16417,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":9975,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":9982,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8012,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8020,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14048,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1289,"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/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsProperties.html":{},"injectables/LegacySchoolService.html":{},"entities/News.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":1449,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14037,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14042,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14047,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14045,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14051,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1268,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1274,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":22735,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":11542,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":11544,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":9985,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts",{"_index":5463,"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":9394,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:108",{"_index":9402,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":9404,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":6350,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":9410,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":9406,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":5501,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":9398,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:15",{"_index":19250,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:16",{"_index":9414,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:18",{"_index":9978,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":6353,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":5490,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:25",{"_index":19247,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:28",{"_index":9983,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":5478,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:45",{"_index":5475,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:53",{"_index":5487,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:60",{"_index":9981,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:65",{"_index":5492,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":19428,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":9400,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:73",{"_index":5481,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":9408,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:81",{"_index":5485,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":9396,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:89",{"_index":5483,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:9",{"_index":19244,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":9412,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation_error",{"_index":22728,"title":{},"body":{"classes/ValidationError.html":{}}}],["validationerror",{"_index":283,"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/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('grace_period_expired",{"_index":19346,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validationerror('user",{"_index":7332,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":9990,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":9417,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":9422,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1329,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1330,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1325,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1323,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1301,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1328,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlogmessage",{"_index":8830,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":1275,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{}}}],["validationmetadata",{"_index":8862,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":8864,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":8863,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":6677,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{},"modules.html":{}}}],["validationpipe",{"_index":1131,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1158,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1154,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1156,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":148,"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/DownloadFileParams.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/MigrationBody.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/PageContentQueryParams.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/SSOLoginQuery.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/SchoolParams.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/SystemIdParams-1.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.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/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":24268,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":10263,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":10266,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":11605,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":7258,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":11688,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":11606,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":480,"title":{},"body":{"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":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.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":{},"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/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IGridElement.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.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":{},"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":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.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":{},"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/SystemFactory.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":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/ToolConfiguration.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/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.length",{"_index":19928,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":15873,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":19951,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14478,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1454,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1652,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1656,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1655,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":12645,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":19554,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":19843,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":21259,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":24180,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":1954,"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":22988,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":22990,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":23355,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":12435,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1064,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":24511,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":22863,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":22876,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":24512,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1493,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5111,"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":{},"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/ExternalToolUc.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":{},"classes/ToolConfigurationMapper.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":21839,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":21840,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.service",{"_index":9853,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["version.service.ts",{"_index":10005,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:16",{"_index":10016,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:32",{"_index":10030,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:39",{"_index":10019,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:52",{"_index":10028,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:60",{"_index":10022,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:68",{"_index":10026,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:7",{"_index":10033,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:76",{"_index":10024,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["versionkey",{"_index":10421,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5333,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":23369,"title":{},"body":{"license.html":{}}}],["vertrauensstufe",{"_index":18963,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["very",{"_index":12591,"title":{},"body":{"interfaces/ICollectionFilePath.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":6403,"title":{},"body":{"classes/CopyApiResponse.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/OauthUc.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":8544,"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":6786,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.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":23085,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":23006,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":23008,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":22789,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":22966,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":22967,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":22965,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":19508,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules.html":{}}}],["videoconferencebaseresponse",{"_index":8545,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":8552,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":8550,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":8553,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":22779,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":22785,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":23050,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":22774,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":22809,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":22770,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":22916,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":22929,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":22903,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":22771,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":22816,"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":22818,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":22800,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":22772,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":22817,"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":23038,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":22819,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":22806,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":22773,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":22813,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":22836,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":22833,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":22829,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":23106,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":22769,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["videoconferenceoptions",{"_index":22738,"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":22907,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":22970,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":23037,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":23044,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":22927,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":22951,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":22948,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":22946,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":23099,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":22752,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":19471,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":23111,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":23082,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":23080,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":22792,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":22865,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13435,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":22759,"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":22962,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":22982,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":22940,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":8551,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":23035,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":23033,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":23034,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":22933,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":23084,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":23089,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2177,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16166,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2127,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7109,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":23672,"title":{},"body":{"license.html":{}}}],["violation",{"_index":23720,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":23231,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":10782,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1204,"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":1205,"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":1236,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1240,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":23968,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4143,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17510,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17511,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4134,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4141,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7108,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":9072,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":9076,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":2844,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcard(card",{"_index":2853,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcardasync",{"_index":2895,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":2888,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18101,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18216,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18227,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18173,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18178,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18091,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18103,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumn",{"_index":2845,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumn(column",{"_index":2856,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnasync",{"_index":2896,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":2887,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18105,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":2846,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":2858,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboardasync",{"_index":2897,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":2886,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18107,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":2847,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":2860,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":2898,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":2894,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18109,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":2848,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":2863,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":2899,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":2889,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18111,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":2849,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":2866,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelementasync",{"_index":2900,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":2890,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18113,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":2799,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3333,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":2843,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:12",{"_index":2859,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:13",{"_index":2857,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":2855,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":2865,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":2868,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":2871,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":2874,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":2876,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":2862,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:24",{"_index":2906,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:25",{"_index":2905,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:26",{"_index":2904,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":2908,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":2909,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":2910,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":2911,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":2912,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":2907,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4043,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4044,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":4800,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":4801,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":4817,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":4818,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":9183,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":9184,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":10383,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":10384,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15227,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15228,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":18441,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":18442,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":19969,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":19970,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":20051,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":20052,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":2850,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":2869,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":2901,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18115,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":2891,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":2851,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":2872,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":2902,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18117,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":2892,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":2852,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":2875,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":2903,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18119,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":5767,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":2893,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":23315,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":12847,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["voicebridge",{"_index":2113,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2178,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":519,"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":{},"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":{},"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/ExternalToolVersionService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.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":{},"controllers/OauthSSOController.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/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/SystemFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolLaunchService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{}}}],["volume",{"_index":23579,"title":{},"body":{"license.html":{}}}],["von",{"_index":18952,"title":{},"body":{"interfaces/SanisLaufzeitResponse.html":{}}}],["vorname",{"_index":18955,"title":{},"body":{"interfaces/SanisNameResponse.html":{}}}],["vs",{"_index":13995,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":23286,"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":24547,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":23992,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":24110,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":24545,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":5851,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1644,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":23012,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":23538,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":23900,"title":{},"body":{"license.html":{}}}],["want",{"_index":4745,"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":{}}}],["warn",{"_index":12911,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":12922,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15304,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15313,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":23464,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":23463,"title":{},"body":{"license.html":{}}}],["watch",{"_index":23975,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3671,"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":23588,"title":{},"body":{"license.html":{}}}],["web",{"_index":5396,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":5424,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["weights",{"_index":12637,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["weird",{"_index":7132,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2027,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":23448,"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":14376,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":23049,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13447,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":4924,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":24813,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":19481,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":24208,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":21992,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":22650,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":22645,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":22652,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":21991,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":14746,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":7308,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":11550,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14030,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":15912,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16238,"title":{},"body":{"injectables/NextcloudStrategy.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":20062,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":23628,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":4916,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":23476,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":23396,"title":{},"body":{"license.html":{}}}],["width",{"_index":6494,"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":5422,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":24633,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":4903,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":23483,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":5421,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":23951,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":8882,"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":15328,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15335,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15341,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15336,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15332,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":8881,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":8871,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15324,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15326,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":23326,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":23530,"title":{},"body":{"license.html":{}}}],["wir",{"_index":4911,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":24535,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":23376,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":7566,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":9241,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":12282,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":9261,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":7563,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata",{"_index":16537,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":7527,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2065,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2071,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":19676,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":19677,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":3914,"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":8094,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":20337,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":20340,"title":{},"body":{"classes/SystemFactory.html":{}}}],["withlogouturl",{"_index":2066,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2073,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":22896,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":9242,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":7561,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2067,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2075,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":9243,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":9248,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":9244,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":9250,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":7559,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":15565,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":15567,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":20338,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":20339,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":765,"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":23946,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":4851,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":22646,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":22654,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":21995,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2140,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":22079,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2144,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":21036,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":21038,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":22075,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":22081,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":22042,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":22043,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6050,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6051,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19093,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19094,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":450,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":465,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":21037,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":21040,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":451,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":467,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2141,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":23004,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":21146,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2146,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4364,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":8438,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4365,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2068,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2077,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":10668,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["word",{"_index":24350,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":12641,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":769,"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":23488,"title":{},"body":{"license.html":{}}}],["worker",{"_index":8680,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":8681,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":12451,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":24375,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":11311,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":23788,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1727,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2679,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":7819,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":7928,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2701,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":12850,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrap(props.system).toreference",{"_index":12851,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrap(props.user).toreference",{"_index":7826,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["wrapped",{"_index":24384,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2671,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrapper",{"_index":5331,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":8571,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1679,"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":1684,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":24713,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":21001,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":20998,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":21000,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":21002,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":10917,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":10952,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":21007,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":24794,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":19488,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":5655,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":5656,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":5657,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":5659,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":5654,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writing",{"_index":23865,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":23595,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8024,"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":24781,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["www",{"_index":14395,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":4959,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xml",{"_index":6384,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5224,"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":6385,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":6387,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":6381,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":6382,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5204,"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":5278,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5279,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5340,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5280,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5281,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5336,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5338,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5282,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":7801,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["xposition",{"_index":7834,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5312,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5311,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5313,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5314,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5316,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5315,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5317,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5318,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5285,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":24561,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":7623,"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":{}}}],["yagni",{"_index":24160,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":24366,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["year",{"_index":4269,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":19445,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:10",{"_index":19450,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:16",{"_index":19449,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:6",{"_index":19448,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":5852,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["years",{"_index":13053,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":5853,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.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":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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/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":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.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":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.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/SystemFactory.html":{},"injectables/SystemService.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/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":10753,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":22921,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["your.config.ts",{"_index":24823,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":24827,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":24825,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":24824,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":24319,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":24324,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":24828,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":23802,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":24354,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":24320,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":7802,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["yposition",{"_index":7835,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15337,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":21239,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]|[0",{"_index":11439,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":11438,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5223,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5205,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":218,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":4931,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":4934,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":4940,"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';\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"},"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_providers\n\n\n\ncluster_AccountApiModule_imports\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';\nimport { UserRepo } from '@shared/repo';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\nimport { LoggerModule } from '../../core/logger/logger.module';\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"},"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 { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\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';\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: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 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: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 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: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 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, Counted } from '@shared/domain';\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: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 | 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: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 \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, EntityId, IdmAccountProperties, User } from '@shared/domain';\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';\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';\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';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain';\nimport { IdentityManagementService } from '@infra/identity-management';\nimport { IServerConfig } from '@modules/server/server.config';\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\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nAccountModule -->\n\nSystemRepo->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 PermissionService\n \n \n SystemRepo\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 { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain';\nimport { SystemRepo, UserRepo } from '@shared/repo';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { IServerConfig } from '../server/server.config';\nimport { AccountLookupService } from './services/account-lookup.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\tSystemRepo,\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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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: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 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: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 \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:18\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: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 | 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: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 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:73\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: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 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:46\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:35\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: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 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: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 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:50\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: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 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:10\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 { EntityId, SortOrder } from '@shared/domain';\nimport { Account } from '@shared/domain/entity/account.entity';\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 { Account } from '@shared/domain';\nimport { AccountDto } from '@modules/account/services/dto/account.dto';\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';\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:13\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:108\n\n \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: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 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: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 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: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 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: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 \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: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 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: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 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:146\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: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 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: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 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: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 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:122\n\n \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: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 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: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 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: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 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:83\n\n \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: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 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 bcrypt from 'bcryptjs';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account, Counted, EntityId } from '@shared/domain';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountDto, AccountSaveDto } from './dto';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountLookupService } from './account-lookup.service';\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';\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"},"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"},"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_imports\n\n\n\ncluster_AuthenticationApiModule_providers\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_exports\n\n\n\ncluster_AuthenticationModule_providers\n\n\n\ncluster_AuthenticationModule_imports\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\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\nSystemRepo\n\nSystemRepo\n\nAuthenticationModule -->\n\nSystemRepo->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->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 LocalStrategy\n \n \n Oauth2Strategy\n \n \n SystemRepo\n \n \n UserRepo\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 { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\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';\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\tSystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\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';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\nimport { AccountService } from '@modules/account';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { IServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\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';\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';\nimport { AuthorizationContext, Action } 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: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 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 { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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: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 { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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_imports\n\n\n\ncluster_AuthorizationModule_exports\n\n\n\ncluster_AuthorizationModule_providers\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\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\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 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 \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { FeathersModule } from '@infra/feathers';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tTaskRule,\n\tTeamRule,\n\tUserRule,\n\tUserLoginMigrationRule,\n\tLegacySchoolRule,\n\tGroupRule,\n} from './domain/rules';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\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],\n\texports: [FeathersAuthorizationService, AuthorizationService],\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 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 \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:11\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:15\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:19\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:23\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:27\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\n/**\n * @deprecated\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_providers\n\n\n\ncluster_AuthorizationReferenceModule_exports\n\n\n\ncluster_AuthorizationReferenceModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule -->\n\nAuthorizationModule->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\nLessonRepo\n\nLessonRepo\n\nAuthorizationReferenceModule -->\n\nLessonRepo->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 LessonRepo\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 LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { ToolModule } from '@modules/tool';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '@modules/board';\nimport { ReferenceLoader, AuthorizationReferenceService, AuthorizationHelper } from './domain';\nimport { AuthorizationModule } from './authorization.module';\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: [AuthorizationModule, forwardRef(() => ToolModule), forwardRef(() => BoardModule), LoggerModule],\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\tLessonRepo,\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';\nimport { ReferenceLoader } from './reference.loader';\nimport { AuthorizationContext, AuthorizableReferenceType } from '../type';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationService } from './authorization.service';\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:11\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: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 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: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 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: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 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: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 \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: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 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: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 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: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 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 { BaseDO, EntityId, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { UserRepo } from '@shared/repo';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { ForbiddenLoggableException } from '../error';\nimport { RuleManager } from './rule-manager';\nimport { AuthorizationContext } from '../type';\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:12\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: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 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: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 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: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 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, Course, EntityId } from '@shared/domain';\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';\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/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 { Observable, firstValueFrom } 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: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 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: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 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: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 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: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 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:98\n \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: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 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: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 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: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 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 : 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: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(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:77\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: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 : 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: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 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: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 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:11\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, BaseEntity, baseEntityProperties, EntityId } from '@shared/domain';\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';\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:6\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: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 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: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 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: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 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 { AnyBoardDo, EntityId, SubmissionItem, UserRoleEnum } from '@shared/domain';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AuthorizationService, Action } from '@modules/authorization';\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\n \n \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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { IToolLaunchParams } 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: IToolLaunchParams\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"},"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 { ILearnroomElement } 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): ILearnroomElement {\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_providers\n\n\n\ncluster_BoardApiModule_imports\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 { EntityId } from '@shared/domain';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\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 { EntityId } from '@shared/domain';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 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\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\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 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\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\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';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoard,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n\tLessonEntity,\n\tLessonBoardElement,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n} from '@shared/domain';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { 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 { 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tCourse,\n\tEntityId,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { CourseRepo } from '@shared/repo';\nimport { AuthorizationLoaderService } from '@modules/authorization';\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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\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 { 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\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 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:30\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:30\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: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 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:189\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: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 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: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 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:39\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 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:175\n \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: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 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: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 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: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 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: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 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: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 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: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 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:200\n \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: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 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 type {\n\tBoardDoBuilder,\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tLinkElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain';\nimport {\n\tAnyBoardDo,\n\tBoardNodeType,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\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.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 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 { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain';\nimport { CopyStatus } from '@modules/copy-helper';\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: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 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: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 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:26\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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, BoardNode, ColumnBoardNode, EntityId } from '@shared/domain';\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';\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:13\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: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 \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: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 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: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 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: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 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:79\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:71\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: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 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 { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType, BoardNode, Course, EntityId, InputFormat } from '@shared/domain';\nimport { ConsoleWriterService } from '@infra/console';\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_imports\n\n\n\ncluster_BoardModule_exports\n\n\n\ncluster_BoardModule_providers\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\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 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 { 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';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\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: [ConsoleWriterModule, FilesStorageClientModule, LoggerModule, UserModule, ContextExternalToolModule],\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],\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: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 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: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 No\n \n\n\n \n \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: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 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: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 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, EntityId } from '@shared/domain';\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: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 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: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 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: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 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: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 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: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 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:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, EntityId, LessonBoardElement, TaskBoardElement } from '@shared/domain';\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';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\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 { 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: ITaskStatus)\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 ITaskStatus\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 { ITaskStatus } from '@shared/domain';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: ITaskStatus): 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:11\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: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 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: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 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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { Action } from '@modules/authorization';\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"},"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: IErrorType, 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 IErrorType\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 { IErrorType } 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 }: IErrorType,\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_providers\n\n\n\ncluster_CacheWrapperModule_exports\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"},"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: ICalendarEvent)\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 ICalendarEvent\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 { ICalendarEvent } 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: ICalendarEvent): 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';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Observable, firstValueFrom } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { ICalendarEvent } from '../interface/calendar-event.interface';\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:36\n\n \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: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 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: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 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:10\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:14\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:18\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:22\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 { 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 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:141\n \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: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 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: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 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: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 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: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 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:98\n \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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\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],\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 { 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 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: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 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:55\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: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/card/card.response.ts:34\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:61\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:38\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:58\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\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\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],\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';\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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, EntityId } from '@shared/domain';\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:9\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: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 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: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 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:96\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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\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';\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';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface IClassEntityProps {\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: IClassEntityProps) {\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: IClassEntityProps) {\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 { DeepPartial } from 'fishery';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ClassEntity, ClassSourceOptionsEntity, IClassEntityProps } from '@modules/class/entity';\nimport { ObjectId } from 'bson';\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"},"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';\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';\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"},"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 Private\n isGracePeriodExpired\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 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/uc/close-user-login-migration.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 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 import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { EntityId, Permission, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\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(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.write,\n\t\t});\n\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} else if (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t} else {\n\t\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\t\tschoolId\n\t\t\t);\n\n\t\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\t\tif (!hasSchoolMigratedUser) {\n\t\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(schoolId);\n\n\t\t\treturn updatedUserLoginMigration;\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\n \n\n\n\n\n\n\n\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: ICollaborativeStorageStrategy, 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 ICollaborativeStorageStrategy\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: ICollaborativeStorageStrategy)\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 ICollaborativeStorageStrategy\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 : ICollaborativeStorageStrategy\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 { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { ICollaborativeStorageStrategy } 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: ICollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('ICollaborativeStorageStrategy') strategy: ICollaborativeStorageStrategy,\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: ICollaborativeStorageStrategy) {\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_imports\n\n\n\ncluster_CollaborativeStorageAdapterModule_exports\n\n\n\ncluster_CollaborativeStorageAdapterModule_providers\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 { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { ToolModule } from '@modules/tool';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\n\nconst storageStrategy: Provider = {\n\tprovide: 'ICollaborativeStorageStrategy',\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 { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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_imports\n\n\n\ncluster_CollaborativeStorageModule_providers\n\n\n\ncluster_CollaborativeStorageModule_exports\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:13\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: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 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: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 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:31\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: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 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:42\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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\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"},"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"},"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 { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tEntityId,\n\tisColumnBoard,\n} from '@shared/domain';\nimport { CourseRepo } from '@shared/repo';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\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';\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\tEntityId,\n\tRichTextElement,\n} from '@shared/domain';\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 { ILearnroomElement } 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 ILearnroomElement {\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:8\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget, EntityId } from '@shared/domain';\nimport { ColumnBoardService } from '@modules/board';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CardResponseMapper } from './mapper';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\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';\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:8\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: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 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: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 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: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 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: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 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: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 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, EntityId } from '@shared/domain';\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:9\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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\nimport { CardService, ColumnService, BoardDoAuthorizableService } 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"},"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:18\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: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 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: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 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: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 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: IComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.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 lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n IComponentProperties\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:140\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: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 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 { Injectable } from '@nestjs/common';\nimport { Course, EntityId, IComponentProperties, Task } from '@shared/domain';\nimport { LessonService } from '@modules/lesson/service';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { CourseService } from './course.service';\nimport { createIdentifier } from '../common-cartridge/utils';\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\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: IComponentProperties,\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"},"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: ICommonCartridgeFileBuilderOptions)\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 ICommonCartridgeFileBuilderOptions\n \n \n \n No\n \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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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 ICommonCartridgeElement\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: ICommonCartridgeElement[], resources: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements ICommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: ICommonCartridgeElement[],\n\t\tprivate readonly resources: ICommonCartridgeElement[]\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 ICommonCartridgeElement\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 { ICommonCartridgeElement } 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 ICommonCartridgeElement {\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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 ICommonCartridgeElement\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 { ICommonCartridgeElement } 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 ICommonCartridgeElement {\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 ICommonCartridgeElement\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: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements ICommonCartridgeElement {\n\tconstructor(private readonly organizationElements: ICommonCartridgeElement[]) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { 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';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements ICommonCartridgeElement, ICommonCartridgeFile {\n\tprivate readonly inner: ICommonCartridgeElement & ICommonCartridgeFile;\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 ICommonCartridgeElement\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: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements ICommonCartridgeElement {\n\tconstructor(private readonly resourceElements: ICommonCartridgeElement[]) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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_imports\n\n\n\ncluster_CommonToolModule_providers\n\n\n\ncluster_CommonToolModule_exports\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 determineToolConfigurationStatus\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 determineToolConfigurationStatus\n \n \n \n \n \n \ndetermineToolConfigurationStatus(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: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 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 : ToolConfigurationStatus\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: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 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 { ToolConfigurationStatus } from '../enum';\nimport { ToolVersion } from '../interface';\n\n@Injectable()\nexport class CommonToolService {\n\tdetermineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ToolConfigurationStatus {\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\treturn ToolConfigurationStatus.LATEST;\n\t\t}\n\n\t\treturn ToolConfigurationStatus.OUTDATED;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n}\n\n \n\n\n\n\n\n\n\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 Public\n checkForDuplicateParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkScopeAndValidateParameter\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: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 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 Public\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: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 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 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: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 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: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 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: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 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 checkScopeAndValidateParameter\n \n \n \n \n \n \n \n checkScopeAndValidateParameter(validatableTool: ValidatableTool, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.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 validatableTool\n \n ValidatableTool\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 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: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 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 checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) =>\n\t\t\tname.toLowerCase()\n\t\t);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\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\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tif (loadedExternalTool.parameters) {\n\t\t\tfor (const param of loadedExternalTool.parameters) {\n\t\t\t\tthis.checkScopeAndValidateParameter(validatableTool, param);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkScopeAndValidateParameter(validatableTool: ValidatableTool, param: CustomParameter): void {\n\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t({ name }: CustomParameterEntry): boolean => name.toLowerCase() === param.name.toLowerCase()\n\t\t);\n\n\t\tif (param.scope === CustomParameterScope.SCHOOL && validatableTool instanceof SchoolExternalTool) {\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t} else if (param.scope === CustomParameterScope.CONTEXT && validatableTool instanceof ContextExternalTool) {\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\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 (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"},"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 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: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 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 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:93\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:43\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:56\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:68\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:81\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 { 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.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 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\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:18\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: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 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: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 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';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\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\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\tEntityId,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain';\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 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:28\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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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:28\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\tInputFormat,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tAnyElementContentBody,\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 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:76\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:43\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:73\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:64\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:70\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:76\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:40\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:10\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:13\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:16\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:19\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:22\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:46\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:67\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:49\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:25\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:28\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:31\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:34\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:58\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:61\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:37\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:52\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:55\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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 { EntityId } from '@shared/domain';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { Injectable } from '@nestjs/common';\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/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';\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"},"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 IContextExternalToolProperties {\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: IContextExternalToolProperties) {\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';\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\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\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\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 \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\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 \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 {\n\tContextExternalToolAuthorizableService,\n\tContextExternalToolService,\n\tContextExternalToolValidationService,\n\tToolReferenceService,\n} from './service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\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/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 deleteBySchoolExternalToolIds\n \n \n entityFactory\n \n \n Async\n find\n \n \n Public\n \n Async\n findById\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 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 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:25\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: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 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 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: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 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 entityFactory\n \n \n \n \n \n \nentityFactory(props: IContextExternalToolProperties)\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 props\n \n IContextExternalToolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolEntity\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: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 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:56\n\n \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: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 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: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 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:103\n\n \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 : IContextExternalToolProperties\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:82\n\n \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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:77\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: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 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: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 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:50\n\n \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/contextexternaltool/context-external-tool.repo.ts:30\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 { BaseDORepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport {\n\tContextExternalToolEntity,\n\tContextExternalToolType,\n\tIContextExternalToolProperties,\n} 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 { EntityId } from '../../domain';\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\tentityFactory(props: IContextExternalToolProperties): ContextExternalToolEntity {\n\t\treturn new ContextExternalToolEntity(props);\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\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\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): IContextExternalToolProperties {\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,\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 { Scope } from '@shared/repo';\nimport { EntityId } from '@shared/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\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 Async\n deleteBySchoolExternalToolId\n \n \n Async\n deleteContextExternalTool\n \n \n Async\n findAllByContext\n \n \n Async\n findById\n \n \n Async\n findContextExternalTools\n \n \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)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.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 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: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 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 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: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 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 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: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 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 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: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 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 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: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 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 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: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 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';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tasync findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tasync saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tasync 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\tasync deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tasync 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\n \n\n\n\n\n\n\n\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:19\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: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 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: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 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:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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:101\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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 { EntityId, Permission, User } from '@shared/domain';\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, ContextExternalToolValidationService } from '../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.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.findById(\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.findById(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.findById(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 checkDuplicateInContext\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 checkDuplicateInContext\n \n \n \n \n \n \n \n checkDuplicateInContext(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.checkDuplicateInContext(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 checkDuplicateInContext(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';\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"},"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: ICopyFileDomainObjectProps)\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 ICopyFileDomainObjectProps\n \n \n \n No\n \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';\nimport { ICopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: ICopyFileDomainObjectProps) {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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: IFileRequestInfo, target: IFileRequestInfo)\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 IFileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n IFileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICopyFilesRequestInfo\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';\nimport { IFileRequestInfo } from '../interfaces';\nimport { ICopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: IFileRequestInfo, target: IFileRequestInfo): ICopyFilesRequestInfo {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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: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 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: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 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: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 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 { EntityId, LessonEntity, Task } from '@shared/domain';\nimport { 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 { 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"},"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 IFederalStateProperties {\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: IFederalStateProperties) {\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:103\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:83\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:93\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:79\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:60\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:100\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:106\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:57\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:64\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:97\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:86\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:68\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:76\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:72\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:90\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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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 { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { ConfigService } from '@nestjs/config';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseMetadataListResponse, CourseUrlParams, CourseQueryParams } from './dto';\nimport { CourseMapper } from '../mapper/course.mapper';\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:15\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: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 \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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Course, EntityId, User } from '@shared/domain';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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:10\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:27\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: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 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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizationReferenceService, AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\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:9\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizationReferenceService, AuthorizableReferenceType } from '@modules/authorization/domain';\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, ICourseProperties } from '@shared/domain';\n\nimport { schoolFactory } from './school.factory';\nimport { BaseFactory } from './base.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 { IEntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseGroupProperties {\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 IEntityWithSchool, ITaskParent, ILessonParent {\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: ICourseGroupProperties) {\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, ICourseGroupProperties } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { courseFactory } from './course.factory';\nimport { BaseFactory } from './base.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"},"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: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 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: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 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: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 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:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { Counted, EntityId, CourseGroup } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\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:6\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: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 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: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 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 { Counted, CourseGroup, EntityId } from '@shared/domain';\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';\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';\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';\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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/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: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 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: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 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: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 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: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 \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:63\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: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 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:55\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 { Counted, Course, EntityId, IFindOptions } from '@shared/domain';\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:37\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: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 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: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 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: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 : 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: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 : 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 { Counted, Course, EntityId, IFindOptions } from '@shared/domain';\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:6\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: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 \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: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 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: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 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: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 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 { CourseRepo } from '@shared/repo';\nimport { Counted, Course, EntityId } from '@shared/domain';\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:7\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: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 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 { Counted, Course, EntityId, SortOrder } from '@shared/domain';\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"},"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';\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';\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"},"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:22\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:30\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:44\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:37\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 { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, NewsTargetModel } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\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@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, 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 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 { Role, User } from '@shared/domain';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, 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: false,\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 { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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: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 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: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 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: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 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, LearnroomMetadata } from '@shared/domain';\nimport { DashboardResponse, DashboardGridElementResponse, DashboardGridSubElementResponse } 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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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: ILearnroom)\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 ILearnroom\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 { wrap, EntityManager } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tDashboardEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tILearnroom,\n\tLearnroomTypes,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tCourse,\n\tUser,\n} from '@shared/domain';\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: ILearnroom): 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"},"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:20\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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, DashboardEntity, GridElementWithPosition, DashboardModelEntity } from '@shared/domain';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\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:7\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: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 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: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 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: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 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: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 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 { Injectable, Inject, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, EntityId, GridPositionWithGroupIndex, GridPosition, SortOrder } from '@shared/domain';\nimport { IDashboardRepo, CourseRepo } 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 { BaseEntity } from '@shared/domain';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Collection, Db } from 'mongodb';\nimport { MikroORM } from '@mikro-orm/core';\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';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesRepo } from '../repo';\nimport { FileEntity } from '../entity';\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"},"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 \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 import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel } from './types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from './types/deletion-operation-model.enum';\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}\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\n \n\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\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:30\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:33\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:21\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:27\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:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\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\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\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 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 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, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\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\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\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: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 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: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 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: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 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});\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});\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 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 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 } from './types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from './types/deletion-operation-model.enum';\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}\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\n \n\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';\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:10\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogRepo } from '../repo';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\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\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/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';\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/uc/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/uc/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/deletion-domain-model.enum';\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\ncluster_DeletionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionModule -->\n\nLoggerModule->DeletionModule\n\n\n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \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 DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeletionRequestService, DeletionRequestRepo],\n\texports: [DeletionRequestService],\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/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:16\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:20\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:24\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:28\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:32\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:36\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 } from './types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from './types/deletion-status-model.enum';\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"},"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';\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 deleteAfter\n \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 deleteAfter\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/deletion/entity/deletion-request.entity.ts:21\n \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()@Index()\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:27\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: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';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\n\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@Index({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\t@Index()\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 } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\n\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@Index({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\t@Index()\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: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 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 } from '../../types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../../types/deletion-status-model.enum';\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/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';\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/DeletionRequestLogBuilder.html":{"url":"classes/DeletionRequestLogBuilder.html","title":"class - DeletionRequestLogBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogBuilder\n\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-request-log.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/uc/builder/deletion-request-log.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 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 : DeletionRequestLog\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionLogStatistic, DeletionRequestLog, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLog {\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/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 } from './types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from './types/deletion-status-model.enum';\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';\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:13\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId, SortOrder } from '@shared/domain';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\nimport { DeletionRequestScope } from './deletion-request-scope';\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/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/deletion-status-model.enum';\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:10\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:13\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: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 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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\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/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/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';\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/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';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\nimport { DeletionTargetRef } from '../interface';\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';\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';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 : ITaskStatus\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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): ITaskStatus {\n\t\tlet status: ITaskStatus;\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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 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: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 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)@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: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 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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\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)\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],\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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tEntityId,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\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"},"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"},"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 { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { IError } from '@infra/rabbitmq';\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"},"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 externalOrganizationId\n \n \n from\n \n \n name\n \n \n type\n \n \n until\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(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 externalOrganizationId\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:17\n \n \n\n\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 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 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 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:15\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 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 users\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\tusers: ExternalGroupUserDto[];\n\n\tfrom: Date;\n\n\tuntil: Date;\n\n\ttype: GroupTypes;\n\n\texternalOrganizationId?: string;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.users = props.users;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t\tthis.externalOrganizationId = props.externalOrganizationId;\n\t}\n}\n\n \n\n\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';\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 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: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 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 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\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t}\n}\n\n \n\n\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 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:46\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:38\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:42\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:36\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:34\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:30\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:44\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:40\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:32\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:46\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:62\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: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 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: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 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 } 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\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\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}\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 filterParametersForScope\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.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 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 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: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 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: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 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: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 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 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: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 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 import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId, Page } from '@shared/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameterScope } from '../../common/enum';\nimport { CustomParameter } from '../../common/domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures) {}\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 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\n \n\n\n\n\n\n\n\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 \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)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.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 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 \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: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 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: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 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: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 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: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 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: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 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: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 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 import { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { EntityId, Permission } from '@shared/domain';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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) {}\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\tconst 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.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.findById(\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:107\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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 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 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, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType } 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\n \n\n\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';\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:116\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:112\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 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:25\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:31\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:22\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:19\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:13\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:34\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:28\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: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 @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:37\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';\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\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}\n}\n\n \n\n\n\n\n\n\n\n\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\tregex: 'regex',\n\t\t\tregexComment: 'mockComment',\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';\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"},"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_providers\n\n\n\ncluster_ExternalToolModule_imports\n\n\n\ncluster_ExternalToolModule_exports\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\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\nExternalToolVersionService \n\nExternalToolVersionService \n\nExternalToolVersionService -->\n\nExternalToolModule->ExternalToolVersionService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->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\nExternalToolVersionService\n\nExternalToolVersionService\n\nExternalToolModule -->\n\nExternalToolVersionService->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 ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionService\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 ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionService\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 {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionService,\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\tExternalToolVersionService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\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 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 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 } 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\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\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}\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';\n\nexport interface IExternalToolPseudonymEntityProps {\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: IExternalToolPseudonymEntityProps) {\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"},"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: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 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: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 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: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 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: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 \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: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 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: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 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: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 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: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 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: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 entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IExternalToolPseudonymEntityProps\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: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 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 { EntityId, IFindOptions, IPagination, Page, Pseudonym } from '@shared/domain';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, IExternalToolPseudonymEntityProps } 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: IExternalToolPseudonymEntityProps = 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): IExternalToolPseudonymEntityProps {\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: IPagination = 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: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: IExternalToolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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:19\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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { IFindOptions, IPagination, Page, SortOrder } from '@shared/domain';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\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 { 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: IPagination = 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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});\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};\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:87\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: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 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: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 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:141\n \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: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 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: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 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: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 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: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 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: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 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';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\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 {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolSearchQuery } from '../../common/interface';\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};\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};\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 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:31\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: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/external-tool/controller/dto/response/external-tool.response.ts:7\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:25\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: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/external-tool.response.ts:10\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:28\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:22\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:13\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:31\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';\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\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}\n}\n\n \n\n\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: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 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: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 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: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 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: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 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});\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: IEncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.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 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 IEncryptionService\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 ExternalToolVersionService\n \n \n \n No\n \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: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 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: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 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: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 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: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\n \n\n \n No\n \n\n\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: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 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:98\n \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: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 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: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 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: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 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: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 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 { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, IFindOptions, Page } from '@shared/domain';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\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 { ExternalToolVersionService } from './external-tool-version.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: IEncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionService\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 { SortOrderMap } from '@shared/domain';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\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 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)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.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 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 \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: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 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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, IFindOptions, Page, Permission, User } from '@shared/domain';\nimport { AuthorizationService } from '@modules/authorization';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig } from '../domain';\nimport { ExternalToolLogoService, ExternalToolService, ExternalToolValidationService } 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) {}\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\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 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 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, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType } 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\n \n\n\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, toolFeatures: IToolFeatures, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/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 externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\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 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: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 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: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 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: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\n \n\n \n No\n \n\n\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: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 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: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 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 { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\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\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\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/ExternalToolVersionService.html":{"url":"injectables/ExternalToolVersionService.html","title":"injectable - ExternalToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionService\n\n\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.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.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.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.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.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.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.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.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.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 ExternalToolVersionService {\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 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: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 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 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';\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\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}\n}\n\n \n\n\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:13\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: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 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: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 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: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 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: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 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: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 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 { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity, EntityId, NewsTargetModel } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { FeathersServiceProvider } from '@infra/feathers';\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';\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:53\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:222\n \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: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 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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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 IFederalStateProperties {\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: IFederalStateProperties) {\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"},"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 { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain';\nimport { EntityName } from '@mikro-orm/core';\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 { FederalStateRepo } from '@shared/repo';\nimport { FederalStateEntity } from '@shared/domain';\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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: IFileDomainObjectProps)\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 IFileDomainObjectProps\n \n \n \n No\n \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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { IFileDomainObjectProps } 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: IFileDomainObjectProps) {\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 alternativeText\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: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 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 alternativeText\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/file-element.response.ts:15\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()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.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';\nimport { ContentElementType } from '@shared/domain';\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\tcaption: string;\n\n\t@ApiProperty()\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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/file-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/file-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.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: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';\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\tcaption: string;\n\n\t@ApiProperty()\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';\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:99\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:109\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:88\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:80\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:60\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:42\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:39\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:45\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:48\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:106\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:95\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:72\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:76\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:51\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:57\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:63\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:66\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:69\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:54\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:116\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 { v4 as uuid } from 'uuid';\nimport { EntityId, StorageProviderEntity } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { FileOwnerModel } from '../domain';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\nimport { FilePermissionEntity } from './file-permission.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 { v4 as uuid } from 'uuid';\nimport { EntityId, StorageProviderEntity } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { FileOwnerModel } from '../domain';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\nimport { FilePermissionEntity } from './file-permission.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';\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 : IFileRequestInfo\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';\nimport { EntitiesWithFiles, IFileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): IFileRequestInfo {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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';\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';\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:131\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:145\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:124\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:138\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:104\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:113\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:110\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:120\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:116\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:107\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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, FileRecordSecurityCheck, IFileRecordProperties } 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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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: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 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: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 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: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 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: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 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: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 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: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 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: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 \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: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 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:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IFindOptions, SortOrder } from '@shared/domain';\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';\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: IFileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.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 IFileRecordSecurityCheckProperties\n \n \n \n No\n \n \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:54\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:48\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:51\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:45\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:57\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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"},"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"},"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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\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\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 StorageProviderRepo\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 { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo],\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 { Injectable } from '@nestjs/common';\nimport { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain';\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';\nimport { FilesRepo } from '../repo';\nimport { FileEntity } from '../entity';\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: ICopyFilesRequestInfo)\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 ICopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \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: IFileRequestInfo)\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 IFileRequestInfo\n \n\n \n No\n \n\n\n \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';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { IFileRequestInfo } from '../interfaces';\nimport { ICopyFilesRequestInfo } 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: ICopyFilesRequestInfo): 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: IFileRequestInfo): 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"},"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: ICopyFileDomainObjectProps[])\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 ICopyFileDomainObjectProps[]\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: ICopyFileDomainObjectProps)\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 ICopyFileDomainObjectProps\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: IFileDomainObjectProps[])\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 IFileDomainObjectProps[]\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: IFileDomainObjectProps)\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 IFileDomainObjectProps\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 { LessonEntity, Submission, Task } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { EntitiesWithFiles, ICopyFileDomainObjectProps, IFileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: IFileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: IFileDomainObjectProps) => {\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: ICopyFileDomainObjectProps[]): 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: IFileDomainObjectProps) {\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: ICopyFileDomainObjectProps) {\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 { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageEvents, FilesStorageExchange, ICopyFileDO, IFileDO } from '@infra/rabbitmq';\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 { 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';\nimport { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\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: ICopyFilesOfParentParams)\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 ICopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \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: IFileRecordParams)\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 IFileRecordParams\n \n\n \n No\n \n\n\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tICopyFileDO,\n\tICopyFilesOfParentParams,\n\tIFileDO,\n\tIFileRecordParams,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { IFilesStorageClientConfig } 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: ICopyFilesOfParentParams): 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: IFileRecordParams): 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: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 { ALL_ENTITIES } from '@shared/domain';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\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 { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain';\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';\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 { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\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';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\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 { 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';\nimport { 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 { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\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:16\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:12\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:28\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:32\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:22\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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 @IsUrl()@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 { IsUrl } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsUrl()\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 \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 import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME } = 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 { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\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 : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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: ILearnroom[])\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 ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\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: ILearnroom)\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 ILearnroom\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: ILearnroom)\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 ILearnroom\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 : ILearnroom[]\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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: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 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:49\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: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 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:25\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:29\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:33\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:37\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:41\n \n \n\n \n \n\n \n\n\n \n import { EntityId, ExternalSource, type UserDO } from '@shared/domain';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\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\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\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 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 { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [GroupModule, ClassModule, UserModule, RoleModule, LegacySchoolModule, AuthorizationModule, SystemModule],\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';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport { ClassInfoSearchListResponse, ClassSortParams, GroupIdParams, GroupResponse, ClassFilterParams } 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: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 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: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 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: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 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: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 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: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 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: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 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, ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain';\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 { EntityId, ExternalSource, type UserDO } from '@shared/domain';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\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\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 { EntityId } from '@shared/domain/types';\nimport { type UserDO } from '@shared/domain';\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';\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';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\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:9\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: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 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: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 EntityId\n \n\n \n No\n \n\n\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: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 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: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 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: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 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: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 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: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 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 { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId, type UserDO } from '@shared/domain';\nimport { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\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: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 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: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 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: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 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';\nimport { RoleName, SchoolYearEntity, UserDO } from '@shared/domain';\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';\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';\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:121\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:133\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:140\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:150\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:147\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:129\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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\tIH5PContentProperties,\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';\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"},"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';\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: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 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: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 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:124\n \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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:200\n \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: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 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 {\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 { ICurrentUser, CurrentUser } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\n\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\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 { 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_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\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 \n\n\n \n\n\n \n import { 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';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, InstalledLibrary, H5pEditorTempFile } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorProvider, H5PAjaxEndpointProvider, H5PPlayerProvider } from './provider';\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\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})\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 { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorController } from './controller';\nimport { H5PEditorProvider, H5PAjaxEndpointProvider, H5PPlayerProvider } from './provider';\nimport { H5PContent } from './entity';\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"},"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 { ITemporaryFileProperties, H5pEditorTempFile } 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 { Entity, Property } from '@mikro-orm/core';\nimport { ITemporaryFile, IFileStats } from '@lumieducation/h5p-server';\nimport { BaseEntityWithTimestamps } from '@shared/domain';\n\nexport interface ITemporaryFileProperties {\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 }: ITemporaryFileProperties) {\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"},"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 HYDRA_PUBLIC_URI\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: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 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: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 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: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 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(userId: string, jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.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 string\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 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 HYDRA_PUBLIC_URI\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HYDRA_PUBLIC_URI') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:25\n \n \n\n\n \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:23\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:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfig } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthSSOError } from '../loggable/oauth-sso.error';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraSsoService } from '../service/hydra.service';\nimport { OAuthService } from '../service/oauth.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\tprivate readonly HYDRA_PUBLIC_URI: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new OAuthSSOError(\n\t\t\t\t'Authorization Query Object has no authorization code or error',\n\t\t\t\terror || 'sso_auth_code_step'\n\t\t\t);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfig = 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(userId: string, jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfig = 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: IEncryptionService, 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 IEncryptionService\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: OauthConfig, 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 OauthConfig\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 { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { OauthConfig } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\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 { 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: IEncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfig, 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 OauthConfig({\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/IAccountConfig.html":{"url":"interfaces/IAccountConfig.html","title":"interface - IAccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IAccountConfig\n\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 IAccountConfig {\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"},"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/ICalendarEvent.html":{"url":"interfaces/ICalendarEvent.html","title":"interface - ICalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICalendarEvent\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 ICalendarEvent {\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"},"interfaces/IClassEntityProps.html":{"url":"interfaces/IClassEntityProps.html","title":"interface - IClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IClassEntityProps\n\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';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface IClassEntityProps {\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: IClassEntityProps) {\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: IClassEntityProps) {\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"},"interfaces/ICleanOptions.html":{"url":"interfaces/ICleanOptions.html","title":"interface - ICleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICleanOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/ICollaborativeStorageStrategy.html":{"url":"interfaces/ICollaborativeStorageStrategy.html","title":"interface - ICollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICollaborativeStorageStrategy\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 ICollaborativeStorageStrategy {\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"},"interfaces/ICollectionFilePath.html":{"url":"interfaces/ICollectionFilePath.html","title":"interface - ICollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICollectionFilePath\n\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 { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, IEncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\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 ICollectionFilePath {\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: IEncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: IEncryptionService\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 {ICollectionFilePath}\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 {ICollectionFilePath}\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 {ICollectionFilePath} 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: ICollectionFilePath[] = [];\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"},"interfaces/ICommonCartridgeConfig.html":{"url":"interfaces/ICommonCartridgeConfig.html","title":"interface - ICommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeConfig\n\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 ICommonCartridgeConfig {\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/ICommonCartridgeElement.html":{"url":"interfaces/ICommonCartridgeElement.html","title":"interface - ICommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeElement\n\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 ICommonCartridgeElement {\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"},"interfaces/ICommonCartridgeFile.html":{"url":"interfaces/ICommonCartridgeFile.html","title":"interface - ICommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFile\n\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 ICommonCartridgeFile {\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"},"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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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/IComponentEtherpadProperties.html":{"url":"interfaces/IComponentEtherpadProperties.html","title":"interface - IComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentEtherpadProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentGeogebraProperties.html":{"url":"interfaces/IComponentGeogebraProperties.html","title":"interface - IComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentGeogebraProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentInternalProperties.html":{"url":"interfaces/IComponentInternalProperties.html","title":"interface - IComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentInternalProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentLernstoreProperties.html":{"url":"interfaces/IComponentLernstoreProperties.html","title":"interface - IComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentLernstoreProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentNexboardProperties.html":{"url":"interfaces/IComponentNexboardProperties.html","title":"interface - IComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentNexboardProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentTextProperties.html":{"url":"interfaces/IComponentTextProperties.html","title":"interface - IComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentTextProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IContextExternalToolProperties.html":{"url":"interfaces/IContextExternalToolProperties.html","title":"interface - IContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IContextExternalToolProperties\n\n\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 IContextExternalToolProperties {\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: IContextExternalToolProperties) {\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/ICopyFileDO.html":{"url":"interfaces/ICopyFileDO.html","title":"interface - ICopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFileDO\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';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/ICopyFileDomainObjectProps.html":{"url":"interfaces/ICopyFileDomainObjectProps.html","title":"interface - ICopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFileDomainObjectProps\n\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';\n\nexport interface ICopyFileDomainObjectProps {\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"},"interfaces/ICopyFilesOfParentParams.html":{"url":"interfaces/ICopyFilesOfParentParams.html","title":"interface - ICopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFilesOfParentParams\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 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: IFileRecordParams\n\n \n \n\n\n \n \n Type : IFileRecordParams\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: IFileRecordParams\n\n \n \n\n\n \n \n Type : IFileRecordParams\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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/ICopyFilesRequestInfo.html":{"url":"interfaces/ICopyFilesRequestInfo.html","title":"interface - ICopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFilesRequestInfo\n\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: IFileRequestInfo\n\n \n \n\n\n \n \n Type : IFileRequestInfo\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: IFileRequestInfo\n\n \n \n\n\n \n \n Type : IFileRequestInfo\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';\nimport { IFileRequestInfo } from './file-request-info';\n\nexport interface ICopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: IFileRequestInfo;\n\ttarget: IFileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICoreModuleConfig.html":{"url":"interfaces/ICoreModuleConfig.html","title":"interface - ICoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICoreModuleConfig\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 IInterceptorConfig\n ILoggerConfig\n \n\n\n\n\n \n\n\n \n import { IInterceptorConfig } from '@shared/common';\nimport { ILoggerConfig } from '../logger';\n\nexport interface ICoreModuleConfig extends IInterceptorConfig, ILoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICourseGroupProperties.html":{"url":"interfaces/ICourseGroupProperties.html","title":"interface - ICourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICourseGroupProperties\n\n\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 { IEntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseGroupProperties {\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 IEntityWithSchool, ITaskParent, ILessonParent {\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: ICourseGroupProperties) {\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"},"interfaces/ICourseProperties.html":{"url":"interfaces/ICourseProperties.html","title":"interface - ICourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICourseProperties\n\n\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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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"},"interfaces/ICreateNews.html":{"url":"interfaces/ICreateNews.html","title":"interface - ICreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICreateNews\n\n\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 { EntityId } from './entity-id';\nimport type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\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 ICreateNews {\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/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\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';\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 */\n\tisExternalUser: boolean;\n}\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"},"interfaces/IDashboardModelProperties.html":{"url":"interfaces/IDashboardModelProperties.html","title":"interface - IDashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardModelProperties\n\n\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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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"},"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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, DashboardEntity, GridElementWithPosition, DashboardModelEntity } from '@shared/domain';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\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/IEncryptionService.html":{"url":"interfaces/IEncryptionService.html","title":"interface - IEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEncryptionService\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 IEncryptionService {\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"},"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 IEntityWithSchool 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/IEntityWithSchool.html":{"url":"interfaces/IEntityWithSchool.html","title":"interface - IEntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithSchool\n\n\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 IEntityWithSchool 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 IEntityWithSchool 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/IErrorType.html":{"url":"interfaces/IErrorType.html","title":"interface - IErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IErrorType\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 IErrorType {\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"},"interfaces/IExternalToolPseudonymEntityProps.html":{"url":"interfaces/IExternalToolPseudonymEntityProps.html","title":"interface - IExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IExternalToolPseudonymEntityProps\n\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';\n\nexport interface IExternalToolPseudonymEntityProps {\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: IExternalToolPseudonymEntityProps) {\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"},"interfaces/IFederalStateProperties.html":{"url":"interfaces/IFederalStateProperties.html","title":"interface - IFederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFederalStateProperties\n\n\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 IFederalStateProperties {\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: IFederalStateProperties) {\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"},"interfaces/IFileDO.html":{"url":"interfaces/IFileDO.html","title":"interface - IFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileDO\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';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/IFileDomainObjectProps.html":{"url":"interfaces/IFileDomainObjectProps.html","title":"interface - IFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileDomainObjectProps\n\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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\n\nexport interface IFileDomainObjectProps {\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"},"interfaces/IFileRecordParams.html":{"url":"interfaces/IFileRecordParams.html","title":"interface - IFileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordParams\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 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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/IFileRecordProperties.html":{"url":"interfaces/IFileRecordProperties.html","title":"interface - IFileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordProperties\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IFileRecordSecurityCheckProperties.html":{"url":"interfaces/IFileRecordSecurityCheckProperties.html","title":"interface - IFileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordSecurityCheckProperties\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IFileRequestInfo.html":{"url":"interfaces/IFileRequestInfo.html","title":"interface - IFileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRequestInfo\n\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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\n\nexport interface IFileRequestInfo {\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"},"interfaces/IFileStorageConfig.html":{"url":"interfaces/IFileStorageConfig.html","title":"interface - IFileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileStorageConfig\n\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 ICoreModuleConfig\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 { ICoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface IFileStorageConfig extends ICoreModuleConfig {\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: IFileStorageConfig = {\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"},"interfaces/IFilesStorageClientConfig.html":{"url":"interfaces/IFilesStorageClientConfig.html","title":"interface - IFilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFilesStorageClientConfig\n\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 IFilesStorageClientConfig {\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"},"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: IPagination\n\n \n \n\n\n \n \n Type : IPagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IPagination {\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?: IPagination;\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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 : ILearnroom[]\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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/IH5PContentProperties.html":{"url":"interfaces/IH5PContentProperties.html","title":"interface - IH5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PContentProperties\n\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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"},"interfaces/IIdentityManagementConfig.html":{"url":"interfaces/IIdentityManagementConfig.html","title":"interface - IIdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IIdentityManagementConfig\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 IIdentityManagementConfig {\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"},"interfaces/IImportUserProperties.html":{"url":"interfaces/IImportUserProperties.html","title":"interface - IImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserProperties\n\n\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 { IEntityWithSchool, 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 IImportUserProperties {\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 IEntityWithSchool {\n\tconstructor(props: IImportUserProperties) {\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"},"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 INameMatch {\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/IInterceptorConfig.html":{"url":"interfaces/IInterceptorConfig.html","title":"interface - IInterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IInterceptorConfig\n\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 IInterceptorConfig {\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"},"interfaces/IJsonAccount.html":{"url":"interfaces/IJsonAccount.html","title":"interface - IJsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IJsonAccount\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 IJsonAccount {\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/IJsonUser.html":{"url":"interfaces/IJsonUser.html","title":"interface - IJsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IJsonUser\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 IJsonUser {\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"},"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/ILearnroom.html":{"url":"interfaces/ILearnroom.html","title":"interface - ILearnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILearnroom\n\n\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 ILearnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface ILearnroomElement {\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"},"interfaces/ILearnroomElement.html":{"url":"interfaces/ILearnroomElement.html","title":"interface - ILearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILearnroomElement\n\n\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 ILearnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface ILearnroomElement {\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"},"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/ILessonParent.html":{"url":"interfaces/ILessonParent.html","title":"interface - ILessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILessonParent\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/ILessonProperties.html":{"url":"interfaces/ILessonProperties.html","title":"interface - ILessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILessonProperties\n\n\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: IComponentProperties[] | \n\n \n \n\n\n \n \n Type : IComponentProperties[] | \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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/ILoggerConfig.html":{"url":"interfaces/ILoggerConfig.html","title":"interface - ILoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILoggerConfig\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 ILoggerConfig {\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"},"interfaces/IMaterialProperties.html":{"url":"interfaces/IMaterialProperties.html","title":"interface - IMaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IMaterialProperties\n\n\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: IRelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : IRelatedResourceProperties[]\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: ITargetGroupProperties[]\n\n \n \n\n\n \n \n Type : ITargetGroupProperties[]\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"interfaces/IMigrationOptions.html":{"url":"interfaces/IMigrationOptions.html","title":"interface - IMigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IMigrationOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/INameMatch.html":{"url":"interfaces/INameMatch.html","title":"interface - INameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INameMatch\n\n\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 INameMatch {\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/INewsProperties.html":{"url":"interfaces/INewsProperties.html","title":"interface - INewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsProperties\n\n\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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"},"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 { EntityId } from './entity-id';\nimport type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\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 ICreateNews {\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/IPagination.html":{"url":"interfaces/IPagination.html","title":"interface - IPagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IPagination\n\n\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 IPagination {\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?: IPagination;\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/IParentInfo.html":{"url":"interfaces/IParentInfo.html","title":"interface - IParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IParentInfo\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IRelatedResourceProperties.html":{"url":"interfaces/IRelatedResourceProperties.html","title":"interface - IRelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRelatedResourceProperties\n\n\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"interfaces/IRepoLoader.html":{"url":"interfaces/IRepoLoader.html","title":"interface - IRepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRepoLoader\n\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 { Injectable, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { BoardDoAuthorizableService } from '@modules/board';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool/context-external-tool/service';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| LessonRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService;\n\ninterface IRepoLoader {\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 lessonRepo: LessonRepo,\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.lessonRepo });\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): IRepoLoader {\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: IRepoLoader = 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"},"interfaces/IRetryOptions.html":{"url":"interfaces/IRetryOptions.html","title":"interface - IRetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRetryOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/IRoleProperties.html":{"url":"interfaces/IRoleProperties.html","title":"interface - IRoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRoleProperties\n\n\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 IRoleProperties {\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: IRoleProperties) {\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"},"interfaces/ISchoolExternalToolProperties.html":{"url":"interfaces/ISchoolExternalToolProperties.html","title":"interface - ISchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolExternalToolProperties\n\n\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 ISchoolExternalToolProperties {\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: ISchoolExternalToolProperties) {\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/ISchoolProperties.html":{"url":"interfaces/ISchoolProperties.html","title":"interface - ISchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolProperties\n\n\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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"},"interfaces/ISchoolYearProperties.html":{"url":"interfaces/ISchoolYearProperties.html","title":"interface - ISchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolYearProperties\n\n\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 ISchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements ISchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: ISchoolYearProperties) {\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"},"interfaces/IScopeInfo.html":{"url":"interfaces/IScopeInfo.html","title":"interface - IScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IScopeInfo\n\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';\n\nexport interface IScopeInfo {\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"},"interfaces/IServerConfig.html":{"url":"interfaces/IServerConfig.html","title":"interface - IServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IServerConfig\n\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 ICoreModuleConfig\n IUserConfig\n IFilesStorageClientConfig\n IAccountConfig\n IIdentityManagementConfig\n ICommonCartridgeConfig\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 { IIdentityManagementConfig } from '@infra/identity-management';\nimport type { ICoreModuleConfig } from '@src/core';\nimport type { IAccountConfig } from '@modules/account';\nimport type { IFilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { IUserConfig } from '@modules/user';\nimport type { ICommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface IServerConfig\n\textends ICoreModuleConfig,\n\t\tIUserConfig,\n\t\tIFilesStorageClientConfig,\n\t\tIAccountConfig,\n\t\tIIdentityManagementConfig,\n\t\tICommonCartridgeConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: IServerConfig = {\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};\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"},"interfaces/IShareTokenProperties.html":{"url":"interfaces/IShareTokenProperties.html","title":"interface - IShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IShareTokenProperties\n\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 IShareTokenProperties {\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: IShareTokenProperties) {\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"},"interfaces/IStorageProviderProperties.html":{"url":"interfaces/IStorageProviderProperties.html","title":"interface - IStorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IStorageProviderProperties\n\n\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 IStorageProviderProperties {\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: IStorageProviderProperties) {\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"},"interfaces/ISubmissionProperties.html":{"url":"interfaces/ISubmissionProperties.html","title":"interface - ISubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISubmissionProperties\n\n\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 ISubmissionProperties {\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: ISubmissionProperties) {\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"},"interfaces/ISystemProperties.html":{"url":"interfaces/ISystemProperties.html","title":"interface - ISystemProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISystemProperties\n\n\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: 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 oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfig\n\n \n \n\n\n \n \n Type : OidcConfig\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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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"},"interfaces/ITargetGroupProperties.html":{"url":"interfaces/ITargetGroupProperties.html","title":"interface - ITargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITargetGroupProperties\n\n\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskCreate.html":{"url":"interfaces/ITaskCreate.html","title":"interface - ITaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskCreate\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskParent.html":{"url":"interfaces/ITaskParent.html","title":"interface - ITaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskParent\n\n\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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/ITaskProperties.html":{"url":"interfaces/ITaskProperties.html","title":"interface - ITaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskProperties\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskStatus.html":{"url":"interfaces/ITaskStatus.html","title":"interface - ITaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskStatus\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskUpdate.html":{"url":"interfaces/ITaskUpdate.html","title":"interface - ITaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskUpdate\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITeamProperties.html":{"url":"interfaces/ITeamProperties.html","title":"interface - ITeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITeamProperties\n\n\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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"},"interfaces/ITeamUserProperties.html":{"url":"interfaces/ITeamUserProperties.html","title":"interface - ITeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITeamUserProperties\n\n\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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"},"interfaces/ITemporaryFileProperties.html":{"url":"interfaces/ITemporaryFileProperties.html","title":"interface - ITemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITemporaryFileProperties\n\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 { Entity, Property } from '@mikro-orm/core';\nimport { ITemporaryFile, IFileStats } from '@lumieducation/h5p-server';\nimport { BaseEntityWithTimestamps } from '@shared/domain';\n\nexport interface ITemporaryFileProperties {\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 }: ITemporaryFileProperties) {\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"},"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 \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 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\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\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/IToolLaunchParams.html":{"url":"interfaces/IToolLaunchParams.html","title":"interface - IToolLaunchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolLaunchParams\n\n\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-params.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalTool\n \n \n \n \n externalTool\n \n \n \n \n schoolExternalTool\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: ContextExternalTool\n\n \n \n\n\n \n \n Type : ContextExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalTool\n \n \n \n \n \n \n \n \n externalTool: ExternalTool\n\n \n \n\n\n \n \n Type : ExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolExternalTool\n \n \n \n \n \n \n \n \n schoolExternalTool: SchoolExternalTool\n\n \n \n\n\n \n \n Type : SchoolExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { ExternalTool } from '../../../external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface IToolLaunchParams {\n\texternalTool: ExternalTool;\n\n\tschoolExternalTool: SchoolExternalTool;\n\n\tcontextExternalTool: ContextExternalTool;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolLaunchStrategy.html":{"url":"interfaces/IToolLaunchStrategy.html","title":"interface - IToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolLaunchStrategy\n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { IToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface IToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: IToolLaunchParams): 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"},"interfaces/IUserConfig.html":{"url":"interfaces/IUserConfig.html","title":"interface - IUserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IUserConfig\n\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 IUserConfig {\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"},"interfaces/IUserProperties.html":{"url":"interfaces/IUserProperties.html","title":"interface - IUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IUserProperties\n\n\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 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 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 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 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, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { IEntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface IUserProperties {\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}\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 IEntityWithSchool {\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\tconstructor(props: IUserProperties) {\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}\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"},"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"},"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:12\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, TeamEntity, UserDO } from '@shared/domain';\nimport { TeamsRepo } from '@shared/repo';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\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"},"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_exports\n\n\n\ncluster_IdentityManagementModule_imports\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:17\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:81\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:51\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:59\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:43\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:67\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:74\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:89\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:100\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:26\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:35\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 { Counted, IdmAccount, IdmAccountUpdate } from '@shared/domain';\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 { IEntityWithSchool, 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 IImportUserProperties {\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 IEntityWithSchool {\n\tconstructor(props: IImportUserProperties) {\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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 { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { IFindOptions, ImportUser, User } from '@shared/domain';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { v4 as uuidv4 } from 'uuid';\n\nimport { IImportUserProperties, IImportUserRoleName, ImportUser, MatchCreator, RoleName, User } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemFactory } from './system.factory';\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: systemFactory.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: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 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: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 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: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 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, IImportUserScope, SortOrderMap } from '@shared/domain';\nimport {\n\tImportUserResponse,\n\tFilterImportUserParams,\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: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 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: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 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, MatchCreatorScope } from '@shared/domain';\nimport { MatchType, FilterMatchType } 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_imports\n\n\n\ncluster_ImportUserModule_providers\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\nSystemRepo\n\nSystemRepo\n\nImportUserModule -->\n\nSystemRepo->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 SystemRepo\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 { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LegacySchoolModule } from '@modules/legacy-school';\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, SystemRepo, 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"},"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: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 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: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 EntityId\n \n\n \n No\n \n\n\n \n \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:34\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: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 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:27\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:11\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 { Counted, EntityId, IFindOptions, IImportUserScope, ImportUser, SchoolEntity, User } from '@shared/domain';\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: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 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: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 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: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 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:54\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: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 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: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 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: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 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: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 \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:113\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, MatchCreatorScope, RoleName, SchoolEntity, User } from '@shared/domain';\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';\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"},"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 { APP_INTERCEPTOR } from '@nestjs/core';\nimport { IInterceptorConfig, TimeoutInterceptor } from '@shared/common';\nimport { ConfigService } from '@nestjs/config';\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/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: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 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: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 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, RoleName, UserDO } from '@shared/domain';\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:19\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: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 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: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 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: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 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:24\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 { LegacySchoolDo, RoleName, RoleReference, User, UserDO } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthSSOError } 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 OAuthSSOError('Failed to extract uuid', 'sso_jwt_problem');\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 OAuthSSOError(\n\t\t\t\t`Failed to find user with Id ${idToken.uuid as string}${additionalInfo}`,\n\t\t\t\t'sso_user_notfound'\n\t\t\t);\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"},"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_providers\n\n\n\ncluster_KeycloakConfigurationModule_imports\n\n\n\ncluster_KeycloakConfigurationModule_exports\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { IServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\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: IRetryOptions)\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 IRetryOptions\n \n\n \n No\n \n\n\n \n \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: IRetryOptions)\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 IRetryOptions\n \n\n \n No\n \n\n\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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: IEncryptionService)\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 IEncryptionService\n \n \n \n No\n \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 { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service';\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: IEncryptionService\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: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 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: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 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: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 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: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 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:186\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: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 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:98\n\n \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:76\n\n \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: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 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:126\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:136\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:152\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: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 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:62\n\n \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 { Counted, IdmAccount, IdmAccountUpdate } from '@shared/domain';\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_providers\n\n\n\ncluster_KeycloakModule_imports\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: IJsonAccount, user: IJsonUser)\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 IJsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n IJsonUser\n \n\n \n No\n \n\n\n \n \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 { IJsonAccount } from '../interface/json-account.interface';\nimport { IJsonUser } from '../interface/json-user.interface';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport {\n\tKeycloakConfigurationInputFiles,\n\tIKeycloakConfigurationInputFiles,\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: IJsonAccount, user: IJsonUser): 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 IJsonAccount[];\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 IJsonUser[];\n\t}\n}\n\n \n\n\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/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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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';\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: SystemRepo, 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:16\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 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: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 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:68\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: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 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: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 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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo, SystemEntity, User } from '@shared/domain';\nimport { LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { AccountDto } from '@modules/account/services/dto';\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: SystemRepo,\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, 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"},"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_providers\n\n\n\ncluster_LearnroomApiModule_imports\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\nLessonRepo\n\nLessonRepo\n\nLearnroomApiModule -->\n\nLessonRepo->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 LessonRepo\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 { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, LessonRepo, UserRepo } from '@shared/repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\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\tLessonRepo,\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"},"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_exports\n\n\n\ncluster_LearnroomModule_imports\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\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\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\nLessonRepo\n\nLessonRepo\n\nLearnroomModule -->\n\nLessonRepo->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 CourseRepo\n \n \n CourseService\n \n \n DashboardModelMapper\n \n \n LessonRepo\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 CourseService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, LessonRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\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\tLessonRepo,\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],\n\texports: [CourseCopyService, CourseService, RoomsService, CommonCartridgeExportService],\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"},"modules/LegacySchoolApiModule.html":{"url":"modules/LegacySchoolApiModule.html","title":"module - LegacySchoolApiModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolApiModule\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_LegacySchoolApiModule\n\n\n\ncluster_LegacySchoolApiModule_imports\n\n\n\ncluster_LegacySchoolApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule -->\n\nAuthorizationModule->LegacySchoolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nLegacySchoolApiModule -->\n\nLegacySchoolModule->LegacySchoolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLegacySchoolApiModule -->\n\nLoggerModule->LegacySchoolApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nLegacySchoolApiModule -->\n\nUserLoginMigrationModule->LegacySchoolApiModule\n\n\n\n\n\nLegacySchoolUc\n\nLegacySchoolUc\n\nLegacySchoolApiModule -->\n\nLegacySchoolUc->LegacySchoolApiModule\n\n\n\n\n\nMigrationMapper\n\nMigrationMapper\n\nLegacySchoolApiModule -->\n\nMigrationMapper->LegacySchoolApiModule\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-api.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 LegacySchoolUc\n \n \n MigrationMapper\n \n \n \n \n Controllers\n \n \n LegacySchoolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { LegacySchoolUc } from './uc';\nimport { LegacySchoolModule } from './legacy-school.module';\nimport { LegacySchoolController } from './controller/legacy-school.controller';\nimport { MigrationMapper } from './mapper/migration.mapper';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Module({\n\timports: [LegacySchoolModule, AuthorizationModule, LoggerModule, UserLoginMigrationModule],\n\tcontrollers: [LegacySchoolController],\n\tproviders: [LegacySchoolUc, MigrationMapper],\n})\nexport class LegacySchoolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\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/LegacySchoolController.html":{"url":"controllers/LegacySchoolController.html","title":"controller - LegacySchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n LegacySchoolController\n\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/controller/legacy-school.controller.ts\n \n\n \n Prefix\n \n \n school\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\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 getMigration\n \n \n \n \n \n \n Async\n setMigration\n \n \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 getMigration\n \n \n \n \n \n \n \n getMigration(schoolParams: SchoolParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolId/migration')@Authenticate('jwt')@ApiFoundResponse({description: 'Migrationflags have been found.', type: MigrationResponse})@ApiUnauthorizedResponse()@ApiNotFoundResponse({description: 'Migrationsflags could not be found for the given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/legacy-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 schoolParams\n \n SchoolParams\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 Async\n setMigration\n \n \n \n \n \n \n \n setMigration(schoolParams: SchoolParams, migrationBody: MigrationBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put(':schoolId/migration')@Authenticate('jwt')@ApiOkResponse({description: 'New migrationflags set', type: MigrationResponse})@ApiUnauthorizedResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/legacy-school.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 schoolParams\n \n SchoolParams\n \n\n \n No\n \n\n\n \n \n migrationBody\n \n MigrationBody\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 { Body, Controller, Get, Param, Put } from '@nestjs/common';\nimport {\n\tApiFoundResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { MigrationMapper } from '../mapper/migration.mapper';\nimport { OauthMigrationDto } from '../uc/dto/oauth-migration.dto';\nimport { LegacySchoolUc } from '../uc';\nimport { MigrationBody, MigrationResponse, SchoolParams } from './dto';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@ApiTags('School')\n@Authenticate('jwt')\n@Controller('school')\nexport class LegacySchoolController {\n\tconstructor(private readonly schoolUc: LegacySchoolUc, private readonly migrationMapper: MigrationMapper) {}\n\n\t@Put(':schoolId/migration')\n\t@Authenticate('jwt')\n\t@ApiOkResponse({ description: 'New migrationflags set', type: MigrationResponse })\n\t@ApiUnauthorizedResponse()\n\tasync setMigration(\n\t\t@Param() schoolParams: SchoolParams,\n\t\t@Body() migrationBody: MigrationBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst migrationDto: OauthMigrationDto = await this.schoolUc.setMigration(\n\t\t\tschoolParams.schoolId,\n\t\t\t!!migrationBody.oauthMigrationPossible,\n\t\t\t!!migrationBody.oauthMigrationMandatory,\n\t\t\t!!migrationBody.oauthMigrationFinished,\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst result: MigrationResponse = this.migrationMapper.mapDtoToResponse(migrationDto);\n\n\t\treturn result;\n\t}\n\n\t@Get(':schoolId/migration')\n\t@Authenticate('jwt')\n\t@ApiFoundResponse({ description: 'Migrationflags have been found.', type: MigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse({ description: 'Migrationsflags could not be found for the given school' })\n\tasync getMigration(\n\t\t@Param() schoolParams: SchoolParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst migrationDto: OauthMigrationDto = await this.schoolUc.getMigration(schoolParams.schoolId, currentUser.userId);\n\n\t\tconst result: MigrationResponse = this.migrationMapper.mapDtoToResponse(migrationDto);\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/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';\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 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: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 entityFactory\n \n \n \n \n \n \nentityFactory(props: ISchoolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 props\n \n ISchoolProperties\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: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 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: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 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:66\n\n \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 : ISchoolProperties\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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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: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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tEntityId,\n\tISchoolProperties,\n\tLegacySchoolDo,\n\tSchoolEntity,\n\tSystemEntity,\n\tUserLoginMigrationEntity,\n} from '@shared/domain';\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: ISchoolProperties): 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): ISchoolProperties {\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 { BaseDO, LegacySchoolDo } from '@shared/domain';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\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:10\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: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 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: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 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: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 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: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 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: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 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: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 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 { EntityId, LegacySchoolDo, SchoolFeatures } from '@shared/domain';\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/LegacySchoolUc.html":{"url":"injectables/LegacySchoolUc.html","title":"injectable - LegacySchoolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolUc\n\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/uc/legacy-school.uc.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 Private\n checkSchoolAuthorization\n \n \n Async\n getMigration\n \n \n Async\n setMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, authService: AuthorizationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationService: UserLoginMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolService\n \n \n LegacySchoolService\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 schoolMigrationService\n \n \n SchoolMigrationService\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 userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \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 checkSchoolAuthorization\n \n \n \n \n \n \n \n checkSchoolAuthorization(authorizableUser: User, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.uc.ts:101\n \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 school\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 Async\n getMigration\n \n \n \n \n \n \n \n getMigration(schoolId: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolId\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 Async\n setMigration\n \n \n \n \n \n \n \n setMigration(schoolId: string, oauthMigrationPossible: boolean, oauthMigrationMandatory: boolean, oauthMigrationFinished: boolean, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n oauthMigrationPossible\n \n boolean\n \n\n \n No\n \n\n\n \n \n oauthMigrationMandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n oauthMigrationFinished\n \n boolean\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 import { Injectable } from '@nestjs/common';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Permission, LegacySchoolDo, UserLoginMigrationDO, User } from '@shared/domain';\nimport {\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n} from '@modules/user-login-migration';\nimport { LegacySchoolService } from '../service';\nimport { OauthMigrationDto } from './dto/oauth-migration.dto';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolUc {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly authService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService\n\t) {}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-673 Refactor this and split it up\n\tasync setMigration(\n\t\tschoolId: string,\n\t\toauthMigrationPossible: boolean,\n\t\toauthMigrationMandatory: boolean,\n\t\toauthMigrationFinished: boolean,\n\t\tuserId: string\n\t): Promise {\n\t\tconst [authorizableUser, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolId),\n\t\t]);\n\n\t\tthis.checkSchoolAuthorization(authorizableUser, school);\n\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null =\n\t\t\tawait this.userLoginMigrationService.findMigrationBySchool(schoolId);\n\n\t\tif (existingUserLoginMigration) {\n\t\t\tthis.schoolMigrationService.validateGracePeriod(existingUserLoginMigration);\n\t\t}\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.setMigration(\n\t\t\tschoolId,\n\t\t\toauthMigrationPossible,\n\t\t\toauthMigrationMandatory,\n\t\t\toauthMigrationFinished\n\t\t);\n\n\t\tif (!existingUserLoginMigration?.closedAt && updatedUserLoginMigration.closedAt) {\n\t\t\tconst hasSchoolMigratedUser = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\t\tif (!hasSchoolMigratedUser) {\n\t\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\t\t\t} else {\n\t\t\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(schoolId);\n\t\t\t}\n\t\t} else if (existingUserLoginMigration?.closedAt && !updatedUserLoginMigration.closedAt) {\n\t\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(schoolId);\n\t\t}\n\n\t\tconst migrationDto: OauthMigrationDto = new OauthMigrationDto({\n\t\t\toauthMigrationPossible: !updatedUserLoginMigration.closedAt ? updatedUserLoginMigration.startedAt : undefined,\n\t\t\toauthMigrationMandatory: updatedUserLoginMigration.mandatorySince,\n\t\t\toauthMigrationFinished: updatedUserLoginMigration.closedAt,\n\t\t\toauthMigrationFinalFinish: updatedUserLoginMigration.finishedAt,\n\t\t\tenableMigrationStart: !!school.officialSchoolNumber,\n\t\t});\n\n\t\treturn migrationDto;\n\t}\n\n\tasync getMigration(schoolId: string, userId: string): Promise {\n\t\tconst [authorizableUser, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolId),\n\t\t]);\n\n\t\tthis.checkSchoolAuthorization(authorizableUser, school);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tconst migrationDto: OauthMigrationDto = new OauthMigrationDto({\n\t\t\toauthMigrationPossible:\n\t\t\t\tuserLoginMigration && !userLoginMigration.closedAt ? userLoginMigration.startedAt : undefined,\n\t\t\toauthMigrationMandatory: userLoginMigration ? userLoginMigration.mandatorySince : undefined,\n\t\t\toauthMigrationFinished: userLoginMigration ? userLoginMigration.closedAt : undefined,\n\t\t\toauthMigrationFinalFinish: userLoginMigration ? userLoginMigration.finishedAt : undefined,\n\t\t\tenableMigrationStart: !!school.officialSchoolNumber,\n\t\t});\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate checkSchoolAuthorization(authorizableUser: User, school: LegacySchoolDo): void {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.SCHOOL_EDIT]);\n\t\tthis.authService.checkPermission(authorizableUser, 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"},"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 { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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, lessonRepo: LessonRepo, 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 lessonRepo\n \n \n LessonRepo\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 { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, EntityId, LessonEntity, User } from '@shared/domain';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { CourseRepo, LessonRepo } from '@shared/repo';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams } from '@modules/lesson';\nimport { LessonCopyService } from '@modules/lesson/service';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonRepo: LessonRepo,\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.lessonRepo.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.lessonRepo.findAllByCourseIds([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 : IComponentProperties[] | \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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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 { Course, IComponentProperties, ILessonProperties, LessonEntity } from '@shared/domain';\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: IComponentProperties[] = [];\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_imports\n\n\n\ncluster_LessonModule_providers\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 { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LessonRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\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"},"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/shared/repo/lesson/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/shared/repo/lesson/lesson.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 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/shared/repo/lesson/lesson.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 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: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 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/shared/repo/lesson/lesson.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 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/lesson/lesson.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, LessonEntity, SortOrder } from '@shared/domain';\nimport { EntityDictionary } from '@mikro-orm/core';\nimport { BaseRepo } from '../base.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: 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/shared/repo/lesson/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/shared/repo/lesson/lesson-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 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/shared/repo/lesson/lesson-scope.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 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 { EntityId, LessonEntity } from '@shared/domain';\nimport { Scope } from '../scope';\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:7\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: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 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: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 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: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 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/modules/lesson/service/lesson.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 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(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IComponentProperties, LessonEntity } from '@shared/domain';\nimport { LessonRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\n\n@Injectable()\nexport class LessonService {\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[]): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds);\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: IComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = '';\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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"},"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"},"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';\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 @IsUrl()@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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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';\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 { Strategy } from 'passport-local';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport bcrypt from 'bcryptjs';\nimport { UserRepo } from '@shared/repo';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { IdentityManagementOauthService, IIdentityManagementConfig } from '@infra/identity-management';\nimport { CurrentUserMapper } from '../mapper';\nimport { ICurrentUser } from '../interface';\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);\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"},"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 { ILoggerConfig } 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';\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 { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/';\nimport { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { ILtiToolProperties, LtiPrivacyPermission, LtiTool } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\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';\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/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: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 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 { Module, DynamicModule } from '@nestjs/common';\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],\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 { Module, DynamicModule } from '@nestjs/common';\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],\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 \n Methods\n \n \n \n \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)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.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 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 \n \n \n \n \n \n\n\n \n \n \n Methods\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: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 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\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\n\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions\n\t) {}\n\n\tpublic async send(data: Mail): Promise {\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: 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/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';\n\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions\n\t) {}\n\n\tpublic async send(data: Mail): Promise {\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\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 { 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';\nimport { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\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 { 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';\nimport { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\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 : IRelatedResourceProperties[] | \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 : ITargetGroupProperties[] | \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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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 { IMaterialProperties, Material } 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"},"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 { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@src/modules/authorization';\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 getData\n \n \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 getData\n \n \n \n \n \n \n \n getData(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: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 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 { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\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 getData(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.fetchMetaData(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\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->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\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->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 MetaTagExtractorService\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n ConsoleWriterModule\n \n \n LoggerModule\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 { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [MetaTagExtractorService],\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 title\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: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 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:23\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:27\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:19\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: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 { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl }: MetaTagExtractorResponse) {\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\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\n \n\n\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 Async\n fetchMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n \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 fetchMetaData\n \n \n \n \n \n \n \n fetchMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.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 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:58\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: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 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: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 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 import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\n\nexport type MetaData = {\n\ttitle: string;\n\tdescription: string;\n\turl: string;\n\timage?: ImageObject;\n};\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tasync fetchMetaData(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 = (await this.tryExtractMetaTags(url)) ?? this.tryFilenameAsFallback(url);\n\n\t\treturn metaData ?? { url, title: '', description: '' };\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};\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};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\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 fetchMetaData\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: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 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 fetchMetaData\n \n \n \n \n \n \n \n fetchMetaData(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: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 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, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { AuthorizationService } from '@src/modules/authorization';\nimport { MetaData, MetaTagExtractorService } from '../service';\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 fetchMetaData(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.fetchMetaData(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"},"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';\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"},"classes/MigrationBody.html":{"url":"classes/MigrationBody.html","title":"class - MigrationBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationBody\n\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/controller/dto/migration.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 oauthMigrationFinished\n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\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 oauthMigrationFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is finished in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is mandatory in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is possible in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.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, IsOptional } from 'class-validator';\n\nexport class MigrationBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is possible in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationPossible?: boolean;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is mandatory in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationMandatory?: boolean;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is finished in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationFinished?: 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/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 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:8\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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\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\tasync shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (school && school.id) {\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\t\tschool.id\n\t\t\t);\n\n\t\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\tif (user?.lastLoginSystemChange && userLoginMigration && !userLoginMigration.closedAt) {\n\t\t\t\tconst hasMigrated: boolean = user.lastLoginSystemChange > userLoginMigration.startedAt;\n\t\t\t\treturn !hasMigrated;\n\t\t\t}\n\t\t\treturn !!userLoginMigration && !userLoginMigration.closedAt;\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"},"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"},"injectables/MigrationMapper.html":{"url":"injectables/MigrationMapper.html","title":"injectable - MigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationMapper\n\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/mapper/migration.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 mapDtoToResponse\n \n \n \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 mapDtoToResponse\n \n \n \n \n \n \n \n mapDtoToResponse(dto: OauthMigrationDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/mapper/migration.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 dto\n \n OauthMigrationDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MigrationResponse } from '../controller/dto';\nimport { OauthMigrationDto } from '../uc/dto/oauth-migration.dto';\n\n@Injectable()\nexport class MigrationMapper {\n\tpublic mapDtoToResponse(dto: OauthMigrationDto): MigrationResponse {\n\t\tconst response: MigrationResponse = new MigrationResponse({\n\t\t\toauthMigrationPossible: dto.oauthMigrationPossible,\n\t\t\toauthMigrationMandatory: dto.oauthMigrationMandatory,\n\t\t\toauthMigrationFinished: dto.oauthMigrationFinished,\n\t\t\toauthMigrationFinalFinish: dto.oauthMigrationFinalFinish,\n\t\t\tenableMigrationStart: dto.enableMigrationStart,\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\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"},"classes/MigrationResponse.html":{"url":"classes/MigrationResponse.html","title":"class - MigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationResponse\n\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/controller/dto/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 enableMigrationStart\n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: MigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.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 MigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n enableMigrationStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Enable the Migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is finally finished and cannot be restarted again', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is finished', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is mandatory', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is possible', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:8\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 MigrationResponse {\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is possible',\n\t\ttype: Date,\n\t})\n\toauthMigrationPossible?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is mandatory',\n\t\ttype: Date,\n\t})\n\toauthMigrationMandatory?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is finished',\n\t\ttype: Date,\n\t})\n\toauthMigrationFinished?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is finally finished and cannot be restarted again',\n\t\ttype: Date,\n\t})\n\toauthMigrationFinalFinish?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Enable the Migration',\n\t})\n\tenableMigrationStart!: boolean;\n\n\tconstructor(params: MigrationResponse) {\n\t\tthis.oauthMigrationPossible = params.oauthMigrationPossible;\n\t\tthis.oauthMigrationMandatory = params.oauthMigrationMandatory;\n\t\tthis.oauthMigrationFinished = params.oauthMigrationFinished;\n\t\tthis.oauthMigrationFinalFinish = params.oauthMigrationFinalFinish;\n\t\tthis.enableMigrationStart = params.enableMigrationStart;\n\t}\n}\n\n \n\n\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';\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"},"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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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 { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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:6\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: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 { EntityId, News } from '@shared/domain';\nimport { CrudOperation } from '@shared/types';\nimport { LogMessage, Loggable } 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';\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: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 CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICreateNews\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: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 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: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 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: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 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: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 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, ICreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain';\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): ICreateNews {\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_providers\n\n\n\ncluster_NewsModule_exports\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"},"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:21\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:36\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:58\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:51\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:10\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:12\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Counted, CourseNews, EntityId, IFindOptions, News, SchoolNews, TeamNews } from '@shared/domain';\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';\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: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 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:25\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: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 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:31\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 { EntityId, News } from '@shared/domain';\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';\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:23\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: ICreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.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 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 ICreateNews\n \n\n \n No\n \n\n\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: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 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:67\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: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\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:197\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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:207\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport {\n\tCounted,\n\tEntityId,\n\tICreateNews,\n\tIFindOptions,\n\tINewsScope,\n\tIUpdateNews,\n\tNews,\n\tNewsTargetModel,\n\tPermission,\n\tSortOrder,\n} from '@shared/domain';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { FeathersAuthorizationService } from '@modules/authorization';\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: ICreateNews): 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 { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { UserService } from '@modules/user';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { ICollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {ICollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements ICollaborativeStorageStrategy {\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\n \n \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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { IToolLaunchParams } 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: IToolLaunchParams\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/OAuthMigrationError.html":{"url":"classes/OAuthMigrationError.html","title":"class - OAuthMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthMigrationError\n\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/error/oauth-migration.error.ts\n \n\n\n\n \n Extends\n \n \n OAuthSSOError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \n Readonly\n Optional\n officialSchoolNumberFromSource\n \n \n Readonly\n Optional\n officialSchoolNumberFromTarget\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, errorcode?: string, officialSchoolNumberFromSource?: string, officialSchoolNumberFromTarget?: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:14\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 errorcode\n \n \n string\n \n \n \n Yes\n \n \n \n \n officialSchoolNumberFromSource\n \n \n string\n \n \n \n Yes\n \n \n \n \n officialSchoolNumberFromTarget\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 Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'OauthMigrationFailed'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in Oauth Migration Process.'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:8\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:6\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 Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:4\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n officialSchoolNumberFromSource\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n officialSchoolNumberFromTarget\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthSSOError } from '@modules/oauth/loggable';\n\nexport class OAuthMigrationError extends OAuthSSOError {\n\treadonly message: string;\n\n\treadonly errorcode: string;\n\n\treadonly DEFAULT_MESSAGE: string = 'Error in Oauth Migration Process.';\n\n\treadonly DEFAULT_ERRORCODE: string = 'OauthMigrationFailed';\n\n\treadonly officialSchoolNumberFromSource?: string;\n\n\treadonly officialSchoolNumberFromTarget?: string;\n\n\tconstructor(\n\t\tmessage?: string,\n\t\terrorcode?: string,\n\t\tofficialSchoolNumberFromSource?: string,\n\t\tofficialSchoolNumberFromTarget?: string\n\t) {\n\t\tsuper(message);\n\t\tthis.message = message || this.DEFAULT_MESSAGE;\n\t\tthis.errorcode = errorcode || this.DEFAULT_ERRORCODE;\n\t\tthis.officialSchoolNumberFromSource = officialSchoolNumberFromSource;\n\t\tthis.officialSchoolNumberFromTarget = officialSchoolNumberFromTarget;\n\t}\n}\n\n \n\n\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"},"classes/OAuthSSOError.html":{"url":"classes/OAuthSSOError.html","title":"class - OAuthSSOError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthSSOError\n\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.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, errorcode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:11\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 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 Properties\n \n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : SSOErrorCode.SSO_OAUTH_LOGIN_FAILED\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in SSO Oauth Process.'\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:7\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/modules/oauth/loggable/oauth-sso.error.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { SSOErrorCode } from './sso-error-code.enum';\n\nexport class OAuthSSOError extends InternalServerErrorException {\n\treadonly message: string;\n\n\treadonly errorcode: string;\n\n\treadonly DEFAULT_MESSAGE: string = 'Error in SSO Oauth Process.';\n\n\treadonly DEFAULT_ERRORCODE: string = SSOErrorCode.SSO_OAUTH_LOGIN_FAILED;\n\n\tconstructor(message?: string, errorcode?: string) {\n\t\tsuper(message);\n\t\tthis.message = message || this.DEFAULT_MESSAGE;\n\t\tthis.errorcode = errorcode || this.DEFAULT_ERRORCODE;\n\t}\n}\n\n \n\n\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 getAuthenticationUrl\n \n \n Async\n getPostLoginRedirectUrl\n \n \n getRedirectUri\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: IEncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: SystemService, userMigrationService: UserMigrationService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 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 IEncryptionService\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 SystemService\n \n \n \n No\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\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: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 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: OauthConfig, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\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: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 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 getAuthenticationUrl\n \n \n \n \n \n \ngetAuthenticationUrl(oauthConfig: OauthConfig, state: string, migration: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 oauthConfig\n \n OauthConfig\n \n\n \n No\n \n\n\n \n \n state\n \n string\n \n\n \n No\n \n\n\n \n \n migration\n \n boolean\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 getPostLoginRedirectUrl\n \n \n \n \n \n \n \n getPostLoginRedirectUrl(idToken: string, systemId: string, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.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 idToken\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 postLoginRedirect\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 getRedirectUri\n \n \n \n \n \n \ngetRedirectUri(migration: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.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 migration\n \n boolean\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 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: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 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, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 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 postLoginRedirect\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 requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfig, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\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: OauthConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\n \n\n \n No\n \n\n\n \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 { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { EntityId, LegacySchoolDo, OauthConfig, SchoolFeatures, UserDO } from '@shared/domain';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService, UserMigrationService } from '@modules/user-login-migration';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthSSOError, SSOErrorCode, UserNotFoundAfterProvisioningLoggableException } from '../loggable';\nimport { OAuthTokenDto } from '../interface';\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: IEncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly userMigrationService: UserMigrationService,\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 OAuthSSOError(\n\t\t\t\t'Authorization Query Object has no authorization code or error',\n\t\t\t\terrorCode || 'sso_auth_code_step'\n\t\t\t);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OAuthSSOError(`Requested system ${systemId} has no oauth configured`, 'sso_internal_error');\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(\n\t\tsystemId: string,\n\t\tidToken: string,\n\t\taccessToken: string,\n\t\tpostLoginRedirect?: string\n\t): 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 provisioning = true;\n\t\tlet migrationConsentRedirect: string | undefined;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tprovisioning = 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\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\t\t\t\tmigrationConsentRedirect = await this.userMigrationService.getMigrationConsentPageRedirect(\n\t\t\t\t\tofficialSchoolNumber,\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn { user: undefined, redirect: migrationConsentRedirect };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (provisioning) {\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\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\t\tconst redirect: string = await this.getPostLoginRedirectUrl(\n\t\t\tidToken,\n\t\t\tsystemId,\n\t\t\tpostLoginRedirect || migrationConsentRedirect\n\t\t);\n\n\t\treturn { user, redirect };\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: OauthConfig, 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: OauthConfig): 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 OAuthSSOError('Failed to validate idToken', SSOErrorCode.SSO_JWT_PROBLEM);\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tasync getPostLoginRedirectUrl(idToken: string, systemId: string, postLoginRedirect?: string): Promise {\n\t\tconst clientUrl: string = Configuration.get('HOST') as string;\n\t\tconst dashboardUrl: URL = new URL('/dashboard', clientUrl);\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\n\t\tlet redirect: string;\n\t\tif (system.oauthConfig?.provider === 'iserv' && system.oauthConfig?.logoutEndpoint) {\n\t\t\tconst iservLogoutUrl: URL = new URL(system.oauthConfig.logoutEndpoint);\n\t\t\tiservLogoutUrl.searchParams.append('id_token_hint', idToken);\n\t\t\tiservLogoutUrl.searchParams.append('post_logout_redirect_uri', postLoginRedirect || dashboardUrl.toString());\n\t\t\tredirect = iservLogoutUrl.toString();\n\t\t} else if (postLoginRedirect) {\n\t\t\tredirect = postLoginRedirect;\n\t\t} else {\n\t\t\tredirect = dashboardUrl.toString();\n\t\t}\n\n\t\treturn redirect;\n\t}\n\n\tgetAuthenticationUrl(oauthConfig: OauthConfig, state: string, migration: boolean): string {\n\t\tconst redirectUri: string = this.getRedirectUri(migration);\n\n\t\tconst authenticationUrl: URL = new URL(oauthConfig.authEndpoint);\n\t\tauthenticationUrl.searchParams.append('client_id', oauthConfig.clientId);\n\t\tauthenticationUrl.searchParams.append('redirect_uri', redirectUri);\n\t\tauthenticationUrl.searchParams.append('response_type', oauthConfig.responseType);\n\t\tauthenticationUrl.searchParams.append('scope', oauthConfig.scope);\n\t\tauthenticationUrl.searchParams.append('state', state);\n\t\tif (oauthConfig.idpHint) {\n\t\t\tauthenticationUrl.searchParams.append('kc_idp_hint', oauthConfig.idpHint);\n\t\t}\n\n\t\treturn authenticationUrl.toString();\n\t}\n\n\tgetRedirectUri(migration: boolean) {\n\t\tconst publicBackendUrl: string = Configuration.get('PUBLIC_BACKEND_URL') as string;\n\n\t\tconst path: string = migration ? 'api/v3/sso/oauth/migration' : 'api/v3/sso/oauth';\n\t\tconst redirectUri: URL = new URL(path, publicBackendUrl);\n\n\t\treturn redirectUri.toString();\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfig,\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:15\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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthTokenDto } from '@modules/oauth';\nimport { OAuthService } from '@modules/oauth/service/oauth.service';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { SchoolInMigrationError } from '../errors/school-in-migration.error';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\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 }: { user?: UserDO; redirect: string } = await this.oauthService.provisionUser(\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationError();\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 } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { OAuthSSOError } 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) {\n\t\t\tthrow new OAuthSSOError('Requesting token failed.', 'sso_auth_code_step');\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\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nAuthenticationModule->OauthApiModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nOauthApiModule -->\n\nAuthorizationModule->OauthApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthApiModule -->\n\nLegacySchoolModule->OauthApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthApiModule -->\n\nProvisioningModule->OauthApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthApiModule -->\n\nSystemModule->OauthApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthApiModule -->\n\nUserLoginMigrationModule->OauthApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthApiModule -->\n\nUserModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\nOauthUc\n\nOauthUc\n\nOauthApiModule -->\n\nOauthUc->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 OauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\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 SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc, OauthUc } from './uc';\n\n@Module({\n\timports: [\n\t\tOauthModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tProvisioningModule,\n\t\tLegacySchoolModule,\n\t\tUserLoginMigrationModule,\n\t\tSystemModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [OauthSSOController],\n\tproviders: [OauthUc, 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/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: OauthConfig)\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 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 \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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/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/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/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 { EntityId } from '@shared/domain';\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 */\n\tisExternalUser: boolean;\n}\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"},"classes/OauthLoginStateDto.html":{"url":"classes/OauthLoginStateDto.html","title":"class - OauthLoginStateDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginStateDto\n\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/dto/oauth-login-state.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 postLoginRedirect\n \n \n provider\n \n \n state\n \n \n systemId\n \n \n userLoginMigration\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginStateDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.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 OauthLoginStateDto\n \n \n \n No\n \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 postLoginRedirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:10\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/oauth/uc/dto/oauth-login-state.dto.ts:8\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 Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:4\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/oauth/uc/dto/oauth-login-state.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain';\n\nexport class OauthLoginStateDto {\n\tstate: string;\n\n\tsystemId: EntityId;\n\n\tprovider: string;\n\n\tpostLoginRedirect?: string;\n\n\tuserLoginMigration: boolean;\n\n\tconstructor(props: OauthLoginStateDto) {\n\t\tthis.state = props.state;\n\t\tthis.systemId = props.systemId;\n\t\tthis.postLoginRedirect = props.postLoginRedirect;\n\t\tthis.provider = props.provider;\n\t\tthis.userLoginMigration = props.userLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginStateMapper.html":{"url":"classes/OauthLoginStateMapper.html","title":"class - OauthLoginStateMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginStateMapper\n\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/oauth-login-state.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 mapSessionToDto\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 mapSessionToDto\n \n \n \n \n \n \n \n mapSessionToDto(session: ISession)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/oauth-login-state.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 session\n \n ISession\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthLoginStateDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ISession } from '@shared/domain/types/session';\nimport { OauthLoginStateDto } from '../uc/dto/oauth-login-state.dto';\n\nexport class OauthLoginStateMapper {\n\tstatic mapSessionToDto(session: ISession): OauthLoginStateDto {\n\t\tconst dto = new OauthLoginStateDto(session.oauthLoginState as OauthLoginStateDto);\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/OauthMigrationDto.html":{"url":"classes/OauthMigrationDto.html","title":"class - OauthMigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthMigrationDto\n\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/uc/dto/oauth-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 enableMigrationStart\n \n \n Optional\n oauthMigrationFinalFinish\n \n \n Optional\n oauthMigrationFinished\n \n \n Optional\n oauthMigrationMandatory\n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: OauthMigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.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 params\n \n \n OauthMigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n enableMigrationStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-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 OauthMigrationDto {\n\toauthMigrationPossible?: Date;\n\n\toauthMigrationMandatory?: Date;\n\n\toauthMigrationFinished?: Date;\n\n\toauthMigrationFinalFinish?: Date;\n\n\tenableMigrationStart!: boolean;\n\n\tconstructor(params: OauthMigrationDto) {\n\t\tthis.oauthMigrationPossible = params.oauthMigrationPossible;\n\t\tthis.oauthMigrationMandatory = params.oauthMigrationMandatory;\n\t\tthis.oauthMigrationFinished = params.oauthMigrationFinished;\n\t\tthis.oauthMigrationFinalFinish = params.oauthMigrationFinalFinish;\n\t\tthis.enableMigrationStart = params.enableMigrationStart;\n\t}\n}\n\n \n\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 { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\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\tUserLoginMigrationModule,\n\t\tCacheWrapperModule,\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:9\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: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 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: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 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: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 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: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 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: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 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:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { Permission, User } from '@shared/domain/index';\nimport { AuthorizationService } from '@modules/authorization';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\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 {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\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 { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n\tProviderConsentSessionResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { RedirectResponse } from './dto/response/redirect.response';\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';\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 { 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';\nimport { 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';\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: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 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: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 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: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 \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: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 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: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 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: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 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 { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Permission, Pseudonym, User, UserDO } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { 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 { 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_imports\n\n\n\ncluster_OauthProviderModule_providers\n\n\n\ncluster_OauthProviderModule_exports\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 { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { EntityId } from '@shared/domain';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\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 Private\n errorHandler\n \n \n \n Async\n getAuthenticationUrl\n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n Async\n migrateUser\n \n \n Private\n migrationErrorHandler\n \n \n \n \n Async\n requestAuthToken\n \n \n Private\n sessionHandler\n \n \n \n Async\n startOauthAuthorizationCodeFlow\n \n \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 errorHandler\n \n \n \n \n \n \n \n errorHandler(error, session: ISession, res: Response, provider?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 error\n \n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 provider\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 \n Async\n getAuthenticationUrl\n \n \n \n \n \n \n \n getAuthenticationUrl(session: ISession, res: Response, params: SystemIdParams, query: SSOLoginQuery)\n \n \n\n \n \n Decorators : \n \n @Get('login/:systemId')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:98\n \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 ISession\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 SystemIdParams\n \n\n \n No\n \n\n\n \n \n query\n \n SSOLoginQuery\n \n\n \n No\n \n\n\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 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: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 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 \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(jwt: string, session: ISession, currentUser: ICurrentUser, query: AuthorizationParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('oauth/migration')@Authenticate('jwt')@ApiOkResponse({description: 'The User has been succesfully migrated.'})@ApiResponse({type: InternalServerErrorException, description: 'The migration of the User was not possible. '})\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.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 jwt\n \n string\n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 query\n \n AuthorizationParams\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 Private\n migrationErrorHandler\n \n \n \n \n \n \n \n migrationErrorHandler(error, session: ISession, res: Response)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 error\n \n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 : void\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: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 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 \n \n Private\n sessionHandler\n \n \n \n \n \n \n \n sessionHandler(session: ISession, query: AuthorizationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 session\n \n ISession\n \n\n \n No\n \n\n\n \n \n query\n \n AuthorizationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthLoginStateDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startOauthAuthorizationCodeFlow\n \n \n \n \n \n \n \n startOauthAuthorizationCodeFlow(session: ISession, res: Response, query: AuthorizationParams)\n \n \n\n \n \n Decorators : \n \n @Get('oauth')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.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 session\n \n ISession\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 query\n \n AuthorizationParams\n \n\n \n No\n \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\tInternalServerErrorException,\n\tParam,\n\tQuery,\n\tReq,\n\tRes,\n\tSession,\n\tUnauthorizedException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport { ApiOkResponse, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ISession } from '@shared/domain/types/session';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ICurrentUser, Authenticate, CurrentUser, JWT } from '@modules/authentication';\nimport { OAuthMigrationError } from '@modules/user-login-migration/error/oauth-migration.error';\nimport { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { CookieOptions, Request, Response } from 'express';\nimport { HydraOauthUc } from '../uc/hydra-oauth.uc';\nimport { UserMigrationResponse } from './dto/user-migration.response';\nimport { OAuthSSOError } from '../loggable/oauth-sso.error';\nimport { OAuthTokenDto } from '../interface';\nimport { OauthLoginStateMapper } from '../mapper/oauth-login-state.mapper';\nimport { UserMigrationMapper } from '../mapper/user-migration.mapper';\nimport { OAuthProcessDto } from '../service/dto';\nimport { OauthUc } from '../uc';\nimport { OauthLoginStateDto } from '../uc/dto/oauth-login-state.dto';\nimport { AuthorizationParams, SSOLoginQuery, SystemIdParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tprivate readonly clientUrl: string;\n\n\tconstructor(\n\t\tprivate readonly oauthUc: OauthUc,\n\t\tprivate readonly hydraUc: HydraOauthUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t\tthis.clientUrl = Configuration.get('HOST') as string;\n\t}\n\n\tprivate errorHandler(error: unknown, session: ISession, res: Response, provider?: string) {\n\t\tthis.logger.error(error);\n\t\tconst ssoError: OAuthSSOError = error instanceof OAuthSSOError ? error : new OAuthSSOError();\n\n\t\tsession.destroy((err) => {\n\t\t\tthis.logger.log(err);\n\t\t});\n\n\t\tconst errorRedirect: URL = new URL('/login', this.clientUrl);\n\t\terrorRedirect.searchParams.append('error', ssoError.errorcode);\n\n\t\tif (provider) {\n\t\t\terrorRedirect.searchParams.append('provider', provider);\n\t\t}\n\n\t\tres.redirect(errorRedirect.toString());\n\t}\n\n\tprivate migrationErrorHandler(error: unknown, session: ISession, res: Response) {\n\t\tconst migrationError: OAuthMigrationError =\n\t\t\terror instanceof OAuthMigrationError ? error : new OAuthMigrationError();\n\n\t\tsession.destroy((err) => {\n\t\t\tthis.logger.log(err);\n\t\t});\n\n\t\tconst errorRedirect: URL = new URL('/migration/error', this.clientUrl);\n\n\t\tif (migrationError.officialSchoolNumberFromSource && migrationError.officialSchoolNumberFromTarget) {\n\t\t\terrorRedirect.searchParams.append('sourceSchoolNumber', migrationError.officialSchoolNumberFromSource);\n\t\t\terrorRedirect.searchParams.append('targetSchoolNumber', migrationError.officialSchoolNumberFromTarget);\n\t\t}\n\n\t\tres.redirect(errorRedirect.toString());\n\t}\n\n\tprivate sessionHandler(session: ISession, query: AuthorizationParams): OauthLoginStateDto {\n\t\tif (!session.oauthLoginState) {\n\t\t\tthrow new UnauthorizedException('Oauth session not found');\n\t\t}\n\n\t\tconst oauthLoginState: OauthLoginStateDto = OauthLoginStateMapper.mapSessionToDto(session);\n\n\t\tif (oauthLoginState.state !== query.state) {\n\t\t\tthrow new UnauthorizedException(`Invalid state. Got: ${query.state} Expected: ${oauthLoginState.state}`);\n\t\t}\n\n\t\treturn oauthLoginState;\n\t}\n\n\t@Get('login/:systemId')\n\tasync getAuthenticationUrl(\n\t\t@Session() session: ISession,\n\t\t@Res() res: Response,\n\t\t@Param() params: SystemIdParams,\n\t\t@Query() query: SSOLoginQuery\n\t): Promise {\n\t\ttry {\n\t\t\tconst redirect: string = await this.oauthUc.startOauthLogin(\n\t\t\t\tsession,\n\t\t\t\tparams.systemId,\n\t\t\t\tquery.migration || false,\n\t\t\t\tquery.postLoginRedirect\n\t\t\t);\n\n\t\t\tres.redirect(redirect);\n\t\t} catch (error) {\n\t\t\tthis.errorHandler(error, session, res);\n\t\t}\n\t}\n\n\t@Get('oauth')\n\tasync startOauthAuthorizationCodeFlow(\n\t\t@Session() session: ISession,\n\t\t@Res() res: Response,\n\t\t@Query() query: AuthorizationParams\n\t): Promise {\n\t\tconst oauthLoginState: OauthLoginStateDto = this.sessionHandler(session, query);\n\n\t\ttry {\n\t\t\tconst oauthProcessDto: OAuthProcessDto = await this.oauthUc.processOAuthLogin(\n\t\t\t\toauthLoginState,\n\t\t\t\tquery.code,\n\t\t\t\tquery.error\n\t\t\t);\n\n\t\t\tif (oauthProcessDto.jwt) {\n\t\t\t\tconst cookieDefaultOptions: CookieOptions = {\n\t\t\t\t\thttpOnly: Configuration.get('COOKIE__HTTP_ONLY') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('COOKIE__SAME_SITE') as 'lax' | 'strict' | 'none',\n\t\t\t\t\tsecure: Configuration.get('COOKIE__SECURE') as boolean,\n\t\t\t\t\texpires: new Date(Date.now() + (Configuration.get('COOKIE__EXPIRES_SECONDS') as number)),\n\t\t\t\t};\n\n\t\t\t\tres.cookie('jwt', oauthProcessDto.jwt, cookieDefaultOptions);\n\t\t\t}\n\n\t\t\tres.redirect(oauthProcessDto.redirect);\n\t\t} catch (error) {\n\t\t\tthis.errorHandler(error, session, res, oauthLoginState.provider);\n\t\t}\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 && 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(currentUser.userId, jwt, oauthClientId);\n\t}\n\n\t@Get('oauth/migration')\n\t@Authenticate('jwt')\n\t@ApiOkResponse({ description: 'The User has been succesfully migrated.' })\n\t@ApiResponse({ type: InternalServerErrorException, description: 'The migration of the User was not possible. ' })\n\tasync migrateUser(\n\t\t@JWT() jwt: string,\n\t\t@Session() session: ISession,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AuthorizationParams,\n\t\t@Res() res: Response\n\t): Promise {\n\t\tconst oauthLoginState: OauthLoginStateDto = this.sessionHandler(session, query);\n\n\t\tif (!currentUser.systemId) {\n\t\t\tthrow new UnprocessableEntityException('Current user does not have a system.');\n\t\t}\n\n\t\ttry {\n\t\t\tconst migration: MigrationDto = await this.oauthUc.migrate(jwt, currentUser.userId, query, oauthLoginState);\n\t\t\tconst response: UserMigrationResponse = UserMigrationMapper.mapDtoToResponse(migration);\n\t\t\tres.redirect(response.redirect);\n\t\t} catch (error) {\n\t\t\tthis.migrationErrorHandler(error, session, res);\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"},"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"},"injectables/OauthUc.html":{"url":"injectables/OauthUc.html","title":"injectable - OauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthUc\n\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/oauth.uc.ts\n \n\n \n Deprecated\n \n \n remove after login via oauth moved to authentication module\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 getJwtForUser\n \n \n Async\n migrate\n \n \n Async\n processOAuthLogin\n \n \n Async\n startOauthLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, authenticationService: AuthenticationService, systemService: SystemService, provisioningService: ProvisioningService, userService: UserService, userMigrationService: UserMigrationService, schoolMigrationService: SchoolMigrationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.ts:26\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 authenticationService\n \n \n AuthenticationService\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 provisioningService\n \n \n ProvisioningService\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 userMigrationService\n \n \n UserMigrationService\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 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 getJwtForUser\n \n \n \n \n \n \n \n getJwtForUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.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 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 migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: string, query: AuthorizationParams, cachedState: OauthLoginStateDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.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 userJwt\n \n string\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 query\n \n AuthorizationParams\n \n\n \n No\n \n\n\n \n \n cachedState\n \n OauthLoginStateDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processOAuthLogin\n \n \n \n \n \n \n \n processOAuthLogin(cachedState: OauthLoginStateDto, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.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 cachedState\n \n OauthLoginStateDto\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 Async\n startOauthLogin\n \n \n \n \n \n \n \n startOauthLogin(session: ISession, systemId: EntityId, migration: boolean, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.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 session\n \n ISession\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 migration\n \n boolean\n \n\n \n No\n \n\n\n \n \n postLoginRedirect\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 { Injectable, UnauthorizedException, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, UserDO } from '@shared/domain';\nimport { ISession } from '@shared/domain/types/session';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthenticationService } from '@modules/authentication/services/authentication.service';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { UserService } from '@modules/user';\nimport { UserMigrationService } from '@modules/user-login-migration';\nimport { SchoolMigrationService } from '@modules/user-login-migration/service';\nimport { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { nanoid } from 'nanoid';\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { OAuthProcessDto } from '../service/dto';\nimport { OAuthService } from '../service/oauth.service';\nimport { OauthLoginStateDto } from './dto/oauth-login-state.dto';\n\n/**\n * @deprecated remove after login via oauth moved to authentication module\n */\n@Injectable()\nexport class OauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(OauthUc.name);\n\t}\n\n\tasync startOauthLogin(\n\t\tsession: ISession,\n\t\tsystemId: EntityId,\n\t\tmigration: boolean,\n\t\tpostLoginRedirect?: string\n\t): Promise {\n\t\tconst state = nanoid(16);\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new UnprocessableEntityException(`Requested system ${systemId} has no oauth configured`);\n\t\t}\n\n\t\tconst authenticationUrl: string = this.oauthService.getAuthenticationUrl(system.oauthConfig, state, migration);\n\n\t\tsession.oauthLoginState = new OauthLoginStateDto({\n\t\t\tstate,\n\t\t\tsystemId,\n\t\t\tprovider: system.oauthConfig.provider,\n\t\t\tpostLoginRedirect,\n\t\t\tuserLoginMigration: migration,\n\t\t});\n\n\t\treturn authenticationUrl;\n\t}\n\n\tasync processOAuthLogin(cachedState: OauthLoginStateDto, code?: string, error?: string): Promise {\n\t\tconst { state, systemId, postLoginRedirect, userLoginMigration } = cachedState;\n\n\t\tthis.logger.debug(`Oauth login process started. [state: ${state}, system: ${systemId}]`);\n\n\t\tconst redirectUri: string = this.oauthService.getRedirectUri(userLoginMigration);\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code, error);\n\n\t\tconst { user, redirect }: { user?: UserDO; redirect: string } = await this.oauthService.provisionUser(\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken,\n\t\t\tpostLoginRedirect\n\t\t);\n\n\t\tthis.logger.debug(`Generating jwt for user. [state: ${state}, system: ${systemId}]`);\n\n\t\tlet jwt: string | undefined;\n\t\tif (user && user.id) {\n\t\t\tjwt = await this.getJwtForUser(user.id);\n\t\t}\n\n\t\tconst response = new OAuthProcessDto({\n\t\t\tjwt,\n\t\t\tredirect,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: string,\n\t\tquery: AuthorizationParams,\n\t\tcachedState: OauthLoginStateDto\n\t): Promise {\n\t\tconst { state, systemId, userLoginMigration } = cachedState;\n\n\t\tif (state !== query.state) {\n\t\t\tthrow new UnauthorizedException(`Invalid state. Got: ${query.state} Expected: ${state}`);\n\t\t}\n\n\t\tconst redirectUri: string = this.oauthService.getRedirectUri(userLoginMigration);\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(\n\t\t\tsystemId,\n\t\t\tredirectUri,\n\t\t\tquery.code,\n\t\t\tquery.error\n\t\t);\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (data.externalSchool) {\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.schoolToMigrate(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(data.externalSchool.externalId, schoolToMigrate, systemId);\n\t\t\t}\n\t\t}\n\n\t\tconst migrationDto: MigrationDto = await this.userMigrationService.migrateUser(\n\t\t\tcurrentUserId,\n\t\t\tdata.externalUser.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate async getJwtForUser(userId: EntityId): Promise {\n\t\tconst oauthCurrentUser: OauthCurrentUser = await this.userService.getResolvedUser(userId);\n\n\t\tconst { accessToken } = await this.authenticationService.generateJwt(oauthCurrentUser);\n\n\t\treturn accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\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/OidcConfig.html":{"url":"classes/OidcConfig.html","title":"class - OidcConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfig\n\n\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: OidcConfig)\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 OidcConfig\n \n \n \n No\n \n \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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/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/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: IEncryptionService)\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 IEncryptionService\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 IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OidcConfigDto } from '@modules/system/service';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: IEncryptionService) {}\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 { OAuthSSOError } 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 OAuthSSOError('Failed to extract external_sub', 'sso_jwt_problem');\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 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:20\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: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 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 Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 externalGroup\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 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: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 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: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 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: EntityId, 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: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 externalUserId\n \n EntityId\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 { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, ExternalSource, FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Logger } from '@src/core/logger';\nimport { 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 { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\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 = externalSchool.name;\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: externalSchool.name,\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\t\treturn savedSchool;\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} 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});\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(externalGroup: ExternalGroupDto, systemId: EntityId): Promise {\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\tlet organizationId: string | undefined;\n\t\tif (externalGroup.externalOrganizationId) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalGroup.externalOrganizationId,\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));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst users: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\tif (!users.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup ? 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 ? existingGroup.users : [],\n\t\t});\n\t\tusers.forEach((user: GroupUser) => group.addUser(user));\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.users.map(async (externalGroupUser: ExternalGroupUserDto): Promise => {\n\t\t\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\t\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\troleId: roles[0].id,\n\t\t\t\t});\n\n\t\t\t\treturn groupUser;\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\tasync removeExternalGroupsAndAffiliation(\n\t\texternalUserId: EntityId,\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';\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(externalGroup, data.system.systemId)\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"},"injectables/PageContentMapper.html":{"url":"injectables/PageContentMapper.html","title":"injectable - PageContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PageContentMapper\n\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/page-content.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 mapDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDtoToResponse\n \n \n \n \n \n \nmapDtoToResponse(dto: PageContentDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/page-content.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 dto\n \n PageContentDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PageContentResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PageContentDto } from '../service/dto/page-content.dto';\nimport { PageContentResponse } from '../controller/dto';\n\n@Injectable()\nexport class PageContentMapper {\n\tmapDtoToResponse(dto: PageContentDto): PageContentResponse {\n\t\tconst response: PageContentResponse = new PageContentResponse({\n\t\t\tproceedButtonUrl: dto.proceedButtonUrl,\n\t\t\tcancelButtonUrl: dto.cancelButtonUrl,\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\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PageContentQueryParams.html":{"url":"classes/PageContentQueryParams.html","title":"class - PageContentQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentQueryParams\n\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/page-type.query.param.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pageType\n \n \n \n \n sourceSystem\n \n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pageType\n \n \n \n \n \n \n Type : PageTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Type of Page that is displayed', type: PageTypes})@IsEnum(PageTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n sourceSystem\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Source System'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Target System'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { PageTypes } from '../../../interface/page-types.enum';\n\nexport class PageContentQueryParams {\n\t@ApiProperty({ description: 'The Type of Page that is displayed', type: PageTypes })\n\t@IsEnum(PageTypes)\n\tpageType!: PageTypes;\n\n\t@ApiProperty({ description: 'The Source System' })\n\t@IsMongoId()\n\tsourceSystem!: string;\n\n\t@ApiProperty({ description: 'The Target System' })\n\t@IsMongoId()\n\ttargetSystem!: 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/PageContentResponse.html":{"url":"classes/PageContentResponse.html","title":"class - PageContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentResponse\n\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/page-content.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 cancelButtonUrl\n \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: PageContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.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 props\n \n \n PageContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cancelButtonUrl\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 cancel button'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.response.ts:12\n \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 Decorators : \n \n \n @ApiProperty({description: 'The URL for the proceed button'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.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';\n\nexport class PageContentResponse {\n\t@ApiProperty({\n\t\tdescription: 'The URL for the proceed button',\n\t})\n\tproceedButtonUrl: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The URL for the cancel button',\n\t})\n\tcancelButtonUrl: string;\n\n\tconstructor(props: PageContentResponse) {\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"},"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"},"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';\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:81\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:73\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:68\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:64\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:44\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:58\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:52\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:48\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\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 PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [PreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig })],\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 { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\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.debug(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(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_imports\n\n\n\ncluster_PreviewGeneratorProducerModule_exports\n\n\n\ncluster_PreviewGeneratorProducerModule_providers\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 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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, 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.debug(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\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.debug(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 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 (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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\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.debug(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.debug(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: SystemService, 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 SystemService\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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\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: SystemService,\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 { EntityId } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\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 { 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';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { EntityId } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\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 { EntityId } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\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';\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:11\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: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 : 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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: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 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: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 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: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 string\n \n\n \n No\n \n\n\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: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 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: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 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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { IFindOptions, LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\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:9\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, Pseudonym, User } from '@shared/domain';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\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: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 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: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 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: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 \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: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 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: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 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: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 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: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 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: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 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 { EntityId, Pseudonym } from '@shared/domain';\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"},"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 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:23\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:23\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:21\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: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 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:227\n \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: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 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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tEntityId,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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 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\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_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 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 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)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:22\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 \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: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 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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 { 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\tBoardNode,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\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) {}\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\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 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 = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\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 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:36\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:36\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: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 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: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 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: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 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:196\n \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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tBoardNode,\n\tCard,\n\tCardNode,\n\tColumn,\n\tColumnBoard,\n\tColumnBoardNode,\n\tColumnNode,\n\tEntityId,\n\tExternalToolElement,\n\tExternalToolElementNodeEntity,\n\tFileElement,\n\tFileElementNode,\n\tRichTextElement,\n\tRichTextElementNode,\n\tSubmissionContainerElement,\n\tSubmissionContainerElementNode,\n\tSubmissionItem,\n\tSubmissionItemNode,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\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\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, lessonRepo: LessonRepo, 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:39\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 lessonRepo\n \n \n LessonRepo\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: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 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: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 type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IRepoLoader\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:39\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { BoardDoAuthorizableService } from '@modules/board';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool/context-external-tool/service';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| LessonRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService;\n\ninterface IRepoLoader {\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 lessonRepo: LessonRepo,\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.lessonRepo });\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): IRepoLoader {\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: IRepoLoader = 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"},"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"},"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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 { 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';\nimport { ICurrentUser } from '@modules/authentication/interface/user';\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';\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 { UserDO } from '@shared/domain';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\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 { User, Role } from '@shared/domain';\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 Async\n checkPermission\n \n \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, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.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 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 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/restart-user-login-migration.uc.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 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 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: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 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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport {\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\nimport { UserLoginMigrationStartLoggable } from '../loggable';\nimport { 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 schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tasync restartMigration(userId: string, schoolId: string): 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} else if (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\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} else if (userLoginMigration.closedAt) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.restartMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, schoolId));\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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"},"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:73\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: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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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: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 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:15\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: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 { ContentElementType, InputFormat } from '@shared/domain';\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:82\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:78\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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/rich-text-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/rich-text-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.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: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, InputFormat } from '@shared/domain';\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';\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"},"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 IRoleProperties {\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: IRoleProperties) {\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: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 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:4\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:6\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:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, Permission, RoleName } from '@shared/domain';\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 { Role } from '@shared/domain';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\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: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 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: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 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 { RoleName, IImportUserRoleName } from '@shared/domain';\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"},"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: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 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: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 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: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 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: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 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:11\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:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId, Role, RoleName } from '@shared/domain';\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:8\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: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 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: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 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: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 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: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 { EntityId, Role, RoleName } from '@shared/domain';\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 { RoleService } from '@modules/role/service/role.service';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain';\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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): ITaskStatus {\n\t\tlet status: ITaskStatus;\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';\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';\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 { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\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, lessonRepo: LessonRepo, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.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 taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonRepo\n \n \n LessonRepo\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Board, BoardExternalReferenceType, ColumnBoardTarget, EntityId } from '@shared/domain';\nimport { BoardRepo, LessonRepo } from '@shared/repo';\nimport { ColumnBoardService } from '@modules/board';\nimport { TaskService } from '@modules/task/service';\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 lessonRepo: LessonRepo,\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.lessonRepo.findAllByCourseIds([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';\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: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 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: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 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 { BaseDO, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:23\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 \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: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 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: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 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:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport type { AuthorizationContext, Rule } from '../type';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n\tGroupRule,\n} from '../rules';\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) {\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];\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.log({ 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.log({ 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.log(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey');\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.log({ 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.log(`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.log({ 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.log({ 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.log({ 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.log({ 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.log({ 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.log(`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.log({ 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/SSOLoginQuery.html":{"url":"classes/SSOLoginQuery.html","title":"class - SSOLoginQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SSOLoginQuery\n\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/sso-login.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 Optional\n migration\n \n \n \n \n \n Optional\n postLoginRedirect\n \n \n \n \n\n\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 migration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/sso-login.query.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n postLoginRedirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/sso-login.query.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 { IsBoolean, IsOptional, IsString } from 'class-validator';\n\nexport class SSOLoginQuery {\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty()\n\tpostLoginRedirect?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty()\n\tmigration?: 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/SanisGruppeResponse.html":{"url":"interfaces/SanisGruppeResponse.html","title":"interface - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n id\n \n \n \n \n laufzeit\n \n \n \n \n orgid\n \n \n \n \n typ\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n \n \n bezeichnung: string\n\n \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 laufzeit\n \n \n \n \n \n \n \n \n laufzeit: SanisLaufzeitResponse\n\n \n \n\n\n \n \n Type : SanisLaufzeitResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n orgid\n \n \n \n \n \n \n \n \n orgid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n \n \n typ: SanisGroupType\n\n \n \n\n\n \n \n Type : SanisGroupType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupType } from './sanis-group-type';\nimport { SanisLaufzeitResponse } from './sanis-laufzeit-response';\n\nexport interface SanisGruppeResponse {\n\tid: string;\n\n\tbezeichnung: string;\n\n\ttyp: SanisGroupType;\n\n\torgid: string;\n\n\tlaufzeit: SanisLaufzeitResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisGruppenResponse.html":{"url":"interfaces/SanisGruppenResponse.html","title":"interface - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gruppe\n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n Optional\n \n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gruppe\n \n \n \n \n \n \n \n \n gruppe: SanisGruppeResponse\n\n \n \n\n\n \n \n Type : SanisGruppeResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit: SanisGruppenzugehoerigkeitResponse\n\n \n \n\n\n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n \n \n sonstige_gruppenzugehoerige: SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n\n\n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport interface SanisGruppenResponse {\n\tgruppe: SanisGruppeResponse;\n\n\tgruppenzugehoerigkeit: SanisGruppenzugehoerigkeitResponse;\n\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{"url":"interfaces/SanisGruppenzugehoerigkeitResponse.html","title":"interface - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n rollen: SanisGroupRole[]\n\n \n \n\n\n \n \n Type : SanisGroupRole[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupRole } from './sanis-group-role';\n\nexport interface SanisGruppenzugehoerigkeitResponse {\n\trollen: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisLaufzeitResponse.html":{"url":"interfaces/SanisLaufzeitResponse.html","title":"interface - SanisLaufzeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SanisLaufzeitResponse\n\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-laufzeit-response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bis\n \n \n \n \n von\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bis\n \n \n \n \n \n \n \n \n bis: 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 von\n \n \n \n \n \n \n \n \n von: 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 export interface SanisLaufzeitResponse {\n\tvon: Date;\n\n\tbis: 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/SanisNameResponse.html":{"url":"interfaces/SanisNameResponse.html","title":"interface - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n \n vorname\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n familienname\n \n \n \n \n \n \n \n \n familienname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n \n \n vorname: string\n\n \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 SanisNameResponse {\n\tfamilienname: string;\n\n\tvorname: 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/SanisOrganisationResponse.html":{"url":"interfaces/SanisOrganisationResponse.html","title":"interface - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n kennung\n \n \n \n \n name\n \n \n \n \n typ\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 kennung\n \n \n \n \n \n \n \n \n kennung: string\n\n \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 typ\n \n \n \n \n \n \n \n \n typ: string\n\n \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 SanisOrganisationResponse {\n\tid: string;\n\n\tkennung: string;\n\n\tname: string;\n\n\ttyp: 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/SanisPersonResponse.html":{"url":"interfaces/SanisPersonResponse.html","title":"interface - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n geschlecht\n \n \n \n \n lokalisierung\n \n \n \n \n name\n \n \n \n \n vertrauensstufe\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n geschlecht\n \n \n \n \n \n \n \n \n geschlecht: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lokalisierung\n \n \n \n \n \n \n \n \n lokalisierung: string\n\n \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: SanisNameResponse\n\n \n \n\n\n \n \n Type : SanisNameResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n vertrauensstufe\n \n \n \n \n \n \n \n \n vertrauensstufe: string\n\n \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 { SanisNameResponse } from './sanis-name-response';\n\nexport interface SanisPersonResponse {\n\tname: SanisNameResponse;\n\n\tgeschlecht: string;\n\n\tlokalisierung: string;\n\n\tvertrauensstufe: 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/SanisPersonenkontextResponse.html":{"url":"interfaces/SanisPersonenkontextResponse.html","title":"interface - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gruppen\n \n \n \n \n id\n \n \n \n \n organisation\n \n \n \n \n personenstatus\n \n \n \n \n rolle\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gruppen\n \n \n \n \n \n \n \n \n gruppen: SanisGruppenResponse[]\n\n \n \n\n\n \n \n Type : SanisGruppenResponse[]\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 organisation\n \n \n \n \n \n \n \n \n organisation: SanisOrganisationResponse\n\n \n \n\n\n \n \n Type : SanisOrganisationResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n personenstatus\n \n \n \n \n \n \n \n \n personenstatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n \n \n rolle: SanisRole\n\n \n \n\n\n \n \n Type : SanisRole\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisRole } from './sanis-role';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\n\nexport interface SanisPersonenkontextResponse {\n\tid: string;\n\n\trolle: SanisRole;\n\n\torganisation: SanisOrganisationResponse;\n\n\tpersonenstatus: string;\n\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\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 \n Async\n getData\n \n \n getType\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:21\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: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 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 \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: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 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:30\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 \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 { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom } from 'rxjs';\nimport { RoleName } from '@shared/domain';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tExternalGroupDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisResponseMapper } from './sanis-response.mapper';\nimport { SanisResponse } from './response';\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 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\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\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"},"interfaces/SanisResponse.html":{"url":"interfaces/SanisResponse.html","title":"interface - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n person\n \n \n \n \n personenkontexte\n \n \n \n \n pid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n person\n \n \n \n \n \n \n \n \n person: SanisPersonResponse\n\n \n \n\n\n \n \n Type : SanisPersonResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n \n \n personenkontexte: SanisPersonenkontextResponse[]\n\n \n \n\n\n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n \n \n pid: string\n\n \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 { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\n\nexport interface SanisResponse {\n\tpid: string;\n\n\tperson: SanisPersonResponse;\n\n\tpersonenkontexte: SanisPersonenkontextResponse[];\n}\n\n \n\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 mapSanisRoleToRoleName\n \n \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 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: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 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 mapToExternalGroupDtos\n \n \n \n \n \n \nmapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { GroupTypes } from '@modules/group';\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});\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});\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\tmapToExternalGroupDtos(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): ExternalGroupDto | null => {\n\t\t\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\t\t\tif (!groupType) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst sanisGroupUsers: SanisSonstigeGruppenzugehoerigeResponse[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\tktid: source.personenkontexte[0].id,\n\t\t\t\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t\t\t\t},\n\t\t\t\t].filter((sanisGroupUser) => sanisGroupUser.ktid && sanisGroupUser.rollen);\n\n\t\t\t\tconst gruppenzugehoerigkeiten: ExternalGroupUserDto[] = sanisGroupUsers\n\t\t\t\t\t.map((relation): ExternalGroupUserDto | null => this.mapToExternalGroupUser(relation))\n\t\t\t\t\t.filter((user): user is ExternalGroupUserDto => user !== null);\n\n\t\t\t\tconst externalOrganizationId = source.personenkontexte[0].organisation?.id;\n\n\t\t\t\treturn new ExternalGroupDto({\n\t\t\t\t\tname: group.gruppe.bezeichnung,\n\t\t\t\t\ttype: groupType,\n\t\t\t\t\texternalOrganizationId,\n\t\t\t\t\tfrom: group.gruppe.laufzeit?.von,\n\t\t\t\t\tuntil: group.gruppe.laufzeit?.bis,\n\t\t\t\t\texternalId: group.gruppe.id,\n\t\t\t\t\tusers: gruppenzugehoerigkeiten,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tconst userRole = 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"},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html","title":"interface - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ktid\n \n \n \n \n \n \n \n \n ktid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n rollen: SanisGroupRole[]\n\n \n \n\n\n \n \n Type : SanisGroupRole[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupRole } from './sanis-group-role';\n\nexport interface SanisSonstigeGruppenzugehoerigeResponse {\n\tktid: string;\n\trollen: SanisGroupRole[];\n}\n\n \n\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:38\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\nimport { ToolVersion } from '../../common/interface';\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?: ToolConfigurationStatus;\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?: ToolConfigurationStatus;\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/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';\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 ISchoolExternalToolProperties {\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: ISchoolExternalToolProperties) {\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: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 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, ToolConfigurationStatus } 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';\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: ToolConfigurationStatus.LATEST,\n\t};\n});\n\n \n\n\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';\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"},"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\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\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 SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n \n \n Exports\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 { SchoolExternalToolService, SchoolExternalToolValidationService } from './service';\nimport { ExternalToolModule } from '../external-tool';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService],\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/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: ToolConfigurationStatus\n\n \n \n\n\n \n \n Type : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\nimport { ToolVersion } from '../../common/interface';\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?: ToolConfigurationStatus;\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?: ToolConfigurationStatus;\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: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 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: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 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: ISchoolExternalToolProperties)\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 ISchoolExternalToolProperties\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: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 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: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 entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ISchoolExternalToolProperties\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:74\n\n \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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { ISchoolExternalToolProperties, SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\nimport { ExternalToolRepoMapper } from '../externaltool';\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: ISchoolExternalToolProperties): 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\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): ISchoolExternalToolProperties {\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 { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport { CustomParameterEntry } from '../../common/domain';\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,\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 : ToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolConfigurationStatusResponse})\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 { ToolConfigurationStatusResponse } from '../../../context-external-tool/controller/dto/tool-configuration-status.response';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.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({ enum: ToolConfigurationStatusResponse })\n\tstatus: ToolConfigurationStatusResponse;\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: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 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: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 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: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 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 { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { ToolConfigurationStatusResponse } from '../../context-external-tool/controller/dto';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\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: schoolExternalTool.status\n\t\t\t\t? ToolStatusResponseMapper.mapToResponse(schoolExternalTool.status)\n\t\t\t\t: ToolConfigurationStatusResponse.UNKNOWN,\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 { Scope } from '@shared/repo/scope';\nimport { EntityId } from '@shared/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\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 determineStatus\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)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.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 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 \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: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 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 determineStatus\n \n \n \n \n \n \n \n determineStatus(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: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 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 : ToolConfigurationStatus\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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolConfigurationStatus } from '../../common/enum';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService\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: ToolConfigurationStatus = this.determineStatus(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 determineStatus(tool: SchoolExternalTool, externalTool: ExternalTool): ToolConfigurationStatus {\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 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, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.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 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 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: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 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: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 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: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 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: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 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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolService, SchoolExternalToolValidationService } 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 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\n \n\n\n\n\n\n\n\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)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-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 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 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: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 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: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 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 { 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 '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tthis.commonToolValidationService.checkForDuplicateParameters(schoolExternalTool);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\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)\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 \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 } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto) {}\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.group.externalOrganizationId,\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 { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '@shared/domain';\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';\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';\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/SchoolInMigrationError.html":{"url":"classes/SchoolInMigrationError.html","title":"class - SchoolInMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationError\n\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/school-in-migration.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/school-in-migration.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 SchoolInMigrationError extends BusinessError {\n\tconstructor(details?: Record) {\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\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/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 { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '@shared/domain';\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';\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/SchoolMigrationError.html":{"url":"classes/SchoolMigrationError.html","title":"class - SchoolMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationError\n\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/error/school-migration.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, cause?)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/school-migration.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 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 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 SchoolMigrationError extends BusinessError {\n\tconstructor(details?: Record, cause?: unknown) {\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\tdetails,\n\t\t\tcause\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/SchoolMigrationFlags.html":{"url":"interfaces/SchoolMigrationFlags.html","title":"interface - SchoolMigrationFlags","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolMigrationFlags\n\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/school-migration-flags.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isMandatory\n \n \n \n \n isPossible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isMandatory\n \n \n \n \n \n \n \n \n isMandatory: 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 isPossible\n \n \n \n \n \n \n \n \n isPossible: 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 SchoolMigrationFlags {\n\tisPossible: boolean;\n\tisMandatory: 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/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 Private\n hasSchoolMigrated\n \n \n Async\n hasSchoolMigratedUser\n \n \n Async\n markUnmigratedUsersAsOutdated\n \n \n Async\n migrateSchool\n \n \n Private\n Async\n rollbackMigration\n \n \n Async\n schoolToMigrate\n \n \n Async\n unmarkOutdatedUsers\n \n \n validateGracePeriod\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, logger: LegacyLogger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 schoolService\n \n \n LegacySchoolService\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 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: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 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, schoolDO: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 externalId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolDO\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 Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string, targetExternalId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.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 sourceExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\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 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: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 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 markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(schoolId: 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 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 migrateSchool\n \n \n \n \n \n \n \n migrateSchool(externalId: string, existingSchool: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 externalId\n \n string\n \n\n \n No\n \n\n\n \n \n existingSchool\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 Private\n Async\n rollbackMigration\n \n \n \n \n \n \n \n rollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:141\n \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 : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n schoolToMigrate\n \n \n \n \n \n \n \n schoolToMigrate(currentUserId: string, externalId: string, officialSchoolNumber: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 currentUserId\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 | 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 unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 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 validateGracePeriod\n \n \n \n \n \n \nvalidateGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 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 import { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { Page, LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { performance } from 'perf_hooks';\nimport { OAuthMigrationError } from '../error';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tvalidateGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\n\t\t\tthrow new ValidationError('grace_period_expired: The grace period after finishing migration has expired', {\n\t\t\t\tfinishedAt: userLoginMigration.finishedAt,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync migrateSchool(externalId: string, existingSchool: LegacySchoolDo, targetSystemId: string): 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 (e: unknown) {\n\t\t\tawait this.rollbackMigration(schoolDOCopy);\n\t\t\tthis.logger.log({\n\t\t\t\tmessage: `This error occurred during migration of School with official school number`,\n\t\t\t\tofficialSchoolNumber: existingSchool.officialSchoolNumber,\n\t\t\t\terror: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync schoolToMigrate(\n\t\tcurrentUserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string | undefined\n\t): Promise {\n\t\tif (!officialSchoolNumber) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Official school number from target migration system is missing',\n\t\t\t\t'ext_official_school_number_missing'\n\t\t\t);\n\t\t}\n\n\t\tconst userDO: UserDO | null = await this.userService.findById(currentUserId);\n\t\tif (userDO) {\n\t\t\tconst schoolDO: LegacySchoolDo = await this.schoolService.getSchoolById(userDO.schoolId);\n\t\t\tthis.checkOfficialSchoolNumbersMatch(schoolDO, officialSchoolNumber);\n\t\t}\n\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(\n\t\t\tofficialSchoolNumber\n\t\t);\n\n\t\tif (!existingSchool) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Could not find school by official school number from target migration system',\n\t\t\t\t'ext_official_school_missing'\n\t\t\t);\n\t\t}\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(externalId, existingSchool.externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn existingSchool;\n\t}\n\n\tasync markUnmigratedUsersAsOutdated(schoolId: string): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t}\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId,\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.logger.warn(`completeMigration for schoolId ${schoolId} took ${endTime - startTime} milliseconds`);\n\t}\n\n\tasync unmarkOutdatedUsers(schoolId: string): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t}\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId,\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.logger.warn(`restartMigration for schoolId ${schoolId} took ${endTime - startTime} milliseconds`);\n\t}\n\n\tprivate async doMigration(externalId: string, schoolDO: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tif (schoolDO.systems) {\n\t\t\tschoolDO.systems.push(targetSystemId);\n\t\t} else {\n\t\t\tschoolDO.systems = [targetSystemId];\n\t\t}\n\t\tschoolDO.previousExternalId = schoolDO.externalId;\n\t\tschoolDO.externalId = externalId;\n\t\tawait this.schoolService.save(schoolDO);\n\t}\n\n\tprivate async rollbackMigration(originalSchoolDO: LegacySchoolDo) {\n\t\tif (originalSchoolDO) {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t}\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Current users school is not the same as school found by official school number from target migration system',\n\t\t\t\t'ext_official_school_number_mismatch',\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, targetExternalId?: string): boolean {\n\t\tif (sourceExternalId === targetExternalId) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tasync 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"},"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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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/error/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/error/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/error/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/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/error/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/error/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/error/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';\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"},"classes/SchoolParams.html":{"url":"classes/SchoolParams.html","title":"class - SchoolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolParams\n\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/controller/dto/school.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 : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the school.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/school.params.ts:11\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 SchoolParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the school.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\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/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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 { EntityId } from '@shared/domain';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\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"},"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';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../error';\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 ISchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements ISchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: ISchoolYearProperties) {\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"},"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';\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:6\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: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 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:10\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 { EntityId, SchoolYearEntity } from '@shared/domain';\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"},"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:6\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:4\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:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, VideoConferenceScope } from '@shared/domain';\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"},"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 { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { FilesModule } from '@modules/files';\nimport { FileEntity } from '@modules/files/entity';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\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\nAccountApiModule\n\nAccountApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nAccountApiModule->ServerModule\n\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nServerModule -->\n\nAuthenticationApiModule->ServerModule\n\n\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nServerModule -->\n\nBoardApiModule->ServerModule\n\n\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nServerModule -->\n\nCollaborativeStorageModule->ServerModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nServerModule -->\n\nCoreModule->ServerModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nServerModule -->\n\nFilesStorageClientModule->ServerModule\n\n\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nServerModule -->\n\nGroupApiModule->ServerModule\n\n\n\n\n\nImportUserModule\n\nImportUserModule\n\nServerModule -->\n\nImportUserModule->ServerModule\n\n\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nServerModule -->\n\nLearnroomApiModule->ServerModule\n\n\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nServerModule -->\n\nLegacySchoolApiModule->ServerModule\n\n\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nServerModule -->\n\nLessonApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nServerModule -->\n\nMetaTagExtractorApiModule->ServerModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nServerModule -->\n\nMetaTagExtractorModule->ServerModule\n\n\n\n\n\nNewsModule\n\nNewsModule\n\nServerModule -->\n\nNewsModule->ServerModule\n\n\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nServerModule -->\n\nOauthApiModule->ServerModule\n\n\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nServerModule -->\n\nOauthProviderApiModule->ServerModule\n\n\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nServerModule -->\n\nPseudonymApiModule->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\nSharingApiModule\n\nSharingApiModule\n\nServerModule -->\n\nSharingApiModule->ServerModule\n\n\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nServerModule -->\n\nSystemApiModule->ServerModule\n\n\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nServerModule -->\n\nTaskApiModule->ServerModule\n\n\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nServerModule -->\n\nTeamsApiModule->ServerModule\n\n\n\n\n\nToolApiModule\n\nToolApiModule\n\nServerModule -->\n\nToolApiModule->ServerModule\n\n\n\n\n\nUserApiModule\n\nUserApiModule\n\nServerModule -->\n\nUserApiModule->ServerModule\n\n\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nServerModule -->\n\nUserLoginMigrationApiModule->ServerModule\n\n\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nServerModule -->\n\nVideoConferenceApiModule->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 AccountApiModule\n \n \n AuthenticationApiModule\n \n \n BoardApiModule\n \n \n CollaborativeStorageModule\n \n \n CoreModule\n \n \n FilesStorageClientModule\n \n \n GroupApiModule\n \n \n ImportUserModule\n \n \n LearnroomApiModule\n \n \n LegacySchoolApiModule\n \n \n LessonApiModule\n \n \n LoggerModule\n \n \n MetaTagExtractorApiModule\n \n \n MetaTagExtractorModule\n \n \n NewsModule\n \n \n OauthApiModule\n \n \n OauthProviderApiModule\n \n \n PseudonymApiModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n SharingApiModule\n \n \n SystemApiModule\n \n \n TaskApiModule\n \n \n TeamsApiModule\n \n \n ToolApiModule\n \n \n UserApiModule\n \n \n UserLoginMigrationApiModule\n \n \n VideoConferenceApiModule\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: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 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 { 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 { LegacySchoolApiModule } from '@modules/legacy-school/legacy-school-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';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { RedisModule, REDIS_CLIENT } from '@infra/redis';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_URL, DB_USERNAME } 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\tLegacySchoolApiModule,\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\nAccountApiModule\n\nAccountApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nAccountApiModule->ServerTestModule\n\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nServerTestModule -->\n\nAuthenticationApiModule->ServerTestModule\n\n\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nServerTestModule -->\n\nBoardApiModule->ServerTestModule\n\n\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nServerTestModule -->\n\nCollaborativeStorageModule->ServerTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nServerTestModule -->\n\nCoreModule->ServerTestModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nServerTestModule -->\n\nFilesStorageClientModule->ServerTestModule\n\n\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nServerTestModule -->\n\nGroupApiModule->ServerTestModule\n\n\n\n\n\nImportUserModule\n\nImportUserModule\n\nServerTestModule -->\n\nImportUserModule->ServerTestModule\n\n\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nServerTestModule -->\n\nLearnroomApiModule->ServerTestModule\n\n\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nServerTestModule -->\n\nLegacySchoolApiModule->ServerTestModule\n\n\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nServerTestModule -->\n\nLessonApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nServerTestModule -->\n\nMetaTagExtractorApiModule->ServerTestModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nServerTestModule -->\n\nMetaTagExtractorModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nNewsModule\n\nNewsModule\n\nServerTestModule -->\n\nNewsModule->ServerTestModule\n\n\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nServerTestModule -->\n\nOauthApiModule->ServerTestModule\n\n\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nServerTestModule -->\n\nOauthProviderApiModule->ServerTestModule\n\n\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nServerTestModule -->\n\nPseudonymApiModule->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\nSharingApiModule\n\nSharingApiModule\n\nServerTestModule -->\n\nSharingApiModule->ServerTestModule\n\n\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nServerTestModule -->\n\nSystemApiModule->ServerTestModule\n\n\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nServerTestModule -->\n\nTaskApiModule->ServerTestModule\n\n\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nServerTestModule -->\n\nTeamsApiModule->ServerTestModule\n\n\n\n\n\nToolApiModule\n\nToolApiModule\n\nServerTestModule -->\n\nToolApiModule->ServerTestModule\n\n\n\n\n\nUserApiModule\n\nUserApiModule\n\nServerTestModule -->\n\nUserApiModule->ServerTestModule\n\n\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nServerTestModule -->\n\nUserLoginMigrationApiModule->ServerTestModule\n\n\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nServerTestModule -->\n\nVideoConferenceApiModule->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 AccountApiModule\n \n \n AuthenticationApiModule\n \n \n BoardApiModule\n \n \n CollaborativeStorageModule\n \n \n CoreModule\n \n \n FilesStorageClientModule\n \n \n GroupApiModule\n \n \n ImportUserModule\n \n \n LearnroomApiModule\n \n \n LegacySchoolApiModule\n \n \n LessonApiModule\n \n \n LoggerModule\n \n \n MetaTagExtractorApiModule\n \n \n MetaTagExtractorModule\n \n \n MongoMemoryDatabaseModule\n \n \n NewsModule\n \n \n OauthApiModule\n \n \n OauthProviderApiModule\n \n \n PseudonymApiModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n SharingApiModule\n \n \n SystemApiModule\n \n \n TaskApiModule\n \n \n TeamsApiModule\n \n \n ToolApiModule\n \n \n UserApiModule\n \n \n UserLoginMigrationApiModule\n \n \n VideoConferenceApiModule\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: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 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: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 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 { 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 { LegacySchoolApiModule } from '@modules/legacy-school/legacy-school-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';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { RedisModule, REDIS_CLIENT } from '@infra/redis';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_URL, DB_USERNAME } 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\tLegacySchoolApiModule,\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 IShareTokenProperties {\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: IShareTokenProperties) {\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 {\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';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\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 { EntityId } from '@shared/domain';\nimport { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\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"},"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: IShareTokenProperties)\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 IShareTokenProperties\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 : IShareTokenProperties\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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { IShareTokenProperties, 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\tentityFactory(props: IShareTokenProperties): 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): IShareTokenProperties {\n\t\tconst properties: IShareTokenProperties = {\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:24\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: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 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:204\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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 { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\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 {\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_imports\n\n\n\ncluster_SharingModule_providers\n\n\n\ncluster_SharingModule_exports\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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';\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 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: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 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 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: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 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: 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: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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SchoolNumberMissingLoggableException, UserLoginMigrationAlreadyClosedLoggableException } from '../error';\nimport { UserLoginMigrationStartLoggable } 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: string, schoolId: string): 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 as string));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.closedAt\n\t\t\t);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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 IStorageProviderProperties {\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: IStorageProviderProperties) {\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"},"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';\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 ISubmissionProperties {\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: ISubmissionProperties) {\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:91\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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';\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:100\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:96\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { ISubmissionProperties, Submission } from '@shared/domain';\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: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 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: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 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: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 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:6\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: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 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:14\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: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 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 { EntityId, FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain';\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';\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';\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 { EntityId, FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain';\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:6\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:8\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: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 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: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 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: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 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 { FileElement, isSubmissionItemContent, RichTextElement, SubmissionItem, UserBoardRoles } from '@shared/domain';\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:11\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: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 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: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 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: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 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 { ObjectId } from 'bson';\nimport { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\n\nimport { EntityId, isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain';\nimport { ValidationError } from '@shared/common';\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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tEntityId,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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';\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"},"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: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 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: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 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: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 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 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: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 \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:10\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Counted, CourseGroup, EntityId, Submission } from '@shared/domain';\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:7\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, Submission } from '@shared/domain';\nimport { SubmissionRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\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:7\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission, Submission, User } from '@shared/domain';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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 { IEncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements IEncryptionService {\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"},"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_providers\n\n\n\ncluster_SystemApiModule_imports\n\n\n\n\nSystemModule\n\nSystemModule\n\n\n\nSystemApiModule\n\nSystemApiModule\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 SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule],\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 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 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:23\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:38\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 { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { SystemFilterParams } from '@modules/system/controller/dto/system.filter.params';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse } from './dto/public-system-list.response';\nimport { PublicSystemResponse } from './dto/public-system-response';\nimport { SystemIdParams } from './dto/system-id.params';\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\n \n\n\n\n\n\n\n\n\n\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 { EntityId } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\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 : LdapConfig\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfig, 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 : OauthConfig\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 : OidcConfig\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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/SystemFactory.html":{"url":"classes/SystemFactory.html","title":"class - SystemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFactory\n\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/system.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 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/system.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 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/system.factory.ts:7\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/system.factory.ts:40\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 { ISystemProperties, LdapConfig, OauthConfig, OidcConfig, SystemEntity } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfig({\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: 'http://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'http://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'http://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'http://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'http://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 LdapConfig({\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 OidcConfig({\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 systemFactory = SystemFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'http://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"},"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';\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/oauth/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 : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/system-id.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 SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\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/SystemIdParams-1.html":{"url":"classes/SystemIdParams-1.html","title":"class - SystemIdParams-1","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';\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: OauthConfig | 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 OauthConfig | 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 { OauthConfig, SystemEntity } from '@shared/domain';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\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: OauthConfig | 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_providers\n\n\n\ncluster_SystemModule_imports\n\n\n\ncluster_SystemModule_exports\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nSystemModule\n\nSystemModule\n\nSystemModule -->\n\nIdentityManagementModule->SystemModule\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\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 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 SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemService } from '@modules/system/service/system.service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [SystemRepo, SystemService, SystemOidcService],\n\texports: [SystemService, SystemOidcService],\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: OidcConfig)\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 OidcConfig\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 { OidcConfig, SystemEntity } from '@shared/domain';\nimport { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\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: OidcConfig): 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: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.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 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 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: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 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: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 { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { EntityId, SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '@modules/system/mapper/system-oidc.mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\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"},"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/shared/repo/system/system.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 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/system.repo.ts:31\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/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 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/system.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n@Injectable()\nexport class SystemRepo 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"},"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"},"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';\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 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: SystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.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 SystemRepo\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/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 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/system.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 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/system.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 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/system.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 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 { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { EntityId, SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { IdentityManagementOauthService } from '@infra/identity-management/identity-management-oauth.service';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemMapper } from '@modules/system/mapper/system.mapper';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: SystemRepo,\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"},"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 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(systemService: SystemService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.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 systemService\n \n \n SystemService\n \n \n \n No\n \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 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:11\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: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 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 { EntityId, SystemEntity, SystemType, SystemTypeEnum } from '@shared/domain';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { SystemService } from '@modules/system/service/system.service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(private readonly systemService: SystemService) {}\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.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.systemService.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.systemService.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\n \n\n\n\n\n\n\n\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';\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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_imports\n\n\n\ncluster_TaskApiModule_providers\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\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\nLessonRepo\n\nLessonRepo\n\nTaskApiModule -->\n\nLessonRepo->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 LessonRepo\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 TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, LessonRepo, 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 { 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/';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { TaskRepo } from '@shared/repo';\nimport { 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';\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, lessonRepo: LessonRepo, 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:11\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 lessonRepo\n \n \n LessonRepo\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: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 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: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 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:112\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: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 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: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 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: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 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: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 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: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 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 { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, EntityId, Task, LessonEntity, User } from '@shared/domain';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\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 lessonRepo: LessonRepo,\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.lessonRepo.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"},"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 ITaskCreate\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 { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, ITaskCreate } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class TaskCreateParams implements ITaskCreate {\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 { ITaskProperties, Task } from '@shared/domain';\nimport { User } from '@shared/domain/entity';\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';\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: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 params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ITaskCreate\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: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 params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ITaskUpdate\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: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 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 { InputFormat, ITaskCreate, ITaskUpdate, RichText, TaskWithStatusVo } from '@shared/domain';\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): ITaskUpdate {\n\t\tconst dto: ITaskUpdate = {\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): ITaskCreate {\n\t\tconst dto: ITaskCreate = {\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\nLessonRepo\n\nLessonRepo\n\nTaskModule -->\n\nLessonRepo->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 LessonRepo\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, LessonRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, LessonRepo, 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"},"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';\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:8\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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IFindOptions, Task } from '@shared/domain';\nimport { TaskRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\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"},"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: ITaskStatus)\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 ITaskStatus\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 { ITaskStatus } from '@shared/domain';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: ITaskStatus): 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, lessonRepo: LessonRepo, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.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 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 lessonRepo\n \n \n LessonRepo\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: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 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: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 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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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?: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.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 userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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:218\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:185\n \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:197\n \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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport {\n\tCounted,\n\tCourse,\n\tEntityId,\n\tIPagination,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tSortOrder,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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 lessonRepo: LessonRepo,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: IPagination): 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: ITaskStatus;\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: IPagination): 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: IPagination): 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: IPagination): 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.lessonRepo.findAllByCourseIds(writeCourseIds),\n\t\t\tthis.lessonRepo.findAllByCourseIds(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"},"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 ITaskUpdate\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 { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, ITaskUpdate } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class TaskUpdateParams implements ITaskUpdate {\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/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: ITaskStatus)\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 ITaskStatus\n \n \n \n No\n \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 : ITaskStatus\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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';\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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 { ITeamProperties, Role, TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\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 { TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { Injectable } from '@nestjs/common';\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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 { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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"},"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:6\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: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 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: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 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, TeamEntity } from '@shared/domain';\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';\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: ITeamUserProperties)\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 ITeamUserProperties\n \n \n \n No\n \n \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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\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"},"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: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 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:35\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: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 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: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/teams/teams.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId, Role, TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\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"},"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';\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';\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/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"},"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/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 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:15\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 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: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 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: string, schoolId: string, 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: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 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 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 { Injectable } from '@nestjs/common';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\nimport { UserLoginMigrationMandatoryLoggable } 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: string, schoolId: string, 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} else if (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\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} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.closedAt\n\t\t\t);\n\t\t} else {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(schoolId, mandatory);\n\n\t\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id as string, mandatory));\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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/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\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:14\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\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\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\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: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 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: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 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: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 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: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 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 import { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\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 \n \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: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 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: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 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: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 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: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 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 \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\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\n \n\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"},"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 \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: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 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: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 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: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 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:101\n \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: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 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 \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: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 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 { 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 { IFindOptions, Page } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\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\n \n\n\n\n\n\n\n\n\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 { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\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_providers\n\n\n\ncluster_ToolLaunchModule_imports\n\n\n\ncluster_ToolLaunchModule_exports\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 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, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.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 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 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 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: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 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: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 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 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: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 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 : void\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: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 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:22\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ToolConfigType, ToolConfigurationStatus } from '../../common/enum';\nimport { CommonToolService } from '../../common/service';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\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\tIToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\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 commonToolService: CommonToolService\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: IToolLaunchStrategy | 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\tthis.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: IToolLaunchStrategy | 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 isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): void {\n\t\tconst status: ToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\t\tif (status !== ToolConfigurationStatus.LATEST) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(userId, contextExternalTool.id ?? '');\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/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:11\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: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 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, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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.findById(\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_exports\n\n\n\ncluster_ToolModule_imports\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:13\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, Course, EntityId, LegacySchoolDo, User } from '@shared/domain';\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 : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ToolConfigurationStatus;\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 { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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\t\tconst 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: ToolConfigurationStatus)\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 ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\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: ToolConfigurationStatus\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:28\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 : ToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolConfigurationStatusResponse, enumName: 'ToolConfigurationStatusResponse', 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:28\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 { ToolConfigurationStatusResponse } from './tool-configuration-status.response';\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\tenum: ToolConfigurationStatusResponse,\n\t\tenumName: 'ToolConfigurationStatusResponse',\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ToolConfigurationStatusResponse;\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, commonToolService: CommonToolService, externalToolLogoService: ExternalToolLogoService)\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 commonToolService\n \n \n CommonToolService\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 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';\nimport { ToolConfigurationStatus } from '../../common/enum';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\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';\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 commonToolService: CommonToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findById(\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: ToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\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:10\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: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 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: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 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: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 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: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 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, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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.findById(\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 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: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 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:101\n \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: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 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: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 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: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 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 {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiResponse,\n\tApiOkResponse,\n\tApiBadRequestResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n\tApiOperation,\n} from '@nestjs/swagger';\nimport { Body, Controller, Delete, Get, Param, Post, Query, Put, HttpCode, HttpStatus } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalTool } from '../domain';\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\n \n\n\n\n\n\n\n\n\n\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)\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 \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: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 { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly toolId: EntityId) {\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},\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: ToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.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 status\n \n ToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolConfigurationStatusResponse } from '../../context-external-tool/controller/dto';\nimport { ToolConfigurationStatus } from '../enum';\n\nexport const statusMapping: Record = {\n\t[ToolConfigurationStatus.LATEST]: ToolConfigurationStatusResponse.LATEST,\n\t[ToolConfigurationStatus.OUTDATED]: ToolConfigurationStatusResponse.OUTDATED,\n\t[ToolConfigurationStatus.UNKNOWN]: ToolConfigurationStatusResponse.UNKNOWN,\n};\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ToolConfigurationStatus): ToolConfigurationStatusResponse {\n\t\treturn statusMapping[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"},"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"},"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\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:150\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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 { IsDate, IsOptional, IsString } from 'class-validator';\nimport { InputFormat } from '@shared/domain';\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"},"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 \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 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 \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:91\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:41\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:78\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:62\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:44\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:72\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:84\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:69\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:81\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:94\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:47\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:75\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:59\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:97\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:87\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:65\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:51\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:55\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { IEntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface IUserProperties {\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}\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 IEntityWithSchool {\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\tconstructor(props: IUserProperties) {\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}\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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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: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 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: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 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:34\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: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 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: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 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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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"},"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 { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 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:43\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 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\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}\n}\n\n \n\n\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 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:141\n \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: IUserProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 props\n \n IUserProperties\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: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 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: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 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: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 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:60\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 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: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 entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUserProperties\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: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 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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:77\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: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 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: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 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:50\n\n \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:25\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport {\n\tEntityId,\n\tIFindOptions,\n\tIPagination,\n\tIUserProperties,\n\tRole,\n\tSchoolEntity,\n\tSortOrder,\n\tSortOrderMap,\n\tSystemEntity,\n\tUser,\n} from '@shared/domain';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserQuery } from '@modules/user/service/user-query.type';\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: IUserProperties): User {\n\t\treturn new User(props);\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: IPagination = 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 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});\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): IUserProperties {\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};\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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: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 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 { EntityId, RoleName } from '@shared/domain';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\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:3\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:22\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:34\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:24\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:38\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:20\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:36\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:43\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:26\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:32\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:45\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:41\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:28\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:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, LanguageType } from '@shared/domain';\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:41\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:23\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:32\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: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 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: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 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 { IUserProperties, Permission, Role, RoleName, User } from '@shared/domain';\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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';\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/error/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(userLoginMigrationId: EntityId, closedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/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 userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n closedAt\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/error/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';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly closedAt: Date) {\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\nPageContentMapper\n\nPageContentMapper\n\nUserLoginMigrationApiModule -->\n\nPageContentMapper->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 PageContentMapper\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 UserMigrationController\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 { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport { UserMigrationController } from './controller/user-migration.controller';\nimport { PageContentMapper } from './mapper';\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\tPageContentMapper,\n\t],\n\tcontrollers: [UserMigrationController, 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';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\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/UserLoginMigrationError.html":{"url":"classes/UserLoginMigrationError.html","title":"class - UserLoginMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationError\n\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/error/user-login-migration.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/user-login-migration/error/user-login-migration.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 UserLoginMigrationError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'USER_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration failed',\n\t\t\t\tdefaultMessage: 'Migration of user failed during migration process',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\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/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/error/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/error/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/error/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';\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, 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\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';\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,\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: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 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';\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\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\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_imports\n\n\n\ncluster_UserLoginMigrationModule_providers\n\n\n\ncluster_UserLoginMigrationModule_exports\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/error/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/error/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/error/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';\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: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: IUserLoginMigration)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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: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 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:55\n\n \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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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: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 } from '@nestjs/common';\nimport { EntityId, SchoolEntity, SystemEntity, UserLoginMigrationDO } from '@shared/domain';\nimport { IUserLoginMigration, UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\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:7\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: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 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 { Injectable } from '@nestjs/common';\nimport { SchoolFeatures, UserLoginMigrationDO } from '@shared/domain';\nimport { LegacySchoolService } from '@modules/legacy-school';\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 Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Async\n findMigrationBySchool\n \n \n Async\n findMigrationByUser\n \n \n Async\n restartMigration\n \n \n Async\n setMigration\n \n \n Async\n setMigrationMandatory\n \n \n Async\n startMigration\n \n \n Private\n Async\n updateExistingMigration\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: SystemService, schoolMigrationService: SchoolMigrationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 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 SystemService\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 \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(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.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 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 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:149\n \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 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: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 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:180\n \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 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: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 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 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: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 \n \n \n Returns : Promise\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(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 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 setMigration\n \n \n \n \n \n \n Use the other functions in this class instead.\n \n \n \n \n \n setMigration(schoolId: EntityId, oauthMigrationPossible?: boolean, oauthMigrationMandatory?: boolean, oauthMigrationFinished?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauthMigrationPossible\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n oauthMigrationMandatory\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n oauthMigrationFinished\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 Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(schoolId: string, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 schoolId\n \n string\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 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: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 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 Private\n Async\n updateExistingMigration\n \n \n \n \n \n \n \n updateExistingMigration(userLoginMigrationDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 userLoginMigrationDO\n \n UserLoginMigrationDO\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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, SchoolFeatures, SystemTypeEnum, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemDto, SystemService } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { UserLoginMigrationNotFoundLoggableException } from '../error';\nimport { SchoolMigrationService } from './school-migration.service';\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: SystemService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService\n\t) {}\n\n\t/**\n\t * @deprecated Use the other functions in this class instead.\n\t *\n\t * @param schoolId\n\t * @param oauthMigrationPossible\n\t * @param oauthMigrationMandatory\n\t * @param oauthMigrationFinished\n\t */\n\tasync setMigration(\n\t\tschoolId: EntityId,\n\t\toauthMigrationPossible?: boolean,\n\t\toauthMigrationMandatory?: boolean,\n\t\toauthMigrationFinished?: boolean\n\t): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\tschoolId\n\t\t);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO;\n\n\t\tif (existingUserLoginMigration) {\n\t\t\tuserLoginMigration = existingUserLoginMigration;\n\t\t} else {\n\t\t\tif (!oauthMigrationPossible) {\n\t\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t\t}\n\n\t\t\tuserLoginMigration = await this.createNewMigration(schoolDo);\n\n\t\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\t\tawait this.schoolService.save(schoolDo);\n\t\t}\n\n\t\tif (oauthMigrationPossible === true) {\n\t\t\tuserLoginMigration.closedAt = undefined;\n\t\t\tuserLoginMigration.finishedAt = undefined;\n\t\t}\n\n\t\tif (oauthMigrationMandatory !== undefined) {\n\t\t\tuserLoginMigration.mandatorySince = oauthMigrationMandatory ? new Date() : undefined;\n\t\t}\n\n\t\tif (oauthMigrationFinished !== undefined) {\n\t\t\tuserLoginMigration.closedAt = oauthMigrationFinished ? new Date() : undefined;\n\t\t\tuserLoginMigration.finishedAt = oauthMigrationFinished\n\t\t\t\t? new Date(Date.now() + (Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number))\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tconst savedMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\tif (oauthMigrationFinished !== undefined) {\n\t\t\t// this would throw an error when executed before the userLoginMigrationRepo.save method.\n\t\t\tawait this.schoolService.removeFeature(schoolId, SchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION);\n\t\t}\n\n\t\treturn savedMigration;\n\t}\n\n\tasync 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\tasync restartMigration(schoolId: string): Promise {\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!existingUserLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst updatedUserLoginMigration = await this.updateExistingMigration(existingUserLoginMigration);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(schoolId);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tasync setMigrationMandatory(schoolId: string, mandatory: boolean): Promise {\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\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\tasync closeMigration(schoolId: string): Promise {\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(schoolId, SchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION);\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 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 async updateExistingMigration(userLoginMigrationDO: UserLoginMigrationDO) {\n\t\tuserLoginMigrationDO.closedAt = undefined;\n\t\tuserLoginMigrationDO.finishedAt = undefined;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\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\tasync findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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\tasync 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)\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\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';\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) {}\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 getPageContent\n \n \n Private\n logMigrationInformation\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: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.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 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 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 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: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 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: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 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 getPageContent\n \n \n \n \n \n \n \n getPageContent(pageType: PageTypes, sourceSystem: string, targetSystem: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.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 pageType\n \n PageTypes\n \n\n \n No\n \n\n\n \n \n sourceSystem\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystem\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n logMigrationInformation\n \n \n \n \n \n \n \n logMigrationInformation(userId: string, text?: string, oauthData?: OauthDataDto, targetSystemId?: string, school?: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.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 userId\n \n string\n \n\n \n No\n \n\n\n \n \n text\n \n string\n \n\n \n Yes\n \n\n\n \n \n oauthData\n \n OauthDataDto\n \n\n \n Yes\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n school\n \n LegacySchoolDo\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 Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: string, 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: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 userJwt\n \n string\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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId, Page, Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthenticationService } from '@modules/authentication/services/authentication.service';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthTokenDto } from '@modules/oauth';\nimport { OAuthService } from '@modules/oauth/service/oauth.service';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { OAuthMigrationError, SchoolMigrationError, UserLoginMigrationError } from '../error';\nimport { PageTypes } from '../interface/page-types.enum';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { MigrationDto, PageContentDto } from '../service/dto';\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: LegacyLogger\n\t) {}\n\n\tasync getPageContent(pageType: PageTypes, sourceSystem: string, targetSystem: string): Promise {\n\t\tconst content: PageContentDto = await this.userMigrationService.getPageContent(\n\t\t\tpageType,\n\t\t\tsourceSystem,\n\t\t\ttargetSystem\n\t\t);\n\n\t\treturn content;\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: string,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logMigrationInformation(currentUserId, `Migrates to targetSystem with id ${targetSystemId}`);\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\tthis.logMigrationInformation(currentUserId, undefined, data, targetSystemId);\n\n\t\tif (data.externalSchool) {\n\t\t\tlet schoolToMigrate: LegacySchoolDo | null;\n\t\t\t// TODO: N21-820 after fully switching to the new client login flow, try/catch will be obsolete and schoolToMigrate should throw correct errors\n\t\t\ttry {\n\t\t\t\tschoolToMigrate = await this.schoolMigrationService.schoolToMigrate(\n\t\t\t\t\tcurrentUserId,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t\t);\n\t\t\t} catch (error: unknown) {\n\t\t\t\tlet details: Record | undefined;\n\n\t\t\t\tif (\n\t\t\t\t\terror instanceof OAuthMigrationError &&\n\t\t\t\t\terror.officialSchoolNumberFromSource &&\n\t\t\t\t\terror.officialSchoolNumberFromTarget\n\t\t\t\t) {\n\t\t\t\t\tdetails = {\n\t\t\t\t\t\tsourceSchoolNumber: error.officialSchoolNumberFromSource,\n\t\t\t\t\t\ttargetSchoolNumber: error.officialSchoolNumberFromTarget,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthrow new SchoolMigrationError(details, error);\n\t\t\t}\n\n\t\t\tthis.logMigrationInformation(\n\t\t\t\tcurrentUserId,\n\t\t\t\t`Found school with officialSchoolNumber (${data.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\tdata.externalSchool.externalId,\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logMigrationInformation(currentUserId, undefined, data, data.system.systemId, schoolToMigrate);\n\t\t\t}\n\t\t}\n\n\t\tconst migrationDto: MigrationDto = await this.userMigrationService.migrateUser(\n\t\t\tcurrentUserId,\n\t\t\tdata.externalUser.externalId,\n\t\t\ttargetSystemId\n\t\t);\n\n\t\t// TODO: N21-820 after implementation of new client login flow, redirects will be obsolete and migrate should throw errors directly\n\t\tif (migrationDto.redirect.includes('migration/error')) {\n\t\t\tthrow new UserLoginMigrationError({ userId: currentUserId });\n\t\t}\n\n\t\tthis.logMigrationInformation(currentUserId, `Successfully migrated user and redirects to ${migrationDto.redirect}`);\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n\n\tprivate logMigrationInformation(\n\t\tuserId: string,\n\t\ttext?: string,\n\t\toauthData?: OauthDataDto,\n\t\ttargetSystemId?: string,\n\t\tschool?: LegacySchoolDo\n\t) {\n\t\tlet message = `MIGRATION (userId: ${userId}): ${text ?? ''}`;\n\t\tif (!school && oauthData) {\n\t\t\tmessage += `Provisioning data received from targetSystem (${targetSystemId ?? 'N/A'} with data: \n\t\t\t{ \n\t\t\t\t\"officialSchoolNumber\": ${oauthData.externalSchool?.officialSchoolNumber ?? 'N/A'},\n\t\t\t\t\"externalSchoolId\": ${oauthData.externalSchool?.externalId ?? ''}\n\t\t\t\t\"externalUserId\": ${oauthData.externalUser.externalId},\n\t\t\t})`;\n\t\t}\n\t\tif (school && oauthData) {\n\t\t\tmessage += `Successfully migrated school (${school.name} - (${school.id ?? 'N/A'}) to targetSystem ${\n\t\t\t\ttargetSystemId ?? 'N/A'\n\t\t\t} which has the externalSchoolId ${oauthData.externalSchool?.externalId ?? 'N/A'}`;\n\t\t}\n\t\tthis.logger.debug(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/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 { Role, User } from '@shared/domain';\nimport { UserDto } from '@modules/user/uc/dto/user.dto';\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: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 query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INameMatch\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: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 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 { INameMatch, MatchCreator, User } from '@shared/domain';\nimport { UserRole, UserMatchResponse } 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): INameMatch {\n\t\tconst scope: INameMatch = {};\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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"},"controllers/UserMigrationController.html":{"url":"controllers/UserMigrationController.html","title":"controller - UserMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserMigrationController\n\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-migration.controller.ts\n \n\n \n Prefix\n \n \n user-migration\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 getMigrationPageDetails\n \n \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 getMigrationPageDetails\n \n \n \n \n \n \n \n getMigrationPageDetails(pageTypeQuery: PageContentQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get('page-content')\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-migration.controller.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 pageTypeQuery\n \n PageContentQueryParams\n \n\n \n No\n \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 { Controller, Get, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PageContentMapper } from '../mapper';\nimport { PageContentDto } from '../service/dto';\nimport { UserLoginMigrationUc } from '../uc/user-login-migration.uc';\nimport { PageContentQueryParams, PageContentResponse } from './dto';\n\n@ApiTags('UserMigration')\n@Controller('user-migration')\n/**\n * @Deprecated\n */\nexport class UserMigrationController {\n\tconstructor(private readonly uc: UserLoginMigrationUc, private readonly pageContentMapper: PageContentMapper) {}\n\n\t@Get('page-content')\n\tasync getMigrationPageDetails(@Query() pageTypeQuery: PageContentQueryParams): Promise {\n\t\tconst content: PageContentDto = await this.uc.getPageContent(\n\t\t\tpageTypeQuery.pageType,\n\t\t\tpageTypeQuery.sourceSystem,\n\t\t\tpageTypeQuery.targetSystem\n\t\t);\n\n\t\tconst response: PageContentResponse = this.pageContentMapper.mapDtoToResponse(content);\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/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"},"classes/UserMigrationMapper.html":{"url":"classes/UserMigrationMapper.html","title":"class - UserMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationMapper\n\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/user-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 mapDtoToResponse\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 mapDtoToResponse\n \n \n \n \n \n \n \n mapDtoToResponse(dto: MigrationDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/user-migration.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 dto\n \n MigrationDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { UserMigrationResponse } from '../controller/dto';\n\nexport class UserMigrationMapper {\n\tstatic mapDtoToResponse(dto: MigrationDto): UserMigrationResponse {\n\t\tconst response: UserMigrationResponse = new UserMigrationResponse({\n\t\t\tredirect: dto.redirect,\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"},"classes/UserMigrationResponse.html":{"url":"classes/UserMigrationResponse.html","title":"class - UserMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationResponse\n\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/user-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 redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/user-migration.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 props\n \n \n UserMigrationResponse\n \n \n \n No\n \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/oauth/controller/dto/user-migration.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class UserMigrationResponse {\n\tconstructor(props: UserMigrationResponse) {\n\t\tthis.redirect = props.redirect;\n\t}\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"},"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 Properties\n \n \n \n \n \n \n Private\n Readonly\n dashboardUrl\n \n \n Private\n Readonly\n hostUrl\n \n \n Private\n Readonly\n loginUrl\n \n \n Private\n Readonly\n logoutUrl\n \n \n Private\n Readonly\n publicBackendUrl\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createUserMigrationDto\n \n \n Private\n Async\n doMigration\n \n \n Private\n getLoginUrl\n \n \n Async\n getMigrationConsentPageRedirect\n \n \n getMigrationRedirectUri\n \n \n Async\n getPageContent\n \n \n Async\n migrateUser\n \n \n Private\n Async\n rollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, systemService: SystemService, userService: UserService, logger: LegacyLogger, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:29\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 systemService\n \n \n SystemService\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 logger\n \n \n LegacyLogger\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 createUserMigrationDto\n \n \n \n \n \n \n \n createUserMigrationDto(urlPath: string, sourceSystemId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlPath\n \n string\n \n\n \n No\n \n\n\n \n \n sourceSystemId\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 : MigrationDto\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(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string, accountId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 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 accountId\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 Private\n getLoginUrl\n \n \n \n \n \n \n \n getLoginUrl(system: SystemDto, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.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 system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n postLoginRedirect\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 Async\n getMigrationConsentPageRedirect\n \n \n \n \n \n \n \n getMigrationConsentPageRedirect(officialSchoolNumber: string, originSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n originSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMigrationRedirectUri\n \n \n \n \n \n \ngetMigrationRedirectUri()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:91\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPageContent\n \n \n \n \n \n \n \n getPageContent(pageType: PageTypes, sourceId: string, targetId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 pageType\n \n PageTypes\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 targetId\n \n string\n \n\n \n No\n \n\n\n \n \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: string, externalUserId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 currentUserId\n \n string\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 string\n \n\n \n No\n \n\n\n \n \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 rollbackMigration\n \n \n \n \n \n \n \n rollbackMigration(userDOCopy: UserDO, accountCopy: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-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 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 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 Properties\n \n \n \n \n \n \n \n Private\n Readonly\n dashboardUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/dashboard'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n hostUrl\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/user-migration.service.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n loginUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/login'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/logout'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n publicBackendUrl\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/user-migration.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { BadRequestException, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemDto, SystemService } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { EntityId } from '@src/shared/domain/types';\nimport { PageTypes } from '../interface/page-types.enum';\nimport { MigrationDto } from './dto/migration.dto';\nimport { PageContentDto } from './dto/page-content.dto';\n\n@Injectable()\n/**\n * @deprecated\n */\nexport class UserMigrationService {\n\tprivate readonly hostUrl: string;\n\n\tprivate readonly publicBackendUrl: string;\n\n\tprivate readonly dashboardUrl: string = '/dashboard';\n\n\tprivate readonly logoutUrl: string = '/logout';\n\n\tprivate readonly loginUrl: string = '/login';\n\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly accountService: AccountService\n\t) {\n\t\tthis.hostUrl = Configuration.get('HOST') as string;\n\t\tthis.publicBackendUrl = Configuration.get('PUBLIC_BACKEND_URL') as string;\n\t}\n\n\tasync getMigrationConsentPageRedirect(officialSchoolNumber: string, originSystemId: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school || !school.id) {\n\t\t\tthrow new NotFoundException(`School with offical school number ${officialSchoolNumber} does not exist.`);\n\t\t}\n\n\t\tconst url = new URL('/migration', this.hostUrl);\n\t\turl.searchParams.append('origin', originSystemId);\n\t\treturn url.toString();\n\t}\n\n\tasync getPageContent(pageType: PageTypes, sourceId: string, targetId: string): Promise {\n\t\tconst sourceSystem: SystemDto = await this.systemService.findById(sourceId);\n\t\tconst targetSystem: SystemDto = await this.systemService.findById(targetId);\n\n\t\tconst targetSystemLoginUrl: string = this.getLoginUrl(targetSystem);\n\n\t\tswitch (pageType) {\n\t\t\tcase PageTypes.START_FROM_TARGET_SYSTEM: {\n\t\t\t\tconst sourceSystemLoginUrl: string = this.getLoginUrl(sourceSystem, targetSystemLoginUrl.toString());\n\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: sourceSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.loginUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tcase PageTypes.START_FROM_SOURCE_SYSTEM: {\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: targetSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.dashboardUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tcase PageTypes.START_FROM_SOURCE_SYSTEM_MANDATORY: {\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: targetSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.logoutUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new BadRequestException('Unknown PageType requested');\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\tgetMigrationRedirectUri(): string {\n\t\tconst combinedUri = new URL(this.publicBackendUrl);\n\t\tcombinedUri.pathname = `api/v3/sso/oauth/migration`;\n\t\treturn combinedUri.toString();\n\t}\n\n\tasync migrateUser(currentUserId: string, externalUserId: string, targetSystemId: string): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\tlet migrationDto: MigrationDto;\n\t\ttry {\n\t\t\tmigrationDto = await this.doMigration(userDO, externalUserId, account, targetSystemId, accountCopy.systemId);\n\t\t} catch (e: unknown) {\n\t\t\tthis.logger.log({\n\t\t\t\tmessage: 'This error occurred during migration of User:',\n\t\t\t\taffectedUserId: currentUserId,\n\t\t\t\terror: e,\n\t\t\t});\n\n\t\t\tmigrationDto = await this.rollbackMigration(userDOCopy, accountCopy, targetSystemId);\n\t\t}\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate async rollbackMigration(\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tawait this.userService.save(userDOCopy);\n\t\tawait this.accountService.save(accountCopy);\n\n\t\tconst userMigrationDto: MigrationDto = this.createUserMigrationDto(\n\t\t\t'/migration/error',\n\t\t\taccountCopy.systemId ?? '',\n\t\t\ttargetSystemId\n\t\t);\n\t\treturn userMigrationDto;\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\taccountId?: EntityId\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\n\t\tconst userMigrationDto: MigrationDto = this.createUserMigrationDto(\n\t\t\t'/migration/success',\n\t\t\taccountId ?? '',\n\t\t\ttargetSystemId\n\t\t);\n\t\treturn userMigrationDto;\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\tprivate createUserMigrationDto(urlPath: string, sourceSystemId: string, targetSystemId: string) {\n\t\tconst errorUrl: URL = new URL(urlPath, this.hostUrl);\n\t\terrorUrl.searchParams.append('sourceSystem', sourceSystemId);\n\t\terrorUrl.searchParams.append('targetSystem', targetSystemId);\n\t\tconst userMigrationDto: MigrationDto = new MigrationDto({\n\t\t\tredirect: errorUrl.toString(),\n\t\t});\n\t\treturn userMigrationDto;\n\t}\n\n\tprivate getLoginUrl(system: SystemDto, postLoginRedirect?: string): string {\n\t\tif (!system.oauthConfig || !system.id) {\n\t\t\tthrow new UnprocessableEntityException(`System ${system?.id || 'unknown'} has no oauth config`);\n\t\t}\n\n\t\tconst loginUrl: URL = new URL(`api/v3/sso/login/${system.id}`, this.publicBackendUrl);\n\t\tif (postLoginRedirect) {\n\t\t\tloginUrl.searchParams.append('postLoginRedirect', postLoginRedirect);\n\t\t} else {\n\t\t\tloginUrl.searchParams.append('migration', 'true');\n\t\t}\n\n\t\treturn loginUrl.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/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_providers\n\n\n\ncluster_UserModule_imports\n\n\n\ncluster_UserModule_exports\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 OAuthSSOError\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 Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \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(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 Properties\n \n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : SSOErrorCode.SSO_OAUTH_LOGIN_FAILED\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in SSO Oauth Process.'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:7\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 Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:5\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/user-not-found-after-provisioning.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\n\n \n import { EntityId } from '@shared/domain';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OAuthSSOError } from './oauth-sso.error';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OAuthSSOError 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\tgetLogMessage(): 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"},"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 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: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 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: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 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: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 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:25\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?: INameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:48\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 INameMatch\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:189\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 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: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 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:185\n \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:21\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 {\n\tCounted,\n\tEntityId,\n\tIFindOptions,\n\tImportUser,\n\tINameMatch,\n\tRole,\n\tSchoolEntity,\n\tSortOrder,\n\tUser,\n} from '@shared/domain';\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?: INameMatch,\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\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: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 | 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: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 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: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 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: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 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: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 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 { Scope } from '@shared/repo';\nimport { EntityId, User } from '@shared/domain';\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 Async\n findUsers\n \n \n Async\n getDisplayName\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:20\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: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 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: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 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: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 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: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 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 { 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 { EntityId, IFindOptions, LanguageType, User } from '@shared/domain';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { IUserConfig } 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\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\n \n\n\n\n\n\n\n\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:9\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: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 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: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 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: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 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 { EntityId, LanguageType, User } from '@shared/domain';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { IUserConfig } 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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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"},"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';\nimport { VideoConferenceState } from './video-conference-state.enum';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\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_imports\n\n\n\ncluster_VideoConferenceApiModule_providers\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';\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 { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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:19\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: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 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: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 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: IScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.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 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 IScopeInfo\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: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 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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO } from '@shared/domain';\nimport { UserService } from '@modules/user';\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 { IScopeInfo, 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: IScopeInfo = 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: IScopeInfo\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 {\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 { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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:11\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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { IScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\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: IScopeInfo = 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: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 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: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 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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { IScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\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: IScopeInfo = 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';\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:11\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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO, VideoConferenceDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\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';\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 { defaultVideoConferenceOptions, VideoConferenceOptions } 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_imports\n\n\n\ncluster_VideoConferenceModule_exports\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: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 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: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 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:50\n\n \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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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:20\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IVideoConferenceProperties, VideoConferenceDO } from '@shared/domain';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { EntityName, Loaded } from '@mikro-orm/core';\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 { VideoConferenceScope } from '@shared/domain';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\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"},"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/swagger : ^7.1.10\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-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\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"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AccountApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AccountModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AntivirusModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n AuthenticationApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthenticationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthorizationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthorizationReferenceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BoardApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BoardModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CacheWrapperModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CalendarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ClassModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CollaborativeStorageAdapterModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CollaborativeStorageModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CommonToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConsoleWriterModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ContextExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CopyHelperModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DatabaseManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DeletionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n EncryptionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ErrorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FeathersModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageAMQPModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageClientModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FileSystemModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FwuLearningContentsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FwuLearningContentsTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n GroupApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n GroupModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n H5PEditorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n H5PEditorTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n IdentityManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ImportUserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InterceptorModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n KeycloakAdministrationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n KeycloakConfigurationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n KeycloakModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LearnroomApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LearnroomModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LegacySchoolApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LegacySchoolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LessonApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LessonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LoggerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LtiToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MailModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ManagementServerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ManagementServerTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MetaTagExtractorApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MetaTagExtractorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MongoMemoryDatabaseModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n NewsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderServiceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorAMQPModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorConsumerModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorProducerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ProvisioningModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PseudonymApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PseudonymModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RabbitMQWrapperModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RabbitMQWrapperTestModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RedisModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RocketChatModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RoleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n S3ClientModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n SchoolExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerConsoleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SharingApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SharingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SystemApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SystemModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TaskApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TaskModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TeamsApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TeamsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ToolLaunchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserLoginMigrationApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserLoginMigrationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ValidationModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n VideoConferenceApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoConferenceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\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 \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.232,1,6.018]],["body/classes/AbstractAccountService.html",[0,0.17,1,6.611,2,0.558,3,0.011,4,0.011,5,0.006,6,5.039,7,0.072,8,0.912,9,6.866,10,3.066,11,5.927,12,3.391,13,5.296,14,6.611,15,6.611,16,6.611,17,6.611,18,3.776,19,6.611,20,6.611,21,6.611,22,6.983,23,6.983,24,6.983,25,6.611,26,2.85,27,0.547,28,5.039,29,1.051,30,0.001,31,0.759,32,0.172,33,0.635,34,1.258,35,1.607,36,3.017,37,5.927,38,5.039,39,2.43,40,3.639,41,5.039,42,5.296,43,5.039,44,6.611,45,5.039,46,6.611,47,0.951,48,4.338,49,3.749,50,5.039,51,5.353,52,3.639,53,5.507,54,6.611,55,2.635,56,5.447,57,5.039,58,3.27,59,2.323,60,6.611,61,5.039,62,2.978,63,6.983,64,7.89,65,5.039,66,6.982,67,6.611,68,5.039,69,6.611,70,4.557,71,5.039,72,3.408,73,6.983,74,6.111,75,7.547,76,6.983,77,4.832,78,5.119,79,6.611,80,6.611,81,6.983,82,7.105,83,2.603,84,5.039,85,5.871,86,6.983,87,4.587,88,5.039,89,6.983,90,5.039,91,6.983,92,8.371,93,5.039,94,2.505,95,0.107,96,1.334,97,2.056,98,3.009,99,0.815,100,1.716,101,0.008,102,3.826,103,0,104,0]],["title/interfaces/AcceptConsentRequestBody.html",[105,0.7,106,5.765]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.019,4,0.019,5,0.01,7,0.128,30,0.001,32,0.179,33,0.68,47,0.988,55,2.503,95,0.106,101,0.014,103,0.001,104,0.001,105,0.911,106,9.406,107,2.097,108,6.273,109,8.271,110,6.669,111,7.239,112,0.858,113,11.879,114,11.247,115,11.879,116,10.083,117,10.083,118,8.221,119,2.54,120,4.735,121,7.376,122,6.064,123,7.502,124,4.532,125,7.831,126,7.239]],["title/interfaces/AcceptLoginRequestBody.html",[105,0.7,127,5.563]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.178,33,0.686,47,1,55,2.51,77,8.241,101,0.014,103,0.001,104,0.001,105,0.917,107,2.111,108,6.315,109,8.326,111,7.287,112,0.861,116,10.107,117,10.107,119,2.547,127,9.115,128,3.672,129,11.274,130,11.274,131,4.891,132,11.908,133,4.224]],["title/classes/AcceptQuery.html",[0,0.232,134,5.563]],["body/classes/AcceptQuery.html",[0,0.398,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,32,0.125,95,0.15,101,0.015,103,0.001,104,0.001,112,0.9,119,2.439,128,4.798,134,9.524,135,6.574,136,9.662,137,7.917,138,1.733,139,9.662,140,6.412,141,5.512,142,4.59,143,2.605,144,3.813,145,3.305,146,9.662,147,6.361,148,2.999,149,4.537,150,2.178,151,7.854,152,9.662,153,2.217]],["title/entities/Account.html",[94,3.416,154,1.378]],["body/entities/Account.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.164,27,0.544,30,0.001,32,0.173,33,0.667,39,3.075,47,0.913,48,5.488,49,4.485,51,5.027,82,8.329,83,3.293,87,5.377,94,4.597,95,0.125,96,2.448,97,2.725,101,0.014,103,0,104,0,112,0.812,119,1.918,124,5.377,138,2.366,143,3.087,144,4.213,145,2.599,154,1.855,155,2.172,156,6.678,157,6.623,158,8.588,159,6.791,160,7.202,161,6.678,162,6.678,163,6.678,164,6.678,165,6.678,166,6.678,167,6.678,168,5.213,169,6.678,170,4.982,171,6.678,172,4.157,173,1.936,174,3.514,175,2.985,176,8.555,177,1.242,178,2.637,179,4.395,180,1.158,181,1.803,182,2.115,183,5.104,184,5.604,185,6.179,186,6.179,187,5.104,188,5.604,189,6.179,190,6.179,191,3.584,192,4.17,193,4.873,194,5.244,195,6.179,196,6.179,197,4.982,198,5.604,199,5.85,200,6.179]],["title/modules/AccountApiModule.html",[201,1.845,202,5.563]],["body/modules/AccountApiModule.html",[0,0.291,3,0.019,4,0.019,5,0.01,30,0.001,95,0.16,99,1.394,101,0.013,103,0.001,104,0.001,201,3.234,202,11.553,203,3.126,204,3.35,205,3.444,206,3.43,207,3.417,208,4.444,209,4.147,210,8.618,211,8.618,212,8.618,213,9.559,214,6.231,215,12.368,216,11.218,217,8.067,218,4.378,219,3.376,220,3.3,221,7.973,222,5.381,223,4.565,224,10.547,225,4.36,226,1.259,227,3.576,228,8.618,229,8.618,230,7.973,231,8.618]],["title/classes/AccountByIdBodyParams.html",[0,0.232,232,6.018]],["body/classes/AccountByIdBodyParams.html",[0,0.353,2,0.886,3,0.017,4,0.017,5,0.009,7,0.115,27,0.48,30,0.001,31,0.597,32,0.151,33,0.627,47,0.866,51,5.511,87,6.646,95,0.146,101,0.012,103,0.001,104,0.001,112,0.799,119,2.166,138,2.085,142,5.116,143,2.904,144,4.251,145,3.684,147,5.65,148,2.485,150,1.805,153,2.667,157,7.261,232,9.15,233,10.342,234,8.007,235,8.007,236,2.133,237,10.446,238,5.839,239,3.176,240,8.007,241,8.007,242,8.007,243,8.007,244,8.007,245,3.169,246,8.459,247,3.444,248,4.647,249,4.829,250,5.126,251,9.665,252,6.719,253,3.956,254,6.719]],["title/classes/AccountByIdParams.html",[0,0.232,255,6.018]],["body/classes/AccountByIdParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,34,2.265,47,0.836,94,5.916,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,233,9.985,245,3.06,248,4.756,255,10.422,256,7.043,257,7.348,258,9.113]],["title/controllers/AccountController.html",[224,6.018,259,2.631]],["body/controllers/AccountController.html",[0,0.116,3,0.008,4,0.008,5,0.004,7,0.049,8,0.677,10,1.399,27,0.397,29,0.763,30,0.001,31,0.551,32,0.182,33,0.46,34,1.604,35,1.533,36,2.512,87,4.881,94,6.614,95,0.12,100,1.173,101,0.005,103,0,104,0,138,1.727,141,5.5,142,3.185,150,0.776,153,3.212,177,0.64,179,4.661,215,6.553,223,1.435,224,4.907,226,0.503,230,3.186,232,7.149,239,2.753,255,9.848,259,1.318,260,3.443,261,1.651,262,2.792,263,6.204,264,6.204,265,7.083,266,7.083,267,8.161,268,7.083,269,3.443,270,6.268,271,4.729,272,3.443,273,4.282,274,6.383,275,11.043,276,4.592,277,8.161,278,7.96,279,8.218,280,3.863,281,7.083,282,7.328,283,7.366,284,3.552,285,8.169,286,8.907,287,7.722,288,10.016,289,7.083,290,8.204,291,8.396,292,5.7,293,3.443,294,6.375,295,3.443,296,3.443,297,3.443,298,3.443,299,7.149,300,3.443,301,6.429,302,6.409,303,6.409,304,5.183,305,5.205,306,3.443,307,5.602,308,3.443,309,3.443,310,4.18,311,7.149,312,3.443,313,5.602,314,4.907,315,5.183,316,3.03,317,6.204,318,5.602,319,2.366,320,3.443,321,4.088,322,3.443,323,3.443,324,5.362,325,3.443,326,3.443,327,3.443,328,7.149,329,3.443,330,4.884,331,3.443,332,3.443,333,3.478,334,2.234,335,6.124,336,8.229,337,1.794,338,1.834,339,3.186,340,1.67,341,3.186,342,3.443,343,1.848,344,3.443,345,1.094,346,5.749,347,4.738,348,4.848,349,0.991,350,3.443,351,3.443,352,3.443,353,2.374,354,3.443,355,2.176,356,3.443,357,2.632,358,1.539,359,2.078,360,2.84,361,1.959,362,3.186,363,1.941,364,3.443,365,3.443,366,3.443,367,3.443,368,3.443,369,3.443,370,3.443,371,3.443,372,3.443,373,3.443,374,3.443]],["title/classes/AccountDto.html",[0,0.232,66,4.458]],["body/classes/AccountDto.html",[0,0.232,2,0.759,3,0.015,4,0.015,5,0.008,7,0.098,26,2.449,27,0.571,29,0.543,30,0.001,31,0.392,32,0.179,33,0.676,34,1.792,39,2.53,47,0.852,48,4.515,51,4.463,64,10.982,66,7.874,82,7.396,83,3.606,87,4.774,94,3.41,95,0.111,99,1.109,101,0.011,103,0,104,0,112,0.721,119,1.422,124,4.774,138,2.408,157,5.881,158,7.626,159,6.03,177,2.468,180,1.633,181,2.542,249,2.687,375,6.859,376,4.37,377,4.543,378,7.903,379,0.866,380,6.859,381,2.321,382,4.099,383,6.859,384,6.859,385,6.859,386,6.346,387,6.859,388,7.903,389,6.859,390,8.713,391,6.859,392,6.859,393,6.859,394,6.346,395,6.859,396,8.713,397,6.859,398,6.859,399,6.859,400,5.554,401,6.859,402,6.859,403,3.833,404,2.741,405,3.626,406,4.139,407,4.652,408,4.139,409,4.652]],["title/classes/AccountEntityToDtoMapper.html",[0,0.232,410,5.765]],["body/classes/AccountEntityToDtoMapper.html",[0,0.27,2,0.882,3,0.017,4,0.017,5,0.009,7,0.114,8,1.26,27,0.479,29,0.919,30,0.001,31,0.664,32,0.15,33,0.555,34,1.329,35,1.406,39,2.142,48,3.823,51,3.78,55,2.372,66,8.656,82,6.263,87,4.043,94,6.914,95,0.123,98,6.93,99,1.29,101,0.012,103,0.001,104,0.001,124,4.043,154,2.468,157,4.98,158,6.458,159,5.106,179,5.248,236,1.298,349,1.195,376,3.24,377,3.369,410,8.744,411,9.964,412,7.975,413,4.119,414,10.42,415,10.42,416,8.437,417,10.42,418,7.975,419,10.42,420,7.975,421,7.379,422,8.744,423,7.975,424,6.692,425,5.82,426,7.975,427,7.379,428,6.986,429,5.703,430,6.986,431,7.379,432,7.379,433,6.986,434,6.692,435,7.975,436,7.379,437,1.374,438,7.379,439,7.975,440,10.42,441,7.975,442,7.975,443,7.975,444,7.379]],["title/classes/AccountFactory.html",[0,0.232,445,5.563]],["body/classes/AccountFactory.html",[0,0.158,2,0.517,3,0.01,4,0.01,5,0.005,7,0.067,8,0.862,26,1.952,27,0.54,29,1.045,30,0.001,31,0.725,32,0.173,33,0.607,34,1.829,35,1.46,39,1.915,47,0.501,48,2.241,49,3.885,51,3.379,55,2.333,59,3.205,87,2.37,94,2.324,95,0.114,99,0.756,101,0.013,103,0,104,0,112,0.546,120,3.012,133,2.452,140,2.548,153,1.983,154,2.089,155,2.319,176,4.325,177,1.326,180,1.236,236,1.16,239,2.442,271,4.699,319,3.012,349,0.89,353,3.223,379,0.59,382,3.823,413,2.146,437,1.373,445,7,446,4.674,447,7.083,448,4.422,449,5.315,450,7.13,451,7.13,452,3.919,453,5.315,454,5.56,455,3.919,456,3.919,457,3.919,458,3.857,459,4.353,460,4.751,461,6.126,462,5.632,463,6.921,464,2.59,465,7.13,466,4.674,467,7.13,468,4.674,469,2.569,470,3.919,471,2.59,472,5.004,473,5.151,474,4.103,475,4.87,476,3.887,477,2.569,478,2.436,479,4.022,480,3.273,481,2.509,482,2.471,483,2.569,484,4.936,485,2.59,486,3.542,487,4.676,488,2.569,489,7.056,490,4.181,491,6.468,492,2.59,493,4.219,494,2.569,495,2.59,496,2.569,497,2.59,498,2.569,499,2.884,500,2.709,501,2.569,502,5.936,503,2.59,504,2.569,505,3.919,506,3.689,507,3.919,508,2.59,509,2.49,510,2.471,511,2.069,512,2.569,513,2.569,514,2.569,515,2.59,516,2.59,517,1.763,518,2.569,519,1.439,520,2.59,521,2.816,522,2.569,523,2.59,524,2.659,525,2.683,526,2.735,527,4.214,528,3.664,529,1.338,530,4.674,531,4.094,532,4.674,533,7.13,534,4.674,535,3.411,536,4.325,537,4.674,538,4.674]],["title/injectables/AccountIdmToDtoMapper.html",[539,0.921,540,5.563]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.331,3,0.021,4,0.021,5,0.011,7,0.141,8,1.434,9,6.32,27,0.404,29,0.776,30,0.001,31,0.561,32,0.127,33,0.469,35,1.187,66,8.279,78,8.047,94,4.873,95,0.151,99,1.586,101,0.015,103,0.001,104,0.001,226,1.432,411,9.607,416,9.607,422,9.956,424,8.225,539,1.59,540,9.607,541,2.351,542,9.802,543,10.736,544,9.802]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.232,545,6.018]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.306,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,8,1.366,27,0.374,29,0.718,30,0.001,31,0.518,32,0.117,33,0.433,34,1.51,35,1.097,39,2.433,48,4.343,51,4.294,66,8.371,78,7.667,83,2.606,94,5.62,95,0.146,99,1.465,101,0.014,103,0.001,104,0.001,180,1.96,236,1.839,349,0.933,376,3.681,377,3.826,378,7.602,382,2.698,411,7.336,416,9.153,422,9.485,424,7.602,425,6.611,429,6.478,437,1.195,540,10.447,543,10.447,545,9.901,546,9.059,547,8.382,548,8.382,549,10.792,550,10.458,551,8.382,552,7.935,553,7.935]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.232,554,6.018]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.308,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,8,1.37,27,0.375,29,0.721,30,0.001,31,0.52,32,0.118,33,0.435,34,1.516,35,1.102,39,2.444,48,4.363,51,4.313,66,8.385,78,7.688,83,2.618,94,5.635,95,0.146,99,1.472,101,0.014,103,0.001,104,0.001,180,1.965,236,1.844,349,0.937,376,3.697,377,3.844,378,7.636,382,2.71,411,7.369,416,9.178,422,9.511,424,7.636,425,6.64,429,6.507,437,1.2,540,10.463,543,10.463,547,8.419,548,8.419,549,10.814,550,10.487,552,7.971,553,7.971,554,9.928,555,9.1,556,2.223]],["title/injectables/AccountLookupService.html",[539,0.921,557,5.765]],["body/injectables/AccountLookupService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.967,26,2.424,27,0.391,29,0.751,30,0.001,31,0.542,32,0.123,33,0.453,34,2.401,35,1.265,36,2.235,47,0.562,49,4.691,78,5.426,94,3.977,95,0.137,99,0.882,101,0.008,103,0,104,0,133,2.751,143,1.772,153,2.174,177,1.488,226,0.796,236,1.302,262,2.564,333,3.41,349,1.197,353,8.014,379,1.01,425,3.978,437,1.055,482,5.52,524,5.391,539,1.072,541,1.308,557,6.713,558,9.66,559,5.451,560,4.296,561,11.399,562,5.516,563,7.826,564,4.103,565,7.357,566,9.66,567,9.146,568,5.122,569,7.466,570,4.937,571,8,572,6.282,573,5.426,574,5.968,575,8,576,7.008,577,10.181,578,7.091,579,6.238,580,8,581,7.402,582,5.451,583,8.455,584,7.904,585,5.451,586,8,587,8,588,5.451,589,10.441,590,6.443,591,5.887,592,12.32,593,4.337,594,10.441,595,6.443,596,7.402,597,5.451,598,3.159,599,3.978,600,3.404,601,4.281,602,4.414,603,1.652,604,3.292,605,7.402,606,4.775,607,8,608,1.852,609,5.451,610,5.451,611,5.451]],["title/modules/AccountModule.html",[201,1.845,213,4.913]],["body/modules/AccountModule.html",[0,0.229,3,0.015,4,0.015,5,0.008,30,0.001,95,0.163,99,1.095,101,0.01,103,0,104,0,143,1.499,201,2.869,203,2.454,204,2.631,205,2.705,206,2.694,207,2.683,208,3.942,209,4.044,213,10.295,214,5.819,216,10.477,217,7.535,218,3.73,219,2.651,220,2.591,225,3.715,226,0.988,227,2.808,236,1.518,349,0.961,474,2.871,540,8.649,545,8.174,554,8.174,557,10.477,584,7.028,598,3.922,599,4.938,600,4.226,601,5.314,612,6.767,613,6.767,614,6.767,615,6.767,616,9.805,617,10.424,618,11.946,619,10.11,620,10.937,621,12.486,622,9.111,623,6.767,624,6.767,625,5.928,626,6.767,627,6.767,628,10.681,629,6.767,630,6.767,631,3.431,632,6.767,633,6.261,634,6.767,635,6.767,636,3.96,637,4.839,638,6.767,639,3.189]],["title/interfaces/AccountParams.html",[105,0.7,640,5.765]],["body/interfaces/AccountParams.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,26,2.312,30,0.001,32,0.12,33,0.548,47,0.896,48,5.766,49,4.274,51,5.7,94,6.817,95,0.142,99,1.082,101,0.014,103,0,104,0,105,1.082,107,1.569,112,0.708,180,1.16,239,3.166,271,4.725,349,1.239,413,3.621,437,1.741,445,5.417,524,3.805,603,1.912,640,9.613,641,5.859,642,5.859,643,5.147,644,4.315,645,4.881,646,4.783,647,5.859,648,8.192,649,5.113,650,9.739,651,4.464,652,4.464,653,4.757,654,2.787,655,4.693,656,10.44,657,5.613,658,5.859,659,8.109,660,5.859,661,5.859,662,3.286,663,5.859,664,8.908,665,8.109,666,8.109,667,5.613,668,9.298,669,9.298,670,5.859,671,8.109,672,8.109,673,5.613,674,5.859,675,8.109,676,6.619,677,5.613]],["title/injectables/AccountRepo.html",[539,0.921,619,5.563]],["body/injectables/AccountRepo.html",[0,0.123,3,0.008,4,0.008,5,0.004,7,0.052,8,0.711,10,2.388,11,4.616,12,2.641,13,4.125,14,5.148,15,5.148,16,5.148,17,5.148,18,2.941,19,5.148,20,5.148,26,2.657,27,0.528,29,1.006,30,0.001,31,0.719,32,0.165,33,0.602,34,1.86,35,1.538,36,2.86,37,4.616,39,2.794,40,1.762,42,4.125,44,5.148,46,5.148,47,0.838,48,4.051,49,4.817,51,5.126,52,2.834,53,4.289,54,5.148,55,2.638,56,6.065,58,6.419,60,5.148,62,2.159,67,5.148,69,5.148,70,5.447,85,2.371,94,5.823,95,0.117,96,1.556,97,1.491,99,0.591,101,0.006,102,1.852,103,0,104,0,119,1.529,143,0.809,145,1.027,153,0.838,154,1.695,155,1.911,173,1.059,180,1.019,226,0.534,236,1.507,239,1.982,262,3.069,333,1.557,349,1.206,382,2.516,437,1.305,479,4.292,480,2.051,486,2.544,493,1.783,519,1.809,539,0.788,541,0.876,566,9.622,603,1.523,606,3.2,608,2.143,619,4.759,678,3.653,679,5.971,680,3.987,681,7.818,682,7.374,683,5.438,684,7.374,685,2.461,686,2.668,687,5.482,688,5.878,689,3.653,690,3.653,691,3.653,692,5.148,693,3.653,694,3.653,695,3.653,696,3.846,697,4.289,698,3.653,699,3.653,700,3.653,701,3.653,702,5.878,703,3.653,704,3.653,705,8.45,706,3.653,707,3.653,708,2.959,709,3.653,710,4.053,711,2.182,712,2.205,713,2.182,714,2.205,715,2.519,716,2.182,717,2.205,718,1.946,719,3.653,720,3.653,721,2.281,722,3.653,723,2.612,724,5.878,725,4.289,726,4.932,727,3.653,728,3.653,729,3.653,730,3.653,731,3.653,732,3.653,733,3.2,734,5.878,735,3.653,736,3.653,737,3.653,738,3.653,739,2.54,740,2.792,741,3.987,742,2.008,743,2.478,744,3.653,745,3.653,746,3.653,747,2.666,748,3.653,749,3.38,750,7.374,751,3.653,752,3.653,753,3.38,754,3.2,755,2.404,756,3.38,757,2.792,758,3.653,759,2.792,760,2.792,761,3.653,762,2.404,763,2.726,764,3.653,765,2.371,766,2.042,767,3.066,768,3.2,769,2.519,770,3.653,771,3.653,772,3.653]],["title/classes/AccountResponse.html",[0,0.232,279,5.563]],["body/classes/AccountResponse.html",[0,0.284,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,27,0.548,29,0.666,30,0.001,31,0.481,32,0.172,33,0.646,34,2.163,39,3.486,47,0.933,51,6.151,83,3.1,95,0.099,101,0.013,103,0.001,104,0.001,112,0.825,119,2.235,138,2.328,150,1.894,157,8.105,183,6.423,191,4.51,199,7.361,245,3.606,279,10.51,377,5.482,379,1.361,404,3.359,408,5.072,773,8.404,774,4.289,775,8.404,776,8.404,777,8.404,778,8.404,779,8.404,780,8.404]],["title/classes/AccountResponseMapper.html",[0,0.232,781,6.357]],["body/classes/AccountResponseMapper.html",[0,0.295,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,8,1.335,27,0.455,29,0.875,30,0.001,31,0.632,32,0.143,33,0.528,34,1.84,35,1.337,39,2.966,51,5.233,66,8.26,94,6.668,95,0.143,99,1.412,101,0.013,103,0.001,104,0.001,157,6.895,236,1.797,279,11.03,349,1.137,377,4.664,411,9.808,413,4.038,425,8.058,427,10.216,428,7.646,429,7.896,430,9.672,781,10.216,782,5.212,783,6.172,784,11.042,785,11.042,786,6.855,787,11.042,788,6.512,789,8.729,790,4.396,791,7.325]],["title/classes/AccountSaveDto.html",[0,0.232,64,5.395]],["body/classes/AccountSaveDto.html",[0,0.288,2,0.657,3,0.013,4,0.013,5,0.007,7,0.085,26,2.488,27,0.559,29,0.47,30,0.001,31,0.34,32,0.176,33,0.677,34,1.658,39,2.672,47,0.915,48,4.769,51,4.715,64,9.033,82,7.813,83,3.628,87,5.043,95,0.128,99,0.96,101,0.009,103,0,104,0,112,0.651,119,1.765,124,5.043,138,2.411,147,4.603,148,1.843,157,6.212,158,8.056,159,6.37,177,2.388,181,2.297,183,4.538,184,4.982,185,5.493,186,5.493,187,4.538,188,4.982,189,5.493,190,5.493,191,3.186,192,3.707,193,4.332,194,4.662,195,5.493,196,5.493,197,4.429,198,4.982,199,5.2,200,5.493,246,6.892,247,2.554,248,4.343,249,5.307,250,3.801,252,4.982,253,2.933,254,4.982,376,4.042,377,4.202,378,8.348,379,0.75,381,2.009,386,5.493,388,7.142,390,10.054,394,5.493,396,9.205,400,4.808,404,2.373,405,3.139,406,3.583,407,4.027,408,3.583,409,4.027,792,13.634,793,5.937,794,8.511,795,5.937,796,5.937,797,5.937,798,5.937,799,5.937,800,5.937,801,5.937,802,5.937,803,5.937,804,5.937,805,5.937,806,5.937,807,7.365,808,4.308,809,4.678,810,5.937,811,5.937,812,5.937]],["title/classes/AccountSearchListResponse.html",[0,0.232,317,6.018]],["body/classes/AccountSearchListResponse.html",[0,0.269,2,0.879,3,0.017,4,0.017,5,0.009,7,0.114,27,0.526,29,0.629,30,0.001,31,0.454,32,0.177,33,0.61,55,2.898,56,6.308,59,3.199,70,6.588,95,0.137,101,0.012,103,0.001,104,0.001,112,0.795,138,2.204,150,1.791,180,1.802,233,8.721,245,2.673,247,3.417,279,10.792,284,3.86,317,9.104,379,1.003,382,3.659,556,1.941,813,7.293,814,5.575,815,8.225,816,7.132,817,5.967,818,7.35,819,4.001,820,7.35,821,5.37,822,3.854,823,4.231,824,2.823,825,5.575,826,6.744,827,6.023,828,5.228,829,4.11,830,5.575,831,5.575,832,7.944,833,5.022,834,4.331]],["title/classes/AccountSearchQueryParams.html",[0,0.232,311,6.018]],["body/classes/AccountSearchQueryParams.html",[0,0.352,2,0.881,3,0.017,4,0.017,5,0.009,7,0.114,27,0.507,30,0.001,32,0.175,33,0.588,47,0.731,55,2.369,56,5.591,70,5.241,94,3.957,95,0.145,101,0.012,103,0.001,104,0.001,112,0.796,138,2.205,142,4.799,143,2.724,144,3.987,145,3.456,148,2.471,150,1.794,153,2.387,180,1.804,233,9.729,245,2.982,247,3.424,248,4.159,257,5.938,311,9.115,314,9.115,382,3.099,480,3.709,486,3.133,696,3.094,708,3.194,710,7.176,813,8.954,822,3.861,828,5.238,835,7.96,836,8.954,837,12.76,838,7.96,839,3.239,840,7.96,841,7.96,842,7.364,843,5.586,844,6.679,845,6.084,846,7.364,847,7.96,848,7.364,849,4.411,850,6.679,851,7.96,852,3.71,853,7.96]],["title/injectables/AccountServiceDb.html",[539,0.921,620,6.018]],["body/injectables/AccountServiceDb.html",[0,0.113,1,11.012,3,0.007,4,0.007,5,0.004,7,0.048,8,0.659,10,2.215,11,4.281,12,2.449,13,3.826,14,4.776,15,4.776,16,4.776,17,4.776,18,2.728,19,4.776,20,4.776,21,4.776,22,5.044,23,5.044,24,5.044,25,4.776,26,2.749,27,0.519,29,0.996,30,0.001,31,0.719,32,0.163,33,0.601,34,1.333,35,1.508,36,2.915,37,4.281,39,2.149,40,2.629,42,3.826,44,4.776,46,4.776,47,0.904,48,4.231,49,3.733,51,4.949,54,4.776,55,2.273,56,5.035,58,2.161,60,4.776,62,1.968,63,5.044,64,6.283,66,5.727,67,4.776,69,4.776,70,4.029,81,5.044,82,6.931,83,1.991,85,4.492,86,5.044,87,4.474,89,5.044,91,5.044,92,6.404,94,5.662,95,0.131,96,0.882,97,1.359,98,1.989,99,0.539,100,1.134,101,0.005,103,0,104,0,124,1.688,157,2.08,158,2.697,159,2.132,177,1.014,180,0.945,182,1.055,226,0.486,236,1.628,262,3.074,291,2.43,292,1.688,340,1.615,345,1.058,349,1.295,379,0.421,382,3.625,410,2.795,421,6.404,429,3.899,430,2.917,431,3.081,432,3.081,433,4.776,434,6.714,436,3.081,437,1.642,444,7.402,480,0.926,486,1.003,529,1.56,539,0.73,541,0.799,556,1.691,557,8.396,558,7.402,581,5.044,593,2.034,596,5.044,603,2.066,608,3.064,619,7.675,620,4.776,625,2.917,631,1.688,633,3.081,696,2.12,697,3.978,710,2.296,791,2.795,854,3.33,855,5.452,856,3.081,857,3.33,858,3.33,859,3.33,860,5.452,861,3.33,862,3.33,863,3.33,864,3.33,865,3.33,866,3.33,867,3.33,868,3.33,869,3.33,870,3.33,871,3.33,872,3.33,873,3.33,874,3.33,875,3.33,876,2.795,877,2.917,878,3.33,879,10.808,880,5.452,881,10.005,882,8.826,883,3.33,884,3.33,885,5.044,886,3.33,887,3.33,888,3.33,889,3.33,890,5.452,891,2.697,892,5.452,893,5.452,894,5.452,895,5.452,896,5.452,897,5.452,898,5.452,899,5.452,900,5.452,901,5.452,902,8.826,903,8.001,904,6.922,905,3.33,906,3.33,907,3.33,908,3.33,909,5.452,910,3.33,911,3.33,912,3.33,913,3.33,914,3.33,915,2.337,916,3.33,917,3.33,918,3.33]],["title/injectables/AccountValidationService.html",[539,0.921,618,6.018]],["body/injectables/AccountValidationService.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,8,1.118,26,2.813,27,0.472,29,0.907,30,0.001,31,0.655,32,0.148,33,0.548,35,1.285,36,2.662,39,3.491,47,0.927,48,5.488,49,2.492,59,3.265,85,8.272,94,4.597,95,0.142,99,1.08,101,0.01,103,0,104,0,154,1.34,179,4.395,217,7.693,226,0.975,227,2.772,262,2.91,345,2.121,349,1.092,379,0.843,410,5.604,425,4.873,428,5.85,437,1.51,478,3.48,539,1.239,541,1.602,593,2.492,603,1.379,608,2.455,618,8.099,619,10.069,625,5.85,653,5.45,708,4.594,856,6.179,885,6.179,919,6.678,920,9.247,921,9.247,922,9.247,923,6.678,924,9.247,925,6.678,926,9.247,927,6.678,928,9.247,929,6.678,930,6.678,931,6.678,932,6.179,933,3.701,934,4.03,935,5.244,936,4.276,937,5.604,938,3.87,939,6.179,940,6.179,941,6.678,942,6.678,943,6.678,944,6.678,945,6.179,946,9.247,947,9.247,948,6.678,949,6.678,950,4.121,951,3.13,952,6.678,953,6.678,954,6.678,955,6.678,956,9.247,957,6.678,958,9.247,959,6.678]],["title/interfaces/AdminIdAndToken.html",[105,0.7,960,5.563]],["body/interfaces/AdminIdAndToken.html",[0,0.196,3,0.008,4,0.008,5,0.004,7,0.051,30,0.001,31,0.478,32,0.119,34,1.79,36,2.824,39,3.456,47,1,51,3.961,55,1.488,72,2.614,83,1.665,87,3.691,95,0.099,101,0.013,103,0,104,0,105,0.742,107,0.841,112,0.443,119,2.034,124,5.445,133,1.233,143,0.794,177,1.077,180,0.622,226,0.524,236,1.493,239,1.708,262,2.91,316,3.939,324,4.237,347,2.093,349,1.372,379,0.453,437,1.417,479,1.314,490,1.274,509,1.91,517,2.747,519,1.104,521,4.498,529,2.625,539,0.776,603,2.491,608,2.27,639,1.69,653,1.843,662,3.916,676,4.14,742,3.182,762,4.792,824,2.97,843,2.516,960,8.698,961,2.904,962,3.009,963,5.11,964,2.078,965,6.389,966,2.36,967,2.816,968,2.741,969,4.547,970,3.992,971,4.547,972,4.547,973,4.547,974,4.688,975,1.75,976,3.009,977,3.009,978,3.009,979,3.009,980,3.009,981,3.009,982,2.617,983,3.009,984,3.009,985,3.009,986,2.327,987,7.697,988,1.564,989,2.904,990,1.984,991,2.432,992,2.516,993,2.004,994,2.564,995,3.009,996,5.493,997,5.309,998,5.429,999,5.737,1000,6.402,1001,8.031,1002,6.653,1003,6.11,1004,2.741,1005,3.009,1006,3.009,1007,2.516,1008,3.009,1009,3.009,1010,3.009,1011,2.816,1012,3.009,1013,5.718,1014,2.904,1015,3.009,1016,3.009,1017,3.009,1018,2.816,1019,3.009,1020,3.009,1021,3.009,1022,7.38,1023,3.009,1024,3.009,1025,1.422,1026,3.009,1027,3.009,1028,3.009,1029,3.009,1030,3.009,1031,3.009,1032,3.009,1033,3.009,1034,8.231,1035,8.231,1036,3.009,1037,3.009,1038,3.009,1039,3.009,1040,3.009,1041,3.009,1042,2.473,1043,3.009,1044,3.009,1045,3.009,1046,3.009,1047,3.009,1048,3.009,1049,3.009,1050,3.009,1051,3.009,1052,3.009,1053,3.009,1054,3.009,1055,3.009,1056,3.009,1057,4.425,1058,4.425,1059,3.009,1060,3.009,1061,3.009,1062,3.009,1063,3.009,1064,2.432,1065,3.009,1066,3.009,1067,3.009,1068,4.858,1069,3.009,1070,4.858,1071,4.858,1072,3.009,1073,3.009,1074,2.741,1075,6.11,1076,4.863,1077,4.494,1078,3.009,1079,3.422,1080,5.352,1081,4.425,1082,5.432,1083,6.11,1084,6.11,1085,6.11,1086,2.816,1087,3.009,1088,3.009,1089,3.009,1090,7.697,1091,6.11,1092,6.11,1093,6.11,1094,3.009,1095,4.858,1096,4.858,1097,3.009,1098,3.009,1099,3.009,1100,3.009,1101,3.009,1102,4.858,1103,3.81]],["title/classes/AjaxGetQueryParams.html",[0,0.232,1104,6.018]],["body/classes/AjaxGetQueryParams.html",[0,0.374,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,27,0.542,30,0.001,32,0.17,33,0.66,47,0.985,95,0.104,101,0.013,103,0.001,104,0.001,112,0.847,138,2.358,148,2.721,248,5.366,249,5.151,400,7.099,809,6.086,1104,9.699,1105,6.718,1106,8.766,1107,6.617,1108,7.247,1109,9.276,1110,9.276,1111,9.276,1112,8.766,1113,11.796,1114,8.766,1115,8.766,1116,8.766,1117,8.766]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[539,0.921,1118,6.018]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.385,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,27,0.317,29,0.609,30,0.001,31,0.44,32,0.1,33,0.368,35,0.931,36,2.177,95,0.143,101,0.012,103,0.001,104,0.001,141,4.767,148,2.387,153,1.764,226,1.123,236,1.251,262,2.514,349,1.048,437,1.503,480,3.872,529,2.2,539,1.363,541,1.844,556,2.485,608,1.78,696,2.989,759,7.775,1082,7.588,1105,5.09,1118,8.91,1119,10.172,1120,7.689,1121,7.767,1122,6.513,1123,7.397,1124,8.91,1125,6.206,1126,8.91,1127,10.172,1128,7.872,1129,10.172,1130,5.786,1131,11.673,1132,7.988,1133,7.775,1134,7.274,1135,9.411,1136,8.91,1137,10.172,1138,9.823,1139,7.689,1140,10.172,1141,7.114,1142,4.801,1143,6.226,1144,6.226,1145,6.226,1146,7.689,1147,2.34,1148,5.877,1149,7.689,1150,4.499,1151,7.689,1152,6.452,1153,7.689,1154,7.689,1155,7.689,1156,7.689,1157,7.114,1158,7.689,1159,7.689]],["title/classes/AjaxPostQueryParams.html",[0,0.232,1160,6.018]],["body/classes/AjaxPostQueryParams.html",[0,0.366,2,0.936,3,0.018,4,0.018,5,0.009,7,0.121,27,0.549,30,0.001,32,0.172,33,0.667,34,1.989,47,0.991,95,0.1,101,0.013,103,0.001,104,0.001,112,0.828,138,2.386,148,2.625,248,5.405,249,5.212,400,6.848,809,5.948,1105,6.767,1107,6.507,1108,7.126,1109,9.122,1110,9.122,1111,9.122,1113,12.032,1160,9.479,1161,8.456,1162,8.456,1163,8.456,1164,8.456,1165,8.456,1166,8.456,1167,8.456]],["title/modules/AntivirusModule.html",[201,1.845,1168,5.765]],["body/modules/AntivirusModule.html",[0,0.293,3,0.019,4,0.019,5,0.01,8,1.046,27,0.357,29,0.686,30,0.001,31,0.495,32,0.112,33,0.414,35,1.048,95,0.15,101,0.013,103,0.001,104,0.001,107,2.03,145,2.432,201,3.241,203,3.139,208,3.194,209,3.277,226,1.264,236,1.408,349,1.131,413,3.306,437,1.141,490,3.075,636,6.426,637,6.188,1168,10.124,1169,8.654,1170,6.315,1171,7.573,1172,10.275,1173,8.654,1174,8.057,1175,10.161,1176,7.581,1177,10.568,1178,8.654,1179,8.654,1180,6.188,1181,5.28,1182,8.654,1183,7.008,1184,8.654,1185,5.404,1186,7.581,1187,5.616,1188,7.581,1189,12.065,1190,10.983,1191,7.581,1192,8.654,1193,8.654,1194,8.654,1195,6.796,1196,6.073,1197,8.654,1198,8.654,1199,8.654]],["title/interfaces/AntivirusModuleOptions.html",[105,0.7,1172,5.563]],["body/interfaces/AntivirusModuleOptions.html",[3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,32,0.175,47,1.016,55,2.515,101,0.019,103,0.001,104,0.001,105,1.254,107,2.12,112,0.864,119,2.751,990,3.098,1172,9.14,1181,8.095,1183,10.743,1185,8.285,1187,8.609,1196,9.046,1200,7.918,1201,10.817,1202,7.319,1203,5.788,1204,5.948,1205,5.948]],["title/injectables/AntivirusService.html",[539,0.921,1177,6.018]],["body/injectables/AntivirusService.html",[0,0.21,3,0.014,4,0.014,5,0.007,7,0.089,8,1.061,27,0.457,29,0.878,30,0.001,31,0.634,32,0.144,33,0.53,35,1.234,36,1.879,47,0.934,95,0.147,101,0.01,103,0,104,0,107,1.454,124,5.166,143,2.257,145,1.742,177,1.895,226,0.906,236,1.658,262,2.679,349,0.904,360,3.143,379,1.108,437,1.602,490,3.621,529,2.512,539,1.176,541,1.487,556,3.05,579,4.711,593,3.275,603,2.508,608,2.032,639,2.922,662,3.759,990,2.125,1175,10.252,1176,5.43,1177,7.688,1202,8.973,1203,7.095,1204,4.08,1205,4.08,1206,6.2,1207,8.777,1208,7.365,1209,7.688,1210,5.02,1211,9.059,1212,10.19,1213,6.2,1214,8.777,1215,6.091,1216,6.2,1217,4.949,1218,2.347,1219,8.777,1220,6.2,1221,8.777,1222,6.2,1223,7.924,1224,4.351,1225,4.023,1226,4.233,1227,4.433,1228,4.868,1229,5.02,1230,5.736,1231,3.919,1232,4.739,1233,4.868,1234,6.2,1235,10.19,1236,6.2,1237,6.2,1238,10.19,1239,6.2,1240,6.2,1241,6.2,1242,4.748,1243,5.862,1244,7.688,1245,6.2,1246,6.2,1247,8.777,1248,6.2,1249,8.777,1250,6.2,1251,6.2,1252,6.2,1253,5.43,1254,6.2,1255,6.2,1256,5.43,1257,5.202,1258,6.2,1259,6.2,1260,6.2,1261,6.2,1262,2.167,1263,6.2,1264,6.2,1265,6.2]],["title/interfaces/AntivirusServiceOptions.html",[105,0.7,1202,5.563]],["body/interfaces/AntivirusServiceOptions.html",[3,0.02,4,0.02,5,0.01,7,0.134,30,0.001,32,0.169,47,1.014,55,1.907,101,0.019,103,0.001,104,0.001,105,1.272,107,2.188,112,0.881,119,2.777,990,3.198,1172,7.555,1181,8.17,1183,10.843,1185,8.361,1187,8.689,1196,6.547,1200,8.172,1201,7.829,1202,9.321,1203,5.973,1204,6.139,1205,6.139]],["title/classes/ApiValidationError.html",[0,0.232,1266,4.66]],["body/classes/ApiValidationError.html",[0,0.264,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,8,1.242,27,0.547,29,0.618,30,0.001,31,0.447,32,0.178,33,0.549,35,0.946,47,0.807,55,1.595,95,0.121,101,0.012,103,0.001,104,0.001,112,0.786,138,2.274,177,2.558,180,1.781,182,2.472,226,1.14,283,7.531,347,2.822,379,0.986,382,3.877,511,3.455,595,4.818,821,5.657,824,2.774,951,5.383,988,3.406,990,4.346,1025,4.554,1266,6.969,1267,10.275,1268,7.807,1269,8.408,1270,7.006,1271,3.81,1272,7.354,1273,7.807,1274,7.807,1275,10.06,1276,5.066,1277,4.363,1278,5.066,1279,5.066,1280,5.066,1281,5.066,1282,5.066,1283,4.711,1284,4.441,1285,6.131,1286,6.551,1287,7.223,1288,5.602,1289,6.341,1290,4.935,1291,6.131]],["title/classes/ApiValidationErrorResponse.html",[0,0.232,1292,6.018]],["body/classes/ApiValidationErrorResponse.html",[0,0.222,2,0.727,3,0.014,4,0.014,5,0.007,7,0.094,8,1.105,27,0.534,29,0.724,30,0.001,31,0.523,32,0.177,33,0.544,35,0.796,47,0.909,55,1.343,95,0.134,101,0.01,103,0,104,0,112,0.7,153,2.097,168,3.704,177,2.476,180,1.585,226,0.96,283,7.832,340,3.187,348,4.604,361,3.738,379,0.83,382,3.558,437,1.387,480,2.543,486,2.752,519,2.814,603,2.171,824,3.249,951,5.6,988,2.866,990,4.096,1025,4.507,1130,5.201,1266,8.391,1270,6.036,1271,3.549,1275,9.21,1283,7.811,1288,4.984,1289,7.832,1292,8.008,1293,11.368,1294,6.57,1295,7.673,1296,6.82,1297,7.481,1298,9.143,1299,9.143,1300,9.143,1301,9.21,1302,6.57,1303,6.57,1304,5.403,1305,6.57,1306,4.055,1307,6.57,1308,5.755,1309,3.808,1310,6.57,1311,6.079,1312,4.263,1313,6.079,1314,9.143,1315,11.368,1316,6.57,1317,6.57,1318,6.57,1319,6.57,1320,6.57,1321,6.57,1322,9.143,1323,6.57,1324,6.57,1325,6.57,1326,6.57,1327,6.57,1328,6.57,1329,6.57,1330,6.57,1331,6.57]],["title/interfaces/AppStartInfo.html",[105,0.7,1332,6.018]],["body/interfaces/AppStartInfo.html",[0,0.288,3,0.024,4,0.019,5,0.009,7,0.122,30,0.001,32,0.163,33,0.637,47,0.973,55,2.446,95,0.101,101,0.013,103,0.001,104,0.001,105,0.867,107,1.996,112,0.831,177,1.582,284,3.289,330,5.868,345,2.703,349,0.876,437,1.122,556,2.924,829,4.403,1025,3.374,1147,2.59,1196,8.85,1332,10.485,1333,7.873,1334,7.454,1335,11.413,1336,11.046,1337,11.046,1338,5.037,1339,5.622,1340,9.517,1341,2.735,1342,7.141,1343,4.231,1344,7.873,1345,10.053,1346,7.873,1347,10.053,1348,7.873,1349,10.053,1350,7.873,1351,5.522,1352,7.873]],["title/classes/AppStartLoggable.html",[0,0.232,1342,5.765]],["body/classes/AppStartLoggable.html",[0,0.293,2,0.958,3,0.026,4,0.019,5,0.01,7,0.124,8,1.328,27,0.453,29,0.686,30,0.001,31,0.495,32,0.112,33,0.414,35,1.048,47,0.847,55,1.769,95,0.102,101,0.013,103,0.001,104,0.001,105,0.882,177,1.609,284,3.324,330,5.968,345,2.749,349,0.891,379,1.093,437,1.141,556,2.947,829,6.242,1025,3.431,1147,3.343,1196,6.073,1332,11.115,1333,11.162,1334,7.581,1335,9.62,1336,7.581,1337,7.581,1338,5.593,1339,6.242,1340,9.62,1341,2.781,1342,9.216,1343,6.309,1344,8.007,1345,10.161,1346,8.007,1347,10.161,1348,8.007,1349,10.161,1350,8.007,1351,5.616,1352,8.007,1353,8.654,1354,8.654,1355,8.654]],["title/interfaces/AppendedAttachment.html",[105,0.7,1356,5.125]],["body/interfaces/AppendedAttachment.html",[3,0.02,4,0.02,5,0.01,7,0.13,30,0.001,31,0.519,47,1.008,77,5.813,101,0.014,103,0.001,104,0.001,105,1.4,107,2.13,112,0.866,180,2.303,1150,5.313,1356,9.2,1357,6.94,1358,9.632,1359,10.154,1360,6.94,1361,4.911,1362,8.444,1363,6.626,1364,6.626,1365,9.2,1366,6.94,1367,8.444,1368,8.652,1369,8.652,1370,8.444,1371,6.906,1372,6.773,1373,6.773,1374,6.94,1375,6.94]],["title/modules/AuthenticationApiModule.html",[201,1.845,1376,5.395]],["body/modules/AuthenticationApiModule.html",[0,0.318,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.364,203,3.407,204,3.652,205,3.755,206,3.74,207,3.725,208,4.622,209,4.377,218,4.62,219,3.681,220,3.597,222,5.866,223,4.819,225,4.602,226,1.372,1376,10.976,1377,9.394,1378,9.394,1379,9.394,1380,9.265,1381,11.463,1382,9.394,1383,10.969,1384,9.394,1385,9.394,1386,8.692]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.232,1387,5.563]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.289,2,0.945,3,0.019,4,0.019,5,0.01,7,0.123,27,0.55,29,0.677,30,0.001,31,0.489,32,0.173,33,0.409,47,0.964,95,0.101,101,0.013,103,0.001,104,0.001,112,0.834,181,2.941,379,1.079,381,2.892,951,6.545,1387,10.564,1388,13.556,1389,11.113,1390,8.545,1391,8.576,1392,9.712,1393,10.505,1394,10.505,1395,10.894,1396,8.545,1397,8.545,1398,10.079,1399,8.545,1400,8.545,1401,7.906,1402,7.171,1403,6.375,1404,7.906,1405,8.545,1406,8.545,1407,8.545,1408,8.545,1409,8.545,1410,8.545,1411,8.545,1412,7.485,1413,8.545]],["title/modules/AuthenticationModule.html",[201,1.845,1380,4.66]],["body/modules/AuthenticationModule.html",[0,0.19,3,0.012,4,0.012,5,0.006,30,0.001,32,0.073,95,0.164,101,0.009,103,0,104,0,201,2.588,203,2.034,204,2.181,205,2.242,206,2.233,207,2.224,208,3.556,209,3.648,213,8.395,214,5.472,217,7.085,218,3.265,219,2.198,220,2.148,225,3.252,226,0.819,227,2.328,236,0.913,437,1.396,529,1.605,578,3.422,599,4.093,600,3.503,616,9.22,622,8.567,1296,4.185,1341,1.803,1380,9.77,1414,5.609,1415,5.609,1416,5.609,1417,5.609,1418,9.507,1419,9.22,1420,8.758,1421,8.239,1422,9.833,1423,10.284,1424,9.507,1425,9.852,1426,10.284,1427,8.239,1428,10.284,1429,10.284,1430,5.609,1431,5.609,1432,9.634,1433,4.913,1434,8.169,1435,4.185,1436,4.913,1437,4.287,1438,5.609,1439,4.542,1440,3.936,1441,8.833,1442,11.249,1443,4.185,1444,4.707,1445,4.913,1446,4.707,1447,5.19,1448,5.19,1449,4.913,1450,5.609,1451,5.609,1452,5.609,1453,5.609,1454,4.011,1455,4.405,1456,3.691,1457,5.19,1458,5.609,1459,4.913,1460,5.19,1461,3.936,1462,5.19,1463,5.609,1464,5.609,1465,5.609,1466,4.707,1467,5.609,1468,5.609,1469,5.609,1470,5.609,1471,5.609,1472,5.609,1473,5.609,1474,5.609,1475,3.936,1476,5.609,1477,5.609,1478,3.349,1479,5.609,1480,9.634,1481,5.609,1482,4.287,1483,5.609,1484,5.19,1485,5.609,1486,3.503,1487,5.609,1488,4.707,1489,5.609,1490,5.609,1491,3.282,1492,5.19,1493,5.609,1494,5.609]],["title/interfaces/AuthenticationResponse.html",[105,0.7,1495,6.018]],["body/interfaces/AuthenticationResponse.html",[0,0.178,3,0.011,4,0.011,5,0.006,7,0.076,30,0.001,32,0.068,36,1.128,47,0.973,51,3.697,55,1.077,87,3.954,94,3.878,95,0.121,99,0.852,101,0.008,103,0,104,0,105,0.537,107,1.236,112,0.597,119,1.092,133,1.811,137,4.871,177,1.728,226,0.769,236,1.671,261,2.525,262,1.162,271,1.951,284,2.812,324,5.82,349,1.34,360,6.78,429,3.767,437,1.84,529,2.232,531,6.833,593,1.965,603,2.573,608,1.219,662,3.554,696,3.033,708,2.114,755,3.466,824,3.301,990,1.806,1086,6.126,1218,1.994,1288,2.872,1478,6.546,1495,8.995,1496,4.874,1497,4.874,1498,7.667,1499,9.501,1500,6.833,1501,4.874,1502,4.874,1503,3.844,1504,4.614,1505,4.874,1506,4.42,1507,4.874,1508,4.874,1509,4.614,1510,6.833,1511,4.874,1512,3.289,1513,4.874,1514,4.874,1515,3.767,1516,4.614,1517,4.42,1518,4.266,1519,2.997,1520,6.779,1521,8.595,1522,4.874,1523,4.874,1524,7.217,1525,7.217,1526,4.874,1527,10.622,1528,4.874,1529,4.874,1530,10.143,1531,10.143,1532,11.729,1533,4.874,1534,4.874,1535,10.143,1536,4.874,1537,9.501,1538,4.874,1539,4.874,1540,7.795,1541,4.874,1542,4.874,1543,4.874,1544,4.874,1545,4.874,1546,4.874,1547,4.874,1548,4.874,1549,7.217,1550,4.874,1551,4.614,1552,4.874,1553,4.026,1554,7.217,1555,4.874,1556,4.874,1557,4.874,1558,7.217,1559,4.874,1560,7.217,1561,4.874,1562,4.874,1563,7.217,1564,4.874,1565,4.874,1566,4.874,1567,7.217,1568,3.373,1569,4.874,1570,4.874,1571,4.874,1572,4.874,1573,4.874,1574,4.874,1575,4.874,1576,4.874,1577,4.874,1578,4.874]],["title/injectables/AuthenticationService.html",[539,0.921,1422,5.125]],["body/injectables/AuthenticationService.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.935,21,6.774,27,0.502,29,0.963,30,0.001,31,0.695,32,0.161,33,0.582,34,0.868,35,1.434,36,2.603,47,0.975,48,5.481,51,3.665,59,1.603,66,7.08,73,4.818,74,4.216,77,3.334,83,1.498,87,2.64,94,5.684,95,0.156,101,0.008,103,0,104,0,143,1.154,177,1.899,179,3.426,226,0.761,236,1.775,239,1.221,262,2.864,285,5.089,349,1.052,379,0.977,433,4.561,437,1.508,519,2.38,529,2.213,539,1.036,541,1.249,556,1.272,584,7.789,593,3.442,598,3.018,601,4.089,603,2.109,608,2.525,617,9.047,739,3.342,945,4.818,1297,3.426,1422,5.77,1424,9.585,1433,4.561,1437,3.98,1443,3.885,1448,4.818,1449,4.561,1478,3.109,1498,3.477,1503,3.8,1568,3.334,1579,5.207,1580,7.734,1581,7.734,1582,7.155,1583,7.734,1584,7.734,1585,7.734,1586,5.207,1587,11.432,1588,5.207,1589,7.734,1590,5.207,1591,7.734,1592,8.019,1593,5.207,1594,7.155,1595,5.207,1596,7.734,1597,5.207,1598,7.734,1599,5.207,1600,7.734,1601,5.207,1602,5.207,1603,7.734,1604,5.207,1605,3.885,1606,4.216,1607,3.885,1608,4.561,1609,4.561,1610,7.734,1611,3.8,1612,5.644,1613,4.561,1614,4.369,1615,4.369,1616,2.936,1617,7.245,1618,3.654,1619,5.207,1620,5.207,1621,5.207,1622,4.818,1623,6.883,1624,5.207,1625,5.207,1626,5.207,1627,5.207,1628,7.155,1629,5.207,1630,7.734,1631,7.734,1632,5.207,1633,7.734,1634,4.818,1635,5.207,1636,3.723,1637,4.561,1638,7.155,1639,5.207,1640,5.207,1641,5.207,1642,5.207,1643,3.047,1644,5.207,1645,4.089,1646,5.207,1647,5.207,1648,5.207]],["title/classes/AuthenticationValues.html",[0,0.232,1649,6.357]],["body/classes/AuthenticationValues.html",[0,0.327,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.524,29,0.767,30,0.001,31,0.554,32,0.165,33,0.463,47,0.928,101,0.015,103,0.001,104,0.001,112,0.901,181,3.179,379,1.223,381,3.278,1649,12.52,1650,7.445,1651,13.205,1652,9.685,1653,12.692,1654,12.692,1655,11.778,1656,9.685,1657,9.685,1658,9.685,1659,9.685,1660,9.685]],["title/interfaces/AuthorizableObject.html",[105,0.7,1661,3.808]],["body/interfaces/AuthorizableObject.html",[0,0.331,3,0.021,4,0.021,5,0.011,9,4.672,26,2.575,30,0.001,34,1.977,95,0.116,101,0.018,103,0.001,104,0.001,105,0.999,107,2.299,181,2.646,349,1.222,381,4.015,437,1.293,448,3.95,479,4.676,662,3.672,1147,2.983,1661,7.071,1662,9.069,1663,8.586,1664,3.671,1665,4.033,1666,9.956,1667,9.069,1668,6.121,1669,10.977]],["title/interfaces/AuthorizationContext.html",[105,0.7,1670,3.746]],["body/interfaces/AuthorizationContext.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.157,95,0.143,99,1.641,101,0.016,103,0.001,104,0.001,105,1.034,107,2.379,112,0.927,643,6.025,1107,7.727,1670,6.603,1671,8.886,1672,9.386,1673,8.276,1674,10.144]],["title/classes/AuthorizationContextBuilder.html",[0,0.232,1675,4.192]],["body/classes/AuthorizationContextBuilder.html",[0,0.28,2,0.917,3,0.018,4,0.018,5,0.009,7,0.119,8,1.291,27,0.487,29,0.936,30,0.001,31,0.676,32,0.162,33,0.565,35,1.432,95,0.126,99,1.34,101,0.013,103,0.001,104,0.001,131,5.028,349,1.217,413,4.148,437,1.559,454,4.924,603,2.441,643,6.242,1107,7.435,1670,7.338,1673,7.705,1675,6.516,1676,12.485,1677,8.284,1678,6.516,1679,7.132,1680,10.68,1681,8.284,1682,10.68,1683,8.284,1684,10.68,1685,8.284,1686,10.68,1687,5.712,1688,5.451]],["title/classes/AuthorizationError.html",[0,0.232,1689,6.357]],["body/classes/AuthorizationError.html",[0,0.264,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,8,1.242,27,0.547,29,0.618,30,0.001,31,0.447,32,0.178,33,0.549,35,0.946,47,0.914,55,1.595,59,3.163,95,0.121,101,0.012,103,0.001,104,0.001,112,0.786,138,2.274,177,2.558,180,1.781,182,2.472,226,1.14,347,2.822,379,0.986,382,3.877,821,5.657,824,2.774,951,5.383,988,5.324,990,4.346,1025,5.027,1107,4.256,1269,8.408,1270,7.619,1271,3.81,1272,7.354,1276,5.066,1277,4.363,1278,5.066,1279,5.066,1280,5.066,1281,5.066,1282,5.066,1283,4.711,1284,4.441,1285,6.131,1290,4.935,1689,9.506,1690,7.807,1691,8.069,1692,7.807,1693,7.807,1694,4.818,1695,6.838,1696,7.223]],["title/injectables/AuthorizationHelper.html",[539,0.921,1697,4.29]],["body/injectables/AuthorizationHelper.html",[0,0.207,3,0.013,4,0.013,5,0.007,7,0.088,8,1.053,27,0.48,29,0.986,30,0.001,31,0.666,32,0.161,33,0.557,35,1.411,47,0.922,95,0.12,96,1.624,101,0.009,103,0,104,0,119,2.684,143,1.359,145,2.448,154,2.497,173,1.778,226,0.896,239,3.274,276,5.057,349,1.282,437,1.678,479,4.662,528,3.152,539,1.167,541,1.472,603,2.092,604,3.584,662,4.149,696,2.385,739,5.379,1218,2.322,1673,7.986,1697,5.44,1698,6.134,1699,8.712,1700,10.6,1701,8.712,1702,8.06,1703,8.712,1704,8.712,1705,10.13,1706,12.72,1707,6.134,1708,8.06,1709,6.134,1710,8.712,1711,6.134,1712,8.06,1713,6.134,1714,8.712,1715,11.029,1716,6.134,1717,4.176,1718,3.702,1719,5.675,1720,7.631,1721,8.06,1722,5.675,1723,5.136,1724,5.373,1725,8.712,1726,2.626,1727,6.134,1728,4.037,1729,3.878,1730,4.967,1731,4.576,1732,3.219,1733,5.675,1734,5.675,1735,5.315,1736,6.134,1737,6.134,1738,6.134,1739,5.371,1740,6.134,1741,6.134]],["title/interfaces/AuthorizationLoaderService.html",[105,0.7,1742,5.563]],["body/interfaces/AuthorizationLoaderService.html",[3,0.021,4,0.021,5,0.011,7,0.139,8,1.422,12,5.284,26,2.729,27,0.399,29,0.765,30,0.001,31,0.553,32,0.125,33,0.462,34,1.61,35,1.17,36,2.714,40,6.114,95,0.15,99,1.563,101,0.018,103,0.001,104,0.001,105,1.199,107,2.266,133,3.322,180,1.675,1661,5.355,1671,10.302,1742,10.267,1743,9.236,1744,8.463,1745,9.662,1746,5.654,1747,5.654,1748,6.909,1749,7.385,1750,8.108]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[105,0.7,1750,5.765]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.021,4,0.021,5,0.011,7,0.138,8,1.418,12,5.269,26,2.726,27,0.397,29,0.762,30,0.001,31,0.55,32,0.125,33,0.46,34,1.602,35,1.165,36,2.708,40,6.101,95,0.149,99,1.556,101,0.018,103,0.001,104,0.001,105,1.195,107,2.256,133,3.307,180,2.033,1661,5.33,1671,10.272,1742,10.246,1743,9.209,1744,8.423,1746,5.627,1747,5.627,1748,6.876,1749,7.35,1750,9.841,1751,9.616]],["title/modules/AuthorizationModule.html",[201,1.845,1752,3.908]],["body/modules/AuthorizationModule.html",[0,0.218,3,0.014,4,0.014,5,0.007,30,0.001,95,0.149,101,0.01,103,0,104,0,201,2.795,203,2.338,204,2.506,205,2.576,206,2.566,207,2.555,208,3.841,209,3.94,214,5.731,217,7.421,218,3.605,219,2.525,220,2.468,225,3.591,226,0.941,227,2.675,1341,2.071,1697,7.678,1752,8.316,1753,6.445,1754,6.445,1755,6.445,1756,6.445,1757,9.957,1758,7.204,1759,11.349,1760,10.319,1761,10.319,1762,9.957,1763,9.173,1764,9.957,1765,10.319,1766,10.319,1767,9.957,1768,10.319,1769,10.319,1770,10.319,1771,9.957,1772,10.319,1773,10.319,1774,10.319,1775,6.445,1776,5.408,1777,6.445,1778,2.525,1779,3.932,1780,5.061]],["title/classes/AuthorizationParams.html",[0,0.232,1781,5.395]],["body/classes/AuthorizationParams.html",[0,0.37,2,0.953,3,0.019,4,0.019,5,0.01,7,0.124,27,0.539,30,0.001,32,0.17,33,0.658,47,0.966,95,0.129,101,0.013,102,5.553,103,0.001,104,0.001,112,0.838,138,2.346,148,2.675,238,6.73,248,5.228,249,5.125,388,9.191,400,6.978,809,6.618,852,4.017,951,5.643,990,4.127,1781,8.601,1782,8.618,1783,9.455,1784,11.14,1785,7.973,1786,8.618,1787,11.14,1788,7.973,1789,8.618,1790,8.618,1791,8.618,1792,8.618,1793,7.973,1794,5.518,1795,7.973,1796,7.973]],["title/modules/AuthorizationReferenceModule.html",[201,1.845,1797,4.913]],["body/modules/AuthorizationReferenceModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,72,4.064,95,0.149,101,0.01,103,0,104,0,153,1.474,201,3.388,203,2.33,204,2.498,205,2.568,206,2.558,207,2.547,208,3.835,209,3.934,214,5.726,217,7.413,218,3.597,219,2.517,220,2.46,225,3.583,226,0.938,227,2.666,238,5.031,284,3.408,358,5.032,493,4.393,1134,6.436,1341,2.065,1427,8.621,1694,5.554,1697,7.671,1726,2.751,1752,7.322,1778,2.517,1797,10.325,1798,6.425,1799,6.425,1800,6.425,1801,6.425,1802,10.615,1803,9.647,1804,7.495,1805,8.084,1806,9.947,1807,9.164,1808,9.389,1809,8.621,1810,8.471,1811,6.425,1812,6.425,1813,6.316,1814,9.001,1815,5.923,1816,6.206,1817,9.001,1818,6.011,1819,6.206,1820,5.432,1821,7.636,1822,5.374,1823,6.88,1824,6.436,1825,8.328,1826,7.518,1827,6.715,1828,5.391,1829,6.715,1830,4.688,1831,6.425,1832,3.531,1833,6.425,1834,4.594,1835,6.425]],["title/injectables/AuthorizationReferenceService.html",[539,0.921,1802,5.395]],["body/injectables/AuthorizationReferenceService.html",[0,0.238,3,0.015,4,0.015,5,0.008,7,0.101,8,1.16,26,2.877,27,0.45,29,0.864,30,0.001,31,0.624,32,0.152,33,0.522,35,1.162,36,2.507,39,3.146,95,0.149,99,1.14,101,0.011,103,0.001,104,0.001,131,5.072,133,3.3,153,1.617,177,1.784,201,2.578,226,1.03,236,1.147,239,1.653,262,2.788,345,2.239,349,0.726,358,4.289,379,0.89,437,1.266,511,4.247,529,2.017,539,1.286,541,1.691,563,5.73,603,1.456,608,2.221,662,3.913,687,6.463,933,3.906,990,2.416,1670,7.052,1694,5.922,1735,5.855,1743,7.535,1758,6.889,1802,7.535,1806,9.484,1836,11.712,1837,6.522,1838,7.77,1839,8.405,1840,9.596,1841,10.91,1842,10.91,1843,7.049,1844,7.049,1845,7.049,1846,9.076,1847,7.049,1848,7.049,1849,7.049,1850,6.522,1851,5.535,1852,7.049,1853,7.049,1854,6.174,1855,4.301,1856,7.049,1857,5.535]],["title/injectables/AuthorizationService.html",[539,0.921,1758,3.659]],["body/injectables/AuthorizationService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.964,26,2.103,27,0.508,29,0.975,30,0.001,31,0.704,32,0.163,33,0.589,35,1.453,36,1.707,39,1.458,47,0.92,95,0.145,99,0.878,101,0.008,103,0,104,0,119,2.407,131,4.852,133,4.39,143,1.203,177,1.758,217,7.239,226,0.793,227,2.253,236,1.539,239,3.292,262,2.086,349,1.073,379,1.007,437,1.247,519,3.572,529,2.706,539,1.069,541,1.303,560,2.234,591,3.061,603,1.953,608,1.257,662,4.29,990,1.861,1661,6.648,1670,6.54,1673,8.35,1697,7.491,1700,6.987,1702,7.38,1708,7.38,1712,7.38,1726,3.415,1735,6.358,1746,7.02,1747,3.177,1758,4.249,1768,9.739,1839,4.756,1851,7.425,1858,5.43,1859,7.977,1860,7.977,1861,5.704,1862,9.455,1863,5.43,1864,5.43,1865,7.977,1866,5.43,1867,7.977,1868,5.43,1869,7.977,1870,5.43,1871,7.977,1872,5.43,1873,5.43,1874,5.43,1875,5.176,1876,5.43,1877,6.314,1878,5.43,1879,4.981,1880,4.397,1881,5.43,1882,5.43,1883,5.43,1884,5.43,1885,5.43,1886,5.327,1887,7.977,1888,4.264,1889,5.43,1890,7.977,1891,4.264]],["title/injectables/AutoContextIdStrategy.html",[539,0.921,1892,6.018]],["body/injectables/AutoContextIdStrategy.html",[0,0.31,3,0.02,4,0.02,5,0.01,7,0.132,8,1.378,27,0.379,29,0.727,30,0.001,31,0.525,32,0.119,33,0.439,35,1.112,47,0.801,95,0.153,101,0.014,103,0.001,104,0.001,131,4.711,226,1.341,349,0.946,363,6.426,539,1.527,541,2.203,556,2.785,564,3.568,654,2.764,1147,2.795,1650,6.426,1892,9.984,1893,9.23,1894,9.23,1895,8.495,1896,9.23,1897,9.23,1898,7.153,1899,7.126,1900,8.495,1901,5.667,1902,8.951,1903,6.042,1904,7.705,1905,8.495]],["title/injectables/AutoContextNameStrategy.html",[539,0.921,1906,6.018]],["body/injectables/AutoContextNameStrategy.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.09,8,1.067,26,2.526,27,0.459,29,0.881,30,0.001,31,0.636,32,0.144,33,0.532,35,1.239,36,2.606,47,0.781,95,0.154,99,1.011,101,0.01,103,0,104,0,131,4.626,177,1.903,226,0.913,236,1.017,262,2.867,349,1.208,363,6.613,379,1.114,437,1.606,486,1.881,529,1.788,539,1.182,541,1.499,556,2.156,564,2.763,603,2.684,608,2.818,654,1.881,990,2.141,1147,1.902,1309,5.114,1650,6.613,1830,4.559,1893,9.497,1894,9.497,1896,8.286,1897,5.059,1898,6.534,1899,6.474,1901,4.388,1902,6.93,1903,4.111,1904,5.242,1906,7.73,1907,6.247,1908,8.825,1909,8.825,1910,5.78,1911,8.257,1912,9.131,1913,9.564,1914,6.247,1915,8.825,1916,6.247,1917,4.906,1918,8.825,1919,6.247,1920,3.013,1921,6.247,1922,5.059,1923,7.146,1924,4.384,1925,5.269,1926,3.846,1927,4.467,1928,3.949,1929,3.067,1930,7.73,1931,3.949,1932,5.472,1933,4.467,1934,8.825,1935,6.247,1936,5.472,1937,8.825,1938,6.247,1939,6.247,1940,4.661,1941,4.661,1942,2.615,1943,6.247,1944,2.639,1945,6.247,1946,6.247,1947,4.775,1948,6.085,1949,6.247]],["title/interfaces/AutoParameterStrategy.html",[105,0.7,1902,5.395]],["body/interfaces/AutoParameterStrategy.html",[3,0.021,4,0.021,5,0.011,7,0.136,8,1.405,27,0.391,29,0.751,30,0.001,31,0.542,32,0.123,33,0.454,35,1.148,36,2.489,47,0.817,95,0.137,101,0.015,103,0.001,104,0.001,105,0.966,107,2.224,131,3.603,363,6.555,556,2.84,564,3.64,654,2.854,1650,6.555,1893,9.415,1894,9.415,1896,10.182,1897,7.678,1898,7.348,1899,7.175,1901,5.78,1902,9.13,1950,9.482,1951,9.482]],["title/injectables/AutoSchoolIdStrategy.html",[539,0.921,1952,6.018]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.303,3,0.02,4,0.02,5,0.01,7,0.129,8,1.357,27,0.37,29,0.71,30,0.001,31,0.512,32,0.116,33,0.429,35,1.085,47,0.788,95,0.152,101,0.014,103,0.001,104,0.001,131,3.405,226,1.309,349,0.923,363,6.329,521,3.538,539,1.504,541,2.149,556,2.742,564,3.514,654,3.69,996,4.32,997,4.176,998,4.27,999,4.512,1000,4.924,1147,2.727,1650,6.329,1893,9.09,1894,9.09,1895,8.289,1896,9.926,1897,7.255,1898,7.246,1899,7.088,1900,8.289,1901,5.581,1902,8.815,1903,5.896,1904,7.518,1952,9.833,1953,6.538,1954,6.407,1955,7.848]],["title/injectables/AutoSchoolNumberStrategy.html",[539,0.921,1956,6.018]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.119,8,1.289,27,0.44,29,0.845,30,0.001,31,0.61,32,0.138,33,0.51,35,1.001,36,2.283,95,0.156,99,1.337,101,0.013,103,0.001,104,0.001,131,3.142,177,1.537,226,1.208,262,2.604,345,2.626,349,0.851,363,6.657,379,1.044,437,1.09,521,3.265,539,1.429,541,1.983,564,3.339,608,1.913,654,3.981,996,3.987,997,3.853,998,3.94,999,4.163,1000,4.544,1147,2.516,1650,6.657,1893,9.561,1894,9.561,1896,9.561,1897,6.694,1898,7.097,1899,6.961,1901,5.303,1902,8.376,1903,5.44,1904,6.937,1953,6.033,1954,5.912,1956,9.342,1957,8.267,1958,6.694,1959,7.886,1960,8.267,1961,7.018,1962,8.267,1963,4.661,1964,6.013,1965,7.649,1966,6.694]],["title/classes/AxiosResponseImp.html",[0,0.232,1967,6.357]],["body/classes/AxiosResponseImp.html",[0,0.257,2,0.843,3,0.017,4,0.017,5,0.008,7,0.109,27,0.533,29,0.603,30,0.001,31,0.436,32,0.174,33,0.364,47,0.849,55,2.319,95,0.119,101,0.016,103,0.001,104,0.001,112,0.773,181,2.729,236,1.846,278,5.166,284,3.807,347,4.546,349,0.784,379,0.962,381,2.578,437,1.005,447,4.088,479,4.159,521,3.008,526,4.457,834,4.153,996,3.673,997,3.55,998,3.63,999,3.836,1000,4.186,1079,7.641,1147,3.077,1967,10.498,1968,13.192,1969,7.047,1970,8.113,1971,5.862,1972,12.578,1973,12.578,1974,10.109,1975,12.086,1976,7.617,1977,12.578,1978,7.617,1979,7.617,1980,7.047,1981,10.109,1982,5.345,1983,10.109,1984,4.153,1985,7.617,1986,4.414,1987,5.166,1988,7.617,1989,7.617,1990,7.617,1991,7.617,1992,6.168,1993,6.391,1994,5.345,1995,7.617,1996,7.047]],["title/classes/BBBBaseMeetingConfig.html",[0,0.232,1997,5.125]],["body/classes/BBBBaseMeetingConfig.html",[0,0.336,2,1.1,3,0.022,4,0.022,5,0.011,7,0.143,27,0.494,29,0.788,30,0.001,31,0.569,32,0.155,33,0.476,47,0.841,101,0.015,103,0.001,104,0.001,112,0.916,379,1.256,1971,4.636,1997,10.17,1998,6.69,1999,11.246,2000,7.371,2001,9.946,2002,9.181,2003,10.484,2004,9.946,2005,9.946,2006,9.202,2007,8.712]],["title/interfaces/BBBBaseResponse.html",[105,0.7,2008,4.821]],["body/interfaces/BBBBaseResponse.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.167,47,0.974,95,0.118,101,0.015,103,0.001,104,0.001,105,1.019,107,2.344,112,0.918,1025,5.291,1998,5.208,2008,8.424,2009,8.387,2010,9.995,2011,13.346,2012,13.346,2013,12.347,2014,6.032,2015,8.093]],["title/classes/BBBCreateConfig.html",[0,0.232,2016,5.765]],["body/classes/BBBCreateConfig.html",[0,0.235,2,0.771,3,0.015,4,0.015,5,0.008,7,0.1,27,0.561,29,0.552,30,0.001,31,0.761,32,0.176,33,0.673,47,0.969,95,0.082,101,0.015,103,0.001,104,0.001,112,0.728,119,2.417,180,1.65,379,0.879,382,2.074,839,2.168,1971,3.246,1997,8.693,1998,7.084,1999,11.908,2000,3.998,2002,6.805,2003,8.336,2006,6.443,2007,6.1,2014,4.203,2016,10.238,2017,6.964,2018,10.842,2019,10.842,2020,11.033,2021,7.035,2022,10.842,2023,9.879,2024,5.687,2025,10.842,2026,10.842,2027,10.031,2028,6.964,2029,6.964,2030,6.964,2031,6.964,2032,6.964,2033,6.964,2034,6.964,2035,6.964,2036,6.964,2037,6.964,2038,6.443,2039,6.443,2040,9.517,2041,9.517,2042,9.517,2043,6.443,2044,2.707,2045,6.964,2046,5.195,2047,6.964,2048,6.964,2049,6.964,2050,6.964,2051,6.964,2052,6.964,2053,6.964,2054,6.964,2055,6.964,2056,6.964,2057,6.964,2058,6.964,2059,6.964]],["title/classes/BBBCreateConfigBuilder.html",[0,0.232,2060,6.018]],["body/classes/BBBCreateConfigBuilder.html",[0,0.24,2,0.785,3,0.015,4,0.015,5,0.008,7,0.102,8,1.165,27,0.522,29,0.93,30,0.001,31,0.702,32,0.159,33,0.562,35,1.488,47,0.91,95,0.129,101,0.011,102,3.598,103,0.001,104,0.001,112,0.738,119,2.271,141,3.327,143,1.572,177,1.793,180,1.671,349,1.265,382,2.871,448,3.885,454,5.416,478,3.699,479,2.602,480,3.046,517,2.677,685,5.303,765,4.606,990,2.433,1998,6.4,2014,4.283,2016,9.188,2020,11.096,2021,6.256,2023,5.748,2024,3.308,2027,8.92,2060,11.839,2061,11.363,2062,6.567,2063,8.592,2064,8.09,2065,9.641,2066,9.641,2067,9.641,2068,9.641,2069,6.567,2070,7.098,2071,9.641,2072,7.098,2073,9.641,2074,7.098,2075,9.641,2076,7.098,2077,9.641,2078,7.098,2079,3.142,2080,3.507,2081,3.383,2082,4.545,2083,5.295,2084,7.098,2085,7.098,2086,7.098,2087,7.098,2088,4.606,2089,7.098,2090,6.567,2091,5.295,2092,6.217,2093,4.002,2094,4.38,2095,4.814,2096,5.574,2097,7.098,2098,5.748,2099,7.098,2100,6.567,2101,7.098,2102,7.098]],["title/interfaces/BBBCreateResponse.html",[105,0.7,2103,6.018]],["body/interfaces/BBBCreateResponse.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,32,0.181,47,1.005,55,2.834,95,0.101,101,0.013,103,0.001,104,0.001,105,0.875,107,2.013,112,0.836,119,2.769,180,1.894,1998,4.471,2002,9.046,2008,8.433,2009,7.201,2014,5.179,2103,9.568,2104,8.581,2105,11.704,2106,11.704,2107,11.704,2108,11.081,2109,11.704,2110,11.704,2111,11.704,2112,11.704,2113,11.704,2114,7.201]],["title/classes/BBBJoinConfig.html",[0,0.232,2115,5.765]],["body/classes/BBBJoinConfig.html",[0,0.275,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,27,0.553,29,0.644,30,0.001,31,0.465,32,0.174,33,0.641,39,3.147,47,0.941,95,0.096,101,0.016,103,0.001,104,0.001,112,0.808,119,2.189,180,1.83,191,4.366,276,5.087,379,1.027,382,2.422,839,2.532,1971,3.792,1997,9.25,1998,6.984,1999,11.74,2000,4.67,2002,7.548,2003,9.245,2014,4.909,2038,7.526,2039,7.526,2043,7.526,2083,8.741,2115,10.781,2116,8.135,2117,10.263,2118,11.717,2119,7.603,2120,8.135,2121,8.135,2122,8.135,2123,8.135,2124,8.135,2125,8.135,2126,9.245,2127,10.555,2128,8.135,2129,8.135,2130,5.936,2131,8.135,2132,8.135,2133,8.135,2134,8.135,2135,6.826,2136,8.135]],["title/classes/BBBJoinConfigBuilder.html",[0,0.232,2137,6.018]],["body/classes/BBBJoinConfigBuilder.html",[0,0.275,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,8,1.276,27,0.53,29,0.928,30,0.001,31,0.67,32,0.161,33,0.56,35,1.502,47,0.823,95,0.125,101,0.013,103,0.001,104,0.001,112,0.808,119,2.43,177,1.963,180,1.83,349,1.207,382,3.143,448,4.253,454,5.402,479,3.869,480,3.662,1998,6.461,2061,11.472,2062,7.526,2063,8.93,2064,8.857,2069,7.526,2083,9.25,2115,6.826,2137,11.901,2138,9.477,2139,10.555,2140,9.765,2141,9.765,2142,10.555,2143,8.135,2144,10.555,2145,8.135,2146,10.555,2147,8.135,2148,8.135,2149,8.135,2150,8.135,2151,8.135,2152,8.135,2153,8.135]],["title/interfaces/BBBJoinResponse.html",[105,0.7,2154,6.357]],["body/interfaces/BBBJoinResponse.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,47,1.016,95,0.112,101,0.015,103,0.001,104,0.001,105,0.966,107,2.224,112,0.89,180,2.016,1262,4.581,1998,4.941,2008,8.824,2009,7.957,2014,5.722,2114,7.957,2154,10.757,2155,8.773,2156,13.109,2157,13.109,2158,13.109,2159,10.294]],["title/interfaces/BBBMeetingInfoResponse.html",[105,0.7,2160,5.395]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.014,4,0.014,5,0.007,7,0.09,30,0.001,32,0.186,33,0.534,39,1.691,47,0.99,55,2.95,95,0.074,101,0.01,103,0,104,0,105,0.642,107,1.477,112,0.679,119,2.914,120,5.155,180,1.538,276,2.733,461,3.379,1218,2.384,1998,3.28,2002,7.978,2008,7.211,2009,5.283,2014,3.799,2105,10.323,2106,10.323,2107,10.323,2108,9.773,2109,10.323,2110,10.323,2111,10.323,2112,5.825,2113,10.323,2114,5.283,2117,5.515,2160,6.968,2161,5.825,2162,4.944,2163,11.157,2164,11.763,2165,11.157,2166,10.323,2167,11.157,2168,11.157,2169,11.157,2170,11.157,2171,6.083,2172,11.157,2173,11.157,2174,11.157,2175,8.142,2176,10.323,2177,11.157,2178,11.157,2179,5.825,2180,6.296,2181,6.296,2182,6.296,2183,6.296,2184,6.296,2185,6.296]],["title/interfaces/BBBResponse.html",[105,0.7,2186,5.251]],["body/interfaces/BBBResponse.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.136,95,0.124,101,0.016,103,0.001,104,0.001,105,1.069,107,2.459,112,0.945,479,4.812,824,4.817,1998,5.463,2008,7.357,2014,6.327,2114,8.798,2186,9.44,2187,10.484]],["title/injectables/BBBService.html",[539,0.921,2188,5.251]],["body/injectables/BBBService.html",[0,0.119,3,0.008,4,0.008,5,0.004,7,0.05,8,0.689,27,0.487,29,0.977,30,0.001,31,0.662,32,0.147,33,0.527,35,1.552,36,2.478,47,0.941,95,0.137,101,0.005,103,0,104,0,133,3.52,141,1.647,153,0.806,177,1.336,226,0.513,236,1.842,262,1.584,271,2.11,284,1.724,333,4.695,349,1.27,379,0.719,437,1.662,448,4.756,474,2.417,478,4.305,529,2.781,539,0.763,541,0.843,591,1.982,593,1.311,603,2.114,608,0.813,639,1.656,685,3.458,686,2.586,765,3.696,824,1.249,963,7.183,964,2.037,966,2.313,1079,2.077,1208,4.78,1226,4.687,1227,2.513,1228,2.76,1257,4.78,1262,4.194,1288,3.106,1306,3.515,1611,4.157,1970,5.907,1971,4.969,1982,2.466,1984,1.916,1997,8.953,1998,6.253,2002,2.513,2007,3.078,2008,2.466,2013,3.252,2014,7.242,2016,8.946,2091,4.25,2094,3.515,2095,3.864,2096,4.473,2103,3.078,2115,7.618,2138,7.429,2160,2.76,2161,9.863,2186,7.429,2188,4.354,2189,3.515,2190,3.601,2191,5.697,2192,5.697,2193,5.27,2194,5.697,2195,4.086,2196,5.817,2197,7.952,2198,3.515,2199,6.689,2200,8.589,2201,3.515,2202,6.292,2203,5.697,2204,3.515,2205,5.907,2206,5.697,2207,3.438,2208,5.27,2209,5.697,2210,5.697,2211,3.515,2212,4.99,2213,5.697,2214,9.649,2215,11.41,2216,3.515,2217,5.27,2218,5.27,2219,9.719,2220,3.27,2221,8.261,2222,5.697,2223,3.515,2224,5.697,2225,3.515,2226,5.697,2227,3.515,2228,7.236,2229,5.697,2230,5.697,2231,3.515,2232,3.212,2233,5.697,2234,3.515,2235,4.99,2236,4.157,2237,3.515,2238,3.515,2239,3.515,2240,3.515,2241,3.515,2242,3.515,2243,3.515,2244,7.824,2245,2.949,2246,2.949,2247,3.515,2248,3.515,2249,3.515,2250,3.515,2251,6.689,2252,3.515,2253,8.261,2254,5.697,2255,1.346,2256,3.515,2257,3.515,2258,3.515,2259,7.183,2260,6.646,2261,9.719,2262,5.697,2263,5.697,2264,7.183,2265,7.183,2266,7.183,2267,7.183,2268,6.646,2269,6.646,2270,3.515,2271,3.515,2272,3.515,2273,3.515,2274,5.27,2275,3.515,2276,3.515,2277,3.515,2278,3.515,2279,4.99,2280,5.27,2281,3.515,2282,3.515,2283,3.515,2284,3.515,2285,3.515,2286,3.515,2287,3.515,2288,3.515,2289,3.515,2290,3.515,2291,3.252,2292,3.252,2293,3.515,2294,3.252,2295,3.252]],["title/classes/BaseDO.html",[0,0.232,1746,4.02]],["body/classes/BaseDO.html",[0,0.338,2,1.106,3,0.022,4,0.022,5,0.011,7,0.143,9,4.764,27,0.495,29,0.792,30,0.001,31,0.572,32,0.156,33,0.615,34,2.275,47,0.959,59,3.076,101,0.015,102,5.067,103,0.001,104,0.001,112,0.918,379,1.262,404,3.995,448,4.837,1746,7.024,2296,9.995,2297,8.142,2298,12.004]],["title/injectables/BaseDORepo.html",[539,0.921,2299,4.737]],["body/injectables/BaseDORepo.html",[0,0.14,3,0.009,4,0.009,5,0.005,7,0.06,8,0.787,9,5.785,10,3.69,12,2.924,18,3.256,26,2.555,27,0.528,29,1.003,30,0.001,31,0.724,32,0.164,33,0.605,34,1.984,35,1.515,36,2.86,40,3.138,47,0.457,49,1.55,55,0.849,95,0.117,96,1.723,97,1.695,99,0.672,101,0.006,102,2.106,103,0,104,0,112,0.498,133,2.238,154,2.509,155,2.116,173,1.204,177,1.21,226,0.607,236,1.059,262,2.893,280,4.488,305,3.772,349,1.199,358,1.857,379,0.525,381,1.406,437,1.73,448,4.798,519,1.278,539,0.872,541,0.996,565,2.48,603,2.547,608,2.694,680,4.414,686,2.954,687,4.843,696,1.615,718,2.212,733,3.638,816,4.375,1341,1.335,1665,3.737,1726,1.778,1746,2.431,1888,3.262,2000,3.736,2232,2.342,2299,4.488,2300,4.154,2301,4.654,2302,4.654,2303,4.654,2304,4.654,2305,4.567,2306,4.567,2307,4.654,2308,4.567,2309,4.654,2310,3.031,2311,5.121,2312,3.33,2313,4.144,2314,4.154,2315,4.749,2316,4.654,2317,4.154,2318,7.781,2319,4.654,2320,4.154,2321,4.654,2322,4.154,2323,5.207,2324,4.567,2325,4.654,2326,4.154,2327,4.654,2328,4.154,2329,4.654,2330,8.215,2331,4.154,2332,4.154,2333,4.654,2334,4.154,2335,4.414,2336,4.567,2337,4.154,2338,4.654,2339,4.154,2340,3.927,2341,4.016,2342,4.654,2343,4.154,2344,4.654,2345,4.154,2346,2.915,2347,4.654,2348,4.154,2349,4.154,2350,5.368,2351,2.817,2352,3.638,2353,2.817,2354,8.024,2355,4.154,2356,4.154,2357,4.749,2358,4.154,2359,6.494,2360,4.154,2361,4.154,2362,5.111,2363,3.843,2364,2.864,2365,4.855,2366,9.679,2367,6.508,2368,4.114,2369,3.843,2370,4.154,2371,4.154,2372,4.154,2373,4.154,2374,5.27,2375,4.154,2376,4.154,2377,4.154,2378,3.485,2379,4.154,2380,4.154,2381,4.154,2382,4.154,2383,4.154,2384,4.154,2385,4.154,2386,4.154,2387,3.485,2388,4.154,2389,4.154,2390,4.154,2391,4.154,2392,4.154,2393,4.154,2394,3.638,2395,2.455,2396,2.385,2397,4.154,2398,4.154,2399,4.154,2400,3.638]],["title/classes/BaseDomainObject.html",[0,0.232,2401,6.357]],["body/classes/BaseDomainObject.html",[0,0.401,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,9,6.472,27,0.404,30,0.001,32,0.127,34,2.126,47,0.833,95,0.116,101,0.015,102,6.014,103,0.001,104,0.001,105,0.999,112,0.908,133,3.37,1107,5.344,1147,3.611,1661,7.071,1663,8.586,1778,4.999,2401,10.977,2402,11.864,2403,9.802,2404,9.069,2405,6.648,2406,5.479,2407,7.937,2408,9.069,2409,9.802]],["title/classes/BaseEntity.html",[0,0.232,2351,4.66]],["body/classes/BaseEntity.html",[0,0.387,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,9,4.873,27,0.422,30,0.001,32,0.164,34,2.165,47,0.804,49,4.54,72,3.498,83,3.291,95,0.144,96,2.706,97,3.161,101,0.019,103,0.001,104,0.001,105,0.79,112,0.931,133,2.664,138,2.052,154,2.051,155,2.519,172,3.562,173,2.246,174,3.885,236,1.862,358,3.463,376,4.154,377,4.318,437,1.022,459,3.902,511,3.429,742,7.14,747,5.653,755,5.098,769,5.342,938,4.49,951,3.631,1007,5.437,1147,3.483,1661,6.743,1726,3.317,1778,3.035,2091,5.78,2341,4.781,2351,7.761,2352,6.786,2410,7.168,2411,8.985,2412,11.257,2413,7.747,2414,11.257,2415,7.747,2416,6.501,2417,4.781,2418,5.653,2419,6.501,2420,6.273,2421,6.501,2422,6.501,2423,7.168,2424,4.579,2425,4.96,2426,5.342,2427,4.838,2428,7.168,2429,6.786,2430,7.168,2431,5.342,2432,6.501,2433,6.786,2434,7.168,2435,6.786,2436,7.168]],["title/classes/BaseEntityWithTimestamps.html",[0,0.232,174,2.611]],["body/classes/BaseEntityWithTimestamps.html",[0,0.378,2,0.817,3,0.016,4,0.016,5,0.008,7,0.106,9,4.719,27,0.492,30,0.001,32,0.161,34,2.135,47,0.785,49,4.453,72,3.333,83,3.58,95,0.141,96,2.62,97,3.012,101,0.018,103,0.001,104,0.001,105,0.752,112,0.913,133,2.538,138,2.232,154,1.986,155,2.4,172,3.715,173,2.14,174,4.245,236,2.025,358,3.3,376,4.849,377,5.041,437,0.974,459,3.717,480,2.754,486,2.98,511,3.267,742,7.043,747,5.386,755,4.857,769,5.09,938,4.278,951,3.459,1007,5.18,1147,3.4,1661,6.615,1726,3.16,1778,2.892,2091,5.507,2341,4.555,2351,6.715,2352,6.466,2410,6.829,2411,7.774,2412,11.042,2414,11.042,2416,6.194,2417,4.555,2418,5.386,2419,6.194,2420,5.977,2421,6.194,2422,6.194,2423,6.829,2424,4.363,2425,4.726,2426,5.09,2427,4.609,2428,6.829,2429,6.466,2430,6.829,2431,5.09,2432,6.194,2433,6.466,2434,6.829,2435,6.466,2436,6.829,2437,7.382,2438,7.382,2439,7.382,2440,7.382,2441,7.382]],["title/classes/BaseFactory.html",[0,0.232,447,3.687]],["body/classes/BaseFactory.html",[0,0.232,2,0.365,3,0.007,4,0.007,5,0.004,7,0.047,8,0.653,27,0.494,29,1.002,30,0.001,31,0.649,32,0.164,33,0.543,34,1.66,35,1.505,47,0.483,49,1.229,55,2.264,59,2.701,95,0.064,101,0.005,103,0,104,0,105,0.551,112,0.608,120,3.358,133,2.734,140,1.796,153,1.824,154,2.538,155,2.585,177,1.478,236,1.919,271,4.553,319,3.983,333,4.723,345,1.047,349,1.109,379,0.868,381,2.97,413,2.069,437,1.654,447,2.901,448,4.338,449,6.584,452,2.971,453,5.183,454,5.599,455,2.971,456,2.971,457,2.971,458,2.923,459,4.42,460,4.37,461,5.947,462,5.993,463,7.361,469,1.811,470,3.777,472,5.153,473,5.305,474,3.724,475,5.016,476,4.785,477,1.811,478,1.717,479,4.638,480,3.158,481,1.769,482,1.742,483,2.971,484,4.813,486,3.488,487,5.101,488,2.971,489,6.674,490,4.257,491,6.483,493,4.602,494,2.971,496,1.811,498,2.971,500,3.132,501,1.811,502,6.14,504,1.811,505,5.715,506,4.113,507,4.37,509,5.305,510,3.633,511,2.392,512,2.971,513,4.37,514,2.971,517,2.039,518,2.971,519,1.664,521,4.106,522,2.971,525,1.892,606,2.886,696,2.101,742,1.811,757,2.519,996,3.834,997,3.705,998,3.789,999,4.004,1000,3.777,1001,2.272,1013,2.588,1077,6.417,1551,2.886,1994,3.793,2368,3.417,2442,3.295,2443,3.461,2444,5.405,2445,3.295,2446,5.405,2447,3.295,2448,3.295,2449,3.295,2450,3.295,2451,3.295,2452,3.295,2453,3.295,2454,3.295,2455,3.295,2456,3.295,2457,3.295,2458,3.295,2459,5.001,2460,4.131,2461,3.295,2462,3.295,2463,3.295,2464,3.295,2465,3.295,2466,3.049,2467,5.405,2468,5.405,2469,3.295,2470,3.295,2471,7.95,2472,3.295,2473,10.398,2474,7.95,2475,3.295,2476,3.295,2477,3.295,2478,3.295,2479,3.295,2480,3.194,2481,3.295,2482,3.295,2483,3.295,2484,3.295,2485,3.295]],["title/injectables/BaseRepo.html",[539,0.921,679,3.944]],["body/injectables/BaseRepo.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.133,9,4.468,10,3.809,12,4.212,18,4.691,26,2.33,27,0.516,29,0.959,30,0.001,31,0.692,32,0.157,33,0.579,34,1.562,35,1.398,36,2.836,40,4.521,49,4.308,95,0.148,96,2.481,97,2.779,101,0.01,103,0,104,0,153,1.563,154,1.88,155,3.049,173,1.975,177,1.267,226,0.995,262,2.923,349,0.965,379,0.86,437,0.899,479,5.142,524,3.875,539,1.256,541,1.634,569,6.703,608,2.17,679,5.382,685,3.925,686,4.255,687,5.944,711,5.598,713,5.598,716,5.598,718,3.629,1718,4.111,1729,5.926,1778,3.673,1815,6.169,1816,6.464,2232,3.841,2299,6.464,2310,4.971,2311,6.509,2315,6.841,2350,5.54,2351,4.621,2353,4.621,2363,6.303,2369,6.303,2374,5.516,2486,6.813,2487,6.016,2488,8.673,2489,9.374,2490,9.374,2491,8.673,2492,5.657,2493,6.169,2494,6.26,2495,6.813,2496,6.813,2497,6.813,2498,6.813,2499,6.813,2500,6.813,2501,3.247,2502,6.813]],["title/interfaces/BaseResponseMapper.html",[105,0.7,2503,5.125]],["body/interfaces/BaseResponseMapper.html",[3,0.021,4,0.021,5,0.011,7,0.137,8,1.414,27,0.482,29,0.926,30,0.001,31,0.669,32,0.17,33,0.559,35,1.416,95,0.138,99,1.548,100,3.26,101,0.015,103,0.001,104,0.001,105,0.975,107,2.245,119,2.425,479,5.029,783,6.536,1942,4.895,2503,8.723,2504,12.627,2505,9.571,2506,9.183,2507,9.183,2508,9.571,2509,8.938,2510,9.571,2511,10.224,2512,4.589]],["title/classes/BaseUc.html",[0,0.232,2513,5.251]],["body/classes/BaseUc.html",[0,0.224,2,0.732,3,0.014,4,0.014,5,0.007,7,0.095,8,1.11,9,3.152,26,2.69,27,0.47,29,0.903,30,0.001,31,0.652,32,0.148,33,0.545,35,1.278,36,2.44,39,3.217,59,2.035,95,0.135,99,1.07,101,0.01,103,0,104,0,131,3.49,143,1.465,145,1.858,177,1.708,226,0.966,236,1.494,239,1.551,262,2.904,276,2.871,349,1.087,379,1.16,437,1.58,448,5.427,493,3.227,529,2.628,560,2.721,608,2.638,643,2.971,1107,7.068,1673,4.081,1688,4.352,1726,2.831,1758,6.603,1780,5.193,1813,4.641,1855,4.035,1861,7.545,1944,2.793,2396,3.796,2512,6.39,2513,7.02,2514,6.613,2515,7.212,2516,7.212,2517,4.826,2518,8.767,2519,6.613,2520,4.933,2521,8.74,2522,9.092,2523,6.613,2524,7.212,2525,7.662,2526,6.613,2527,7.212,2528,7.545,2529,6.613,2530,5.484,2531,3.066,2532,7.699,2533,6.613,2534,6.118,2535,4.641,2536,6.613,2537,6.613,2538,5.793,2539,6.613,2540,6.613,2541,6.613,2542,7.707,2543,5.793,2544,4.933]],["title/classes/BasicToolConfig.html",[0,0.232,2545,5.013]],["body/classes/BasicToolConfig.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,27,0.516,29,0.742,30,0.001,31,0.536,32,0.177,33,0.448,47,0.658,95,0.136,101,0.014,103,0.001,104,0.001,112,0.883,180,2.001,181,3.116,182,2.968,379,1.184,381,3.172,382,3.438,564,2.934,1929,4.602,2195,7.116,2545,9.784,2546,5.295,2547,11.544,2548,4.22,2549,7.865,2550,10.002,2551,8.672,2552,8.21,2553,6.452,2554,8.21,2555,8.21,2556,6.577,2557,6.702]],["title/classes/BasicToolConfigEntity.html",[0,0.232,2558,5.563]],["body/classes/BasicToolConfigEntity.html",[0,0.326,2,1.067,3,0.021,4,0.021,5,0.011,27,0.398,29,0.764,30,0.001,31,0.551,32,0.125,33,0.461,95,0.15,96,2.552,101,0.015,103,0.001,104,0.001,173,2.795,180,1.671,181,3.17,379,1.217,381,3.262,403,5.388,564,3.018,1929,4.733,2546,5.386,2548,4.273,2553,5.388,2556,8.241,2557,6.893,2558,10.944,2559,11.744,2560,8.089,2561,9.639,2562,5.994,2563,9.51,2564,8.443,2565,5.483,2566,4.309,2567,6.893]],["title/classes/BasicToolConfigParams.html",[0,0.232,2568,5.563]],["body/classes/BasicToolConfigParams.html",[0,0.39,2,1.035,3,0.02,4,0.02,5,0.01,7,0.134,27,0.475,30,0.001,32,0.174,47,0.81,95,0.154,101,0.014,103,0.001,104,0.001,112,0.882,138,2.067,148,2.903,150,2.108,180,1.998,245,3.214,248,4.607,382,3.433,564,2.928,852,4.358,1929,4.591,2195,7.109,2546,4.289,2548,3.889,2553,6.985,2568,9.334,2569,9.351,2570,8.652,2571,9.777,2572,6.687,2573,7.572,2574,7.572,2575,7.572,2576,7.572,2577,7.572]],["title/classes/BasicToolConfigResponse.html",[0,0.232,2578,5.765]],["body/classes/BasicToolConfigResponse.html",[0,0.304,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,27,0.507,29,0.713,30,0.001,31,0.515,32,0.175,33,0.43,47,0.791,95,0.145,101,0.014,103,0.001,104,0.001,112,0.861,138,2.019,150,2.029,180,1.951,181,3.039,182,2.85,245,3.408,379,1.136,381,3.046,382,3.352,564,2.817,1929,4.419,2195,6.987,2546,5.163,2548,4.144,2553,6.865,2556,6.315,2557,6.435,2566,4.023,2567,6.435,2578,11.119,2579,11.256,2580,7.287,2581,10.729,2582,8.999,2583,7.883,2584,7.883,2585,7.287]],["title/injectables/BasicToolLaunchStrategy.html",[539,0.921,2586,5.765]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.156,3,0.01,4,0.01,5,0.005,7,0.066,8,0.852,9,2.195,26,2.202,27,0.534,29,1.014,30,0.001,31,0.732,32,0.171,33,0.612,35,1.55,36,2.431,39,2.301,47,0.861,95,0.122,99,0.745,101,0.007,103,0,104,0,112,0.835,119,0.955,120,2.978,172,2.195,177,1.311,180,1.222,226,0.673,262,2.703,271,2.612,284,3.303,349,0.988,382,3.852,437,1.364,480,1.961,519,2.17,521,2.784,539,0.945,541,1.105,556,2.345,593,3.196,603,2.756,662,3.961,696,1.79,988,2.009,996,3.4,997,3.286,998,3.36,999,3.55,1000,3.875,1262,3.354,1616,2.597,1650,2.597,1664,1.725,1898,6.785,1899,6.541,1953,5.144,1954,5.041,2088,5.558,2548,2.378,2586,5.916,2587,3.865,2588,4.605,2589,4.261,2590,12.268,2591,6.523,2592,7.925,2593,6.523,2594,6.523,2595,6.523,2596,6.523,2597,6.523,2598,6.523,2599,6.523,2600,6.523,2601,6.175,2602,6.175,2603,6.523,2604,6.523,2605,4.261,2606,9.484,2607,4.261,2608,6.523,2609,10.93,2610,4.605,2611,6.523,2612,4.605,2613,9.156,2614,4.261,2615,6.523,2616,7.368,2617,5.388,2618,4.261,2619,4.261,2620,6.523,2621,6.735,2622,4.261,2623,4.261,2624,6.523,2625,4.261,2626,4.261,2627,4.258,2628,4.261,2629,8.339,2630,4.261,2631,4.261,2632,4.261,2633,4.261,2634,4.034,2635,4.034,2636,4.261,2637,4.261,2638,4.261,2639,3.361,2640,4.261,2641,6.523,2642,6.315,2643,4.261,2644,4.261,2645,6.523,2646,4.261,2647,2.552,2648,4.261,2649,4.034,2650,4.261,2651,3.076,2652,4.034,2653,3.617,2654,7.05,2655,4.605,2656,7.05,2657,6.523,2658,4.605,2659,4.605,2660,4.605,2661,4.605,2662,7.05,2663,4.605,2664,4.605,2665,4.034]],["title/entities/Board.html",[154,1.378,1944,2.902]],["body/entities/Board.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,26,2.375,27,0.339,30,0.001,32,0.138,34,0.941,95,0.157,96,1.495,101,0.013,103,0,104,0,105,0.576,112,0.628,119,1.171,138,1.472,143,2.352,154,1.647,155,1.837,168,4.629,173,1.638,174,3.12,175,2.525,178,2.231,180,0.979,181,1.525,182,1.789,226,0.825,236,2.025,349,1.212,355,3.571,361,3.213,437,1.741,480,1.571,486,1.7,519,1.739,529,2.768,535,4.122,556,2.006,578,3.446,603,2.329,604,3.98,849,4.55,1664,2.115,1717,2.708,1920,3.959,1926,4.676,1942,4.927,1944,4.971,2395,3.338,2418,7.058,2666,7.596,2667,5.648,2668,7.677,2669,5.648,2670,4.87,2671,6.275,2672,5.648,2673,4.513,2674,8.21,2675,6.648,2676,5.648,2677,3.104,2678,6.447,2679,4.122,2680,3.273,2681,3.031,2682,5.257,2683,3.338,2684,4.373,2685,3.964,2686,4.368,2687,3.527,2688,7.593,2689,11.512,2690,8.117,2691,6.275,2692,4.341,2693,5.871,2694,4.948,2695,6.648,2696,2.633,2697,6.648,2698,8.21,2699,5.648,2700,3.717,2701,5.648,2702,5.648,2703,8.21,2704,4.74,2705,5.648,2706,9.673,2707,5.648,2708,5.648,2709,5.648,2710,5.648,2711,5.648,2712,8.21,2713,5.648,2714,8.21,2715,8.21,2716,5.648,2717,5.648,2718,4.574,2719,5.648,2720,5.648,2721,5.226,2722,5.648,2723,3.895,2724,5.648,2725,4.74,2726,5.648,2727,5.648,2728,5.648,2729,5.648,2730,5.648,2731,5.648,2732,5.648,2733,5.648,2734,5.648,2735,5.648,2736,5.648,2737,5.648,2738,5.648,2739,4.819,2740,5.648,2741,8.21,2742,5.648,2743,5.648,2744,5.648,2745,5.648,2746,11.769,2747,4.948]],["title/modules/BoardApiModule.html",[201,1.845,2748,5.563]],["body/modules/BoardApiModule.html",[0,0.27,3,0.017,4,0.017,5,0.009,30,0.001,95,0.16,101,0.012,103,0.001,104,0.001,201,3.117,203,2.893,204,3.1,205,3.187,206,3.175,207,3.162,208,4.284,209,3.02,214,6.104,218,4.164,219,3.125,220,3.054,222,4.98,223,4.343,225,4.148,226,1.165,259,3.054,1341,2.563,1752,5.927,1826,6.958,1829,9.769,2531,3.697,2748,11.597,2749,7.975,2750,7.975,2751,7.975,2752,10.604,2753,10.284,2754,10.604,2755,10.604,2756,10.989,2757,7.975,2758,10.166,2759,10.166,2760,10.166,2761,10.166,2762,10.166,2763,7.975,2764,3.78,2765,6.986,2766,7.379,2767,7.379]],["title/classes/BoardColumnBoardResponse.html",[0,0.232,2768,5.765]],["body/classes/BoardColumnBoardResponse.html",[0,0.258,2,0.844,3,0.017,4,0.017,5,0.008,7,0.11,27,0.544,29,0.604,30,0.001,31,0.436,32,0.171,33,0.365,34,2.097,47,0.909,83,3.479,95,0.12,101,0.012,103,0.001,104,0.001,112,0.774,119,2.099,138,2.32,150,1.72,245,3.575,247,3.282,376,5.114,377,5.316,379,1.278,404,3.05,406,4.605,408,4.605,774,3.894,1271,3.929,2692,7.49,2768,10.561,2769,10.524,2770,10.524,2771,7.631,2772,9.62,2773,8.282,2774,7.631,2775,7.631,2776,7.631,2777,7.631,2778,7.631,2779,5.457,2780,7.631,2781,7.631,2782,6.398,2783,7.631,2784,3.617,2785,7.06]],["title/classes/BoardComposite.html",[0,0.232,2786,4.192]],["body/classes/BoardComposite.html",[0,0.2,2,0.653,3,0.013,4,0.013,5,0.007,7,0.085,8,1.025,9,6.203,26,1.711,27,0.543,29,0.946,30,0.001,31,0.683,32,0.166,33,0.571,34,1.412,35,1.491,36,1.814,55,2.027,59,1.817,83,3.117,95,0.136,99,0.955,101,0.013,103,0,104,0,105,0.602,112,0.648,119,2.248,133,2.914,137,5.292,180,1.469,226,0.862,236,1.614,349,1.116,376,4.403,377,4.578,381,2.868,382,2.524,437,0.778,448,3.415,479,3.106,519,3.677,529,2.838,662,2.623,686,3.847,696,2.295,938,3.421,1519,4.821,1664,2.21,1665,4.916,1668,6.192,1726,2.527,1747,3.454,1748,4.221,1749,4.512,2396,3.389,2512,6.53,2530,3.524,2680,3.421,2786,5.171,2787,12.04,2788,5.461,2789,6.061,2790,6.061,2791,6.061,2792,5.66,2793,6.061,2794,7.473,2795,3.779,2796,5.23,2797,6.405,2798,5.903,2799,5.948,2800,5.23,2801,6.28,2802,5.903,2803,5.948,2804,6.707,2805,5.903,2806,7.78,2807,5.948,2808,5.903,2809,6.061,2810,5.903,2811,5.948,2812,5.903,2813,3.779,2814,5.461,2815,5.903,2816,4.635,2817,5.903,2818,4.635,2819,5.903,2820,7.842,2821,4.07,2822,4.07,2823,5.461,2824,5.461,2825,5.461,2826,7.842,2827,5.461,2828,5.461,2829,5.461,2830,3.524,2831,5.461,2832,5.461,2833,5.461,2834,5.461,2835,7.424,2836,3.884,2837,5.948,2838,5.461,2839,5.17,2840,3.601]],["title/interfaces/BoardCompositeProps.html",[105,0.7,2840,4.192]],["body/interfaces/BoardCompositeProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.104,9,5.656,26,2.395,30,0.001,32,0.165,33,0.469,34,2.064,36,1.557,55,1.487,83,3.814,95,0.146,99,1.177,101,0.015,103,0.001,104,0.001,105,0.742,107,1.707,112,0.75,119,2.033,133,3.371,180,1.261,226,1.063,236,1.804,349,1.222,376,5.033,377,5.232,437,0.96,519,3.413,529,3.173,696,2.829,938,4.216,1519,5.577,1664,2.725,1665,4.034,1726,3.115,1747,4.257,1748,5.203,1749,5.561,2396,4.177,2512,6.441,2530,4.344,2680,4.216,2786,4.439,2787,6.732,2788,6.732,2794,8.541,2796,4.49,2797,5.794,2800,4.49,2801,5.682,2803,5.106,2804,6.796,2806,7.501,2807,5.106,2809,5.203,2811,5.106,2820,9.071,2821,5.017,2822,5.017,2823,6.732,2824,6.732,2825,6.732,2826,9.071,2827,6.732,2828,6.732,2829,6.732,2830,4.344,2831,6.732,2832,6.732,2833,6.732,2834,6.732,2835,8.588,2836,4.788,2837,6.88,2838,6.732,2839,6.373,2840,5.982]],["title/interfaces/BoardCompositeVisitor.html",[105,0.7,2797,4.06]],["body/interfaces/BoardCompositeVisitor.html",[3,0.013,4,0.013,5,0.01,7,0.089,8,1.058,27,0.535,29,1.026,30,0.001,31,0.741,32,0.18,33,0.62,35,1.57,36,2.774,95,0.153,101,0.013,103,0,104,0,105,0.892,107,1.448,519,4.283,564,1.932,1925,7.24,2232,3.479,2525,7.166,2548,2.082,2692,6.592,2797,5.171,2801,3.576,2841,10.319,2842,12.157,2843,5.71,2844,8.095,2845,8.095,2846,8.095,2847,8.095,2848,8.095,2849,8.095,2850,8.095,2851,8.095,2852,8.095,2853,7.664,2854,6.898,2855,6.171,2856,7.664,2857,6.171,2858,7.664,2859,6.171,2860,7.664,2861,7.979,2862,6.171,2863,7.664,2864,7.483,2865,6.171,2866,7.664,2867,7.979,2868,6.171,2869,7.664,2870,7.398,2871,6.171,2872,7.664,2873,7.665,2874,6.171,2875,7.664,2876,6.171,2877,5.179,2878,5.71,2879,5.179,2880,8.52,2881,4.604,2882,2.942,2883,3.892,2884,3.724,2885,4.997,2886,5.179,2887,5.179,2888,5.179,2889,5.179,2890,5.179,2891,5.179,2892,5.179,2893,5.71,2894,5.179]],["title/interfaces/BoardCompositeVisitorAsync.html",[105,0.7,2801,3.981]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.013,4,0.013,5,0.01,7,0.089,8,1.058,27,0.535,29,1.026,30,0.001,31,0.741,32,0.18,33,0.62,35,1.57,36,2.979,95,0.153,101,0.013,103,0,104,0,105,0.892,107,1.448,519,3.989,564,1.932,1925,7.24,2232,3.479,2525,7.166,2548,2.082,2692,6.592,2797,3.647,2801,5.07,2841,10.319,2842,12.157,2843,5.71,2853,5.406,2854,6.898,2856,5.406,2858,5.406,2860,5.406,2861,7.979,2863,5.406,2864,7.483,2866,5.406,2867,7.979,2869,5.406,2870,7.398,2872,5.406,2873,7.665,2875,5.406,2877,5.179,2878,5.71,2879,5.179,2880,8.52,2881,4.604,2882,2.942,2883,3.892,2884,3.724,2885,4.997,2886,7.342,2887,7.342,2888,7.342,2889,7.342,2890,7.342,2891,7.342,2892,7.342,2893,8.095,2894,7.342,2895,7.342,2896,7.342,2897,7.342,2898,7.342,2899,7.342,2900,7.342,2901,7.342,2902,7.342,2903,7.342,2904,6.171,2905,6.171,2906,6.171,2907,6.171,2908,6.171,2909,6.171,2910,6.171,2911,6.171,2912,6.171]],["title/classes/BoardContextResponse.html",[0,0.232,2913,6.018]],["body/classes/BoardContextResponse.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,27,0.508,29,0.716,30,0.001,31,0.517,32,0.18,33,0.432,34,2.211,47,0.793,95,0.133,99,1.462,101,0.014,103,0.001,104,0.001,112,0.864,138,2.024,150,2.038,245,3.165,253,4.466,379,1.425,404,3.613,774,4.613,839,2.814,1924,9.632,2566,4.041,2913,11.622,2914,12.891,2915,9.039,2916,9.039,2917,5.948,2918,6.058,2919,6.058,2920,9.039,2921,5.342,2922,5.411,2923,9.039]],["title/controllers/BoardController.html",[259,2.631,2758,6.018]],["body/controllers/BoardController.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.065,8,0.845,10,3.456,27,0.425,29,0.815,30,0.001,31,0.589,32,0.184,33,0.492,35,1.247,36,2.615,95,0.138,100,1.551,101,0.007,103,0,104,0,131,2.656,138,1.846,150,1.027,177,0.847,223,1.898,226,0.665,236,1.384,259,1.744,261,2.183,262,2.874,270,6.45,278,6.471,282,7.628,287,8.039,290,8.914,294,6.82,324,3.543,333,4.386,334,2.955,335,6.555,336,8.456,337,2.373,338,2.426,340,2.209,343,2.444,345,1.446,346,6.145,347,4.871,349,0.876,437,1.433,608,2.382,631,2.309,685,2.926,824,3.86,1266,7.367,1271,2.182,1944,4.588,2530,6.486,2681,5.83,2692,4.497,2752,6.887,2758,6.122,2764,2.158,2913,6.122,2924,4.554,2925,4.213,2926,7.869,2927,6.466,2928,8.506,2929,8.506,2930,7.869,2931,4.554,2932,11.507,2933,7.51,2934,10.292,2935,5.214,2936,4.554,2937,7.866,2938,7.866,2939,4.554,2940,4.554,2941,8.039,2942,4.554,2943,5.66,2944,4.554,2945,4.554,2946,4.554,2947,4.554,2948,4.554,2949,4.554,2950,4.554,2951,6.989,2952,4.554,2953,4.554,2954,4.554,2955,4.554,2956,6.679,2957,7.725,2958,4.131,2959,4.554,2960,4.554,2961,3.256,2962,2.567,2963,2.39,2964,5.865,2965,5.66,2966,4.554,2967,4.554,2968,3.989,2969,3.821,2970,3.687,2971,4.554,2972,4.554,2973,4.554,2974,10.292,2975,4.554,2976,4.554,2977,4.554,2978,4.554,2979,4.554,2980,5.66,2981,5.66,2982,4.554,2983,4.554,2984,3.989,2985,4.554,2986,4.554,2987,4.554,2988,4.554,2989,4.554,2990,4.213]],["title/injectables/BoardCopyService.html",[539,0.921,2991,5.765]],["body/injectables/BoardCopyService.html",[0,0.125,3,0.008,4,0.008,5,0.004,7,0.053,8,0.719,27,0.463,29,0.889,30,0.001,31,0.642,32,0.155,33,0.537,34,0.618,35,1.317,36,2.517,39,0.996,55,0.758,95,0.139,99,0.6,101,0.006,103,0,104,0,154,0.744,177,1.852,226,0.541,227,1.538,236,1.518,239,3.234,262,2.754,271,2.203,347,4.055,349,1.286,379,0.751,437,1.68,521,2.348,528,1.905,539,0.797,541,0.889,556,0.906,579,1.989,603,2.788,604,3.064,608,1.723,646,2.651,849,4.127,1231,2.343,1242,2.005,1243,2.475,1271,1.856,1341,1.191,1553,7.611,1732,1.945,1924,2.601,1925,3.551,1926,4.692,1944,4.419,1947,2.833,2312,2.468,2313,3.887,2340,3.589,2357,2.705,2668,5.386,2684,4.969,2686,4.212,2688,8.231,2691,4.545,2693,7.481,2695,4.815,2697,4.815,2704,3.11,2739,3.867,2772,2.833,2991,4.99,2992,11.51,2993,2.911,2994,5.946,2995,7.446,2996,6.889,2997,4.99,2998,4.815,2999,5.946,3000,5.946,3001,5.946,3002,2.514,3003,7.804,3004,8.215,3005,8.779,3006,8.779,3007,7.634,3008,3.707,3009,5.946,3010,8.521,3011,3.707,3012,3.707,3013,10.088,3014,3.43,3015,7.446,3016,3.707,3017,3.707,3018,5.946,3019,3.707,3020,3.43,3021,5.946,3022,3.707,3023,3.247,3024,5.946,3025,8.1,3026,3.707,3027,9.328,3028,5.946,3029,3.707,3030,4.99,3031,5.946,3032,3.707,3033,5.502,3034,5.691,3035,3.707,3036,3.707,3037,3.43,3038,3.11,3039,3.707,3040,3.11,3041,2.911,3042,2.765,3043,2.262,3044,2.09,3045,3.707,3046,3.707,3047,3.002,3048,3.002,3049,2.833,3050,5.209,3051,3.707,3052,3.707,3053,3.707,3054,7.446,3055,3.707,3056,3.247,3057,2.911,3058,3.11,3059,3.707,3060,3.707,3061,9.679,3062,3.707,3063,3.707,3064,3.707,3065,3.11,3066,3.707,3067,5.502,3068,3.707,3069,3.707,3070,6.522,3071,3.11,3072,3.707,3073,3.707,3074,7.446,3075,3.11,3076,3.707,3077,3.707,3078,3.11,3079,3.707,3080,3.707,3081,4.252,3082,3.707,3083,4.252,3084,4.545,3085,3.707,3086,3.707,3087,3.707,3088,3.707,3089,3.247,3090,3.247,3091,3.43,3092,3.247,3093,3.11,3094,3.43,3095,3.707,3096,3.43,3097,3.247,3098,3.43,3099,3.707,3100,3.707,3101,3.707,3102,3.707,3103,3.707,3104,3.707,3105,3.707,3106,3.707,3107,3.707,3108,3.707,3109,5.946,3110,3.707,3111,5.946,3112,5.946,3113,3.707,3114,3.707,3115,3.707,3116,3.707,3117,3.707,3118,3.707,3119,3.707,3120,3.707]],["title/classes/BoardDoAuthorizable.html",[0,0.232,2532,5.013]],["body/classes/BoardDoAuthorizable.html",[0,0.257,2,0.841,3,0.017,4,0.017,5,0.008,7,0.109,8,1.22,26,2.288,27,0.518,29,0.602,30,0.001,31,0.435,32,0.131,33,0.364,34,1.267,35,1.223,39,2.042,47,0.709,95,0.119,101,0.019,102,3.854,103,0.001,104,0.001,105,1.029,112,0.773,133,2.614,180,1.965,302,5.97,349,1.04,381,3.417,382,3.006,448,4.068,479,3.7,517,2.868,519,2.34,556,2.95,643,3.415,651,3.666,652,3.666,662,3.125,686,4.582,839,3.143,1661,5.595,1665,5.172,1668,7.078,1729,4.806,1747,4.449,1816,5.242,2501,3.624,2521,8.813,2522,9.788,2532,7.367,2795,4.868,2813,4.868,2841,9.484,3121,6.659,3122,5.219,3123,7.034,3124,7.602,3125,7.602,3126,7.602,3127,7.602,3128,7.602,3129,8.175,3130,6.093,3131,8.844,3132,6.156,3133,6.659,3134,3.505,3135,7.258,3136,5.743,3137,6.659,3138,6.659,3139,8.664,3140,3.829,3141,6.379,3142,6.156,3143,8.844,3144,6.659]],["title/interfaces/BoardDoAuthorizableProps.html",[105,0.7,3141,5.765]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.117,26,2.593,30,0.001,32,0.152,33,0.505,34,2.066,39,2.185,47,0.741,95,0.125,101,0.02,102,4.124,103,0.001,104,0.001,105,1.076,107,1.908,112,0.808,133,2.797,180,2.031,302,6.388,349,1.087,517,3.069,556,2.579,643,3.655,651,3.923,652,3.923,839,3.286,1661,6.494,1665,4.343,1729,5.142,1747,4.76,1816,5.609,2501,3.877,2521,9.376,2522,9.82,2532,5.936,2841,6.388,3121,7.126,3122,5.552,3129,8.547,3130,6.37,3131,9.245,3132,6.587,3133,7.126,3134,3.751,3135,7.502,3136,6.004,3137,7.126,3138,7.126,3139,9.82,3140,4.097,3141,8.857,3142,6.587,3143,9.245,3144,7.126]],["title/injectables/BoardDoAuthorizableService.html",[539,0.921,2518,4.737]],["body/injectables/BoardDoAuthorizableService.html",[0,0.208,3,0.013,4,0.013,5,0.007,7,0.088,8,1.056,12,3.926,26,2.23,27,0.456,29,0.875,30,0.001,31,0.632,32,0.143,33,0.529,34,1.841,35,1.23,36,2.366,39,2.728,40,4.214,95,0.138,99,0.997,101,0.009,103,0,104,0,177,1.625,226,0.9,227,2.557,236,1.798,262,2.673,349,1.284,379,1.104,437,1.732,528,5.218,529,1.763,539,1.171,541,1.478,565,3.679,603,2.41,604,2.535,608,2.701,639,2.904,651,4.897,652,4.897,708,3.507,1147,1.876,1742,7.077,1804,7.605,1826,4.115,1924,4.324,1925,6.064,1926,4.555,1947,4.71,2487,3.211,2512,5.298,2518,6.026,2522,7.902,2528,6.249,2531,2.856,2532,8.844,2542,5.171,3122,5.386,3129,4.99,3139,7.762,3140,5.115,3145,8.919,3146,5.701,3147,8.74,3148,8.74,3149,4.597,3150,8.746,3151,6.162,3152,6.162,3153,8.74,3154,6.162,3155,8.74,3156,6.162,3157,4.597,3158,5.701,3159,6.162,3160,7.334,3161,5.701,3162,9.396,3163,5.701,3164,6.162,3165,8.086,3166,5.701,3167,6.162,3168,6.162,3169,6.162,3170,6.162,3171,3.258,3172,4.71,3173,6.162,3174,6.782,3175,6.59,3176,8.74,3177,6.162,3178,6.162,3179,6.162,3180,6.162,3181,6.162]],["title/interfaces/BoardDoBuilder.html",[105,0.7,3182,4.146]],["body/interfaces/BoardDoBuilder.html",[3,0.014,4,0.014,5,0.01,7,0.091,8,1.08,27,0.538,29,1.033,30,0.001,31,0.746,32,0.182,33,0.624,35,1.58,95,0.156,101,0.01,103,0,104,0,105,0.648,107,1.491,564,1.989,1665,2.615,1925,6.167,1942,4.942,1944,2.684,2232,3.583,2525,6.104,2548,2.144,2692,6.24,2854,6.373,2861,6.796,2864,6.373,2867,6.796,2870,6.301,2873,6.529,2881,4.741,2882,3.029,2883,3.973,2884,3.835,3171,6.898,3182,5.39,3183,13.221,3184,6.355,3185,8.264,3186,8.264,3187,8.264,3188,8.264,3189,8.264,3190,8.264,3191,8.264,3192,8.264,3193,8.264,3194,8.264,3195,8.798,3196,6.355,3197,8.264,3198,9.072,3199,6.355,3200,8.264,3201,8.563,3202,6.355,3203,8.264,3204,8.798,3205,6.355,3206,8.264,3207,8.798,3208,6.355,3209,8.264,3210,8.798,3211,6.355,3212,8.264,3213,8.798,3214,6.355,3215,8.264,3216,8.798,3217,6.355,3218,8.264,3219,8.798,3220,6.355,3221,12.071,3222,4.069]],["title/classes/BoardDoBuilderImpl.html",[0,0.232,3223,6.018]],["body/classes/BoardDoBuilderImpl.html",[0,0.12,2,0.392,3,0.008,4,0.008,5,0.004,7,0.051,8,0.693,27,0.515,29,1,30,0.001,31,0.707,32,0.172,33,0.591,34,1.841,35,1.478,39,0.951,95,0.085,99,0.927,101,0.005,103,0,104,0,112,0.439,131,1.346,226,0.517,236,1.888,349,1.218,376,4.488,377,4.666,379,0.447,437,1.717,479,4.159,480,0.985,486,1.066,519,1.764,529,1.64,603,1.491,662,4.152,696,1.377,849,5.406,988,2.501,1147,1.745,1262,1.238,1271,2.591,1925,5.824,1942,4.952,2512,1.698,2525,4.905,2692,5.157,2723,2.442,2794,8.412,2814,5.304,2854,5.549,2861,5.998,2864,5.121,2867,5.461,2870,5.063,2873,5.246,2882,1.688,3171,7.348,3182,4.358,3185,5.304,3186,5.304,3187,5.304,3188,5.304,3189,5.304,3190,5.304,3191,5.304,3192,5.304,3193,5.304,3194,5.304,3195,6.517,3197,5.304,3198,6.72,3200,5.304,3201,6.343,3203,5.304,3204,6.517,3206,5.304,3207,6.517,3209,5.304,3210,6.517,3212,5.304,3213,6.517,3215,5.304,3216,6.517,3218,5.304,3219,6.517,3223,5.021,3224,11.053,3225,11.675,3226,3.542,3227,6.681,3228,5.733,3229,5.733,3230,5.733,3231,5.733,3232,5.733,3233,5.733,3234,5.021,3235,3.542,3236,5.733,3237,3.542,3238,3.542,3239,3.542,3240,5.733,3241,3.542,3242,3.542,3243,3.542,3244,3.542,3245,3.542,3246,3.542,3247,3.542,3248,5.733,3249,6.817,3250,3.542,3251,5.733,3252,3.542,3253,5.733,3254,3.542,3255,2.239,3256,3.542,3257,3.542,3258,3.542,3259,9.115,3260,3.277,3261,4.277,3262,9.115,3263,10.22,3264,8.299,3265,11.046,3266,11.046,3267,3.542,3268,3.103,3269,4.382,3270,5.021,3271,3.103,3272,5.021,3273,3.103,3274,3.103,3275,2.268,3276,3.542,3277,8.299,3278,2.115,3279,3.542,3280,2.115,3281,3.542,3282,3.542,3283,2.093,3284,3.542,3285,3.542,3286,1.846,3287,3.542,3288,3.103,3289,1.833,3290,3.542,3291,2.161,3292,3.542,3293,3.542,3294,1.997,3295,3.542,3296,3.542,3297,3.542,3298,3.542,3299,5.733,3300,3.542,3301,3.542,3302,3.542,3303,3.542,3304,3.542,3305,3.542,3306,3.542,3307,3.888,3308,2.365,3309,2.239,3310,3.542,3311,4.81,3312,3.542,3313,3.542,3314,5.733,3315,3.542,3316,3.542,3317,3.542,3318,3.542,3319,3.542]],["title/injectables/BoardDoCopyService.html",[539,0.921,3320,5.765]],["body/injectables/BoardDoCopyService.html",[0,0.3,3,0.019,4,0.019,5,0.012,7,0.127,8,1.349,27,0.366,29,0.703,30,0.001,31,0.508,32,0.145,33,0.425,35,1.076,36,2.39,95,0.156,99,1.437,101,0.017,103,0.001,104,0.001,226,1.297,236,1.445,262,2.693,271,3.29,349,0.915,437,1.472,539,1.496,541,2.131,608,2.056,654,2.674,662,3.779,739,4.824,993,4.964,2480,7.57,2512,5.352,2799,6.232,2993,6.974,3025,5.763,3043,5.419,3044,5.007,3145,8.533,3320,9.368,3321,9.779,3322,11.164,3323,12.81,3324,8.881,3325,7.779,3326,7.779,3327,8.881,3328,8.767,3329,7.453,3330,6.351,3331,7.779,3332,8.881,3333,8.881]],["title/injectables/BoardDoRepo.html",[539,0.921,3150,4.821]],["body/injectables/BoardDoRepo.html",[0,0.152,3,0.01,4,0.01,5,0.005,7,0.065,8,0.838,10,2.815,12,3.113,18,3.467,26,2.7,27,0.502,29,0.982,30,0.001,31,0.697,32,0.165,33,0.583,34,1.938,35,1.445,36,2.847,40,3.342,49,1.68,55,2.21,59,2.6,95,0.137,96,1.834,97,1.837,99,0.728,101,0.007,103,0,104,0,120,2.927,173,1.306,177,1.571,226,0.658,236,1.76,262,3.05,349,1.228,379,0.875,381,1.524,437,1.754,479,2.54,529,1.289,539,0.928,541,1.08,556,1.1,565,6.457,603,1.744,604,1.853,608,2.948,1645,5.442,1665,5.099,1739,2.076,1944,2.927,2311,5.348,2323,4.497,2394,6.07,2512,6.285,2528,3.22,2647,2.496,2681,2.417,2794,3.105,3150,4.863,3171,5.014,3201,3.442,3223,3.945,3224,10.855,3225,4.167,3227,4.167,3234,3.945,3307,3.054,3326,6.07,3334,4.167,3335,8.447,3336,5.815,3337,6.411,3338,6.411,3339,6.93,3340,6.93,3341,3.007,3342,9.122,3343,8.447,3344,7.959,3345,4.503,3346,4.095,3347,4.503,3348,4.503,3349,10.759,3350,4.503,3351,8.447,3352,4.503,3353,6.07,3354,4.503,3355,6.411,3356,6.782,3357,4.503,3358,6.93,3359,4.503,3360,4.503,3361,6.93,3362,4.503,3363,6.93,3364,4.503,3365,6.07,3366,4.686,3367,4.503,3368,3.647,3369,4.503,3370,4.167,3371,4.503,3372,3.945,3373,4.503,3374,4.503,3375,4.503,3376,4.503,3377,4.503,3378,3.945,3379,4.503,3380,5.824,3381,6.411,3382,4.503,3383,4.503,3384,4.503,3385,4.503,3386,4.503,3387,6.411,3388,4.503,3389,4.503,3390,4.503,3391,4.503,3392,3.647,3393,4.503,3394,3.945,3395,4.503,3396,4.503,3397,4.503,3398,4.503,3399,4.503,3400,4.503,3401,4.503,3402,4.503,3403,4.503,3404,4.503,3405,4.503,3406,4.503,3407,5.297,3408,4.503]],["title/injectables/BoardDoRule.html",[539,0.921,1760,5.765]],["body/injectables/BoardDoRule.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.105,8,1.187,27,0.458,29,0.879,30,0.001,31,0.635,32,0.154,33,0.531,35,1.189,39,2.637,95,0.146,101,0.011,103,0.001,104,0.001,119,2.462,131,4.218,143,2.175,145,3.483,177,1.355,226,1.065,239,3.152,345,2.315,349,1.344,379,0.92,437,1.464,528,3.745,539,1.315,541,1.749,604,2.999,662,3.952,1107,3.974,1147,2.219,1670,6.474,1687,5.026,1688,4.796,1697,7.972,1718,4.399,1735,7.245,1760,8.237,1875,6.369,1879,6.129,1886,4.868,2532,10.239,2534,9.082,3129,5.902,3409,11.874,3410,7.289,3411,6.555,3412,4.944,3413,7.289,3414,7.289,3415,6.459,3416,7.289,3417,4.944,3418,4.944,3419,6.658,3420,5.438,3421,9.816,3422,7.289,3423,7.289,3424,9.816,3425,9.816,3426,7.289]],["title/injectables/BoardDoService.html",[539,0.921,3427,5.125]],["body/injectables/BoardDoService.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,8,1.264,27,0.48,29,0.922,30,0.001,31,0.666,32,0.151,33,0.557,35,1.267,36,2.64,55,2.379,59,2.469,95,0.137,99,1.298,101,0.012,103,0.001,104,0.001,177,1.492,226,1.172,262,2.893,345,2.548,379,1.013,437,1.38,539,1.401,541,1.925,608,3.036,1665,3.301,2487,4.18,2512,6.625,2806,5.071,3145,9.427,3149,5.985,3150,9.205,3366,5.75,3427,7.803,3428,8.022,3429,10.46,3430,7.212,3431,8.022,3432,10.46,3433,8.022,3434,10.46,3435,12.333,3436,9.427,3437,8.022,3438,8.022,3439,8.022,3440,6.732,3441,8.022,3442,8.022,3443,8.022,3444,11.639,3445,8.022,3446,8.022,3447,8.022,3448,8.022,3449,8.022]],["title/entities/BoardElement.html",[154,1.378,2688,4.913]],["body/entities/BoardElement.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,9,4.986,26,2.111,27,0.431,30,0.001,31,0.705,32,0.16,34,1.743,95,0.155,96,2.124,101,0.019,103,0.001,104,0.001,112,0.8,138,1.439,143,1.777,154,2.098,155,2.609,173,2.326,174,3.975,175,3.586,180,1.391,181,2.166,182,2.541,839,3.839,1664,3.004,1717,5.913,1739,4.823,1925,6.246,1944,3.389,2666,9.14,2684,5.571,2685,5.63,2686,5.569,2687,5.009,2688,7.48,2689,11.411,2692,4.241,2693,7.48,2694,7.027,2696,4.875,2739,6.063,3034,10.211,3450,8.022,3451,8.022,3452,7.212,3453,8.022,3454,6.697,3455,7.34,3456,10.46,3457,5.737,3458,5.63,3459,5.985]],["title/classes/BoardElementResponse.html",[0,0.232,3460,5.765]],["body/classes/BoardElementResponse.html",[0,0.271,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,27,0.48,29,0.635,30,0.001,31,0.459,32,0.179,33,0.384,95,0.151,101,0.012,103,0.001,104,0.001,112,0.8,138,1.876,150,1.808,153,2.4,245,2.993,379,1.321,774,4.094,821,4.849,839,3.839,993,5.846,1664,3.917,1942,4.379,1944,5.643,2255,5.244,2395,6.182,2493,6.883,2566,3.586,2686,4.723,2692,6.763,2696,4.875,2768,9.766,2769,9.685,2770,9.685,3460,10.734,3461,5.63,3462,8.022,3463,9.766,3464,9.766,3465,8.022,3466,10.734,3467,10.46,3468,7.422,3469,8.022,3470,7.422,3471,8.022,3472,8.022,3473,4.79]],["title/interfaces/BoardExternalReference.html",[105,0.7,3356,4.913]],["body/interfaces/BoardExternalReference.html",[3,0.022,4,0.022,5,0.011,7,0.144,26,2.698,30,0.001,32,0.18,34,2.227,95,0.119,101,0.019,103,0.001,104,0.001,105,1.024,107,2.356,112,0.921,564,3.145,839,3.127,1924,9.381,1926,4.525,2501,4.787,2841,7.888,3356,8.609,3474,8.798]],["title/classes/BoardLessonResponse.html",[0,0.232,3464,5.765]],["body/classes/BoardLessonResponse.html",[0,0.314,2,0.744,3,0.015,4,0.015,5,0.007,7,0.096,27,0.552,29,0.532,30,0.001,31,0.713,32,0.173,33,0.611,34,2.008,47,0.875,55,2.546,83,3.302,95,0.126,101,0.01,103,0,104,0,112,0.711,119,1.926,138,2.37,148,2.087,149,3.584,150,1.515,245,3.529,247,2.892,249,4.17,376,4.895,377,5.089,379,1.173,404,2.687,406,4.057,408,4.057,774,3.431,1948,7.339,2044,2.613,2692,7.141,2769,10.608,2770,10.608,2779,4.807,2782,6.728,3464,10.11,3475,6.722,3476,7.616,3477,11.147,3478,11.147,3479,10.11,3480,6.722,3481,5.888,3482,6.722,3483,6.722,3484,6.722,3485,6.722,3486,6.722,3487,9.289,3488,6.722,3489,6.722,3490,6.22,3491,6.722,3492,6.722,3493,8.209,3494,4.807,3495,4.807,3496,6.722,3497,6.722,3498,6.722,3499,7.767]],["title/classes/BoardManagementConsole.html",[0,0.232,3500,6.018]],["body/classes/BoardManagementConsole.html",[0,0.271,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,8,1.264,27,0.431,29,0.829,30,0.001,31,0.598,32,0.136,33,0.5,35,0.972,36,2.239,47,0.735,49,2.993,95,0.146,101,0.012,103,0.001,104,0.001,138,1.439,153,2.67,236,1.305,262,2.567,345,2.548,349,0.826,379,1.013,437,1.058,480,2.232,486,2.415,524,4.564,578,4.895,603,1.657,608,1.857,636,4.694,685,5.163,1920,5.947,1944,5.722,2395,4.741,2692,5.53,3291,4.895,3500,9.162,3501,11.639,3502,7.027,3503,9.677,3504,6.732,3505,8.236,3506,11.21,3507,8.022,3508,8.47,3509,9.677,3510,6.496,3511,10.46,3512,8.022,3513,5.532,3514,8.504,3515,7.796,3516,4.79,3517,7.422,3518,6.3,3519,5.279,3520,8.022,3521,8.022,3522,6.732,3523,10.349,3524,8.022,3525,8.022,3526,5.985]],["title/injectables/BoardManagementUc.html",[539,0.921,3506,5.765]],["body/injectables/BoardManagementUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.934,26,2.388,27,0.501,29,0.984,30,0.001,31,0.695,32,0.164,33,0.581,34,0.867,35,1.433,36,2.184,55,2.828,95,0.129,96,1.377,97,2.122,99,0.841,101,0.008,103,0,104,0,131,2.936,143,1.152,145,1.461,226,0.76,262,2.521,345,1.652,349,1.279,379,0.657,437,1.56,474,2.206,479,2.832,480,1.447,486,1.566,519,1.601,539,1.035,541,1.248,556,1.27,579,2.791,603,2.822,608,2.645,708,4.095,826,5.982,849,2.882,1242,2.813,1243,3.473,1271,2.412,1456,3.422,1920,5.51,1924,3.649,1926,2.904,1944,3.264,1947,3.975,2311,5.754,2692,4.085,2804,4.91,2854,4.395,2882,3.683,3171,7.104,3261,3.88,3269,3.975,3275,3.33,3286,4.026,3346,5.449,3366,6.413,3494,6.592,3503,7.149,3504,4.364,3505,6.815,3506,6.484,3508,6.257,3509,7.149,3513,3.586,3527,12.418,3528,4.811,3529,7.726,3530,7.726,3531,7.726,3532,7.726,3533,7.726,3534,7.149,3535,5.2,3536,5.2,3537,7.726,3538,5.2,3539,7.726,3540,5.2,3541,7.726,3542,5.2,3543,7.726,3544,5.2,3545,7.726,3546,9.219,3547,5.2,3548,4.211,3549,7.726,3550,8.264,3551,5.2,3552,5.2,3553,5.2,3554,5.2,3555,5.2,3556,4.364,3557,5.2,3558,5.2,3559,5.2,3560,5.2,3561,5.2,3562,5.2,3563,5.2,3564,5.2,3565,4.211,3566,5.2,3567,5.2,3568,5.2,3569,4.811,3570,5.2,3571,5.2,3572,5.2,3573,4.811,3574,9.219,3575,5.2,3576,5.2,3577,5.2,3578,5.2,3579,5.2,3580,4.555,3581,5.2,3582,5.2,3583,5.2,3584,5.2,3585,5.2]],["title/modules/BoardModule.html",[201,1.845,1829,5.125]],["body/modules/BoardModule.html",[0,0.196,3,0.013,4,0.013,5,0.006,30,0.001,95,0.158,99,0.936,101,0.009,103,0,104,0,201,2.884,203,2.098,204,2.249,205,2.312,206,2.303,207,2.294,208,3.619,209,3.712,214,5.531,218,3.339,219,2.267,220,2.215,225,3.325,226,0.845,227,2.401,560,4.034,564,1.811,569,4.137,1231,3.657,1341,1.859,1607,4.316,1726,2.477,1804,7.24,1829,10.868,1912,9.676,1913,10.135,1944,2.443,2396,3.321,2480,3.419,2487,3.014,2493,3.807,2518,9.143,2548,1.952,3006,11.127,3040,4.854,3150,8.327,3320,9.957,3321,5.067,3342,9.609,3344,9.957,3427,8.852,3513,3.989,3586,5.785,3587,5.785,3588,5.785,3589,5.785,3590,9.07,3591,9.318,3592,8.852,3593,7.24,3594,10.413,3595,10.737,3596,10.737,3597,9.609,3598,9.957,3599,5.785,3600,2.876,3601,2.331,3602,3.754,3603,2.913,3604,5.785,3605,4.543,3606,3.924,3607,5.785,3608,4.543]],["title/entities/BoardNode.html",[154,1.378,3171,3.632]],["body/entities/BoardNode.html",[0,0.215,3,0.014,4,0.014,5,0.007,7,0.161,9,4.267,26,2.385,27,0.487,30,0.001,32,0.171,33,0.428,34,1.869,47,0.884,55,2.415,95,0.149,96,1.687,101,0.014,103,0,104,0,105,0.65,112,0.685,138,2.119,143,1.983,144,3.637,145,3.444,154,1.795,155,2.073,160,5.733,172,3.679,173,1.848,174,3.402,175,2.85,178,2.517,180,1.105,181,1.721,182,2.019,226,0.931,236,1.037,349,1.217,360,5.244,404,3.578,405,4.732,413,1.919,437,1.364,529,1.824,556,2.187,593,3.34,685,2.669,696,4.022,708,3.592,839,2.786,1226,3.074,1271,3.502,1664,3.352,1665,2.623,1944,2.692,2512,4.291,2784,3.021,2804,5.976,3160,5.349,3171,5.469,3182,5.402,3249,6.923,3307,6.071,3366,4.423,3380,4.396,3457,4.558,3609,5.898,3610,7.718,3611,6.375,3612,5.898,3613,6.375,3614,6.375,3615,6.375,3616,6.375,3617,6.375,3618,4.872,3619,8.282,3620,5.524,3621,9.571,3622,8.282,3623,5.584,3624,5.006,3625,5.006,3626,5.898,3627,5.898,3628,5.898,3629,4.473,3630,4.473,3631,4.081,3632,4.77,3633,5.898,3634,5.898,3635,7.841,3636,5.898,3637,5.898,3638,5.898,3639,5.898,3640,5.898,3641,3.98,3642,5.898,3643,5.898]],["title/interfaces/BoardNodeProps.html",[105,0.7,3620,4.24]],["body/interfaces/BoardNodeProps.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.163,9,4.363,26,2.563,30,0.001,32,0.165,33,0.619,34,2.116,47,0.892,55,2.444,95,0.15,96,1.742,101,0.014,103,0,104,0,105,0.671,107,1.544,112,0.7,143,1.458,144,3.688,145,2.957,154,1.836,172,3.722,173,1.908,174,3.478,175,2.942,178,2.599,180,1.141,181,1.776,182,2.084,226,0.961,236,1.071,349,1.231,360,3.336,404,3.658,405,4.839,413,1.981,437,1.388,529,1.883,556,2.236,593,3.415,685,2.755,696,4.091,708,3.673,839,2.849,1226,3.173,1271,3.733,1664,3.427,1665,2.708,1944,2.78,2512,4.388,2784,3.119,2804,6.368,3160,5.522,3171,6.014,3182,5.524,3249,6.494,3307,6.208,3366,5.907,3380,4.538,3457,4.706,3609,6.089,3610,4.909,3618,5.03,3619,8.468,3620,6.494,3621,9.737,3622,8.468,3623,5.764,3624,5.168,3625,5.168,3626,6.089,3627,6.089,3628,6.089,3629,4.618,3630,4.618,3631,4.214,3632,4.852,3633,6.089,3634,6.089,3635,8.017,3636,6.089,3637,6.089,3638,6.089,3639,6.089,3640,6.089,3641,4.109,3642,6.089,3643,6.089]],["title/injectables/BoardNodeRepo.html",[539,0.921,3342,5.563]],["body/injectables/BoardNodeRepo.html",[0,0.218,3,0.014,4,0.014,5,0.007,7,0.092,8,1.089,12,4.048,26,2.274,27,0.465,29,0.892,30,0.001,31,0.644,32,0.146,33,0.539,34,1.733,35,1.259,36,2.631,40,4.345,55,2.125,59,1.981,95,0.123,96,1.703,97,2.626,99,1.041,101,0.01,103,0,104,0,154,2.379,177,1.197,226,0.94,262,2.886,345,2.044,349,1.299,358,2.877,360,4.568,379,0.813,437,1.726,539,1.207,541,1.544,556,1.572,608,2.407,696,2.502,739,3.894,766,3.597,767,7.561,975,3.14,988,2.807,1726,2.755,1729,4.068,2311,6.352,2647,5.763,3171,6.917,3224,10.388,3234,10.388,3307,4.365,3341,4.297,3342,7.297,3346,5.325,3349,10.972,3381,8.337,3610,4.801,3644,6.435,3645,9.011,3646,9.011,3647,6.435,3648,6.435,3649,9.011,3650,6.435,3651,9.011,3652,6.435,3653,6.435,3654,5.954,3655,6.435,3656,9.011,3657,8.337,3658,10.398,3659,5.211,3660,9.011,3661,9.011,3662,6.435,3663,6.435,3664,5.637,3665,6.435,3666,6.435,3667,9.011,3668,6.435,3669,6.435,3670,6.435,3671,4.235,3672,6.435,3673,6.435,3674,6.435,3675,6.435,3676,5.4,3677,6.435,3678,6.435,3679,6.435,3680,6.435,3681,6.435]],["title/injectables/BoardRepo.html",[539,0.921,3003,5.125]],["body/injectables/BoardRepo.html",[0,0.196,3,0.013,4,0.013,5,0.006,7,0.083,8,1.01,10,3.394,12,3.753,18,4.18,26,2.701,27,0.526,29,0.992,30,0.001,31,0.716,32,0.162,33,0.599,34,1.392,35,1.517,36,2.773,40,4.028,95,0.116,99,0.936,101,0.009,103,0,104,0,154,1.16,155,2.717,180,1.448,226,0.845,236,0.941,262,3.057,349,1.222,382,3.197,437,1.652,479,4.809,539,1.119,541,1.388,603,2.635,604,4.034,608,3.069,679,7.023,685,3.497,686,3.792,687,4.814,711,3.454,712,3.491,713,3.454,714,3.491,716,3.454,717,3.491,718,3.081,849,3.206,1218,2.19,1920,5.491,1926,4.035,1944,5.829,2668,3.657,2691,6.385,2695,6.764,2697,6.764,2739,4.45,3003,6.232,3682,5.785,3683,8.354,3684,8.354,3685,8.354,3686,8.354,3687,8.354,3688,5.785,3689,8.354,3690,5.785,3691,5.785,3692,8.354,3693,5.785,3694,8.354,3695,5.785,3696,5.785,3697,3.989,3698,5.785,3699,8.354,3700,5.785,3701,5.785,3702,5.067,3703,5.785,3704,5.785,3705,5.785,3706,5.785,3707,5.785,3708,9.805,3709,9.071,3710,5.785,3711,5.785,3712,5.785,3713,5.785,3714,5.785]],["title/classes/BoardResponse.html",[0,0.232,2964,5.765]],["body/classes/BoardResponse.html",[0,0.281,2,0.92,3,0.018,4,0.018,5,0.009,7,0.119,27,0.534,29,0.659,30,0.001,31,0.476,32,0.172,33,0.566,34,2.156,47,0.878,95,0.148,101,0.013,103,0.001,104,0.001,112,0.819,138,2.243,150,1.875,245,3.406,247,3.578,253,4.11,379,1.352,404,3.324,556,2.032,774,4.245,819,4.189,1271,4.039,2779,5.948,2782,6.769,2784,3.942,2917,5.474,2918,5.747,2919,5.747,2964,10.857,2965,10.125,3261,9.652,3715,8.318,3716,7.726,3717,8.318,3718,8.318,3719,8.318,3720,6.929,3721,8.318,3722,8.318,3723,8.318,3724,5.555,3725,6.98,3726,5.555]],["title/classes/BoardResponseMapper.html",[0,0.232,2968,6.018]],["body/classes/BoardResponseMapper.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,8,1.331,27,0.358,29,0.688,30,0.001,31,0.497,32,0.143,33,0.416,34,1.448,35,1.053,95,0.15,99,1.406,100,2.96,101,0.013,103,0.001,104,0.001,226,1.27,236,1.967,349,1.134,376,3.531,413,3.639,437,1.146,521,3.432,529,2.487,604,3.576,739,4.759,782,5.19,783,6.155,1271,2.713,1284,4.944,1925,7.589,1944,3.671,2340,5.245,2692,6.719,2806,5.494,2964,10.665,2968,9.646,2969,7.293,2990,8.041,3081,6.215,3261,6.484,3573,8.041,3716,5.19,3720,6.444,3727,11.012,3728,10.189,3729,7.613,3730,8.417,3731,5.804,3732,7.613,3733,8.691,3734,8.691,3735,8.691,3736,7.613,3737,6.215,3738,8.691,3739,8.691]],["title/controllers/BoardSubmissionController.html",[259,2.631,2762,6.018]],["body/controllers/BoardSubmissionController.html",[0,0.174,3,0.011,4,0.011,5,0.006,7,0.074,8,0.928,27,0.378,29,0.726,30,0.001,31,0.525,32,0.18,33,0.439,35,1.111,36,2.175,95,0.149,100,1.755,101,0.008,103,0,104,0,138,1.645,150,1.162,177,1.705,223,2.148,226,0.753,236,1.249,259,1.973,261,2.471,262,2.733,270,6.192,278,5.206,282,7.112,287,7.495,290,7.414,294,6.445,319,3.242,324,4.649,333,4.33,334,3.345,335,6.132,336,8.091,337,2.686,338,2.745,340,2.5,343,2.766,346,5.476,347,4.625,349,0.79,379,0.651,437,1.502,603,1.894,608,2.123,631,3.891,685,3.213,824,3.61,827,4.448,1266,6.891,1942,3.839,1944,2.177,2530,6.067,2681,4.922,2753,7.202,2755,7.426,2756,7.695,2762,6.723,2764,2.443,2765,4.515,2766,4.769,2767,4.769,2883,5.247,2884,3.11,2933,6.692,2935,5.726,2937,7.01,2938,5.867,2941,7.977,2943,4.174,2956,9.264,2958,4.536,2961,3.686,2962,2.906,2963,2.705,2970,4.174,2980,4.174,2981,4.174,3122,3.317,3222,4.914,3309,4.852,3366,3.792,3740,10.16,3741,5.154,3742,4.366,3743,7.695,3744,7.695,3745,8.485,3746,4.769,3747,10.334,3748,8.526,3749,5.154,3750,5.154,3751,5.488,3752,4.515,3753,5.154,3754,5.154,3755,5.154,3756,8.9,3757,5.154,3758,5.154,3759,5.154,3760,5.154,3761,5.154,3762,8.9,3763,5.154,3764,5.154,3765,5.154,3766,3.94,3767,3.218,3768,6.441,3769,5.154,3770,5.154,3771,5.488,3772,3.686,3773,3.94,3774,4.325,3775,5.154,3776,5.154,3777,4.515,3778,5.154,3779,4.536,3780,5.154,3781,4.769,3782,5.154,3783,5.154,3784,5.154,3785,7.675,3786,4.769,3787,5.154,3788,3.218,3789,4.683,3790,4.174,3791,4.174,3792,5.154,3793,5.154,3794,4.769]],["title/classes/BoardTaskResponse.html",[0,0.232,3463,5.765]],["body/classes/BoardTaskResponse.html",[0,0.227,2,0.744,3,0.015,4,0.015,5,0.007,7,0.096,27,0.557,29,0.532,30,0.001,31,0.713,32,0.175,33,0.646,34,2.008,47,0.939,83,3.744,95,0.126,101,0.01,103,0,104,0,112,0.711,138,2.398,149,5.097,150,1.515,153,2.442,245,3.439,247,2.892,347,4.355,376,4.895,377,5.089,379,1.173,404,2.687,406,4.057,408,4.057,774,3.431,1944,2.839,1948,7.339,1986,3.896,2044,2.613,2686,3.036,2692,7.202,2769,10.698,2770,10.698,2779,4.807,2782,7.257,3289,5.507,3463,10.11,3481,8.136,3795,6.722,3796,6.906,3797,6.646,3798,6.722,3799,6.722,3800,6.722,3801,6.722,3802,6.722,3803,6.722,3804,6.722,3805,6.722,3806,6.722,3807,8.931,3808,6.722,3809,6.722,3810,5.279]],["title/classes/BoardTaskStatusMapper.html",[0,0.232,3811,6.018]],["body/classes/BoardTaskStatusMapper.html",[0,0.331,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,8,1.434,27,0.404,29,0.776,30,0.001,31,0.561,32,0.127,33,0.469,35,1.187,95,0.14,99,1.586,100,4.041,101,0.015,103,0.001,104,0.001,236,1.595,347,3.543,349,1.009,413,3.841,437,1.293,783,6.631,790,4.936,3807,10.706,3811,10.392,3812,11.864,3813,9.802,3814,10.392,3815,8.854,3816,9.802,3817,9.802]],["title/classes/BoardTaskStatusResponse.html",[0,0.232,3807,5.765]],["body/classes/BoardTaskStatusResponse.html",[0,0.261,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,27,0.546,29,0.611,30,0.001,31,0.441,32,0.172,33,0.369,55,2.652,95,0.091,101,0.012,103,0.001,104,0.001,112,0.78,119,2.691,138,2.327,150,1.74,245,3.602,379,1.288,774,3.939,2686,6.067,2692,7.103,2769,10.55,2770,10.55,3807,10.601,3818,7.141,3819,8.568,3820,8.865,3821,8.313,3822,8.313,3823,9.033,3824,8.568,3825,7.141,3826,7.718,3827,7.718,3828,7.718,3829,7.718,3830,7.718,3831,7.718,3832,6.476,3833,7.141,3834,6.476,3835,6.25,3836,7.141,3837,7.141]],["title/injectables/BoardUc.html",[539,0.921,2752,5.563]],["body/injectables/BoardUc.html",[0,0.153,3,0.01,4,0.01,5,0.005,7,0.065,8,0.841,26,2.887,27,0.503,29,0.966,30,0.001,31,0.697,32,0.158,33,0.583,35,1.447,36,2.759,39,3.524,47,0.595,55,1.731,59,1.392,95,0.138,99,0.732,101,0.007,103,0,104,0,177,2.015,180,1.205,226,0.661,262,3.022,349,0.872,379,0.878,382,2.522,437,1.536,448,4.692,539,0.932,541,1.085,560,1.861,603,1.963,608,3.08,639,2.132,1107,6.764,1271,3.203,1341,1.454,1687,7.075,1688,4.576,1758,6.01,1826,3.021,1861,4.972,1913,8.624,1925,2.701,1944,5.24,2312,3.515,2313,4.337,2512,5.193,2513,8.28,2515,5.46,2516,5.46,2517,3.301,2518,8.03,2520,3.374,2521,5.074,2522,4.972,2524,3.552,2525,5.619,2527,3.552,2528,4.972,2531,2.097,2544,8.417,2692,5.425,2752,5.631,2926,7.837,2927,7.837,2930,7.837,3157,3.374,3321,3.962,3356,3.235,3436,7.843,3523,11.297,3594,8.86,3595,9.136,3838,4.523,3839,8.47,3840,8.47,3841,8.796,3842,4.523,3843,6.953,3844,4.523,3845,6.953,3846,4.523,3847,6.953,3848,4.523,3849,6.953,3850,4.523,3851,4.523,3852,7.978,3853,9.507,3854,4.523,3855,6.953,3856,4.523,3857,3.663,3858,3.663,3859,3.663,3860,3.301,3861,4.523,3862,3.663,3863,3.663,3864,4.523,3865,7.905,3866,10.261,3867,4.523,3868,4.523,3869,4.523,3870,4.523,3871,4.185,3872,7.837,3873,4.523,3874,4.523]],["title/classes/BoardUrlParams.html",[0,0.232,2932,6.018]],["body/classes/BoardUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,1944,5.041,2932,10.453,3523,10.751,3875,9.897,3876,5.849,3877,9.897]],["title/classes/BruteForceError.html",[0,0.232,1613,6.018]],["body/classes/BruteForceError.html",[0,0.257,2,0.84,3,0.017,4,0.017,5,0.008,7,0.109,8,1.219,27,0.552,29,0.601,30,0.001,31,0.434,32,0.179,33,0.542,35,0.919,47,0.907,55,2.639,95,0.119,101,0.012,103,0.001,104,0.001,112,0.772,138,2.253,154,1.522,177,2.598,180,1.748,182,2.403,226,1.108,292,3.847,340,3.681,347,2.743,379,0.958,382,3.846,821,5.594,824,2.696,951,5.308,988,3.31,990,4.136,1025,5.225,1269,8.361,1270,6.502,1271,3.767,1272,7.251,1276,4.924,1277,4.241,1278,4.924,1279,4.924,1280,4.924,1281,4.924,1282,4.924,1283,4.579,1284,4.317,1290,4.797,1613,8.833,1638,11.949,3878,11.325,3879,7.588,3880,10.084,3881,10.084,3882,7.021,3883,7.588,3884,7.588]],["title/injectables/BsonConverter.html",[539,0.921,3885,5.765]],["body/injectables/BsonConverter.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,8,1.248,27,0.426,29,0.818,30,0.001,31,0.591,32,0.134,33,0.494,35,1.483,95,0.122,101,0.012,103,0.001,104,0.001,153,2.369,226,1.149,333,4.401,349,1.063,437,1.362,524,4.475,539,1.384,541,1.887,573,9.15,1218,4.94,1503,9.844,2236,9.844,3885,8.666,3886,7.867,3887,9.555,3888,9.555,3889,10.327,3890,7.867,3891,10.327,3892,11.152,3893,9.612,3894,9.63,3895,9.132,3896,11.325,3897,12.241,3898,10.327,3899,7.867,3900,10.327,3901,7.867,3902,7.867,3903,9.046,3904,7.867]],["title/classes/Builder.html",[0,0.232,2063,4.66]],["body/classes/Builder.html",[0,0.323,2,1.056,3,0.021,4,0.021,5,0.011,7,0.137,8,1.411,27,0.52,29,0.756,30,0.001,31,0.546,32,0.151,33,0.457,35,1.157,101,0.015,103,0.001,104,0.001,112,0.893,177,2.346,349,0.983,379,1.206,448,5.083,454,6.059,479,5.09,1998,6.847,2063,7.92,2064,10.584,3905,9.549,3906,11.677,3907,11.677,3908,11.677,3909,9.549,3910,11.677]],["title/classes/BusinessError.html",[0,0.232,1269,4.24]],["body/classes/BusinessError.html",[0,0.341,2,0.675,3,0.013,4,0.013,5,0.007,7,0.088,8,1.049,9,4.813,27,0.513,29,0.483,30,0.001,31,0.349,32,0.177,33,0.483,35,0.739,47,0.848,55,1.773,59,2.67,95,0.13,101,0.009,103,0,104,0,112,0.664,133,2.097,138,2.084,149,3.347,150,1.374,153,2.771,177,2.546,180,1.504,182,1.931,226,0.891,236,1.643,245,2.989,347,3.135,349,0.628,379,1.095,437,0.804,448,3.495,556,1.49,590,3.763,604,2.509,774,3.112,821,5.099,824,3.082,951,6.214,988,5.07,990,4.429,1025,4.788,1218,2.309,1269,5.353,1270,7.419,1271,3.965,1272,7.042,1277,3.408,1283,7.499,1284,6.257,1289,3.763,1290,6.383,1297,7.238,1412,7.598,1568,3.904,2000,4.98,2088,3.956,2566,3.878,2784,4.111,3601,3.495,3730,8.407,3911,6.097,3912,7.024,3913,7.024,3914,5.981,3915,6.63,3916,5.554,3917,9.634,3918,9.758,3919,8.674,3920,6.097,3921,6.097,3922,6.097,3923,6.097,3924,6.097,3925,6.097,3926,6.097,3927,5.341,3928,5.641,3929,5.641,3930,6.63,3931,8.026,3932,8.674,3933,6.097,3934,6.097]],["title/injectables/CacheService.html",[539,0.921,3935,5.765]],["body/injectables/CacheService.html",[0,0.335,3,0.022,4,0.022,5,0.011,7,0.142,8,1.445,27,0.409,30,0.001,35,1.202,95,0.152,101,0.015,103,0.001,104,0.001,226,1.449,349,1.022,539,1.601,541,2.38,1403,7.402,2079,4.391,2080,4.902,2081,4.729,3935,10.029,3936,9.922,3937,13.313,3938,9.922,3939,11.235,3940,5.594,3941,9.922,3942,7.583,3943,9.179,3944,8.691,3945,9.922]],["title/modules/CacheWrapperModule.html",[201,1.845,1418,5.563]],["body/modules/CacheWrapperModule.html",[0,0.269,3,0.017,4,0.017,5,0.009,30,0.001,47,0.73,95,0.16,101,0.012,103,0.001,104,0.001,105,0.81,201,3.111,203,2.881,204,3.088,205,3.175,206,3.162,207,3.15,208,4.276,209,4.386,214,4.844,218,4.154,219,3.112,220,3.042,225,4.137,226,1.16,349,1.07,437,1.528,637,5.681,639,3.744,685,4.351,990,2.723,1262,2.776,1341,2.553,1418,10.947,1880,8.416,2079,3.516,2080,3.925,2081,3.787,2312,3.297,2313,5.285,3601,3.201,3935,11.901,3939,6.958,3940,4.479,3942,8.854,3944,6.958,3946,7.944,3947,7.944,3948,7.944,3949,7.944,3950,10.393,3951,10.393,3952,6.958,3953,6.238,3954,8.162,3955,8.721,3956,7.944,3957,7.944,3958,7.944,3959,9.616,3960,7.35,3961,7.944,3962,6.958,3963,7.35,3964,6.958,3965,6.958,3966,7.35]],["title/classes/CalendarEventDto.html",[0,0.232,3967,5.765]],["body/classes/CalendarEventDto.html",[0,0.331,2,1.082,3,0.021,4,0.021,5,0.011,7,0.14,27,0.526,29,0.775,30,0.001,31,0.559,32,0.165,33,0.468,47,0.931,100,3.33,101,0.015,103,0.001,104,0.001,112,0.906,379,1.235,1271,3.979,2784,4.634,3967,11.386,3968,13.248,3969,9.778,3970,8.788,3971,9.941,3972,11.847,3973,9.778,3974,9.778,3975,9.047,3976,9.047]],["title/injectables/CalendarMapper.html",[539,0.921,3977,5.765]],["body/injectables/CalendarMapper.html",[0,0.322,3,0.021,4,0.021,5,0.011,7,0.137,8,1.409,27,0.393,29,0.755,30,0.001,31,0.545,32,0.123,33,0.456,35,1.154,95,0.149,101,0.015,103,0.001,104,0.001,226,1.391,236,1.55,349,0.981,416,9.442,437,1.256,539,1.562,541,2.285,1271,2.974,3967,11.018,3970,8.04,3977,9.784,3978,9.526,3979,11.66,3980,11.018,3981,9.526,3982,7.714,3983,9.526,3984,8.814,3985,8.814,3986,8.814,3987,7.714,3988,9.526,3989,9.526,3990,7.281,3991,9.526]],["title/modules/CalendarModule.html",[201,1.845,3992,5.765]],["body/modules/CalendarModule.html",[0,0.315,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.353,203,3.384,204,3.627,205,3.729,206,3.714,207,3.699,208,4.608,209,4.727,218,4.601,219,3.655,220,3.572,225,3.714,226,1.363,964,5.407,3977,11.444,3992,11.807,3993,9.33,3994,9.33,3995,9.33,3996,12.524,3997,9.33,3998,7.687,3999,9.33,4000,8.632]],["title/injectables/CalendarService.html",[539,0.921,3996,6.018]],["body/injectables/CalendarService.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.094,8,1.103,26,2.559,27,0.492,29,0.831,30,0.001,31,0.6,32,0.155,33,0.502,34,1.091,35,1.105,36,1.953,39,2.45,47,0.868,55,2.145,95,0.159,99,1.059,101,0.01,103,0,104,0,112,0.698,137,4.089,177,2.405,226,0.957,236,1.708,262,2.315,271,3.379,345,2.08,349,0.939,360,5.321,379,0.827,437,1.203,529,1.874,539,1.222,541,1.571,593,2.444,603,2.747,963,8.673,964,3.795,966,4.31,1074,5.006,1079,3.871,1226,4.399,1227,4.683,1228,5.143,1262,3.967,1504,5.737,1694,4.042,1970,6.523,1971,5.291,1982,4.596,2079,2.899,2080,3.236,2081,3.122,2195,5.971,2214,9.194,2215,11.043,2244,8.023,2245,7.655,2260,6.059,2268,6.059,2269,6.059,2280,6.059,2291,6.059,2292,6.059,2294,6.059,2567,4.683,3940,3.692,3967,5.496,3977,10.641,3980,5.496,3984,6.059,3985,6.059,3986,6.059,3996,7.99,4000,6.059,4001,6.549,4002,10.497,4003,9.122,4004,6.059,4005,9.122,4006,9.122,4007,11.352,4008,6.549,4009,9.192,4010,6.549,4011,6.549,4012,6.549,4013,6.549,4014,9.122,4015,6.549,4016,6.549,4017,6.549,4018,4.886,4019,6.549,4020,6.549,4021,6.549]],["title/classes/Card.html",[0,0.232,2854,3.908]],["body/classes/Card.html",[0,0.197,2,0.645,3,0.013,4,0.013,5,0.009,7,0.084,8,1.015,27,0.548,29,0.994,30,0.001,31,0.718,32,0.168,33,0.6,35,1.548,36,1.797,47,0.802,55,2.505,59,1.793,95,0.145,101,0.015,103,0,104,0,105,0.594,112,0.642,119,2.042,137,5.243,180,1.707,262,2.171,349,1.109,381,2.842,382,3.737,437,0.768,448,3.383,474,2.472,479,3.078,517,3.167,519,3.661,564,1.824,604,4.894,608,1.349,662,2.599,686,3.811,1218,2.206,1271,3.713,1664,2.182,1665,5.163,1668,6.147,1739,3.872,1944,2.461,2232,3.285,2512,6.221,2548,1.966,2786,7.799,2789,6.004,2790,6.004,2791,6.004,2792,5.607,2793,6.004,2795,3.731,2796,5.182,2797,6.367,2799,5.892,2800,5.182,2801,6.243,2803,4.089,2804,4.472,2806,6.223,2807,4.089,2809,6.004,2811,4.089,2813,3.731,2840,5.123,2854,6.128,2861,5.525,2864,5.182,2867,5.525,2870,5.123,2873,5.308,2880,8.333,2881,4.347,2882,2.777,2883,2.592,2884,3.516,3275,7.616,4022,5.391,4023,5.826,4024,5.826,4025,5.391,4026,4.252,4027,4.252,4028,4.252,4029,4.889,4030,5.826,4031,5.104,4032,5.826,4033,5.826,4034,5.826,4035,5.826,4036,5.826,4037,3.683,4038,5.79,4039,4.575,4040,7.769,4041,5.391,4042,5.123,4043,5.391,4044,5.391,4045,5.104,4046,5.391]],["title/controllers/CardController.html",[259,2.631,2760,6.018]],["body/controllers/CardController.html",[0,0.129,3,0.008,4,0.008,5,0.004,7,0.055,8,0.735,10,3.082,27,0.416,29,0.799,30,0.001,31,0.577,32,0.183,33,0.482,35,1.221,36,2.583,95,0.13,100,1.298,101,0.006,103,0,104,0,138,1.808,150,0.859,177,1.131,223,1.589,226,0.557,236,1.234,259,1.459,261,1.827,262,2.848,270,6.388,278,4.124,282,7.534,284,1.154,287,7.94,290,8.471,294,6.74,310,2.64,319,2.568,324,4.795,333,4.031,334,2.473,335,6.384,336,8.357,337,1.986,338,2.03,340,1.849,343,2.045,345,1.21,346,6.019,347,4.815,349,0.626,437,1.395,565,2.276,603,0.787,608,2.333,631,1.932,685,2.545,739,2.627,824,2.16,1266,7.175,1271,1.898,1942,3.176,2511,3.086,2530,6.316,2681,5.41,2753,5.957,2754,6.142,2760,5.326,2764,1.806,2854,5.735,2933,7.356,2935,4.536,2937,7.705,2938,7.229,2941,7.639,2943,7.01,2956,9.621,2957,7.01,2958,5.116,2961,2.725,2962,2.149,2963,2,2970,3.086,2980,7.01,2981,7.01,2984,3.338,3269,6.617,3275,3.893,3309,6.944,3430,4.192,3569,3.526,3743,6.365,3746,3.526,3748,7.264,3751,4.348,3752,3.338,3766,4.647,3767,2.38,3771,5.424,3772,5.424,3773,2.913,3788,2.38,3789,5.771,3790,3.086,3791,3.086,4047,3.811,4048,5.625,4049,7.585,4050,6.644,4051,7.018,4052,7.018,4053,11.116,4054,3.811,4055,5.798,4056,3.811,4057,3.811,4058,3.811,4059,3.811,4060,8.657,4061,3.811,4062,3.811,4063,3.811,4064,7.585,4065,7.583,4066,3.811,4067,3.811,4068,3.811,4069,3.811,4070,3.811,4071,7.583,4072,3.811,4073,3.811,4074,3.811,4075,7.583,4076,3.811,4077,3.811,4078,3.811,4079,3.811,4080,3.811,4081,2.409,4082,6.644,4083,4.647,4084,4.647,4085,3.811,4086,3.811,4087,3.198,4088,3.811,4089,5.326,4090,3.811,4091,6.08,4092,3.811,4093,6.08,4094,3.526,4095,3.811,4096,3.811,4097,9.459,4098,3.811,4099,3.338,4100,3.811,4101,3.811,4102,3.811,4103,3.811,4104,3.811,4105,3.811,4106,3.811,4107,3.811,4108,3.338,4109,3.338,4110,3.338,4111,3.811,4112,4.647,4113,3.811,4114,3.338]],["title/classes/CardIdsParams.html",[0,0.232,4065,6.018]],["body/classes/CardIdsParams.html",[0,0.399,2,1.074,3,0.021,4,0.021,5,0.011,7,0.139,27,0.4,30,0.001,32,0.165,47,0.951,95,0.139,101,0.015,103,0.001,104,0.001,112,0.902,138,1.741,143,2.151,148,3.014,150,2.188,153,2.227,245,3.033,556,2.372,565,8.086,808,4.676,1732,6.19,2406,5.426,4065,10.332,4115,10.913,4116,9.708,4117,9.708,4118,7.861,4119,6.971,4120,9.708]],["title/classes/CardListResponse.html",[0,0.232,4082,6.018]],["body/classes/CardListResponse.html",[0,0.326,2,1.067,3,0.021,4,0.021,5,0.011,7,0.138,27,0.484,29,0.764,30,0.001,31,0.551,32,0.164,33,0.461,95,0.139,101,0.015,103,0.001,104,0.001,112,0.899,138,1.729,150,2.173,245,3.02,284,4.091,379,1.483,556,2.355,774,4.919,814,6.764,819,4.854,834,5.255,4082,11.838,4115,11.719,4121,9.639,4122,10.675,4123,9.639,4124,9.639]],["title/entities/CardNode.html",[154,1.378,3195,5.395]],["body/entities/CardNode.html",[0,0.303,3,0.02,4,0.02,5,0.01,7,0.129,27,0.37,30,0.001,32,0.145,55,2.505,95,0.156,96,2.372,101,0.017,103,0.001,104,0.001,105,0.913,112,0.859,138,1.607,154,2.252,155,2.914,172,3.816,173,2.598,180,1.946,181,2.419,349,0.923,403,5.008,437,1.182,1664,3.355,1665,4.619,2565,5.097,2566,4.005,2854,6.386,3171,5.935,3182,6.774,3195,8.815,3249,5.529,3268,9.833,3275,8.228,3307,6.077,3417,6.077,3618,6.848,3620,6.927,3641,5.595,4125,10.386,4126,5.737,4127,8.289,4128,5.737,4129,9.833,4130,7.518,4131,8.289,4132,8.289]],["title/interfaces/CardNodeProps.html",[105,0.7,4129,6.018]],["body/interfaces/CardNodeProps.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.146,55,2.63,95,0.157,96,2.382,101,0.017,103,0.001,104,0.001,105,0.917,107,2.111,112,0.861,154,2.258,172,3.504,173,2.609,180,2.129,181,2.429,349,0.927,403,5.03,437,1.187,1664,3.37,1665,4.632,2565,5.119,2566,4.023,2854,6.403,3171,5.951,3182,6.793,3195,7.067,3249,5.553,3268,9.86,3275,8.484,3307,6.104,3417,6.104,3618,6.878,3620,7.58,3641,5.619,4125,8.326,4126,5.762,4128,5.762,4129,10.759,4130,7.552,4131,8.326,4132,8.326]],["title/interfaces/CardProps.html",[105,0.7,4045,6.018]],["body/interfaces/CardProps.html",[0,0.258,3,0.017,4,0.017,5,0.011,7,0.11,30,0.001,32,0.147,36,1.637,47,0.885,55,2.574,95,0.156,101,0.017,103,0.001,104,0.001,105,0.779,107,1.793,112,0.775,119,1.585,180,1.971,262,1.686,349,1.246,437,1.008,474,3.244,517,3.823,519,2.353,564,2.394,604,5.325,608,1.769,1218,2.895,1271,4.04,1664,2.863,1665,5.182,1739,4.673,1944,3.229,2232,4.31,2512,4.858,2548,2.579,2786,6.183,2796,4.718,2797,5.989,2800,4.718,2801,5.873,2809,5.467,2840,6.936,2854,6.466,2861,6.669,2864,6.254,2867,6.669,2870,6.183,2873,6.406,2880,9.19,2881,5.703,2882,3.644,2883,3.401,2884,4.614,3275,8.287,4022,7.073,4037,4.833,4038,6.988,4039,6.004,4040,9.376,4041,7.073,4042,6.183,4043,7.073,4044,7.073,4045,8.877,4046,7.073]],["title/classes/CardResponse.html",[0,0.232,4122,5.563]],["body/classes/CardResponse.html",[0,0.24,2,0.787,3,0.016,4,0.016,5,0.008,7,0.102,27,0.535,29,0.563,30,0.001,31,0.407,32,0.171,33,0.524,34,2.048,47,0.826,55,1.973,95,0.145,101,0.011,103,0.001,104,0.001,112,0.739,138,2.273,149,3.724,150,1.603,245,3.439,247,3.058,253,3.513,379,1.219,404,2.842,556,1.737,774,3.629,819,3.581,827,5.594,849,6.811,1271,3.836,1732,5.066,1942,2.977,2511,8.874,2782,6.102,2784,3.37,2917,4.679,2918,5.181,2919,5.181,3275,7.868,3481,6.228,3716,7.338,3720,6.413,3724,4.748,3726,4.748,3766,7.378,3767,4.44,3771,6.902,3772,6.902,3788,4.44,3789,7.498,3790,5.758,3791,5.758,4055,7.378,4083,7.378,4084,7.378,4108,6.228,4109,6.228,4110,6.228,4122,9.951,4130,5.967,4133,7.11,4134,11.37,4135,7.11,4136,7.11,4137,7.11,4138,7.11,4139,7.11,4140,7.11,4141,9.196,4142,7.11,4143,6.228,4144,7.11,4145,6.228,4146,7.11]],["title/classes/CardResponseMapper.html",[0,0.232,4087,5.765]],["body/classes/CardResponseMapper.html",[0,0.308,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,8,1.372,27,0.376,29,0.722,30,0.001,31,0.522,32,0.118,33,0.436,34,1.52,35,1.105,95,0.146,99,1.475,100,3.106,101,0.014,103,0.001,104,0.001,236,2.011,349,0.939,376,3.706,413,3.72,437,1.203,739,4.905,782,5.446,783,6.344,788,6.804,849,5.055,1271,2.847,1942,3.818,2255,3.492,2854,7.567,3275,5.839,3716,5.446,3720,6.642,3737,6.522,3773,6.971,4087,9.525,4114,7.989,4122,10.472,4134,8.438,4141,9.525,4147,11.351,4148,11.351,4149,8.438,4150,7.989,4151,7.989,4152,7.653,4153,9.12,4154,9.12,4155,9.12]],["title/injectables/CardService.html",[539,0.921,3594,5.395]],["body/injectables/CardService.html",[0,0.178,3,0.012,4,0.012,5,0.006,7,0.076,8,0.944,10,3.172,12,3.508,26,2.399,27,0.514,29,0.987,30,0.001,31,0.713,32,0.162,33,0.596,34,0.879,35,1.478,36,2.883,47,0.653,49,1.968,55,2.347,59,2.403,83,2.246,95,0.136,99,0.853,101,0.008,103,0,104,0,177,1.729,226,0.77,236,1.785,262,3.077,349,0.957,376,2.143,377,2.228,379,0.986,437,1.447,524,3.001,529,1.509,539,1.046,541,1.265,565,3.149,603,2.372,604,2.17,608,2.977,685,3.269,1271,3.424,1912,8.673,1944,2.228,2255,2.02,2487,2.748,2681,2.831,2692,6.284,2794,3.637,2854,8.018,3149,3.935,3150,8.06,3269,5.968,3275,7.023,3336,6.552,3366,5.675,3427,8.867,3430,5.384,3436,7.854,3440,4.426,3594,6.132,4089,4.62,4151,4.62,4152,4.426,4156,5.275,4157,7.808,4158,7.808,4159,6.839,4160,5.275,4161,6.839,4162,10.46,4163,6.331,4164,5.275,4165,7.808,4166,5.275,4167,7.808,4168,5.275,4169,7.808,4170,5.275,4171,6.132,4172,7.808,4173,5.275,4174,7.808,4175,9.507,4176,5.275,4177,7.808,4178,5.275,4179,7.808,4180,5.275,4181,4.271,4182,5.275,4183,5.275,4184,5.275,4185,5.275,4186,5.275,4187,4.88,4188,3.255,4189,4.88,4190,5.275,4191,5.275,4192,5.275,4193,5.275,4194,7.808,4195,7.808,4196,7.808,4197,5.275]],["title/classes/CardSkeletonResponse.html",[0,0.232,4198,5.765]],["body/classes/CardSkeletonResponse.html",[0,0.293,2,0.96,3,0.019,4,0.019,5,0.01,7,0.124,27,0.498,29,0.687,30,0.001,31,0.496,32,0.157,33,0.415,47,0.772,55,2.248,72,4.966,95,0.102,101,0.013,103,0.001,104,0.001,112,0.841,138,1.972,150,1.955,153,1.99,245,3.106,253,4.285,379,1.389,480,3.059,755,7.237,774,4.426,821,4.02,1128,7.136,2460,8.406,2854,6.256,2917,5.707,2918,5.902,2919,5.902,3275,8.709,3452,7.583,4130,7.278,4171,10.291,4198,10.997,4199,12.699,4200,8.673,4201,8.673,4202,8.673,4203,10.997,4204,9.633,4205,10.997,4206,9.633,4207,10.997,4208,10.175,4209,10.175,4210,8.673,4211,8.673]],["title/injectables/CardUc.html",[539,0.921,2753,5.395]],["body/injectables/CardUc.html",[0,0.134,3,0.009,4,0.009,5,0.004,7,0.057,8,0.759,26,2.869,27,0.494,29,0.966,30,0.001,31,0.686,32,0.167,33,0.573,35,1.423,36,2.739,39,3.495,47,0.547,55,2.401,59,1.932,95,0.121,99,0.642,101,0.006,103,0,104,0,131,2.385,177,1.794,180,1.088,226,0.579,239,0.931,262,3.004,349,0.993,379,0.793,382,2.319,437,1.653,448,4.49,479,3.536,539,0.841,541,0.952,556,0.969,560,1.632,603,2.119,608,3.086,639,1.87,739,1.714,849,2.199,1107,7.093,1271,3.012,1341,1.275,1568,2.54,1673,2.448,1687,7.074,1688,2.611,1758,5.724,1826,2.649,1855,2.421,1857,3.115,1861,4.489,1912,6.462,1917,6.954,1923,3.212,1942,3.707,2312,3.232,2313,4.04,2357,2.895,2362,3.115,2512,5.152,2513,7.841,2515,4.929,2516,4.929,2517,2.895,2518,7.683,2520,2.96,2521,4.58,2522,4.489,2524,3.115,2525,5.233,2527,3.115,2528,6.332,2531,1.839,2532,5.684,2544,7.653,2753,4.929,2854,6.684,3157,2.96,3269,4.798,3275,6.177,3436,7.374,3594,8.439,3743,7.43,3857,3.212,3858,3.212,3859,3.212,3862,3.212,3863,3.212,3865,7.486,4042,3.83,4048,7.206,4050,3.475,4051,7.206,4052,7.206,4089,7.756,4112,7.841,4163,4.716,4171,10.048,4212,3.967,4213,6.277,4214,7.789,4215,6.536,4216,6.822,4217,3.967,4218,3.67,4219,3.967,4220,6.277,4221,3.967,4222,6.277,4223,7.789,4224,3.967,4225,6.277,4226,3.967,4227,3.967,4228,8.855,4229,3.967,4230,6.277,4231,3.967,4232,6.277,4233,3.967,4234,3.967,4235,3.967,4236,6.277,4237,3.967,4238,8.192,4239,3.967,4240,3.967,4241,3.967,4242,3.967,4243,6.277,4244,3.67,4245,7.206,4246,3.967,4247,3.967,4248,3.967,4249,3.967,4250,3.967,4251,3.967]],["title/classes/CardUrlParams.html",[0,0.232,4053,6.018]],["body/classes/CardUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2854,6.789,3876,5.849,4053,10.453,4171,10.061,4252,9.897,4253,9.897]],["title/classes/ChallengeParams.html",[0,0.232,4254,6.018]],["body/classes/ChallengeParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,47,0.836,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,128,4.855,135,6.651,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,245,3.06,248,4.756,257,7.348,4254,10.422,4255,9.849,4256,9.722,4257,9.849]],["title/classes/ChangeLanguageParams.html",[0,0.232,4258,5.765]],["body/classes/ChangeLanguageParams.html",[0,0.406,2,1.109,3,0.022,4,0.022,5,0.011,7,0.144,27,0.413,30,0.001,32,0.13,95,0.152,99,1.621,101,0.015,103,0.001,104,0.001,112,0.92,138,1.797,148,3.11,150,2.259,245,3.092,839,3.119,852,4.67,1108,7.691,2921,5.921,4258,10.088,4259,10.019,4260,9.059,4261,10.019,4262,10.019,4263,7.658]],["title/classes/Class.html",[0,0.319]],["body/classes/Class.html",[0,0.378,2,0.699,3,0.014,4,0.027,5,0.007,7,0.091,8,1.075,26,2.695,27,0.571,29,0.5,30,0.001,31,0.674,32,0.115,33,0.302,35,1.077,39,2.389,47,0.938,55,1.817,62,6.603,83,3.214,95,0.122,101,0.014,103,0,104,0,105,0.644,112,0.68,133,2.171,180,1.784,349,1.399,376,4.539,377,4.719,381,3.01,382,2.648,448,3.583,479,3.259,519,1.944,556,3.131,662,3.645,686,4.036,1661,4.928,1665,4.846,1668,6.427,1747,3.695,2501,3.01,2795,4.043,2813,4.043,2816,4.959,2818,4.959,2821,4.355,2822,4.355,4264,5.843,4265,8.227,4266,3.781,4267,7.84,4268,8.54,4269,8.153,4270,8.54,4271,7.063,4272,8.54,4273,8.54,4274,8.227,4275,6.315,4276,4.827,4277,6.315,4278,3.992,4279,6.315,4280,6.315,4281,6.315,4282,5.299,4283,6.315,4284,6.315,4285,6.315,4286,6.315,4287,6.315,4288,6.315,4289,6.315,4290,6.315,4291,6.315,4292,6.315,4293,6.315,4294,6.315,4295,6.315,4296,6.315,4297,6.315,4298,6.315,4299,6.315,4300,7.867,4301,5.299,4302,5.299,4303,5.299,4304,5.843,4305,8.227,4306,5.843,4307,5.843,4308,5.843,4309,5.843,4310,5.843,4311,5.843,4312,5.843,4313,5.843,4314,5.843,4315,5.843]],["title/entities/ClassEntity.html",[154,1.378,4316,5.013]],["body/entities/ClassEntity.html",[0,0.268,2,0.597,3,0.012,4,0.025,5,0.006,7,0.172,26,1.602,27,0.533,30,0.001,31,0.594,32,0.168,33,0.646,34,0.899,47,0.919,49,5.043,55,1.925,62,6.139,95,0.131,96,2.101,97,2.201,99,0.872,101,0.012,103,0,104,0,105,0.55,112,0.721,133,2.729,138,2.318,143,2.994,144,4.065,154,1.592,155,1.754,160,6.634,170,5.922,172,4.071,173,1.564,174,3.016,178,2.13,180,0.935,181,1.456,182,1.708,236,0.878,404,2.156,405,4.196,480,1.5,529,1.543,556,3.114,603,1.114,708,2.164,2044,2.097,4266,3.515,4267,7.289,4268,7.94,4269,8.079,4270,7.94,4271,6.998,4272,7.94,4273,7.94,4316,5.792,4317,4.99,4318,5.394,4319,5.394,4320,5.394,4321,5.394,4322,5.394,4323,6.661,4324,5.394,4325,8.694,4326,3.785,4327,5.394,4328,5.394,4329,5.394,4330,5.394,4331,5.394,4332,4.26,4333,3.156,4334,4.99,4335,7.903,4336,4.526,4337,9.611,4338,6.661,4339,4.99,4340,4.99,4341,4.526,4342,2.387,4343,3.156,4344,4.024,4345,7.344,4346,4.236,4347,4.99,4348,4.99,4349,7.344,4350,4.99,4351,7.344,4352,4.99,4353,4.99,4354,6.233,4355,4.024,4356,7.344,4357,4.99,4358,6.067,4359,3.719,4360,7.344,4361,4.99]],["title/classes/ClassEntityFactory.html",[0,0.232,4362,6.357]],["body/classes/ClassEntityFactory.html",[0,0.163,2,0.534,3,0.011,4,0.019,5,0.005,7,0.069,8,0.884,27,0.539,29,1.043,30,0.001,31,0.739,32,0.173,33,0.603,34,1.639,35,1.474,47,0.513,49,4.541,55,2.359,59,3.252,62,5.212,95,0.116,101,0.007,103,0,104,0,112,0.559,120,3.087,133,2.513,140,2.633,153,2.023,154,2.119,155,2.377,177,1.359,180,1.267,236,1.878,271,4.67,319,3.087,349,0.753,379,0.61,382,3.849,413,2.201,437,0.964,447,7.124,448,4.479,449,5.405,452,4.018,453,5.405,454,5.611,455,4.018,456,4.018,457,4.018,458,3.954,459,4.441,460,4.847,461,6.937,462,5.714,463,6.963,464,2.677,469,2.655,470,4.018,471,2.677,472,5.089,473,5.238,474,4.173,475,4.953,476,3.985,477,2.655,478,2.517,479,4.074,480,3.307,481,2.592,482,2.553,483,2.655,484,5.019,485,2.677,486,3.579,487,4.77,488,2.655,489,7.023,490,4.224,491,6.534,492,2.677,493,4.304,494,2.655,495,2.677,496,2.655,497,2.677,498,2.655,499,2.98,500,2.799,501,2.655,502,6.012,503,2.677,504,2.655,505,4.018,506,3.782,507,4.018,508,2.677,509,2.572,510,2.553,511,2.138,512,2.655,513,2.655,514,2.655,515,2.677,516,2.677,517,1.822,518,2.655,519,1.487,520,2.677,521,2.887,522,2.655,523,2.677,524,2.747,525,2.773,527,2.854,1732,2.535,2232,2.723,4266,1.635,4267,3.389,4268,3.692,4269,3.524,4270,3.692,4271,3.053,4272,3.692,4273,3.692,4316,3.524,4325,5.74,4335,4.053,4362,8.16,4363,4.83,4364,6.403,4365,6.763,4366,4.83,4367,4.053,4368,4.83,4369,4.83,4370,3.454,4371,3.692]],["title/classes/ClassFactory.html",[0,0.232,4372,6.357]],["body/classes/ClassFactory.html",[0,0.296,2,0.527,3,0.01,4,0.021,5,0.005,7,0.068,8,0.875,27,0.537,29,1.041,30,0.001,31,0.737,32,0.173,33,0.601,34,1.628,35,1.469,47,0.738,49,1.779,55,2.349,59,3.233,62,5.171,83,2.082,95,0.124,96,1.262,97,1.945,101,0.007,103,0,104,0,112,0.554,120,3.057,133,2.489,140,2.599,153,2.007,154,1.755,155,2.354,177,1.346,180,1.255,236,2.045,271,4.655,319,3.057,349,0.745,376,1.937,377,2.014,379,0.602,382,3.839,413,2.179,437,0.955,447,6.919,448,4.456,449,5.37,452,3.978,453,5.37,454,5.459,455,3.978,456,3.978,457,3.978,458,3.915,459,4.406,460,4.809,461,6.919,462,5.682,463,6.885,464,2.642,469,2.62,470,3.978,471,2.642,472,5.055,473,5.204,474,4.145,475,4.92,476,3.946,477,2.62,478,2.484,479,4.053,480,3.294,481,2.559,482,2.52,483,2.62,484,4.986,485,2.642,486,3.564,487,4.733,488,2.62,489,7.003,490,4.207,491,6.508,492,2.642,493,3.532,494,2.62,495,2.642,496,2.62,497,2.642,498,2.62,501,2.62,502,5.982,503,2.642,504,2.62,505,3.978,506,3.745,507,3.978,508,2.642,509,2.539,510,2.52,511,2.11,512,2.62,513,2.62,514,2.62,515,2.642,516,2.642,517,1.798,518,2.62,519,1.467,520,2.642,521,2.858,522,2.62,523,2.642,525,2.737,527,2.818,2232,2.688,3556,4,4188,7.307,4266,1.613,4267,3.346,4268,3.644,4269,3.479,4270,3.644,4271,3.014,4272,3.644,4273,3.644,4300,5.532,4301,4,4302,4,4364,6.34,4365,6.697,4370,3.409,4371,3.644,4372,8.095,4373,4.767,4374,6.14,4375,4.767,4376,3.409,4377,4.767,4378,4.767]],["title/classes/ClassFilterParams.html",[0,0.232,4379,6.018]],["body/classes/ClassFilterParams.html",[0,0.399,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.401,30,0.001,32,0.171,33,0.565,95,0.15,101,0.015,103,0.001,104,0.001,105,0.992,112,0.904,138,1.745,148,3.021,149,4.557,150,2.194,249,4.628,839,3.029,852,4.536,2922,5.663,4379,10.347,4380,10.929,4381,7.128,4382,8.166,4383,13.941,4384,9.732,4385,9.732,4386,9.732]],["title/classes/ClassInfoDto.html",[0,0.232,4387,5.563]],["body/classes/ClassInfoDto.html",[0,0.354,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,27,0.565,29,0.635,30,0.001,31,0.705,32,0.182,33,0.639,34,1.939,47,0.971,55,2.138,95,0.095,101,0.012,103,0.001,104,0.001,112,0.8,119,2.169,181,2.824,379,1.013,381,2.715,404,3.206,405,4.241,2044,3.119,2426,5.532,2566,3.586,4342,3.551,4387,10.358,4388,13.819,4389,7.422,4390,9.766,4391,9.766,4392,7.772,4393,9.766,4394,10.768,4395,10.46,4396,8.022,4397,8.022,4398,8.022,4399,8.022,4400,8.022,4401,8.022,4402,10.195,4403,8.022,4404,4.841,4405,7.422,4406,7.422,4407,8.022,4408,8.022,4409,6.132,4410,6.3,4411,7.422,4412,7.422,4413,7.422,4414,7.422]],["title/classes/ClassInfoResponse.html",[0,0.232,4415,5.765]],["body/classes/ClassInfoResponse.html",[0,0.249,2,0.814,3,0.016,4,0.016,5,0.008,7,0.106,27,0.555,29,0.583,30,0.001,31,0.682,32,0.181,33,0.625,34,1.858,47,0.964,55,2.018,95,0.117,101,0.011,103,0.001,104,0.001,112,0.756,119,2.048,138,2.384,149,5.045,150,1.658,181,2.666,245,3.463,379,0.929,381,2.489,404,2.94,405,3.888,556,1.797,819,3.704,839,2.289,2044,2.859,2162,5.776,2426,5.071,2566,3.288,2921,4.347,4342,3.255,4390,9.356,4391,9.356,4392,7.445,4393,9.356,4402,10.889,4404,4.438,4405,6.805,4406,6.805,4409,5.622,4410,5.776,4411,6.805,4412,6.805,4413,6.805,4414,6.805,4415,10.432,4416,12.588,4417,7.138,4418,9.875,4419,7.355,4420,7.355,4421,6.805,4422,7.355,4423,7.355,4424,6.442,4425,7.355,4426,7.355,4427,7.355,4428,7.355]],["title/classes/ClassInfoSearchListResponse.html",[0,0.232,4429,5.765]],["body/classes/ClassInfoSearchListResponse.html",[0,0.35,2,0.874,3,0.025,4,0.017,5,0.009,7,0.113,27,0.525,29,0.626,30,0.001,31,0.452,32,0.177,33,0.609,55,2.896,56,6.298,59,3.187,70,6.577,95,0.136,101,0.012,103,0.001,104,0.001,112,0.792,138,2.199,150,1.78,180,1.795,245,2.663,247,3.397,284,3.853,379,0.997,382,3.65,556,1.929,813,7.265,814,5.542,815,8.213,816,7.12,817,5.944,818,7.307,819,3.977,820,7.307,821,5.354,822,3.831,823,4.207,824,2.806,825,5.542,826,6.718,827,6,828,5.197,829,4.086,830,5.542,831,5.542,833,4.992,834,4.306,4415,11.168,4416,9.579,4429,8.688,4430,6.627]],["title/classes/ClassMapper.html",[0,0.232,4431,6.018]],["body/classes/ClassMapper.html",[0,0.466,2,0.761,3,0.015,4,0.025,5,0.008,7,0.099,8,1.141,27,0.478,29,0.918,30,0.001,31,0.718,32,0.15,33,0.555,34,1.573,35,1.404,49,2.568,62,5.579,95,0.137,96,1.822,97,2.808,101,0.011,103,0,104,0,154,1.893,155,2.238,236,2.13,349,1.194,376,2.796,377,2.907,413,4.117,556,2.833,603,2.225,725,5.022,1665,2.832,1778,2.696,2323,4.465,2359,4.921,2364,4.745,4266,3.195,4267,6.624,4268,7.215,4269,6.888,4270,7.215,4271,5.967,4272,7.215,4273,7.215,4300,7.215,4301,5.775,4316,9.98,4371,5.26,4431,8.269,4432,6.882,4433,7.921,4434,8.734,4435,8.734,4436,7.921,4437,7.921,4438,6.882,4439,8.734,4440,6.882,4441,8.734,4442,6.882,4443,7.921,4444,6.882,4445,6.882,4446,4.247,4447,5.404,4448,6.882,4449,6.882,4450,6.882,4451,6.882,4452,6.882,4453,6.882,4454,6.882,4455,6.882,4456,6.028,4457,6.882,4458,6.882,4459,6.882,4460,5.26,4461,5.26,4462,6.028,4463,6.882,4464,6.882,4465,6.882,4466,6.882,4467,6.882,4468,6.882,4469,6.882,4470,6.882,4471,6.367,4472,6.882,4473,6.882,4474,6.882,4475,6.882,4476,6.367,4477,6.028,4478,6.367]],["title/modules/ClassModule.html",[201,1.845,4479,5.765]],["body/modules/ClassModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.149,101,0.015,103,0.001,104,0.001,201,3.378,203,3.439,204,3.686,205,3.79,206,3.774,207,3.759,208,4.641,209,4.761,218,4.647,219,3.715,220,3.63,226,1.385,560,3.901,2487,4.941,4479,11.839,4480,9.482,4481,9.482,4482,9.482,4483,12.549,4484,11.488,4485,9.482]],["title/interfaces/ClassProps.html",[105,0.7,4302,5.765]],["body/interfaces/ClassProps.html",[0,0.349,3,0.014,4,0.027,5,0.007,7,0.091,26,2.847,30,0.001,31,0.675,32,0.176,33,0.662,39,1.704,47,0.977,55,2.288,62,6.972,83,3.691,95,0.122,101,0.014,103,0,104,0,105,0.647,107,1.488,112,0.683,133,2.182,180,1.789,349,1.4,376,4.793,377,4.983,556,3.135,662,1.964,1661,5.719,1665,3.671,1747,3.713,2501,3.024,2821,4.375,2822,4.375,4264,5.87,4266,3.992,4267,8.279,4268,9.017,4269,8.609,4270,9.017,4271,7.457,4272,9.017,4273,9.017,4274,5.87,4300,9.017,4301,5.324,4302,7.487,4303,5.324,4304,5.87,4305,8.255,4306,5.87,4307,5.87,4308,5.87,4309,5.87,4310,5.87,4311,5.87,4312,5.87,4313,5.87,4314,5.87,4315,5.87]],["title/injectables/ClassService.html",[539,0.921,4483,6.018]],["body/injectables/ClassService.html",[0,0.422,2,1.326,3,0.016,4,0.016,5,0.008,7,0.107,8,1.205,26,2.753,27,0.494,29,0.95,30,0.001,31,0.686,32,0.155,33,0.573,34,1.243,35,1.36,36,2.752,39,3.017,95,0.142,99,1.207,101,0.011,103,0.001,104,0.001,177,1.388,226,1.09,236,1.214,262,2.979,345,2.37,349,1.235,379,0.942,437,1.581,529,2.135,539,1.336,541,1.79,556,1.823,591,4.208,608,2.775,662,4.18,936,4.778,1226,3.599,1665,3.071,1778,2.924,2323,4.843,2487,3.889,4266,2.526,4477,6.537,4483,8.735,4484,10.786,4486,7.463,4487,9.972,4488,7.831,4489,8.735,4490,7.463,4491,7.463,4492,9.972,4493,7.463,4494,8.075,4495,7.463,4496,8.735,4497,7.463,4498,7.463,4499,9.972,4500,5.446,4501,6.262,4502,6.905,4503,7.463,4504,7.463,4505,7.463,4506,7.463,4507,7.463]],["title/classes/ClassSortParams.html",[0,0.232,4508,6.018]],["body/classes/ClassSortParams.html",[0,0.387,2,1.023,3,0.02,4,0.02,5,0.01,7,0.133,27,0.472,30,0.001,32,0.148,33,0.547,95,0.153,101,0.014,103,0.001,104,0.001,105,0.942,112,0.876,138,2.053,148,2.87,149,4.416,150,2.084,180,1.984,247,3.977,249,4.485,382,3.408,480,2.572,486,2.783,721,8.114,743,6.27,839,2.878,852,4.309,3049,9.503,4380,8.553,4382,7.758,4508,10.026,4509,7.486,4510,10.814,4511,13.355,4512,9.245,4513,9.245,4514,7.758,4515,8.098,4516,9.245]],["title/classes/ClassSourceOptions.html",[0,0.232,4300,5.251]],["body/classes/ClassSourceOptions.html",[0,0.318,2,1.039,3,0.02,4,0.029,5,0.01,7,0.135,27,0.517,29,0.744,30,0.001,31,0.537,32,0.15,33,0.449,47,0.812,101,0.018,103,0.001,104,0.001,105,0.957,112,0.885,181,3.121,349,0.967,379,1.186,381,4.541,448,5.046,556,2.295,686,5.247,1666,7.883,4300,8.836,4371,9.987,4517,12.089,4518,8.692,4519,11.965,4520,11.56,4521,9.394,4522,9.394,4523,8.692]],["title/classes/ClassSourceOptionsEntity.html",[0,0.232,4325,5.395]],["body/classes/ClassSourceOptionsEntity.html",[0,0.315,2,1.032,3,0.02,4,0.028,5,0.01,7,0.134,27,0.475,29,0.739,30,0.001,31,0.534,32,0.149,33,0.597,47,0.877,95,0.11,96,2.47,101,0.018,103,0.001,104,0.001,105,0.951,112,0.881,138,1.673,143,2.55,144,3.025,160,5.171,172,3.583,173,2.705,181,3.107,379,1.178,381,3.157,556,2.279,2562,5.875,4325,9.04,4371,9.963,4524,11.551,4525,8.632,4526,11.418,4527,11.511,4528,10.65,4529,8.632]],["title/interfaces/ClassSourceOptionsEntityProps.html",[105,0.7,4526,6.018]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.331,3,0.021,4,0.026,5,0.011,7,0.14,30,0.001,32,0.127,33,0.567,47,0.931,95,0.116,96,2.588,101,0.018,103,0.001,104,0.001,105,0.997,107,2.294,112,0.906,143,2.166,144,3.17,172,3.688,173,2.835,181,2.64,556,2.389,2562,6.046,4325,7.679,4371,10.371,4524,9.047,4525,9.047,4526,11.164,4528,10.961,4529,9.047]],["title/interfaces/ClassSourceOptionsProps.html",[105,0.7,4519,6.018]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.337,3,0.022,4,0.026,5,0.011,7,0.143,30,0.001,32,0.129,33,0.573,47,0.937,101,0.018,103,0.001,104,0.001,105,1.016,107,2.339,112,0.917,181,2.691,349,1.027,381,4.057,448,4.017,556,2.436,1666,8.366,4300,7.621,4371,10.427,4517,9.224,4518,9.224,4519,11.68,4523,9.224]],["title/injectables/ClassesRepo.html",[539,0.921,4484,5.765]],["body/injectables/ClassesRepo.html",[0,0.457,2,1.18,3,0.015,4,0.015,5,0.008,7,0.097,8,1.125,26,2.58,27,0.474,29,0.911,30,0.001,31,0.658,32,0.149,33,0.55,34,1.551,35,1.291,36,2.67,39,1.812,47,0.474,49,2.517,62,3.986,95,0.151,96,1.785,97,2.752,99,1.091,101,0.01,103,0,104,0,154,1.353,177,1.254,226,0.985,236,1.963,262,2.916,345,2.142,349,0.959,379,0.852,437,1.718,529,1.93,539,1.247,541,1.618,556,1.648,608,2.661,631,3.419,725,6.794,1778,2.643,2311,6.482,2647,5.16,3341,4.504,3346,5.502,4266,3.151,4267,4.733,4316,8.803,4431,5.908,4446,4.162,4484,7.812,4488,7.311,4494,7.539,4530,6.745,4531,9.31,4532,9.31,4533,6.745,4534,9.31,4535,6.745,4536,6.745,4537,9.31,4538,6.745,4539,4.575,4540,4.733,4541,4.027,4542,10.662,4543,5.462,4544,6.6,4545,9.31,4546,6.745,4547,6.745,4548,6.24,4549,6.24,4550,6.745,4551,6.745,4552,6.745,4553,6.745,4554,6.745,4555,6.745,4556,6.745,4557,6.745,4558,6.745,4559,6.745,4560,9.31,4561,6.745,4562,6.745,4563,6.745]],["title/injectables/CloseUserLoginMigrationUc.html",[539,0.921,4564,5.765]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,8,1.12,26,2.575,27,0.438,29,0.842,30,0.001,31,0.608,32,0.138,33,0.508,35,1.123,36,1.984,39,1.8,47,0.471,95,0.142,99,1.084,101,0.01,103,0,104,0,119,2.377,128,5.306,177,2.132,236,1.508,239,2.993,262,2.344,349,1.181,379,1.17,437,1.587,529,2.652,539,1.242,541,1.607,556,1.637,560,2.757,593,2.5,603,2.635,608,2.881,643,3.01,990,2.297,1107,5.053,1673,4.135,1687,4.62,1758,6.796,1855,4.088,2531,3.106,2535,4.702,4266,4.073,4564,7.777,4565,5.177,4566,11.464,4567,5.426,4568,8.118,4569,11.464,4570,5.426,4571,8.901,4572,9.519,4573,10.332,4574,6.199,4575,9.268,4576,6.7,4577,9.268,4578,8.077,4579,6.7,4580,7.515,4581,4.998,4582,7.278,4583,5.121,4584,5.262,4585,5.622,4586,6.199,4587,8.343,4588,6.7,4589,5.622,4590,4.998,4591,8.118,4592,6.7,4593,8.118,4594,6.199,4595,6.199,4596,6.199,4597,5.121,4598,5.622]],["title/injectables/CollaborativeStorageAdapter.html",[539,0.921,4599,5.765]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.078,8,0.965,27,0.495,29,0.92,30,0.001,31,0.664,32,0.156,33,0.555,34,1.33,35,1.345,36,2.635,47,0.665,72,3.605,95,0.142,100,4.193,101,0.008,103,0,104,0,112,0.611,153,2.664,226,0.794,273,6.103,274,7.007,276,5.455,284,2.417,301,5.332,333,5.115,349,1.074,379,1.008,517,3.933,519,1.673,539,1.07,541,1.304,564,2.5,603,1.649,631,4.797,639,2.562,1341,1.747,1723,6.369,2205,5.709,2312,3.927,2313,4.757,2958,4.719,3600,6.246,3970,5.506,4599,6.7,4600,8.35,4601,10.784,4602,5.437,4603,5.826,4604,8.444,4605,10.331,4606,6.994,4607,6.465,4608,9.119,4609,6.994,4610,6.465,4611,6.465,4612,7.984,4613,6.465,4614,6.465,4615,5.437,4616,10.173,4617,8.75,4618,7.984,4619,6.465,4620,9.133,4621,5.437,4622,8.686,4623,6.465,4624,5.437,4625,7.984,4626,5.437,4627,6.465,4628,5.437,4629,7.984,4630,7.456,4631,8.189,4632,5.437,4633,6.103,4634,4.762,4635,4.269,4636,4.562,4637,4.156,4638,5.437,4639,5.437,4640,5.437,4641,5.437,4642,5.437,4643,7.984,4644,5.437,4645,5.437,4646,5.437,4647,5.437]],["title/injectables/CollaborativeStorageAdapterMapper.html",[539,0.921,4617,5.765]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,8,1.263,27,0.33,29,0.634,30,0.001,31,0.458,32,0.104,33,0.383,35,0.97,95,0.151,100,4.705,101,0.012,103,0.001,104,0.001,153,1.837,226,1.17,236,1.303,276,5.797,333,4.956,349,1.076,539,1.4,541,1.921,662,3.599,1723,6.769,1778,4.093,3600,5.194,3970,5.521,4544,5.997,4600,7.086,4604,9.979,4607,8.459,4617,8.766,4620,8.813,4622,7.696,4630,8.813,4631,9.678,4633,7.985,4634,7.013,4635,8.203,4636,6.719,4637,6.12,4648,10.446,4649,8.007,4650,10.446,4651,10.446,4652,8.007,4653,8.459,4654,8.459,4655,9.979,4656,6.483,4657,7.013,4658,7.013,4659,7.013,4660,4.401,4661,5.725,4662,8.007,4663,8.007,4664,8.007,4665,8.007,4666,8.007]],["title/modules/CollaborativeStorageAdapterModule.html",[201,1.845,4667,5.765]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.245,3,0.016,4,0.016,5,0.008,30,0.001,47,0.509,95,0.163,101,0.011,103,0.001,104,0.001,201,2.973,203,2.63,204,2.819,205,2.898,206,2.886,207,2.874,208,4.085,209,4.191,214,5.941,218,3.909,219,2.841,220,2.776,225,3.893,226,1.059,437,0.956,631,3.675,636,5.723,964,4.201,1180,5.184,1341,2.33,1827,9.509,1828,6.084,2079,3.209,2080,3.582,2081,3.456,3593,7.777,3600,3.604,3603,3.651,3940,4.088,3998,6.531,4599,11.574,4600,4.917,4601,6.35,4605,6.084,4616,5.871,4617,10.696,4667,12.046,4668,7.25,4669,7.25,4670,7.25,4671,7.25,4672,9.509,4673,9.301,4674,11.793,4675,11.412,4676,7.25,4677,5.026,4678,6.708,4679,5.693,4680,7.25,4681,7.25,4682,7.25,4683,9.78,4684,7.25,4685,7.25,4686,7.25]],["title/controllers/CollaborativeStorageController.html",[259,2.631,4687,6.018]],["body/controllers/CollaborativeStorageController.html",[0,0.361,3,0.015,4,0.015,5,0.008,7,0.097,8,1.127,27,0.279,29,0.535,30,0.001,31,0.386,32,0.088,33,0.323,35,0.818,36,1.995,95,0.151,101,0.01,103,0,104,0,138,1.212,141,3.166,150,1.523,153,3.071,177,1.256,223,2.816,226,0.987,236,1.517,239,2.698,259,2.587,261,3.239,270,5.649,276,5.418,278,6.322,282,5.82,287,6.133,290,6.802,292,4.725,294,6.079,301,7.683,305,5.402,316,5.041,324,4.725,333,5.144,334,4.384,336,7.537,337,3.52,338,3.598,343,3.626,345,2.146,347,4.158,349,0.696,564,3.602,603,1.395,643,3.035,990,3.195,993,5.21,1341,2.171,1723,5.832,2312,2.804,2313,4.253,2407,7.548,2963,3.546,3600,6.204,4605,10.128,4614,8.641,4622,8.137,4656,7.548,4687,8.164,4688,6.541,4689,9.321,4690,6.756,4691,7.821,4692,6.756,4693,11.167,4694,9.654,4695,12.07,4696,9.316,4697,6.756,4698,6.756,4699,7.548,4700,9.321,4701,6.756,4702,7.124,4703,6.756,4704,6.756,4705,9.321,4706,6.427,4707,8.164,4708,7.821,4709,6.756,4710,6.756,4711,5.918,4712,6.251,4713,6.756,4714,6.756,4715,6.756,4716,6.756,4717,6.756,4718,6.756]],["title/modules/CollaborativeStorageModule.html",[201,1.845,4719,5.563]],["body/modules/CollaborativeStorageModule.html",[0,0.259,3,0.017,4,0.017,5,0.009,30,0.001,95,0.162,101,0.012,103,0.001,104,0.001,201,3.056,203,2.778,204,2.978,205,3.061,206,3.049,207,3.037,208,4.2,209,4.308,214,6.036,218,4.055,219,3.001,220,2.933,223,4.229,225,4.039,226,1.119,227,3.179,259,2.933,631,3.883,1341,2.462,1420,9.66,1439,6.202,1752,7.366,1810,8.929,2531,3.551,2764,3.63,3600,3.808,4601,6.709,4667,10.866,4687,9.966,4688,5.375,4708,11.673,4719,11.678,4720,7.66,4721,7.66,4722,7.66,4723,7.66,4724,10.866,4725,10.866,4726,10.866,4727,7.087,4728,7.087,4729,5.115]],["title/injectables/CollaborativeStorageService.html",[539,0.921,4724,5.765]],["body/injectables/CollaborativeStorageService.html",[0,0.185,3,0.012,4,0.012,5,0.006,7,0.078,8,0.969,26,2.11,27,0.48,29,0.922,30,0.001,31,0.665,32,0.151,33,0.556,34,1.336,35,1.348,36,2.737,47,0.921,95,0.151,99,0.884,100,3.56,101,0.008,103,0,104,0,143,1.776,145,2.253,153,1.839,154,1.608,226,0.798,227,2.268,236,1.304,239,1.88,262,2.566,276,3.48,333,4.959,349,1.27,379,1.012,480,1.521,486,1.646,539,1.074,541,1.311,603,2.403,608,2.42,643,2.456,1341,1.757,1675,3.335,1723,5.3,1758,5.568,1810,8.289,1820,4.837,2312,3.939,2313,4.77,2531,2.534,3122,3.464,3600,2.718,3970,8.939,4544,4.602,4599,8.773,4604,6.491,4610,6.491,4611,6.491,4613,6.491,4614,7.686,4619,6.491,4620,8.596,4622,7.265,4623,6.491,4627,6.491,4631,8.21,4635,4.292,4656,4.426,4688,8.436,4706,5.527,4724,6.726,4725,8.773,4728,5.057,4730,11.122,4731,5.057,4732,8.016,4733,5.466,4734,9.189,4735,9.492,4736,8.314,4737,5.466,4738,5.466,4739,5.466,4740,8.016,4741,8.028,4742,5.466,4743,4.238,4744,6.726,4745,5.201,4746,5.466,4747,5.466,4748,8.679,4749,10.299,4750,5.466,4751,6.295,4752,6.726,4753,6.438,4754,7.416,4755,7.416,4756,4.587,4757,5.466,4758,5.466,4759,5.466,4760,5.466,4761,8.016,4762,5.466,4763,5.466,4764,5.466,4765,5.466,4766,5.466,4767,5.466,4768,5.466,4769,5.466,4770,5.466]],["title/injectables/CollaborativeStorageUc.html",[539,0.921,4708,5.765]],["body/injectables/CollaborativeStorageUc.html",[0,0.227,3,0.015,4,0.015,5,0.007,7,0.096,8,1.122,27,0.497,29,0.954,30,0.001,31,0.689,32,0.156,33,0.576,35,1.39,36,2.785,47,0.875,95,0.147,101,0.01,103,0,104,0,153,1.54,177,1.725,226,0.98,236,1.51,239,2.176,262,2.346,276,4.981,333,4.532,349,1.181,379,1.172,539,1.243,541,1.61,560,3.818,603,1.916,1723,5.816,1820,5.599,3970,4.628,4610,7.513,4611,7.513,4613,7.513,4619,7.513,4620,9.128,4622,7.776,4623,7.513,4627,7.513,4633,8.128,4636,5.632,4688,8.739,4693,10.614,4694,9.627,4696,9.29,4706,6.398,4708,7.786,4711,5.879,4712,6.209,4724,9.627,4726,9.627,4730,6.209,4751,7.286,4752,7.786,4753,7.781,4754,8.584,4755,8.584,4771,12.454,4772,6.711,4773,10.634,4774,6.711,4775,10.634,4776,6.711,4777,6.711,4778,6.711,4779,6.711,4780,6.711,4781,11.472,4782,6.711,4783,9.278,4784,6.209,4785,6.209,4786,6.711,4787,8.584,4788,6.711,4789,6.711,4790,6.711,4791,6.711,4792,6.711,4793,6.711,4794,6.711]],["title/classes/Column.html",[0,0.232,2692,3.632]],["body/classes/Column.html",[0,0.222,2,0.727,3,0.014,4,0.014,5,0.007,7,0.094,8,1.105,27,0.549,29,1.005,30,0.001,31,0.726,32,0.17,33,0.607,35,1.568,36,1.957,47,0.839,55,1.868,59,2.022,95,0.124,101,0.016,103,0,104,0,105,0.67,112,0.7,119,2.181,137,5.709,180,1.823,262,2.319,349,1.083,381,3.094,382,3.854,437,0.867,448,3.684,474,2.788,479,3.351,517,2.478,519,3.678,604,3.762,608,1.521,662,2.83,686,4.15,1218,2.488,1271,3.862,1664,2.46,1665,4.677,1668,6.566,1739,4.215,1944,2.775,2512,6.382,2692,6.01,2786,8.02,2789,6.538,2790,6.538,2791,6.538,2792,6.105,2793,6.538,2795,4.207,2796,5.642,2797,6.718,2799,6.416,2800,5.642,2801,6.588,2803,4.611,2804,4.87,2806,6.647,2807,4.611,2809,6.538,2811,4.611,2813,4.207,2840,5.578,2854,5.201,2877,5.513,4026,6.672,4027,4.795,4028,4.795,4029,5.513,4031,5.755,4037,4.153,4038,6.304,4039,5.16,4042,5.578,4795,6.079,4796,6.079,4797,6.079,4798,6.57,4799,6.57,4800,6.079,4801,6.079,4802,5.755,4803,6.079]],["title/classes/ColumnBoard.html",[0,0.232,1925,4.102]],["body/classes/ColumnBoard.html",[0,0.208,2,0.682,3,0.013,4,0.013,5,0.007,7,0.088,8,1.056,27,0.553,29,1.009,30,0.001,31,0.728,32,0.17,33,0.609,35,1.569,36,1.871,47,0.82,55,1.786,59,1.897,95,0.12,101,0.016,103,0,104,0,105,0.628,112,0.669,119,2.106,131,4.606,137,5.457,180,1.761,262,2.24,349,1.138,381,2.958,382,3.792,437,0.813,448,3.522,474,2.614,479,3.203,517,3.297,519,3.73,604,3.596,608,1.426,662,2.705,686,3.967,1218,2.333,1271,3.783,1664,2.307,1665,4.547,1668,6.342,1739,4.03,1925,6.599,1944,2.603,2512,6.297,2692,4.62,2786,7.904,2789,6.249,2790,6.249,2791,6.249,2792,5.836,2793,6.249,2795,3.945,2796,5.393,2797,6.531,2799,6.133,2800,5.393,2801,6.404,2803,4.324,2804,4.655,2806,6.42,2807,4.324,2809,6.249,2811,4.324,2813,3.945,2840,5.332,2879,5.171,3356,8.666,4026,4.497,4027,4.497,4028,4.497,4029,5.171,4031,5.398,4037,3.895,4038,6.026,4039,4.839,4042,5.332,4804,10.796,4805,5.701,4806,6.162,4807,6.162,4808,5.398,4809,6.162,4810,6.162,4811,6.162,4812,6.162,4813,6.162,4814,6.162,4815,8.086,4816,5.701,4817,5.701,4818,5.701,4819,5.171,4820,5.701]],["title/injectables/ColumnBoardCopyService.html",[539,0.921,3006,5.765]],["body/injectables/ColumnBoardCopyService.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,8,1.149,26,2.186,27,0.392,29,0.753,30,0.001,31,0.544,32,0.151,33,0.455,35,0.842,36,2.035,39,2.553,95,0.152,99,1.125,101,0.011,103,0.001,104,0.001,120,4.015,177,2.268,192,4.341,226,1.016,227,2.885,236,1.547,239,1.631,262,2.389,349,0.716,379,1.2,381,2.353,437,1.608,521,3.754,529,2.72,539,1.274,541,1.668,560,2.861,603,2.518,608,2.822,1226,3.353,1515,4.971,1726,2.977,1804,7.863,1924,4.879,1925,6.468,1926,2.613,1944,5.15,1947,5.314,2340,5.737,2480,5.618,2487,3.623,2993,5.46,2996,8.795,3006,7.977,3025,7.029,3043,4.242,3044,3.92,3050,8.327,3081,6.797,3096,6.432,3098,6.432,3149,5.187,3150,8.834,3255,4.395,3320,10.814,3330,4.971,3331,8.327,3356,6.797,3598,9.771,3603,3.501,4821,10.022,4822,7.616,4823,10.832,4824,6.952,4825,9.506,4826,6.09,4827,6.952,4828,6.432,4829,6.952,4830,6.952,4831,6.952,4832,6.952,4833,3.886,4834,6.432,4835,6.952,4836,6.952,4837,6.952,4838,6.432,4839,6.952,4840,6.432,4841,5.63,4842,6.952,4843,6.952,4844,6.952,4845,6.952,4846,6.952,4847,6.952]],["title/classes/ColumnBoardFactory.html",[0,0.232,4848,6.357]],["body/classes/ColumnBoardFactory.html",[0,0.167,2,0.546,3,0.011,4,0.011,5,0.005,7,0.071,8,0.898,27,0.541,29,1.038,30,0.001,31,0.713,32,0.175,33,0.597,34,1.777,35,1.483,47,0.522,49,1.841,55,2.376,59,3.282,83,2.137,95,0.117,99,0.798,101,0.011,103,0,104,0,112,0.568,120,3.138,131,2.824,133,2.555,140,2.691,153,2.05,154,2.139,155,2.416,177,1.662,180,1.288,236,1.618,271,4.693,319,3.138,349,0.765,376,2.005,377,2.085,379,0.623,382,3.866,413,2.237,437,0.98,447,7.15,448,4.516,449,5.465,452,4.084,453,5.465,454,5.645,455,4.084,456,4.084,457,4.084,458,4.019,459,4.5,460,4.911,461,6.423,462,5.768,463,6.99,464,2.735,469,2.713,470,4.084,471,2.735,472,5.145,473,5.296,474,4.219,475,5.007,476,4.051,477,2.713,478,2.572,479,4.107,480,3.329,481,2.649,482,2.609,483,2.713,484,5.074,485,2.735,486,3.602,487,4.833,488,2.713,489,6.856,490,4.252,491,6.577,492,2.735,493,4.361,494,2.713,495,2.735,496,2.713,497,2.735,498,2.713,499,3.046,500,2.86,501,2.713,502,6.061,503,2.735,504,2.713,505,4.084,506,3.844,507,4.084,508,2.735,509,2.629,510,2.609,511,2.184,512,2.713,513,2.713,514,2.713,515,2.735,516,2.735,517,1.862,518,2.713,519,1.519,520,2.735,521,2.934,522,2.713,523,2.735,524,2.807,526,2.888,527,2.917,556,1.206,1271,1.541,1924,3.463,1925,2.947,1944,2.085,1947,3.772,2692,2.609,2794,3.403,3038,4.141,4188,4.585,4819,4.141,4848,8.267,4849,7.43,4850,4.935,4851,9.943,4852,4.935,4853,4.935,4854,4.935]],["title/entities/ColumnBoardNode.html",[154,1.378,3201,5.251]],["body/entities/ColumnBoardNode.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.117,27,0.435,30,0.001,32,0.161,34,1.353,49,4.367,95,0.155,96,2.149,101,0.016,103,0.001,104,0.001,105,0.827,112,0.807,131,4.708,138,1.891,154,2.114,155,2.64,172,3.644,173,2.354,180,1.827,181,2.192,236,1.321,349,1.086,403,4.538,437,1.071,524,4.618,1664,3.04,1665,4.337,1924,8.214,1944,4.944,2512,5.054,2565,4.618,2566,3.629,2670,4.835,3038,6.813,3171,5.573,3182,6.361,3201,8.057,3249,5.01,3307,5.507,3356,8.37,3392,9.479,3394,10.253,3618,6.205,3620,6.505,3641,5.069,4126,5.198,4128,5.198,4855,10.253,4856,7.864,4857,8.119,4858,6.361,4859,8.119,4860,9.753,4861,9.233,4862,9.753,4863,7.511,4864,6.813,4865,7.511,4866,7.511,4867,7.511]],["title/interfaces/ColumnBoardNodeProps.html",[105,0.7,4861,6.018]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,32,0.154,34,1.4,49,4.022,95,0.157,96,2.225,101,0.017,103,0.001,104,0.001,105,0.856,107,1.971,112,0.825,131,5.047,154,2.162,172,3.704,173,2.436,180,2.063,181,2.269,236,1.368,349,1.11,403,4.697,437,1.108,524,4.781,1664,3.147,1665,4.435,1924,7.564,1944,3.55,2512,5.167,2565,4.781,2566,3.757,2670,4.944,3038,7.052,3171,5.698,3182,6.505,3201,6.423,3249,5.186,3307,5.7,3356,9.281,3392,6.805,3394,7.361,3618,6.423,3620,7.343,3641,5.248,4126,5.381,4128,5.381,4855,7.361,4858,5.072,4860,9.973,4861,10.423,4862,9.973,4863,7.775,4864,7.052,4865,7.775,4866,7.775,4867,7.775]],["title/interfaces/ColumnBoardProps.html",[105,0.7,4819,5.765]],["body/interfaces/ColumnBoardProps.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.153,36,1.777,47,0.908,95,0.14,101,0.018,103,0.001,104,0.001,105,0.846,107,1.947,112,0.818,119,1.721,131,5.031,180,2.051,262,1.831,349,1.287,437,1.095,474,3.522,517,4.034,519,2.555,604,4.4,608,1.921,1218,3.143,1271,4.132,1664,3.108,1665,3.416,1739,4.931,1925,7.064,1944,3.506,2512,5.127,2692,5.654,2786,6.525,2796,5.123,2797,6.32,2800,5.123,2801,6.197,2809,5.936,2840,7.218,2879,6.966,3356,9.466,4037,5.247,4038,7.374,4039,6.519,4042,6.525,4804,7.68,4805,7.68,4815,9.894,4816,7.68,4817,7.68,4818,7.68,4819,8.973,4820,7.68]],["title/injectables/ColumnBoardService.html",[539,0.921,1913,5.251]],["body/injectables/ColumnBoardService.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.06,8,0.792,10,2.661,12,2.943,26,2.409,27,0.492,29,0.945,30,0.001,31,0.683,32,0.155,33,0.571,34,1.65,35,1.413,36,2.714,47,0.868,49,1.563,83,3.266,95,0.13,99,0.677,101,0.006,103,0,104,0,131,3.066,177,1.5,226,0.612,236,2.122,262,2.992,349,1.13,376,3.707,377,3.853,379,0.827,437,1.755,480,1.165,486,1.972,524,2.382,529,1.198,539,0.878,541,1.005,565,3.911,603,2.168,604,1.723,608,2.539,685,2.742,708,1.681,1218,1.586,1271,3.797,1739,1.931,1913,5.006,1925,7.572,1942,2.742,1944,4.795,2079,1.854,2080,2.069,2081,1.996,2232,2.361,2487,2.182,2512,4.747,2528,2.995,2692,4.265,2794,6.291,2854,4.589,2870,6.041,2882,3.122,2925,3.875,3149,3.124,3150,7.367,3160,5.496,3161,3.875,3162,3.875,3163,6.06,3165,7.463,3166,3.875,3275,2.681,3337,6.06,3355,6.06,3356,8.535,3427,8.183,3523,5.496,3597,8.883,3732,3.668,3940,2.361,4159,5.737,4163,2.231,4181,3.391,4188,5.63,4189,3.875,4539,2.841,4540,2.939,4541,2.501,4821,11.254,4828,3.875,4868,4.188,4869,6.55,4870,6.55,4871,6.55,4872,6.55,4873,4.188,4874,6.55,4875,4.188,4876,6.55,4877,4.188,4878,6.55,4879,4.188,4880,6.06,4881,6.55,4882,4.188,4883,6.55,4884,4.188,4885,6.55,4886,4.188,4887,4.188,4888,6.55,4889,4.188,4890,4.188,4891,6.55,4892,4.188,4893,4.188,4894,4.188,4895,4.188,4896,4.188,4897,6.55,4898,4.188,4899,6.55,4900,4.188,4901,4.188,4902,4.188,4903,4.188,4904,4.188,4905,4.188,4906,4.188,4907,4.188,4908,4.188,4909,4.188,4910,9.123,4911,8.067,4912,4.188,4913,4.188,4914,4.188,4915,4.188,4916,6.55,4917,4.188,4918,4.188,4919,4.188,4920,4.188,4921,4.188,4922,4.188,4923,4.188,4924,4.188,4925,4.188,4926,4.188,4927,4.188,4928,4.188,4929,4.188,4930,6.55,4931,4.188,4932,4.188,4933,6.55,4934,6.55,4935,4.188,4936,4.188,4937,4.188,4938,4.188,4939,4.188,4940,4.188,4941,4.188,4942,4.188,4943,4.188,4944,4.188,4945,4.188,4946,6.55,4947,6.55,4948,4.188,4949,6.55,4950,6.55,4951,4.188,4952,4.188,4953,4.188,4954,6.55,4955,4.188,4956,2.888,4957,3.289,4958,4.188,4959,4.188,4960,4.188,4961,4.188,4962,3.875]],["title/entities/ColumnBoardTarget.html",[154,1.378,2693,4.913]],["body/entities/ColumnBoardTarget.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,26,2.329,27,0.476,30,0.001,32,0.15,47,0.811,49,4.306,95,0.15,96,2.086,101,0.016,103,0.001,104,0.001,112,0.791,138,2.07,143,1.746,145,3.243,154,2.074,155,2.563,172,4.063,173,2.285,174,3.929,175,3.524,180,1.367,181,2.128,182,2.496,236,1.283,349,1.065,474,3.344,480,2.193,486,2.373,519,3.183,524,4.484,604,3.243,1147,2.399,1218,2.984,1271,3.824,1739,4.768,1925,6.174,1944,5.174,2501,3.757,2666,9.62,2670,3.615,2682,6.621,2693,8.76,2772,7.903,2773,7.593,2784,3.736,2785,9.567,3631,5.047,4856,5.88,4963,11.334,4964,7.882,4965,10.676,4966,7.882,4967,7.882,4968,7.882,4969,4.864,4970,10.34,4971,7.882,4972,7.882,4973,4.983,4974,5.115,4975,7.882,4976,7.882]],["title/injectables/ColumnBoardTargetService.html",[539,0.921,4977,5.765]],["body/injectables/ColumnBoardTargetService.html",[0,0.249,3,0.016,4,0.016,5,0.008,7,0.106,8,1.194,26,2.639,27,0.46,29,0.883,30,0.001,31,0.638,32,0.145,33,0.533,34,1.645,35,1.196,36,2.551,95,0.147,96,2.614,97,3.001,99,1.19,101,0.011,103,0.001,104,0.001,173,2.132,177,1.836,226,1.074,236,1.197,262,2.823,345,2.336,349,1.148,379,0.929,437,1.64,539,1.323,541,1.764,603,2.461,608,2.758,1218,2.785,1271,3.481,1830,5.367,1913,9.784,1944,5.034,2311,6.719,2350,5.836,2693,7.062,2739,5.409,2772,5.622,3346,6.589,3387,6.805,3407,5.622,4965,6.805,4977,8.287,4978,11.918,4979,7.355,4980,9.875,4981,9.875,4982,7.355,4983,7.355,4984,9.875,4985,7.355,4986,10.315,4987,9.875,4988,7.355,4989,11.149,4990,7.355,4991,7.355,4992,9.875,4993,7.355,4994,7.355,4995,7.355,4996,7.355,4997,7.355,4998,7.355,4999,7.355]],["title/controllers/ColumnController.html",[259,2.631,2759,6.018]],["body/controllers/ColumnController.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.889,10,3.601,27,0.407,29,0.782,30,0.001,31,0.565,32,0.183,33,0.472,35,1.196,36,2.551,59,1.499,95,0.141,100,1.659,101,0.007,103,0,104,0,138,1.771,142,1.901,145,2.067,150,1.098,177,1.368,223,2.03,226,0.711,236,1.197,259,1.865,261,2.335,262,2.824,270,6.358,282,7.442,287,7.843,290,8.697,294,6.74,324,5.007,333,4.209,334,3.16,335,6.399,336,8.357,337,2.538,338,2.594,340,2.363,343,2.614,345,1.547,346,5.897,347,4.805,349,0.502,437,1.169,603,1.006,608,2.286,631,2.469,685,3.08,824,2.614,1266,7.192,1271,2.296,2530,6.331,2681,5.691,2692,5.606,2752,7.178,2754,7.178,2759,6.443,2764,2.308,2854,5.042,2933,7.207,2935,5.488,2937,7.549,2938,7.549,2941,7.843,2943,7.178,2956,8.756,2957,7.998,2958,4.347,2961,3.483,2962,2.746,2963,2.556,2970,3.944,2980,7.178,2981,7.178,2984,4.266,3261,3.633,3309,7.048,3430,5.072,3841,8.201,4081,3.079,4087,4.087,4094,4.506,4099,4.266,4122,5.957,4162,6.173,5000,4.87,5001,8.201,5002,6.806,5003,8.201,5004,4.87,5005,11.342,5006,10.685,5007,9.877,5008,4.87,5009,4.506,5010,4.87,5011,4.87,5012,4.87,5013,4.87,5014,4.87,5015,4.87,5016,8.651,5017,4.87,5018,4.87,5019,4.87,5020,4.87,5021,4.87,5022,6.806,5023,4.87,5024,4.87,5025,4.87,5026,4.87,5027,4.87,5028,9.877,5029,4.87,5030,4.87,5031,4.87,5032,4.87,5033,4.87,5034,4.87,5035,4.87,5036,4.87]],["title/entities/ColumnNode.html",[154,1.378,3198,5.563]],["body/entities/ColumnNode.html",[0,0.324,3,0.021,4,0.021,5,0.011,30,0.001,32,0.124,95,0.159,96,2.539,101,0.015,103,0.001,104,0.001,154,2.349,155,3.12,173,2.781,180,1.663,181,2.59,349,0.988,403,5.362,437,1.265,1664,3.593,1665,5.201,2512,5.614,2565,5.458,2566,4.289,3171,6.191,3182,7.067,3198,9.482,3249,5.92,3260,10.834,3307,6.507,3618,7.333,3620,7.226,3641,5.991,4126,6.143,4128,6.143,4855,8.404,5037,9.594]],["title/interfaces/ColumnProps.html",[105,0.7,4802,6.018]],["body/interfaces/ColumnProps.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,32,0.143,36,1.872,47,0.923,95,0.143,101,0.019,103,0.001,104,0.001,105,0.892,107,2.052,112,0.846,119,1.814,180,2.102,262,1.929,349,1.249,437,1.154,474,3.711,517,3.3,519,2.692,604,4.55,608,2.025,1218,3.312,1271,4.189,1664,3.276,1665,3.599,1739,5.098,1944,3.695,2512,5.301,2692,6.41,2786,6.746,2796,5.398,2797,6.535,2800,5.398,2801,6.408,2809,6.255,2840,7.398,2854,6.29,2877,7.34,4037,5.53,4038,7.624,4039,6.869,4042,6.746,4795,8.093,4800,8.093,4801,8.093,4802,9.685,4803,8.093]],["title/classes/ColumnResponse.html",[0,0.232,2965,5.563]],["body/classes/ColumnResponse.html",[0,0.281,2,0.918,3,0.018,4,0.018,5,0.009,7,0.119,27,0.533,29,0.658,30,0.001,31,0.475,32,0.172,33,0.566,34,2.154,47,0.878,95,0.148,101,0.013,103,0.001,104,0.001,112,0.818,138,2.241,150,1.871,245,3.404,247,3.571,253,4.101,379,1.35,404,3.318,556,2.028,774,4.236,819,4.18,1271,4.036,2779,5.936,2782,6.76,2784,3.934,2854,4.722,2917,5.462,2918,5.739,2919,5.739,2965,10.47,3269,9.883,3716,7.721,3720,6.923,3724,5.543,3726,5.543,4198,10.485,5038,8.301,5039,8.301,5040,8.301,5041,8.301,5042,8.301,5043,8.301,5044,8.301,5045,8.301]],["title/classes/ColumnResponseMapper.html",[0,0.232,2969,5.765]],["body/classes/ColumnResponseMapper.html",[0,0.294,2,0.964,3,0.019,4,0.019,5,0.01,7,0.125,8,1.333,27,0.359,29,0.69,30,0.001,31,0.498,32,0.143,33,0.417,34,1.451,35,1.055,95,0.143,99,1.409,100,2.966,101,0.013,103,0.001,104,0.001,226,1.272,236,2.07,349,1.136,376,3.539,413,3.643,437,1.149,521,3.44,529,2.492,604,3.584,739,4.765,782,5.201,783,6.163,788,6.498,1271,2.719,1284,4.955,2340,5.256,2692,6.937,2806,5.506,2854,6.883,2965,10.3,2969,9.253,3081,6.228,3269,6.657,3275,5.577,3716,5.201,3720,6.453,3730,6.657,3736,7.629,3737,6.228,4150,7.629,4152,7.309,4171,6.84,4198,9.253,5046,11.027,5047,11.027,5048,8.058,5049,7.629,5050,8.71,5051,8.71,5052,8.71,5053,8.71,5054,8.71]],["title/injectables/ColumnService.html",[539,0.921,3595,5.563]],["body/injectables/ColumnService.html",[0,0.224,3,0.014,4,0.014,5,0.007,7,0.095,8,1.11,10,3.731,12,4.126,26,2.301,27,0.511,29,0.982,30,0.001,31,0.709,32,0.161,33,0.593,34,1.102,35,1.451,36,2.853,47,0.741,49,2.467,55,2.156,59,2.035,83,2.642,95,0.141,99,1.07,101,0.01,103,0,104,0,177,1.708,226,0.966,236,1.855,262,3.055,345,2.1,349,0.946,376,2.687,377,2.793,379,0.835,437,1.392,524,3.762,539,1.23,541,1.586,603,1.366,608,2.869,685,3.845,1271,3.739,1925,7.592,1944,2.793,2487,3.446,2692,7.419,2794,4.56,3149,4.933,3150,8.699,3366,5.632,3427,9.485,3430,6.333,3436,8.713,3440,5.549,3595,7.437,3852,7.707,3872,10.547,4159,8.044,4161,8.044,4181,5.355,4188,4.081,5049,5.793,5055,6.613,5056,6.613,5057,6.613,5058,9.184,5059,6.613,5060,9.184,5061,6.613,5062,9.184,5063,6.613,5064,9.184,5065,6.613,5066,6.613,5067,6.613,5068,6.613,5069,6.613,5070,6.613,5071,6.613]],["title/injectables/ColumnUc.html",[539,0.921,2754,5.563]],["body/injectables/ColumnUc.html",[0,0.173,3,0.011,4,0.011,5,0.006,7,0.074,8,0.924,26,2.87,27,0.499,29,0.959,30,0.001,31,0.692,32,0.157,33,0.579,35,1.427,36,2.696,39,3.433,47,0.642,55,1.869,59,2.354,95,0.134,99,0.83,101,0.008,103,0,104,0,177,2.016,180,1.326,226,0.749,262,2.993,349,0.528,379,0.966,382,2.723,437,1.499,448,4.878,539,1.025,541,1.23,560,2.11,603,1.888,608,3.056,639,2.417,1107,6.745,1271,3.384,1341,1.648,1687,6.989,1688,3.375,1758,6.273,1826,3.425,1861,5.468,2312,3.795,2313,4.624,2512,5.45,2513,8.689,2515,6.005,2516,6.005,2517,3.742,2518,8.347,2520,3.826,2521,5.58,2522,5.468,2524,4.027,2525,5.99,2527,4.027,2528,5.468,2531,2.377,2544,8.087,2692,6.01,2754,6.192,2854,6.167,3157,3.826,3436,8.286,3594,9.249,3595,9.537,3852,10.861,3857,4.153,3858,4.153,3859,4.153,3862,4.153,3863,4.153,3865,7.396,3871,8.459,4050,8.009,4112,3.92,4162,8.505,4163,5.398,4171,7.959,4175,8.459,4238,4.745,5001,8.459,5002,8.459,5003,8.459,5072,5.128,5073,5.128,5074,7.647,5075,5.128,5076,7.647,5077,5.128,5078,7.647,5079,10.135,5080,5.128,5081,7.647,5082,5.128,5083,5.128,5084,5.128,5085,5.128,5086,5.128,5087,5.128,5088,5.128]],["title/classes/ColumnUrlParams.html",[0,0.232,5005,6.018]],["body/classes/ColumnUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2692,6.309,3852,10.751,3876,5.849,5005,10.453,5089,9.897,5090,9.897]],["title/entities/ColumnboardBoardElement.html",[154,1.378,2691,5.251]],["body/entities/ColumnboardBoardElement.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,27,0.392,30,0.001,32,0.123,95,0.149,96,2.516,101,0.015,103,0.001,104,0.001,112,0.891,138,1.705,154,2.335,155,3.091,173,2.755,180,1.648,181,2.566,403,5.312,1944,5.317,2565,5.406,2666,9.143,2688,8.326,2690,7.975,2691,8.899,2692,5.025,2693,9.381,2694,8.325,2739,5.955,3034,7.264,3078,9.77,4963,10.772,5091,9.504,5092,11.643,5093,9.504,5094,4.406,5095,8.325]],["title/injectables/CommonCartridgeExportService.html",[539,0.921,5096,5.765]],["body/injectables/CommonCartridgeExportService.html",[0,0.143,3,0.009,4,0.009,5,0.005,7,0.061,8,0.799,26,2.616,27,0.454,29,0.873,30,0.001,31,0.63,32,0.163,33,0.527,35,1.278,36,2.258,39,2.959,47,0.823,95,0.135,99,0.685,101,0.007,103,0,104,0,177,1.511,226,0.619,236,0.689,262,2.583,333,1.805,349,1.174,363,3.726,379,0.835,437,1.609,481,3.547,539,0.885,541,1.016,556,1.985,591,3.726,603,2.718,608,2.304,739,2.856,1262,3.479,1271,3.656,1312,6.844,1717,3.168,1910,3.919,1911,7.154,1920,5.775,1926,4.401,1940,3.16,1941,3.16,2063,6.752,2255,3.515,2686,4.763,3047,3.43,3048,3.43,3135,4.231,3914,4.557,4417,4.231,4500,3.091,4653,5.351,5096,5.546,5097,11.396,5098,7.312,5099,4.236,5100,8.126,5101,8.126,5102,5.789,5103,8.126,5104,6.609,5105,8.126,5106,8.651,5107,8.42,5108,4.236,5109,4.236,5110,8.95,5111,7.449,5112,8.937,5113,4.236,5114,4.236,5115,4.236,5116,6.114,5117,4.236,5118,4.236,5119,6.33,5120,4.236,5121,4.032,5122,6.211,5123,6.609,5124,4.236,5125,6.609,5126,4.032,5127,4.236,5128,4.236,5129,7.118,5130,3.029,5131,4.236,5132,3.919,5133,3.43,5134,3.83,5135,4.236,5136,6.114,5137,4.236,5138,4.236,5139,3.326,5140,4.236,5141,3.326,5142,4.236,5143,4.236,5144,4.236,5145,4.236,5146,2.348,5147,4.236,5148,4.236,5149,5.351,5150,6.609,5151,4.236,5152,3.554,5153,4.231,5154,4.236,5155,5.351,5156,4.236,5157,4.236,5158,3.83,5159,3.919,5160,2.787,5161,2.873,5162,4.236,5163,4.236,5164,9.954,5165,6.609,5166,6.819,5167,6.609,5168,6.114,5169,8.126,5170,3.029,5171,5.789,5172,6.114,5173,6.114,5174,4.822,5175,4.236,5176,3.029,5177,4.236,5178,5.546,5179,5.789,5180,5.789,5181,3.029,5182,6.609,5183,6.609,5184,4.236,5185,3.919,5186,4.236,5187,4.236,5188,4.236,5189,4.236,5190,6.609,5191,4.236,5192,6.609,5193,4.236,5194,4.236,5195,3.919,5196,4.236,5197,4.236,5198,4.236]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.232,5110,5.395]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.263,2,0.582,3,0.011,4,0.011,5,0.014,7,0.076,8,0.942,27,0.503,29,0.735,30,0.001,31,0.531,32,0.133,33,0.444,35,1.124,36,1.987,47,0.721,95,0.14,101,0.016,103,0,104,0,105,0.794,112,0.596,177,2.504,236,2.159,262,2.047,345,1.671,349,1.182,379,0.984,381,3.141,437,1.513,454,5.052,480,2.855,486,3.09,490,2.769,603,2.761,1121,3.368,1147,2.825,1271,2.433,1312,5.057,1732,5.386,1942,3.886,2063,6.961,3222,4.99,5098,8.284,5110,6.12,5111,4.215,5112,5.374,5122,9.077,5134,6.35,5139,6.12,5141,6.12,5149,6.31,5153,7.347,5155,4.26,5161,5.286,5199,8.083,5200,8.083,5201,4.415,5202,9.292,5203,8.605,5204,7.844,5205,8.612,5206,7.21,5207,7.21,5208,4.26,5209,8.612,5210,7.793,5211,5.261,5212,5.261,5213,8.612,5214,5.261,5215,7.789,5216,9.292,5217,5.261,5218,9.617,5219,7.789,5220,5.261,5221,5.261,5222,4.26,5223,4.26,5224,4.021,5225,3.762,5226,6.108,5227,3.568,5228,6.12,5229,6.31,5230,4.131,5231,5.573,5232,4.131,5233,6.539,5234,4.26,5235,4.415,5236,4.415,5237,4.415,5238,8.612,5239,4.415,5240,6.539,5241,4.415,5242,4.415,5243,6.539,5244,4.415,5245,4.415,5246,4.415,5247,4.415,5248,4.415,5249,4.415,5250,4.415,5251,4.415,5252,4.415,5253,4.415,5254,4.415,5255,4.26,5256,4.415,5257,4.415,5258,4.415,5259,4.415,5260,4.415,5261,4.415,5262,4.415,5263,4.415]],["title/classes/CommonCartridgeLtiResource.html",[0,0.232,5264,6.018]],["body/classes/CommonCartridgeLtiResource.html",[0,0.215,2,0.705,3,0.014,4,0.014,5,0.01,7,0.091,8,1.082,27,0.463,29,0.505,30,0.001,31,0.365,32,0.145,33,0.305,35,1.253,47,0.884,95,0.133,101,0.014,103,0,104,0,119,1.856,145,1.791,153,2.054,177,1.665,181,1.721,345,2.025,349,1.065,379,0.805,381,3.029,437,0.841,486,1.919,603,1.316,988,3.905,1121,7.183,1147,2.725,1262,2.228,1271,2.794,1309,3.694,1312,5.808,1931,4.03,2063,7.609,2255,4.295,4038,4.396,5098,8.021,5111,3.448,5112,6.172,5133,5.162,5134,5.995,5166,7.511,5178,5.349,5199,7.668,5200,7.668,5204,7.907,5224,4.872,5225,4.558,5226,6.808,5227,4.324,5264,7.841,5265,9.917,5266,5.584,5267,8.124,5268,9.084,5269,10.38,5270,6.375,5271,5.898,5272,6.375,5273,6.375,5274,5.349,5275,5.898,5276,6.375,5277,6.375,5278,5.584,5279,6.375,5280,6.375,5281,6.375,5282,5.584,5283,5.584,5284,4.03,5285,5.584,5286,6.375,5287,5.584,5288,6.375,5289,7.511,5290,6.375,5291,6.375,5292,8.282,5293,6.375,5294,6.375,5295,6.375,5296,5.584,5297,8.951,5298,8.951,5299,8.951,5300,8.951,5301,8.951,5302,8.951,5303,8.951,5304,8.951,5305,8.951,5306,6.375,5307,6.375,5308,6.375,5309,6.375,5310,5.978,5311,8.951,5312,8.951,5313,8.951,5314,8.951,5315,6.375,5316,6.375,5317,6.375,5318,6.375,5319,6.375,5320,5.162,5321,5.162,5322,5.584]],["title/classes/CommonCartridgeManifestElement.html",[0,0.232,5228,5.395]],["body/classes/CommonCartridgeManifestElement.html",[0,0.233,2,0.763,3,0.015,4,0.015,5,0.008,7,0.099,8,1.142,27,0.39,29,0.546,30,0.001,31,0.394,32,0.122,33,0.33,35,0.835,47,0.484,95,0.144,101,0.015,103,0,104,0,177,2.158,181,1.861,236,2.043,349,0.973,379,1.193,381,3.198,437,0.909,486,2.075,603,2.396,988,4.123,1121,7.429,1147,2.877,1309,3.995,1312,6.998,1931,4.358,1942,4.515,2171,5.88,5098,8.176,5112,4.753,5134,7.045,5153,7.784,5161,4.676,5178,5.784,5199,6.998,5200,6.998,5203,9.547,5225,4.929,5226,8.741,5227,4.676,5228,7.422,5229,9.844,5231,4.929,5278,8.278,5282,8.278,5283,8.278,5284,5.974,5285,8.278,5320,7.653,5323,5.413,5324,11.603,5325,10.784,5326,10.735,5327,6.378,5328,6.893,5329,6.038,5330,6.038,5331,8.278,5332,6.038,5333,9.451,5334,6.893,5335,9.451,5336,9.451,5337,9.451,5338,9.451,5339,9.451,5340,6.893,5341,9.451,5342,6.893,5343,6.893,5344,6.893,5345,6.893,5346,9.451,5347,9.451,5348,9.451,5349,9.451,5350,9.451,5351,9.451,5352,6.893,5353,6.893,5354,6.893]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.232,5329,6.018]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.287,2,0.94,3,0.019,4,0.019,5,0.009,7,0.122,8,1.312,27,0.448,29,0.673,30,0.001,31,0.486,32,0.141,33,0.406,35,1.029,47,0.84,59,2.614,95,0.128,101,0.017,103,0.001,104,0.001,177,1.579,181,2.292,345,2.697,349,0.874,379,1.072,381,3.672,988,4.734,1121,8.068,1147,3.303,1271,2.651,2171,6.519,3751,6.072,4038,5.855,5098,8.316,5111,4.593,5112,7.482,5134,6.93,5139,6.668,5141,6.668,5199,7.759,5200,7.759,5225,6.072,5226,7.869,5227,5.76,5296,7.438,5323,6.668,5326,11.659,5327,7.856,5329,9.505,5355,8.492,5356,8.492,5357,8.492,5358,8.492,5359,8.492,5360,8.492,5361,10.851,5362,8.492,5363,8.492,5364,8.492,5365,8.492,5366,8.492,5367,8.492]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.232,5234,5.563]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.284,2,0.646,3,0.013,4,0.013,5,0.013,7,0.084,8,1.016,27,0.445,29,0.666,30,0.001,31,0.481,32,0.128,33,0.402,35,0.707,36,1.799,47,0.757,95,0.145,101,0.017,103,0,104,0,105,0.857,177,2.334,181,1.575,236,2.112,262,1.287,345,1.853,349,1.226,379,1.061,381,3.334,437,1.57,454,3.876,490,2.073,603,2.533,686,3.815,1121,3.736,1147,2.999,1271,2.624,1312,5.454,1732,4.411,1942,4.125,2063,7.75,3222,5.382,5098,8.105,5110,4.582,5111,4.546,5112,5.796,5122,9.375,5134,6.621,5139,6.601,5141,6.601,5149,6.806,5153,7.62,5155,4.725,5161,7.312,5199,7.414,5200,7.414,5201,4.896,5202,8.729,5203,7.737,5204,8.24,5205,9.046,5209,7.053,5213,9.588,5215,7.053,5216,9.637,5218,10.165,5219,7.053,5222,4.725,5223,4.725,5224,4.46,5225,4.172,5226,6.483,5227,3.958,5228,6.601,5229,6.806,5230,4.582,5231,6.01,5232,4.582,5233,8.267,5234,6.806,5235,4.896,5236,4.896,5237,4.896,5238,9.046,5239,4.896,5240,7.053,5241,4.896,5242,4.896,5243,7.053,5244,4.896,5245,4.896,5246,4.896,5247,4.896,5248,4.896,5249,4.896,5250,4.896,5251,4.896,5252,4.896,5253,4.896,5254,4.896,5255,4.725,5256,4.896,5257,4.896,5258,4.896,5259,4.896,5260,4.896,5261,4.896,5262,4.896,5263,4.896,5368,7.777,5369,5.835,5370,5.835,5371,5.835,5372,5.835,5373,5.835,5374,5.835]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.232,5232,5.395]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.285,2,0.934,3,0.018,4,0.018,5,0.009,7,0.121,8,1.306,27,0.446,29,0.668,30,0.001,31,0.483,32,0.14,33,0.404,35,1.022,47,0.837,95,0.141,101,0.017,103,0.001,104,0.001,177,1.569,181,2.278,345,2.68,349,1.113,379,1.066,381,3.658,988,4.715,1121,8.049,1147,3.29,1271,3.722,1312,7.737,1942,3.533,3222,8.321,3368,6.833,4038,5.819,5098,8.115,5111,4.564,5122,8.261,5134,6.263,5136,9.999,5153,5.403,5161,8.087,5168,7.808,5199,7.737,5200,7.737,5216,10.18,5226,7.846,5227,5.724,5231,6.034,5232,8.487,5292,7.808,5320,6.833,5323,6.627,5375,8.439,5376,8.439,5377,8.439,5378,8.439]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.232,5330,6.018]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.3,2,0.983,3,0.019,4,0.019,5,0.01,7,0.127,8,1.349,27,0.46,29,0.703,30,0.001,31,0.508,32,0.115,33,0.425,35,1.076,95,0.105,101,0.014,103,0.001,104,0.001,177,1.652,345,2.821,349,0.915,379,1.122,708,3.564,988,4.87,1121,8.202,1147,3.398,1312,7.244,3222,7.148,5098,7.999,5134,5.147,5161,8.688,5199,7.923,5200,7.923,5226,8.865,5227,6.024,5323,6.974,5330,9.779,5331,10.695,5379,8.881,5380,8.217,5381,11.164,5382,8.217,5383,8.881,5384,6.351,5385,8.881,5386,8.217,5387,8.881,5388,8.881,5389,8.881]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.232,5230,5.395]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.231,2,0.756,3,0.015,4,0.015,5,0.008,7,0.098,8,1.136,27,0.5,29,0.541,30,0.001,31,0.391,32,0.139,33,0.327,35,1.3,47,0.66,95,0.152,101,0.014,103,0,104,0,112,0.719,119,1.949,177,1.997,181,2.536,236,1.881,349,1.106,379,0.863,381,2.313,529,1.956,603,2.217,988,4.099,1121,7.403,1147,2.86,1218,2.588,2063,7.842,2232,3.854,2255,4.641,3222,8.019,4404,6.977,5098,8.53,5122,8.837,5129,8.23,5133,5.535,5134,7.258,5171,5.987,5179,5.987,5180,5.987,5199,8.127,5200,8.127,5204,9.264,5224,5.225,5225,4.888,5226,7.608,5227,4.636,5230,7.379,5231,9.482,5264,5.987,5265,5.736,5267,9.079,5268,9.362,5269,8.693,5274,5.736,5275,6.324,5323,5.368,5390,9.01,5391,9.396,5392,6.835,5393,6.835,5394,6.835,5395,5.987,5396,7.609,5397,5.987,5398,8.693,5399,10.737,5400,6.835,5401,6.835,5402,6.835,5403,6.835,5404,6.835,5405,6.835,5406,6.835]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.232,5332,6.018]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,8,1.395,27,0.476,29,0.742,30,0.001,31,0.536,32,0.121,33,0.448,35,1.135,95,0.111,101,0.014,103,0.001,104,0.001,177,1.743,345,2.977,349,0.965,379,1.184,988,5.036,1121,8.36,1147,3.514,5098,8.153,5134,5.432,5199,8.118,5200,8.118,5226,8.984,5227,6.357,5231,9.336,5323,7.36,5331,10.958,5332,10.112,5380,8.672,5382,8.672,5407,9.373,5408,11.544,5409,9.373,5410,9.373]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.232,5395,6.018]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.262,2,0.857,3,0.017,4,0.017,5,0.011,7,0.111,8,1.236,27,0.502,29,0.614,30,0.001,31,0.443,32,0.158,33,0.371,35,1.386,47,0.913,95,0.135,101,0.016,103,0.001,104,0.001,119,2.12,145,2.177,177,1.441,181,2.091,345,2.461,349,1.178,379,0.978,381,3.46,988,4.46,1121,7.79,1147,3.112,1271,2.419,1312,6.634,2255,5.209,5098,8.396,5111,4.19,5112,7.049,5129,10.658,5132,9.458,5133,6.273,5134,6.631,5166,8.579,5171,6.786,5172,9.458,5173,7.168,5174,5.653,5199,8.207,5200,8.207,5225,5.54,5226,7.529,5227,5.255,5266,6.786,5267,8.985,5268,9.853,5271,7.168,5274,6.501,5320,6.273,5321,6.273,5322,6.786,5395,8.955,5396,10.242,5411,7.168,5412,7.747,5413,7.747,5414,7.747,5415,7.747]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.232,5397,6.018]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.231,2,0.758,3,0.015,4,0.015,5,0.01,7,0.098,8,1.137,27,0.477,29,0.542,30,0.001,31,0.392,32,0.15,33,0.327,35,1.302,47,0.88,95,0.137,101,0.014,103,0,104,0,119,1.951,145,1.924,177,1.749,181,1.848,345,2.175,349,1.191,379,0.865,381,3.184,437,0.903,486,2.061,603,1.414,988,4.104,1121,7.408,1147,2.863,1262,3.288,1271,2.937,1309,3.968,1312,6.104,1931,4.328,2063,7.848,2232,6.838,2255,4.43,2739,3.108,4038,4.721,5098,8.163,5111,3.703,5112,6.487,5133,5.544,5134,6.228,5166,9.018,5178,5.746,5179,5.997,5180,5.997,5199,7.87,5200,7.87,5204,8.214,5224,5.233,5225,4.896,5226,7.072,5227,4.644,5255,7.617,5266,5.997,5267,8.439,5268,9.369,5274,5.746,5278,8.24,5282,8.24,5283,8.24,5284,5.947,5285,8.24,5289,5.746,5296,5.997,5320,5.544,5321,5.544,5322,5.997,5396,9.82,5397,8.24,5398,10.705,5411,6.335,5416,6.847,5417,6.847,5418,6.847,5419,10.746,5420,6.847,5421,6.847,5422,6.847,5423,6.847,5424,9.407,5425,9.407,5426,6.847,5427,9.407,5428,6.847]],["title/modules/CommonToolModule.html",[201,1.845,5429,5.013]],["body/modules/CommonToolModule.html",[0,0.268,3,0.017,4,0.017,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,155,2.578,201,3.108,203,2.876,204,3.082,205,3.169,206,3.156,207,3.143,208,4.272,209,4.381,214,6.094,218,4.149,219,3.106,220,3.036,225,4.132,226,1.158,227,3.29,560,3.262,654,2.387,1341,2.548,1726,3.395,1728,5.217,1807,10.431,1832,4.358,1963,4.47,2427,4.951,5429,10.494,5430,7.929,5431,7.929,5432,7.929,5433,7.929,5434,8.371,5435,10.98,5436,10.98,5437,10.98,5438,7.929,5439,6.42,5440,6.42,5441,7.929,5442,7.929,5443,7.929,5444,6.653]],["title/injectables/CommonToolService.html",[539,0.921,5435,5.395]],["body/injectables/CommonToolService.html",[0,0.277,3,0.018,4,0.018,5,0.009,7,0.118,8,1.283,27,0.438,29,0.84,30,0.001,31,0.607,32,0.138,33,0.507,35,1.285,95,0.156,101,0.013,103,0.001,104,0.001,105,0.836,119,2.2,131,3.116,226,1.198,349,1.211,539,1.422,541,1.967,564,3.682,603,2.429,654,2.469,839,2.553,1898,7.304,1899,6.948,1901,5.848,2627,6.766,5435,8.332,5445,10.882,5446,6.64,5447,11.762,5448,10.61,5449,8.2,5450,8.2,5451,8.411,5452,10.61,5453,7.936,5454,11.762,5455,8.2,5456,8.2,5457,8.2,5458,10.61,5459,6.881,5460,7.587,5461,8.2,5462,8.2]],["title/injectables/CommonToolValidationService.html",[539,0.921,5436,5.395]],["body/injectables/CommonToolValidationService.html",[0,0.143,3,0.009,4,0.009,5,0.005,7,0.061,8,0.798,27,0.483,29,0.927,30,0.001,31,0.718,32,0.158,33,0.545,35,1.379,47,0.822,95,0.135,101,0.01,103,0,104,0,112,0.505,119,2.062,131,1.606,142,1.65,143,2.031,145,3.363,226,0.617,236,1.715,274,2.551,283,6.137,292,2.143,333,5.472,340,2.051,349,0.435,363,4.575,413,2.443,437,1.39,480,1.835,486,1.273,517,1.595,519,3.911,529,2.624,539,0.884,541,1.014,556,3.026,564,2.541,603,2.717,604,2.715,646,3.023,654,1.273,662,3.622,839,1.316,1130,2.405,1778,1.656,1879,2.64,1898,4.355,1899,4.199,1901,4.035,1927,7.111,1984,2.305,2095,2.867,2207,2.551,2548,4.179,2616,8.407,2627,4.559,2642,8.526,3311,5.537,5436,5.181,5445,11.073,5463,3.319,5464,8.115,5465,6.598,5466,6.598,5467,6.598,5468,6.598,5469,6.598,5470,6.598,5471,6.598,5472,6.598,5473,6.598,5474,13.062,5475,4.227,5476,3.703,5477,6.598,5478,3.911,5479,6.598,5480,12.557,5481,4.227,5482,6.598,5483,4.227,5484,6.598,5485,4.227,5486,6.598,5487,4.227,5488,6.598,5489,12.388,5490,4.227,5491,6.598,5492,4.227,5493,5.043,5494,5.779,5495,6.598,5496,5.779,5497,5.779,5498,5.779,5499,5.779,5500,5.779,5501,4.227,5502,4.227,5503,2.915,5504,4.227,5505,4.227,5506,4.227,5507,4.227,5508,6.598,5509,4.227,5510,4.227,5511,4.227,5512,4.227,5513,3.911,5514,4.227,5515,2.498,5516,6.598,5517,4.227,5518,4.227,5519,4.227,5520,5.779,5521,3.153,5522,6.598,5523,3.231,5524,4.227,5525,4.227,5526,4.227,5527,4.227,5528,3.703,5529,4.227,5530,3.423,5531,6.598,5532,4.227,5533,3.911,5534,6.598,5535,3.547,5536,3.547,5537,4.227,5538,4.227,5539,3.423,5540,4.227,5541,2.64]],["title/classes/ConsentRequestBody.html",[0,0.232,5542,5.765]],["body/classes/ConsentRequestBody.html",[0,0.287,2,0.654,3,0.013,4,0.013,5,0.007,7,0.085,27,0.52,30,0.001,32,0.163,33,0.655,34,1.414,47,0.84,55,2.028,95,0.117,101,0.009,103,0,104,0,110,8.09,111,4.787,112,0.649,114,8.693,116,9.669,117,7.794,119,1.759,135,6.061,138,2.259,142,5.143,143,2.199,144,4.273,145,3.946,147,4.589,148,1.835,150,1.332,153,2.488,180,1.471,239,1.99,245,2.789,248,3.391,249,4.249,282,3.691,287,3.89,347,2.137,348,4.273,382,3.42,517,4.091,662,1.83,696,3.298,843,5.954,951,2.77,990,4.22,1215,3.249,1295,4.314,1306,3.648,1694,7.376,1783,6.663,2024,2.755,2207,7.213,2406,3.304,2424,5.014,3601,4.37,4677,4.36,4751,6.663,5515,3.494,5542,7.119,5543,10.845,5544,10.2,5545,7.119,5546,7.119,5547,6.663,5548,5.911,5549,5.911,5550,6.531,5551,5.911,5552,4.96,5553,7.432,5554,5.646,5555,7.432,5556,7.85,5557,7.432,5558,3.462,5559,5.911,5560,5.469,5561,7.85,5562,6.191,5563,10.034,5564,6.329,5565,7.85,5566,5.911,5567,8.516,5568,4.518,5569,5.178,5570,5.178,5571,5.178,5572,5.469,5573,4.009,5574,6.485,5575,5.954,5576,4.518,5577,4.787,5578,4.518,5579,4.96,5580,4.787,5581,5.469,5582,4.96,5583,5.469,5584,4.518,5585,5.469,5586,5.178,5587,4.96,5588,4.96,5589,5.469,5590,5.236,5591,6.87,5592,5.469]],["title/classes/ConsentResponse.html",[0,0.232,5593,5.563]],["body/classes/ConsentResponse.html",[0,0.338,2,0.553,3,0.011,4,0.011,5,0.006,7,0.072,27,0.542,29,0.396,30,0.001,31,0.286,32,0.17,33,0.665,34,1.668,47,0.95,70,5.402,72,3.389,77,6.868,95,0.118,101,0.008,103,0,104,0,110,7.468,112,0.574,118,7.212,119,1.556,122,5.091,128,4.595,129,9.395,130,7.891,131,3.423,133,2.581,135,7.408,138,2.335,141,5.279,142,3.907,143,2.376,144,3.652,145,3.618,148,1.553,150,1.128,153,2.756,239,2.642,245,3.38,248,4.001,249,5.101,303,5.894,379,0.632,480,2.088,556,1.834,821,2.319,1262,2.623,1670,4.092,1694,6.177,1739,3.461,1794,6.409,2190,4.744,2207,6.041,2406,5.035,2617,7.651,3330,5.367,3458,3.51,3601,4.707,4118,4.05,4256,8.787,5554,5.694,5587,6.298,5590,6.177,5593,9.459,5594,5.002,5595,8.334,5596,8.334,5597,7.559,5598,7.559,5599,7.559,5600,7.294,5601,7.505,5602,5.002,5603,9.866,5604,5.002,5605,7.891,5606,7.505,5607,5.002,5608,7.505,5609,6.298,5610,5.002,5611,7.559,5612,8.334,5613,5.002,5614,5.002,5615,7.505,5616,6.574,5617,5.002,5618,7.505,5619,5.002,5620,7.559,5621,5.002,5622,7.505,5623,8.768,5624,6.79,5625,5.002,5626,5.002,5627,5.002,5628,6.944,5629,6.944,5630,5.002,5631,5.002,5632,4.381,5633,4.628,5634,4.628,5635,4.628]],["title/classes/ConsentSessionResponse.html",[0,0.232,5636,5.765]],["body/classes/ConsentSessionResponse.html",[0,0.35,2,0.872,3,0.017,4,0.017,5,0.009,7,0.113,27,0.505,29,0.624,30,0.001,31,0.66,32,0.159,33,0.636,34,1.723,47,0.995,95,0.122,101,0.012,103,0.001,104,0.001,110,7.714,112,0.791,135,7.109,138,2.07,141,4.846,148,2.447,150,1.777,153,2.647,245,3.15,249,4.051,379,0.995,556,3.335,821,4.793,1391,8.252,1404,7.293,1694,6.381,3601,4.936,4256,9.512,5603,6.905,5636,8.677,5637,12.72,5638,7.293,5639,9.062,5640,9.567,5641,12.25,5642,7.882,5643,5.207,5644,9.567,5645,7.882,5646,7.882,5647,7.882,5648,7.882,5649,7.882]],["title/modules/ConsoleWriterModule.html",[201,1.845,3590,5.251]],["body/modules/ConsoleWriterModule.html",[0,0.328,3,0.021,4,0.021,5,0.011,30,0.001,95,0.139,101,0.015,103,0.001,104,0.001,201,3.413,203,3.521,204,3.774,205,3.88,206,3.865,207,3.849,208,4.69,209,4.81,218,4.714,219,3.804,220,3.717,226,1.418,3505,9.596,3515,6.137,3590,10.651,5650,9.708,5651,9.708,5652,9.708,5653,8.982,5654,7.861,5655,9.708,5656,8.504]],["title/injectables/ConsoleWriterService.html",[539,0.921,3505,4.588]],["body/injectables/ConsoleWriterService.html",[0,0.335,3,0.028,4,0.022,5,0.011,7,0.142,8,1.443,27,0.408,29,0.784,30,0.001,31,0.566,32,0.128,33,0.473,35,1.199,47,0.9,95,0.117,101,0.015,103,0.001,104,0.001,226,1.446,519,3.673,521,3.908,539,1.599,541,2.374,996,4.773,997,4.613,998,4.718,2882,5.688,3505,7.969,3515,6.257,5653,11.041,5654,9.663,5657,9.897,5658,11.934,5659,9.897,5660,9.897]],["title/classes/ContentBodyParams.html",[0,0.232,1144,5.563]],["body/classes/ContentBodyParams.html",[0,0.435,2,0.998,3,0.02,4,0.02,5,0.01,7,0.129,27,0.465,30,0.001,32,0.159,47,0.95,95,0.133,101,0.02,103,0.001,104,0.001,112,0.862,138,2.022,143,1.998,148,2.8,150,2.033,245,3.41,248,5.148,249,4.416,556,2.203,808,4.469,1105,6.152,1138,7.303,1143,9.127,1144,9.956,1145,9.127,1148,6.894,1150,7.195,1152,7.568,2406,5.041,5590,6.956,5661,7.9,5662,8.628,5663,6.219,5664,9.019,5665,9.019,5666,9.019]],["title/injectables/ContentElementFactory.html",[539,0.921,3597,5.563]],["body/injectables/ContentElementFactory.html",[0,0.203,3,0.013,4,0.013,5,0.01,7,0.086,8,1.037,27,0.496,29,0.476,30,0.001,31,0.344,32,0.15,33,0.287,34,1.925,35,1.456,49,2.241,83,3.758,95,0.152,101,0.009,103,0,104,0,226,0.877,236,2.282,349,1.238,376,4.695,377,4.881,437,1.524,454,3.957,486,1.808,524,3.417,529,1.719,539,1.15,541,1.441,564,1.881,593,2.241,603,2.821,1262,2.099,1271,1.875,1309,6.697,1664,2.25,1923,8.846,1931,3.797,1942,5.83,2232,3.387,2501,2.863,2548,2.027,2794,7.533,2861,5.648,2864,5.297,2867,5.648,2870,5.237,2873,5.426,2880,8.432,2881,4.481,2882,4.091,2883,2.672,2884,3.625,3255,3.797,3278,3.587,3280,3.587,3286,4.472,3289,3.108,3580,5.262,3597,6.95,4163,5.819,4188,7.131,5310,8.026,5667,12.372,5668,6.007,5669,10.925,5670,10.108,5671,10.925,5672,10.925,5673,10.925,5674,8.583,5675,6.007,5676,6.007,5677,6.007,5678,6.007,5679,6.007,5680,6.007,5681,3.846,5682,6.007,5683,3.898,5684,6.007,5685,3.846,5686,6.007,5687,3.898,5688,6.007,5689,3.898,5690,6.007,5691,6.007]],["title/classes/ContentElementResponseFactory.html",[0,0.232,3773,5.251]],["body/classes/ContentElementResponseFactory.html",[0,0.239,2,0.781,3,0.015,4,0.015,5,0.011,7,0.101,8,1.161,27,0.45,29,0.761,30,0.001,31,0.549,32,0.152,33,0.459,35,1.164,95,0.158,99,1.142,100,2.405,101,0.011,103,0.001,104,0.001,112,0.735,226,1.031,236,1.563,349,0.989,413,4.019,437,1.44,480,1.964,486,2.126,529,2.749,564,2.211,603,2.255,739,5.065,783,5.37,1942,5.788,1969,6.533,1980,6.533,2000,4.054,2232,3.981,2503,8.146,2509,7.343,2511,8.842,2512,5.619,2548,2.382,2864,7.233,2870,7.151,2881,5.268,2882,3.366,2883,3.141,2884,4.261,3255,4.464,3731,8.187,3771,7.808,3772,7.808,3773,7.343,5692,11.72,5693,10.103,5694,10.92,5695,9.607,5696,9.607,5697,9.607,5698,9.607,5699,9.607,5700,7.061,5701,7.061,5702,7.061,5703,5.999,5704,7.061,5705,7.061,5706,5.545,5707,6.185,5708,6.185,5709,6.185,5710,6.185,5711,6.185,5712,9.607,5713,7.061,5714,7.061,5715,7.061,5716,6.185,5717,7.061,5718,7.061,5719,7.061,5720,7.061]],["title/injectables/ContentElementService.html",[539,0.921,1912,5.013]],["body/injectables/ContentElementService.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.019,10,3.426,12,3.788,26,2.479,27,0.507,29,0.973,30,0.001,31,0.702,32,0.168,33,0.587,34,1.405,35,1.444,36,2.845,55,2.018,95,0.141,99,0.948,101,0.009,103,0,104,0,177,1.837,226,0.856,236,1.607,262,3.049,349,1.112,379,1.065,437,1.509,529,2.413,539,1.13,541,1.406,603,2.04,608,2.909,685,3.53,790,2.951,1912,6.153,1917,6.621,1923,10.521,1942,5.359,1944,2.475,2255,4.136,2487,3.053,2512,2.809,2525,6.384,2681,3.145,2854,6.986,2958,4.983,3149,4.372,3150,8.364,3307,3.975,3338,7.801,3366,6.068,3378,5.133,3427,9.162,3430,5.814,3436,8.256,3440,4.917,3597,9.945,4161,7.385,4163,5.753,4181,4.745,4245,9.994,5716,5.133,5721,11.628,5722,5.86,5723,5.86,5724,5.86,5725,8.432,5726,5.86,5727,8.432,5728,5.86,5729,8.432,5730,5.86,5731,8.432,5732,5.86,5733,8.432,5734,7.108,5735,5.86,5736,5.86,5737,5.133,5738,5.86,5739,5.86,5740,5.86,5741,5.86,5742,5.86,5743,5.86,5744,5.86,5745,5.86,5746,5.86,5747,4.276,5748,5.86,5749,5.86,5750,5.86,5751,5.86]],["title/injectables/ContentElementUpdateVisitor.html",[539,0.921,5737,6.018]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.067,8,0.865,27,0.524,29,0.992,30,0.001,31,0.716,32,0.167,33,0.599,35,1.492,36,2.898,47,0.33,95,0.123,99,0.76,101,0.007,103,0,104,0,112,0.547,177,1.612,226,0.686,236,1.164,247,2.02,262,3.064,301,3.136,349,1.36,379,0.593,437,1.143,539,0.959,541,1.126,556,1.748,603,2.27,604,4.293,790,2.365,1147,1.429,1262,3.03,1739,2.165,1832,2.581,1925,6.23,1942,5.436,2255,3.995,2429,4.113,2512,4.647,2525,5.729,2548,2.414,2653,8.194,2692,5.516,2801,4.147,2830,2.804,2854,5.936,2861,6.866,2864,6.439,2867,6.866,2870,6.366,2873,6.596,2880,3.427,2883,2.089,2886,6.004,2887,6.004,2888,6.004,2889,6.004,2890,6.004,2891,6.004,2892,6.004,2894,6.004,2895,6.004,2896,6.004,2897,6.004,2898,6.004,2899,6.004,2900,6.004,2901,6.004,2902,6.004,2903,6.004,2958,2.775,3067,4.345,3286,2.447,3473,6.565,5721,11.889,5734,7.235,5737,6.268,5752,4.696,5753,7.155,5754,7.155,5755,7.155,5756,7.155,5757,4.696,5758,3.238,5759,4.696,5760,4.696,5761,4.696,5762,4.696,5763,4.696,5764,4.696,5765,4.696,5766,4.696,5767,6.62,5768,4.696,5769,4.345,5770,3.94,5771,4.778,5772,4.778,5773,4.778,5774,4.778,5775,4.778,5776,4.696,5777,4.696,5778,4.696,5779,4.345,5780,4.696,5781,7.155,5782,4.345,5783,4.696,5784,4.696,5785,4.345,5786,4.696,5787,4.345,5788,4.696,5789,4.696,5790,4.696,5791,7.155,5792,4.696,5793,8.669,5794,4.696,5795,4.696,5796,4.696,5797,4.345,5798,4.696,5799,4.696,5800,4.345,5801,4.696,5802,4.345,5803,4.696,5804,7.155,5805,4.345,5806,4.696,5807,7.155,5808,4.345,5809,4.696,5810,4.696,5811,7.155,5812,4.696,5813,3.802,5814,4.113,5815,4.696,5816,4.345,5817,4.696]],["title/classes/ContentElementUrlParams.html",[0,0.232,5818,6.018]],["body/classes/ContentElementUrlParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,34,1.983,47,0.836,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,245,3.06,808,4.718,1942,4.981,3876,5.821,5818,10.422,5819,11.899,5820,9.113,5821,11.829,5822,9.113]],["title/classes/ContentFileUrlParams.html",[0,0.232,5823,6.018]],["body/classes/ContentFileUrlParams.html",[0,0.398,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.486,30,0.001,32,0.153,34,2.115,47,0.928,95,0.139,101,0.015,103,0.001,104,0.001,112,0.901,138,2.112,148,3.006,150,2.183,245,3.264,248,4.707,808,4.67,809,6.474,1105,6.351,5663,6.678,5823,10.317,5824,12.692,5825,8.961,5826,7.925,5827,8.127,5828,9.685,5829,9.685]],["title/classes/ContentMetadata.html",[0,0.232,5830,5.563]],["body/classes/ContentMetadata.html",[0,0.205,2,0.42,3,0.008,4,0.019,5,0.004,7,0.124,26,2.131,27,0.552,29,0.3,30,0.001,31,0.217,32,0.174,33,0.659,47,0.971,49,3.221,95,0.111,96,1.603,97,1.548,99,0.614,101,0.013,103,0,104,0,105,0.387,112,0.463,138,2.387,143,3.047,144,4.111,154,1.215,160,7.026,172,4.312,173,1.1,174,2.302,178,1.498,180,0.658,182,1.201,236,1.23,349,0.779,379,0.765,654,1.142,839,2.354,1105,6.722,1108,4.515,1125,2.314,1147,1.844,1218,2.293,1271,2.361,2024,1.768,2171,5.145,2255,3.613,2562,3.091,2670,3.468,2696,1.768,2784,1.798,3130,2.289,3366,1.874,3473,2.265,3632,3.487,4266,2.559,4332,3.251,4359,2.616,4543,3.072,5146,2.102,5830,7.641,5831,10.878,5832,3.323,5833,6.528,5834,6.623,5835,6.623,5836,6.345,5837,5.306,5838,4.341,5839,6.345,5840,5.78,5841,5.78,5842,5.641,5843,5.78,5844,4.907,5845,6.623,5846,6.623,5847,5.306,5848,6.623,5849,6.623,5850,5.641,5851,5.78,5852,6.623,5853,6.623,5854,4.331,5855,6.057,5856,3.793,5857,3.793,5858,6.623,5859,3.793,5860,6.623,5861,3.793,5862,3.793,5863,8.07,5864,3.793,5865,3.793,5866,4.251,5867,4.63,5868,3.793,5869,3.793,5870,3.793,5871,3.793,5872,3.793,5873,3.793,5874,3.793,5875,3.793,5876,3.793,5877,3.793,5878,3.793,5879,3.793,5880,3.793,5881,3.793,5882,3.793,5883,3.477,5884,2.899,5885,5.306,5886,2.899,5887,3.323,5888,2.899,5889,3.323,5890,2.712,5891,2.712,5892,3.323,5893,3.323,5894,2.662,5895,3.323,5896,2.712,5897,2.899,5898,3.323,5899,2.899,5900,3.323,5901,2.899,5902,3.323,5903,2.899,5904,3.323,5905,3.323,5906,3.323,5907,3.323,5908,3.323,5909,2.899,5910,3.323,5911,3.323,5912,3.323,5913,3.323,5914,3.323,5915,3.323,5916,3.323,5917,3.323,5918,3.323,5919,3.323,5920,3.323,5921,3.323,5922,3.323,5923,3.323,5924,3.323,5925,3.323,5926,3.323,5927,3.323,5928,3.183,5929,3.323,5930,5.129,5931,4.905,5932,4.09,5933,4.002,5934,2.83,5935,2.02,5936,2.712,5937,2.712,5938,2.573,5939,2.712,5940,2.768,5941,2.83,5942,2.429,5943,2.616,5944,3.183,5945,2.712,5946,3.323,5947,2.83,5948,2.712]],["title/classes/ContextExternalTool.html",[0,0.232,1899,3.555]],["body/classes/ContextExternalTool.html",[0,0.244,2,0.799,3,0.016,4,0.016,5,0.008,7,0.104,8,1.179,27,0.546,29,0.979,30,0.001,31,0.413,32,0.169,33,0.591,34,1.841,35,0.875,47,0.868,55,2.525,95,0.146,101,0.015,103,0.001,104,0.001,105,0.736,112,0.747,131,2.745,180,1.692,181,2.634,349,0.744,379,0.912,381,2.445,382,2.151,564,4.423,654,2.175,1147,2.97,1746,6.923,1899,5.048,1901,3.592,2642,7.785,3789,4.408,5453,7.693,5949,7.746,5950,11.596,5951,5.673,5952,8.711,5953,6.079,5954,9.043,5955,9.043,5956,9.928,5957,9.027,5958,7.224,5959,7.224,5960,7.224,5961,9.58,5962,7.224,5963,5.272,5964,7.224,5965,5.673,5966,4.824,5967,5.166,5968,5.522,5969,6.684,5970,6.684,5971,6.684,5972,6.684,5973,4.625,5974,4.981,5975,4.824,5976,5.272,5977,6.977,5978,5.389]],["title/injectables/ContextExternalToolAuthorizableService.html",[539,0.921,5979,5.563]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,12,4.974,26,2.573,27,0.457,29,0.877,30,0.001,31,0.633,32,0.144,33,0.53,34,1.461,35,1.062,36,2.37,40,5.339,95,0.155,99,1.418,101,0.013,103,0.001,104,0.001,177,1.63,226,1.28,227,3.638,262,2.677,345,2.784,349,0.903,379,1.107,437,1.156,539,1.484,541,2.103,564,4.204,608,2.029,1147,2.668,1742,8.966,1778,3.435,1899,6.597,2531,4.064,2548,4.094,3146,8.111,5437,10.544,5949,7.102,5979,8.966,5980,10.631,5981,8.111,5982,8.766,5983,8.766,5984,8.766]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.232,5985,5.765]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.312,2,1.023,3,0.02,4,0.02,5,0.01,7,0.133,27,0.472,29,0.732,30,0.001,31,0.529,32,0.161,33,0.442,95,0.135,101,0.014,103,0.001,104,0.001,112,0.876,131,3.513,138,1.658,150,2.084,245,2.944,284,4.042,379,1.167,556,2.259,564,4.068,814,6.487,817,6.571,819,4.656,834,5.04,1077,7.673,2079,5.751,2546,5.703,2548,4.384,5985,9.605,5986,11.504,5987,11.169,5988,8.989,5989,8.553]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.232,5987,5.563]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.251,2,0.823,3,0.016,4,0.016,5,0.008,7,0.107,26,2.518,27,0.541,29,0.948,30,0.001,31,0.685,32,0.173,33,0.536,47,0.841,55,2.033,95,0.132,99,1.203,101,0.011,103,0.001,104,0.001,112,0.761,138,2.303,149,4.325,150,1.676,245,3.506,379,0.939,556,1.817,564,4.172,819,3.745,1130,4.23,2044,2.891,2079,5.973,2546,6.111,2548,4.495,5111,6.064,5975,4.966,5986,12.328,5987,10.104,5990,6.879,5991,7.867,5992,6.377,5993,8.181,5994,9.204,5995,9.948,5996,6.879,5997,6.879,5998,6.879,5999,9.4,6000,6.879,6001,6.879,6002,6.513,6003,6.239,6004,6.879,6005,7.436,6006,7.436,6007,6.879,6008,4.893,6009,6.879,6010,6.879,6011,5.839,6012,6.879]],["title/classes/ContextExternalToolContextParams.html",[0,0.232,6013,5.765]],["body/classes/ContextExternalToolContextParams.html",[0,0.374,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,27,0.457,30,0.001,32,0.144,47,0.778,95,0.143,101,0.013,103,0.001,104,0.001,112,0.847,138,1.986,142,4.976,143,2.824,144,3.935,145,3.583,148,2.721,150,1.976,245,3.121,556,2.142,564,4.204,808,4.39,839,2.729,852,4.086,1928,8.619,1929,4.304,1933,6.269,2492,7.694,2548,4.094,2922,5.308,4858,7.324,5949,7.102,6013,9.291,6014,9.828,6015,8.766,6016,7.672,6017,7.679,6018,8.766,6019,8.766,6020,8.766,6021,8.766,6022,8.766,6023,7.679]],["title/entities/ContextExternalToolEntity.html",[154,1.378,6024,5.013]],["body/entities/ContextExternalToolEntity.html",[0,0.24,3,0.015,4,0.015,5,0.008,7,0.102,27,0.522,29,0.93,30,0.001,32,0.164,33,0.461,47,0.889,55,2.236,95,0.145,96,1.876,101,0.015,103,0.001,104,0.001,105,0.722,112,0.737,131,2.693,138,2.271,143,2.6,144,2.297,154,1.932,155,2.304,160,3.927,172,4.102,173,2.054,174,3.66,178,2.798,180,1.228,181,1.913,182,2.244,564,4.396,654,2.133,1403,5.286,1732,5.054,2548,2.39,4326,4.972,4332,5.168,4333,4.146,4858,7.083,5094,5.071,5453,6.937,5949,7.579,5953,6.031,5973,4.537,5974,4.886,5975,4.732,5976,5.171,5977,5.067,5978,5.286,6016,7.419,6024,7.027,6025,10.868,6026,5.738,6027,9.849,6028,7.086,6029,10.281,6030,7.086,6031,7.086,6032,9.382,6033,7.086,6034,8.565,6035,7.086,6036,7.086,6037,5.946,6038,4.598,6039,8.081,6040,6.556,6041,6.556,6042,6.556,6043,6.207,6044,5.946,6045,5.738,6046,5.946]],["title/classes/ContextExternalToolFactory.html",[0,0.232,6047,6.357]],["body/classes/ContextExternalToolFactory.html",[0,0.16,2,0.523,3,0.01,4,0.01,5,0.005,7,0.068,8,0.87,27,0.536,29,1.048,30,0.001,31,0.727,32,0.174,33,0.6,34,1.451,35,1.465,47,0.83,49,1.764,55,2.342,59,3.393,95,0.13,96,1.252,97,1.929,101,0.007,103,0,104,0,112,0.55,120,3.038,133,2.473,140,2.578,153,1.997,154,1.746,155,2.339,177,1.338,180,1.247,236,1.171,271,4.646,319,3.038,333,2.015,349,0.741,379,0.597,382,3.832,413,2.165,437,0.949,447,6.907,448,4.442,449,5.347,452,3.954,453,5.347,454,5.445,455,3.954,456,3.954,457,3.954,458,3.891,459,4.384,460,4.785,461,6.339,462,5.661,463,6.874,464,2.621,469,2.599,470,3.954,471,2.621,472,5.034,473,5.182,474,4.128,475,4.9,476,3.922,477,2.599,478,2.464,479,4.04,480,3.432,481,2.538,482,2.5,483,2.599,484,4.965,485,2.621,486,3.555,487,4.709,488,2.599,489,6.99,490,4.197,491,6.491,492,2.621,493,3.51,494,2.599,495,2.621,496,2.599,497,2.621,498,2.599,501,2.599,502,5.963,503,2.621,504,2.599,505,3.954,506,3.722,507,3.954,508,2.621,509,2.519,510,2.5,511,2.093,512,2.599,513,2.599,514,2.599,515,2.621,516,2.621,517,1.784,518,2.599,519,1.455,520,2.621,521,2.841,522,2.599,523,2.621,525,2.715,526,2.767,527,2.795,556,2.127,564,2.726,708,2.887,1899,2.447,1901,2.351,1926,1.777,1928,2.989,1933,3.381,2548,1.595,2642,4.733,3602,3.068,4188,2.918,4266,3.731,4374,6.109,4376,3.381,5453,2.795,5952,3.112,5953,2.43,5954,5.498,5956,3.968,6047,8.055,6048,7.193,6049,3.829,6050,7.193,6051,7.193,6052,4.729,6053,7.099,6054,3.713,6055,3.207,6056,4.729]],["title/classes/ContextExternalToolIdParams.html",[0,0.232,6057,5.251]],["body/classes/ContextExternalToolIdParams.html",[0,0.401,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.404,30,0.001,32,0.127,47,0.833,95,0.14,101,0.015,103,0.001,104,0.001,112,0.908,138,1.758,142,4.63,143,2.628,144,3.178,145,3.334,148,3.043,150,2.21,245,3.051,256,7.009,564,4.151,808,4.704,2548,4.003,3294,7.193,5949,6.942,6014,9.607,6057,9.068,6058,8.225,6059,8.586]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.193,708,2.292,6057,4.366]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.404,2,1.098,3,0.022,4,0.022,5,0.011,7,0.142,26,2.589,27,0.409,30,0.001,32,0.129,95,0.152,99,1.605,101,0.015,103,0.001,104,0.001,112,0.914,138,1.779,148,3.08,150,2.237,245,3.074,256,7.095,564,3.742,808,4.738,2546,5.481,2548,4.032,3294,7.231,6057,9.135,6060,11.057,6061,7.24,6062,8.034]],["title/modules/ContextExternalToolModule.html",[201,1.845,3591,5.395]],["body/modules/ContextExternalToolModule.html",[0,0.258,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,201,3.051,203,2.768,204,2.967,205,3.05,206,3.038,207,3.025,208,4.192,209,4.3,214,6.029,218,4.045,219,2.99,220,2.922,225,4.029,226,1.115,560,3.14,564,3.787,654,2.297,1341,2.452,2548,3.415,3591,11.341,5134,4.422,5429,9.44,5439,6.179,5949,4.465,5979,11.257,6063,7.631,6064,7.631,6065,7.631,6066,7.631,6067,9.887,6068,10.158,6069,9.021,6070,11.666,6071,11.666,6072,7.631]],["title/classes/ContextExternalToolPostParams.html",[0,0.232,6073,5.765]],["body/classes/ContextExternalToolPostParams.html",[0,0.38,2,0.826,3,0.016,4,0.016,5,0.008,7,0.107,27,0.53,29,0.89,30,0.001,32,0.175,33,0.573,47,0.903,55,2.038,95,0.148,101,0.011,103,0.001,104,0.001,112,0.763,138,2.305,143,1.653,148,2.317,149,4.333,150,1.682,245,3.213,248,3.986,249,4.4,564,4.406,654,2.247,808,4.453,852,3.478,1142,4.66,1928,7.1,1929,3.664,2406,4.171,2548,4.428,3493,7.131,4858,6.778,5453,6.638,5590,6.154,5663,6.876,5949,7.68,5953,5.771,6014,10.628,6016,7.1,6023,6.537,6053,8.196,6073,8.368,6074,6.905,6075,7.463,6076,7.463,6077,7.463,6078,5.446,6079,7.463,6080,9.549,6081,6.262,6082,6.262,6083,6.262,6084,7.463,6085,6.905,6086,6.905,6087,7.463,6088,5.623,6089,5.704]],["title/interfaces/ContextExternalToolProps.html",[105,0.7,5956,5.765]],["body/interfaces/ContextExternalToolProps.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,29,1.013,30,0.001,32,0.17,33,0.59,34,2.055,47,0.938,55,2.614,95,0.151,101,0.016,103,0.001,104,0.001,105,0.818,107,1.882,112,0.8,131,3.049,180,1.391,181,2.166,349,0.826,564,3.644,654,2.415,1147,2.442,1746,6.121,1899,4.151,1901,3.989,2642,8.418,3789,4.895,5453,7.895,5949,4.694,5950,7.027,5951,6.3,5952,9.093,5953,6.573,5954,9.777,5955,6.132,5956,9.766,5961,10.358,5965,6.3,5966,5.357,5967,5.737,5968,6.132,5969,7.422,5970,7.422,5971,7.422,5972,7.422,5973,5.137,5974,5.532,5975,5.357,5976,5.854,5977,7.48,5978,5.985]],["title/injectables/ContextExternalToolRepo.html",[539,0.921,5437,5.395]],["body/injectables/ContextExternalToolRepo.html",[0,0.126,3,0.008,4,0.008,5,0.004,7,0.053,8,0.721,10,2.423,12,2.679,18,2.984,26,2.326,27,0.538,29,1.04,30,0.001,31,0.741,32,0.173,33,0.62,34,1.662,35,1.557,36,2.607,40,2.876,47,0.524,95,0.146,96,1.579,97,1.518,101,0.006,103,0,104,0,112,0.285,131,2.266,133,2.051,154,1.875,155,1.21,173,1.079,177,1.109,180,1.034,226,0.543,227,1.544,236,1.705,262,2.857,310,2.589,349,1.235,379,0.47,381,1.259,382,3.626,437,1.481,448,3.008,486,1.795,519,1.145,529,1.707,539,0.799,541,0.892,564,3.911,603,2.632,608,1.38,662,2.31,680,4.045,686,2.707,687,4.589,718,1.982,740,2.844,754,3.259,1309,4.948,1341,1.196,1403,2.775,1665,3.071,1778,1.458,1899,5.812,1901,2.965,1928,6.623,1931,3.77,1933,4.265,1936,5.224,2000,2.136,2088,2.414,2299,8.707,2301,4.265,2302,4.265,2303,4.265,2304,4.265,2305,4.185,2306,4.185,2307,4.265,2308,4.185,2309,4.265,2310,2.715,2311,4.814,2312,3.544,2313,3.896,2315,4.352,2316,2.66,2318,4.948,2319,2.66,2321,2.66,2323,2.414,2324,4.185,2325,2.66,2327,2.66,2329,4.265,2333,4.265,2335,4.045,2336,4.185,2338,2.66,2340,2.245,2341,2.296,2342,2.66,2344,2.66,2346,2.611,2347,2.66,2353,2.523,2364,2.565,2365,4.449,2387,5.005,2400,3.259,2627,1.85,3602,4.844,4266,1.259,4446,2.296,4544,3.424,4741,3.983,4743,3.153,4858,2.245,5437,4.683,5453,3.525,5558,3.045,5952,6.15,5953,3.064,5954,4.558,5961,6.044,6016,2.352,6024,8.409,6027,5.005,6029,9.177,6034,2.715,6038,3.87,6039,8.369,6053,2.715,6090,10.074,6091,3.259,6092,5.518,6093,5.964,6094,5.964,6095,5.964,6096,3.72,6097,5.518,6098,9.693,6099,3.72,6100,8.736,6101,5.964,6102,3.72,6103,5.518,6104,3.72,6105,5.005,6106,3.442,6107,3.72,6108,5.964,6109,3.72,6110,5.964,6111,3.72,6112,3.72,6113,3.72,6114,2.715,6115,2.715,6116,2.715,6117,2.715,6118,2.715,6119,2.715,6120,2.715,6121,2.715,6122,2.715,6123,3.72,6124,3.72,6125,3.72,6126,2.66,6127,4.265,6128,3.013,6129,3.259,6130,2.844,6131,3.72,6132,3.456,6133,3.442,6134,2.565,6135,5.964,6136,3.72,6137,3.72,6138,3.72,6139,3.72,6140,3.72,6141,3.442,6142,3.72,6143,3.72,6144,3.442,6145,3.72,6146,3.442,6147,3.442,6148,3.72,6149,3.72,6150,3.72,6151,3.72,6152,3.72,6153,3.72,6154,3.442,6155,3.442,6156,5.964,6157,5.964,6158,5.964]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.232,6159,6.018]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.275,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,8,1.276,27,0.435,29,0.928,30,0.001,31,0.67,32,0.152,33,0.505,34,1.355,35,1.278,95,0.146,101,0.013,103,0.001,104,0.001,141,3.812,349,1.207,413,3.964,480,2.263,564,4.253,603,2.42,654,2.449,790,4.097,2548,3.953,2642,7.71,5453,4.808,5949,6.856,5952,5.353,5953,4.18,5954,6.218,5966,5.432,6053,5.936,6073,10.405,6080,9.82,6089,6.218,6126,5.817,6159,9.245,6160,10.84,6161,6.388,6162,10.555,6163,10.263,6164,10.555,6165,8.135,6166,10.263,6167,7.126,6168,8.135,6169,8.857,6170,7.126,6171,8.135,6172,8.135,6173,8.135,6174,8.135,6175,8.135,6176,7.526,6177,7.126,6178,6.826,6179,7.126]],["title/classes/ContextExternalToolResponse.html",[0,0.232,6180,5.563]],["body/classes/ContextExternalToolResponse.html",[0,0.232,2,0.76,3,0.015,4,0.015,5,0.008,7,0.099,27,0.548,29,0.918,30,0.001,31,0.393,32,0.174,33,0.581,34,1.794,47,0.943,55,1.927,95,0.127,101,0.011,103,0,104,0,112,0.721,138,2.347,149,4.684,150,1.549,245,3.488,379,0.868,404,2.746,480,1.911,486,2.068,556,1.678,564,4.452,654,2.068,819,3.46,824,2.441,839,2.139,1928,7.676,1929,3.373,2921,4.06,4858,6.497,5453,6.362,5949,7.859,5953,5.532,5973,4.399,5975,4.588,5977,4.913,5992,6.124,6008,4.521,6014,10.875,6016,6.805,6043,6.018,6045,5.563,6053,7.856,6089,5.251,6180,9.832,6181,6.018,6182,7.635,6183,8.259,6184,6.018,6185,6.018,6186,6.018,6187,6.018,6188,9.099,6189,6.018,6190,6.018,6191,6.018,6192,5.251,6193,6.356,6194,6.87,6195,6.87,6196,6.87,6197,6.87,6198,6.018,6199,6.356,6200,6.018]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.232,6201,5.765]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.227,2,0.744,3,0.015,4,0.015,5,0.007,7,0.096,8,1.123,27,0.474,29,0.954,30,0.001,31,0.689,32,0.149,33,0.549,34,1.12,35,1.391,95,0.136,101,0.01,103,0,104,0,236,1.732,347,3.357,349,1.241,413,4.101,437,1.589,480,1.87,564,4.229,603,2.198,654,2.024,782,4.014,790,3.386,824,3.301,1778,2.634,1899,6.234,1905,6.22,1932,5.888,2548,4.065,3729,5.888,3731,4.489,4544,6.591,4858,4.057,5453,3.973,5949,7.05,5953,4.773,5992,3.824,6016,4.249,6053,4.906,6080,9.209,6089,5.138,6160,11.147,6163,9.323,6167,5.888,6169,7.795,6178,5.641,6179,5.888,6180,9.756,6188,10.221,6201,7.795,6202,9.289,6203,9.289,6204,9.289,6205,9.289,6206,5.888,6207,9.289,6208,10.098,6209,6.722,6210,10.342,6211,9.289,6212,6.22,6213,6.22,6214,5.641,6215,6.22,6216,5.279,6217,4.717,6218,5.888,6219,6.722,6220,6.722,6221,6.722,6222,6.722,6223,8.594,6224,6.722,6225,6.722,6226,5.443,6227,6.22,6228,6.22,6229,5.888,6230,5.641,6231,6.22,6232,6.722]],["title/injectables/ContextExternalToolRule.html",[539,0.921,1761,5.765]],["body/injectables/ContextExternalToolRule.html",[0,0.248,3,0.016,4,0.016,5,0.008,7,0.105,8,1.191,27,0.459,29,0.882,30,0.001,31,0.637,32,0.154,33,0.532,35,1.193,95,0.151,101,0.011,103,0.001,104,0.001,119,2.652,131,4.229,154,2.699,177,1.363,226,1.07,239,3.189,345,2.328,349,1.015,379,0.925,437,0.967,539,1.32,541,1.758,564,4.003,604,4.579,662,3.958,1147,2.231,1670,6.488,1697,7.984,1718,4.422,1735,7.971,1761,8.267,1875,4.755,1879,6.152,1886,6.579,1899,6.872,1901,3.643,3411,6.579,3412,4.971,3415,6.483,3418,4.971,3419,6.682,3420,7.349,3602,6.393,6024,9.818,6038,4.755,6233,11.9,6234,6.78,6235,6.78,6236,6.78,6237,6.78,6238,7.045,6239,7.328,6240,7.328]],["title/classes/ContextExternalToolScope.html",[0,0.232,6100,6.018]],["body/classes/ContextExternalToolScope.html",[0,0.218,2,0.712,3,0.014,4,0.014,5,0.007,7,0.092,8,1.089,26,2.675,27,0.54,29,0.974,30,0.001,31,0.703,32,0.17,33,0.588,34,1.733,35,1.489,95,0.133,99,1.041,101,0.01,103,0,104,0,112,0.689,119,2.156,180,1.562,227,2.671,310,2.794,349,1.16,382,3.531,480,1.79,486,1.937,519,1.981,556,3.388,564,3.848,603,2.538,1928,7.121,2350,6.145,3602,4.176,4858,6.275,5558,5.338,6016,6.573,6024,4.696,6027,5.4,6038,4.176,6053,7.588,6055,4.365,6090,10.972,6100,11.611,6241,5.637,6242,6.018,6243,6.018,6244,6.018,6245,9.011,6246,9.011,6247,9.011,6248,9.011,6249,6.018,6250,6.018,6251,4.365,6252,4.297,6253,4.365,6254,4.365,6255,9.011,6256,6.435,6257,9.011,6258,6.435,6259,9.011,6260,6.435,6261,9.011,6262,6.435,6263,4.297,6264,6.018,6265,4.365,6266,4.297,6267,4.365,6268,4.297,6269,7.523]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.232,6270,6.018]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.314,2,1.028,3,0.02,4,0.02,5,0.01,7,0.133,27,0.473,29,0.736,30,0.001,31,0.531,32,0.161,33,0.444,95,0.136,101,0.014,103,0.001,104,0.001,112,0.878,131,3.529,138,1.666,150,2.093,245,2.952,284,4.048,379,1.173,556,2.269,564,4.322,813,8.743,814,6.517,817,6.59,819,4.677,834,5.063,2548,4.203,5949,7.29,5988,9.014,6014,10.089,6180,11.18,6270,10.055,6271,8.135]],["title/injectables/ContextExternalToolService.html",[539,0.921,6069,4.458]],["body/injectables/ContextExternalToolService.html",[0,0.214,3,0.014,4,0.014,5,0.007,7,0.091,8,1.076,12,4,26,2.534,27,0.518,29,0.995,30,0.001,31,0.718,32,0.163,33,0.601,35,1.48,36,2.827,95,0.139,99,1.023,101,0.01,103,0,104,0,131,2.404,177,1.176,226,0.924,227,2.625,262,3.079,310,2.746,345,2.009,349,1.151,379,0.799,437,1.554,539,1.193,541,1.517,564,4.352,608,2.906,1778,2.478,1899,7.078,2548,3.003,3294,3.566,5437,9.598,5446,5.122,5949,7.502,5952,8.043,5954,4.834,5980,11.23,5981,5.852,5993,6.496,6053,4.616,6069,5.777,6098,10.344,6126,4.523,6170,5.54,6272,8.902,6273,7.798,6274,8.902,6275,8.902,6276,8.902,6277,6.325,6278,8.902,6279,6.325,6280,8.902,6281,6.325,6282,8.902,6283,6.325,6284,8.902,6285,5.852,6286,8.902,6287,5.852,6288,8.902,6289,6.325,6290,8.79,6291,6.325,6292,6.325,6293,8.902,6294,6.325,6295,8.902,6296,6.325,6297,6.325]],["title/injectables/ContextExternalToolUc.html",[539,0.921,6298,5.765]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.01,4,0.01,5,0.005,7,0.063,8,0.82,26,2.83,27,0.46,29,0.883,30,0.001,31,0.638,32,0.149,33,0.533,34,1.13,35,1.295,36,2.587,39,3.246,47,0.583,95,0.145,99,0.708,101,0.007,103,0,104,0,131,4.747,177,1.88,226,0.639,236,1.645,239,1.946,262,2.92,349,1.041,379,0.856,437,1.72,529,1.94,539,0.908,541,1.05,560,1.801,564,4.17,603,2.379,608,3.042,643,3.046,654,2.041,662,3.309,1218,1.657,1670,5.511,1675,2.671,1758,5.939,1778,1.715,1846,3.072,1851,3.437,1854,5.938,1855,2.671,1857,3.437,1898,5.425,1899,6.931,1901,2.176,1928,5.906,1929,2.149,1955,5.938,2531,2.029,2548,3.607,3044,2.468,3294,6.287,3860,3.194,4266,4.09,4858,5.638,5949,6.742,5952,4.461,6016,5.906,6069,7.235,6070,9.357,6126,3.13,6166,11.213,6216,3.437,6226,6.719,6273,5.938,6298,5.689,6299,11.522,6300,3.834,6301,7.677,6302,8.297,6303,6.272,6304,7.677,6305,7.677,6306,4.377,6307,7.975,6308,7.446,6309,4.05,6310,4.377,6311,4.377,6312,6.779,6313,4.377,6314,4.377,6315,6.472,6316,4.377,6317,6.779,6318,4.377,6319,4.377,6320,4.377,6321,4.377,6322,4.377,6323,3.437,6324,2.701,6325,4.377,6326,8.297,6327,4.947,6328,6.779,6329,6.272,6330,4.377,6331,4.377,6332,8.184,6333,6.779,6334,6.272,6335,6.779,6336,3.437,6337,4.377,6338,6.272,6339,4.377,6340,4.377,6341,3.346,6342,9.343,6343,4.377,6344,4.377,6345,6.272,6346,4.377]],["title/injectables/ContextExternalToolValidationService.html",[539,0.921,6070,5.765]],["body/injectables/ContextExternalToolValidationService.html",[0,0.225,3,0.015,4,0.015,5,0.007,7,0.096,8,1.115,27,0.437,29,0.839,30,0.001,31,0.687,32,0.137,33,0.506,35,1.117,36,1.975,95,0.156,101,0.01,103,0,104,0,131,3.506,168,3.753,177,2.126,226,0.972,236,1.083,262,2.74,283,5.693,301,4.445,340,3.229,379,1.165,437,1.217,529,1.905,539,1.236,541,1.597,564,4.289,569,4.76,590,4.108,603,2.63,608,2.646,654,2.777,696,2.588,1123,5.986,1778,2.608,1819,4.59,1898,4.951,1899,6.977,1901,4.587,1926,3.467,2207,5.567,2548,4.297,2627,4.587,3522,5.586,3913,5.39,3914,4.59,5126,4.061,5436,10.002,5463,5.227,5476,5.831,5478,6.158,5949,6.689,5954,5.088,5980,10.013,6069,8.06,6070,7.742,6216,5.227,6217,4.671,6218,5.831,6308,8.506,6315,4.262,6324,5.693,6327,4.857,6347,9.226,6348,6.158,6349,7.86,6350,6.656,6351,9.226,6352,9.226,6353,6.656,6354,5.227,6355,5.39,6356,6.656,6357,6.656,6358,6.656,6359,6.158,6360,7.742,6361,6.158,6362,6.656,6363,6.656,6364,5.831,6365,6.158,6366,6.656,6367,6.656,6368,6.656,6369,6.656,6370,6.656,6371,6.656]],["title/classes/ContextRef.html",[0,0.232,5952,4.521]],["body/classes/ContextRef.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.519,29,0.751,30,0.001,31,0.542,32,0.177,33,0.454,34,2.095,47,0.817,95,0.112,101,0.015,103,0.001,104,0.001,112,0.89,181,3.138,379,1.197,381,3.209,404,3.79,405,5.013,564,4.104,1928,7.949,1929,4.656,2566,4.239,4404,5.722,5949,7.671,5950,11.483,5952,8.852,6372,8.773,6373,10.757,6374,8.773]],["title/classes/ContextRefParams.html",[0,0.232,6375,6.018]],["body/classes/ContextRefParams.html",[0,0.391,2,1.042,3,0.021,4,0.021,5,0.01,7,0.135,26,2.53,27,0.478,30,0.001,32,0.162,95,0.154,99,1.523,101,0.014,103,0.001,104,0.001,112,0.886,138,2.076,148,2.923,150,2.123,245,3.224,808,4.59,852,4.389,1928,8.487,1929,4.623,2546,5.749,4858,7.565,6016,7.924,6023,8.248,6060,11.598,6061,6.871,6375,10.141,6376,9.416,6377,9.416,6378,9.416,6379,9.416]],["title/injectables/ConverterUtil.html",[539,0.921,2200,5.765]],["body/injectables/ConverterUtil.html",[0,0.43,3,0.021,4,0.021,5,0.011,7,0.14,8,1.43,27,0.402,29,0.937,30,0.001,31,0.558,32,0.153,33,0.467,35,1.182,47,0.894,95,0.14,101,0.015,103,0.001,104,0.001,153,2.238,226,1.425,349,1.005,479,4.852,539,1.585,541,2.34,2200,9.927,4707,10.362,6380,9.755,6381,11.829,6382,11.829,6383,9.755,6384,9.755,6385,9.755,6386,9.025,6387,9.755]],["title/classes/CookiesDto.html",[0,0.232,6388,5.765]],["body/classes/CookiesDto.html",[0,0.334,2,1.092,3,0.022,4,0.022,5,0.011,7,0.142,27,0.528,29,0.782,30,0.001,31,0.565,32,0.166,33,0.472,47,0.934,101,0.015,103,0.001,104,0.001,112,0.912,181,3.217,379,1.247,381,3.341,6388,11.417,6389,9.873,6390,11.211,6391,11.211,6392,11.916,6393,9.873,6394,9.873,6395,9.873,6396,9.873,6397,9.873]],["title/classes/CopyApiResponse.html",[0,0.232,6398,5.395]],["body/classes/CopyApiResponse.html",[0,0.227,2,0.743,3,0.015,4,0.015,5,0.007,7,0.096,27,0.527,29,0.532,30,0.001,31,0.384,32,0.183,33,0.632,34,2.127,47,0.939,95,0.11,100,3.16,101,0.01,103,0,104,0,112,0.71,138,2.234,149,4.646,150,1.513,153,3.067,245,2.735,319,3.919,347,4.774,379,1.172,556,1.64,774,3.425,819,4.673,839,3.571,849,6.673,1271,4.061,1277,5.944,1288,5.058,1455,10.217,1926,3.487,1942,5.447,1986,3.889,2480,6.78,2566,3,2784,3.181,3041,9.456,3042,8.983,3043,4.095,3326,8.127,5384,6.635,6398,10.217,6399,10.917,6400,6.711,6401,7.286,6402,6.398,6403,6.196,6404,9.315,6405,6.711,6406,8.127,6407,6.711,6408,6.209,6409,8.584,6410,6.635,6411,6.711,6412,6.711,6413,8.584,6414,6.711,6415,6.711,6416,6.711,6417,6.711]],["title/classes/CopyFileDto.html",[0,0.232,6418,5.251]],["body/classes/CopyFileDto.html",[0,0.302,2,0.989,3,0.019,4,0.019,5,0.01,7,0.128,26,2.669,27,0.53,29,0.708,30,0.001,31,0.734,32,0.166,33,0.586,34,2.041,47,0.787,95,0.132,99,1.446,101,0.014,103,0.001,104,0.001,107,2.097,112,0.858,284,2.706,379,1.129,404,3.573,556,2.739,817,6.435,2044,3.475,3600,6.575,6418,8.568,6419,6.198,6420,13.224,6421,7.502,6422,8.178,6423,10.774,6424,11.21,6425,8.94,6426,8.94,6427,7.239,6428,7.239,6429,7.239,6430,7.239]],["title/classes/CopyFileListResponse.html",[0,0.232,6431,5.395]],["body/classes/CopyFileListResponse.html",[0,0.371,2,0.671,3,0.013,4,0.013,5,0.007,7,0.087,27,0.478,29,0.48,30,0.001,31,0.576,32,0.17,33,0.555,34,1.439,47,0.906,55,2.849,56,6.115,59,2.659,70,6.386,83,1.743,95,0.13,101,0.017,103,0,104,0,112,0.661,138,1.967,149,3.882,150,1.366,154,1.216,180,1.745,245,3.517,247,2.607,284,3.755,379,0.765,382,3.266,404,3.452,556,1.481,815,7.825,816,6.763,817,6.297,819,3.052,821,4.665,822,2.94,823,4.601,824,2.154,825,4.253,826,5.605,827,5.006,828,3.988,829,3.136,830,4.253,831,4.253,833,5.46,834,4.709,839,3.133,1229,4.908,1233,4.76,1262,2.118,1361,3.278,2044,3.358,2782,6.362,2922,4.825,3632,2.795,5932,3.278,5933,2.81,5942,3.881,6419,4.048,6422,4.048,6427,4.908,6428,4.908,6429,4.908,6430,4.908,6431,6.783,6432,5.684,6433,5.086,6434,9.958,6435,6.061,6436,6.061,6437,5.213,6438,6.029,6439,8.291,6440,6.622,6441,2.841,6442,8.183,6443,5.086,6444,4.908,6445,5.086,6446,3.278,6447,5.086,6448,3.881,6449,5.086,6450,5.086,6451,5.086,6452,4.76,6453,4.908,6454,5.086,6455,5.086,6456,4.111,6457,4.908,6458,4.908,6459,4.423,6460,5.086,6461,5.086,6462,4.908,6463,5.086,6464,4.522,6465,3.988,6466,4.522]],["title/classes/CopyFileParams.html",[0,0.232,6467,4.737]],["body/classes/CopyFileParams.html",[0,0.458,2,0.719,3,0.014,4,0.02,5,0.01,7,0.093,26,2.488,27,0.374,30,0.001,32,0.16,39,1.745,47,0.959,95,0.149,99,1.051,101,0.021,103,0,104,0,105,0.662,112,0.694,119,1.881,138,1.627,143,1.439,147,4.906,148,2.017,149,4.364,150,1.465,151,6.058,153,1.49,154,1.303,245,3.601,247,2.795,248,4.927,249,4.432,348,3.272,808,4.888,809,6.218,839,3.253,852,3.028,988,2.834,990,2.227,1079,3.84,1147,1.977,1203,5.808,1204,4.275,1205,4.275,1262,2.271,2739,5.401,2922,5.011,3632,2.996,4266,2.199,5826,6.526,5933,3.012,6088,6.71,6419,4.898,6432,6.878,6438,6.218,6467,6.255,6468,4.559,6469,7.334,6470,5.452,6471,6.497,6472,8.233,6473,6.011,6474,6.497,6475,4.48,6476,8.233,6477,7.939,6478,7.939,6479,4.559,6480,4.48,6481,4.48,6482,4.559,6483,4.407,6484,6.153,6485,4.339,6486,4.407,6487,4.48,6488,4.407,6489,4.407,6490,4.16,6491,4.559,6492,4.559,6493,4.559,6494,4.16,6495,4.16,6496,4.275,6497,4.339,6498,4.559]],["title/classes/CopyFileResponse.html",[0,0.232,6434,5.395]],["body/classes/CopyFileResponse.html",[0,0.383,2,0.721,3,0.014,4,0.014,5,0.007,7,0.094,27,0.467,29,0.516,30,0.001,31,0.681,32,0.16,33,0.501,34,1.888,47,0.952,55,2.588,56,5.463,70,5.705,83,1.875,95,0.134,101,0.017,103,0,104,0,112,0.696,138,1.878,149,4.37,150,1.469,154,1.307,180,1.576,245,3.573,247,2.804,284,3.607,379,0.823,404,3.634,815,6.461,816,4.957,817,6.503,823,3.472,833,5.747,834,4.957,839,3.259,1229,5.278,1233,5.118,1262,2.278,1361,3.525,2044,3.534,2779,4.661,2782,6.618,2922,5.019,3632,3.005,5932,3.525,5933,3.021,5942,4.173,6419,5.584,6422,6.992,6427,5.278,6428,5.278,6429,5.278,6430,5.278,6431,5.118,6432,7.84,6433,5.469,6434,10.144,6437,5.486,6438,6.226,6439,8.52,6440,6.889,6441,3.055,6442,8.451,6443,5.469,6444,5.278,6445,5.469,6446,3.525,6447,5.469,6448,4.173,6449,5.469,6450,5.469,6451,5.469,6452,5.118,6453,5.278,6454,5.469,6455,5.469,6456,4.421,6457,5.278,6458,5.278,6459,4.756,6460,5.469,6461,5.469,6462,5.278,6463,5.469,6464,4.862,6465,4.289,6466,4.862,6499,6.518,6500,6.518,6501,6.518,6502,6.518]],["title/classes/CopyFileResponseBuilder.html",[0,0.232,6503,6.357]],["body/classes/CopyFileResponseBuilder.html",[0,0.319,2,1.044,3,0.021,4,0.021,5,0.014,7,0.135,8,1.401,27,0.389,29,0.748,30,0.001,31,0.768,32,0.122,33,0.451,34,1.932,35,1.143,47,0.99,95,0.111,101,0.015,103,0.001,104,0.001,236,1.536,349,0.972,413,3.778,437,1.245,454,5.345,662,2.921,790,4.753,6419,5.433,6422,8.74,6434,10.739,6503,10.726,6504,11.593,6505,8.732,6506,11.593,6507,9.438]],["title/interfaces/CopyFiles.html",[105,0.7,6508,5.125]],["body/interfaces/CopyFiles.html",[3,0.019,4,0.019,5,0.012,7,0.125,30,0.001,32,0.143,47,1.022,55,2.473,95,0.103,101,0.021,103,0.001,104,0.001,105,1.366,107,2.043,112,0.844,284,3.338,360,5.59,556,2.694,1215,6.651,1217,4.911,1361,4.711,2094,5.375,5838,5,6441,5.168,6508,8.226,6509,6.498,6510,6.84,6511,9.722,6512,9.722,6513,5.439,6514,6.498,6515,5.908,6516,5.908,6517,5.908,6518,5.908,6519,6.112,6520,5.375,6521,5.256,6522,5.256,6523,6.356,6524,8.429,6525,8.429,6526,6.498]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.232,6527,6.018]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.308,2,1.009,3,0.025,4,0.029,5,0.013,7,0.131,8,1.372,26,2.61,27,0.376,29,0.722,30,0.001,31,0.522,32,0.118,33,0.436,35,1.105,39,3.049,95,0.146,99,1.475,101,0.014,103,0.001,104,0.001,107,2.139,141,4.274,349,0.939,413,3.72,437,1.203,454,5.234,2739,5.869,3366,5.608,3600,5.643,6419,5.32,6441,5.32,6527,9.942,6528,11.351,6529,8.438,6530,11.351,6531,10.8,6532,8.438,6533,10.37,6534,8.438,6535,10.502]],["title/classes/CopyFilesOfParentParams.html",[0,0.232,6488,4.66]],["body/classes/CopyFilesOfParentParams.html",[0,0.459,2,0.733,3,0.014,4,0.02,5,0.01,7,0.095,26,2.503,27,0.273,30,0.001,32,0.155,39,1.779,47,0.954,95,0.15,99,1.072,101,0.021,103,0,104,0,105,0.675,112,0.703,119,1.907,138,1.188,143,1.467,147,4.973,148,2.056,149,4.401,150,1.493,151,6.14,153,1.52,154,1.329,245,3.61,247,2.849,248,4.957,249,4.47,348,3.336,808,4.917,809,6.27,839,3.287,852,3.087,988,2.89,990,2.27,1079,3.915,1147,2.016,1203,5.887,1204,4.359,1205,4.359,1262,2.315,2739,5.44,2922,5.063,3632,3.054,4266,2.242,5826,6.594,5933,3.071,6088,6.757,6419,4.309,6432,6.05,6438,6.27,6467,4.567,6468,4.648,6469,4.648,6472,8.283,6473,6.128,6475,4.567,6476,8.283,6477,8.005,6478,8.005,6479,4.648,6480,4.567,6481,4.567,6482,4.648,6483,4.493,6484,6.236,6485,4.423,6486,4.493,6487,4.567,6488,6.236,6489,4.493,6490,4.241,6491,4.648,6492,4.648,6493,4.648,6494,4.241,6495,4.241,6496,4.359,6497,4.423,6498,4.648,6536,6.624]],["title/classes/CopyFilesOfParentPayload.html",[0,0.232,6489,4.66]],["body/classes/CopyFilesOfParentPayload.html",[0,0.456,2,0.705,3,0.014,4,0.024,5,0.01,7,0.091,26,2.54,27,0.427,30,0.001,32,0.163,39,2.779,47,0.948,95,0.149,99,1.031,101,0.021,103,0,104,0,105,0.65,112,0.685,119,1.856,138,1.855,143,1.412,147,4.842,148,1.979,149,4.328,150,1.437,151,5.978,153,1.462,154,1.279,245,3.593,247,2.742,248,4.897,249,4.396,348,3.21,808,4.99,809,6.166,839,3.22,852,2.971,988,2.781,990,2.185,1079,3.767,1147,1.94,1203,5.731,1204,4.195,1205,4.195,1262,2.228,2739,5.364,2922,4.96,3632,2.939,4266,2.157,5826,6.46,5933,2.955,6088,7.096,6419,5.258,6432,7.382,6438,6.166,6467,4.396,6468,4.473,6469,4.473,6472,8.404,6475,4.396,6476,8.183,6477,7.873,6478,7.873,6479,4.473,6480,4.396,6481,4.396,6482,4.473,6483,4.324,6484,6.071,6485,4.257,6486,4.324,6487,4.396,6488,4.324,6489,6.071,6490,4.081,6491,4.473,6492,4.473,6493,4.473,6494,4.081,6495,4.081,6496,4.195,6497,4.257,6498,4.473,6537,6.375,6538,6.375,6539,6.375]],["title/injectables/CopyFilesService.html",[539,0.921,6540,5.765]],["body/injectables/CopyFilesService.html",[0,0.202,3,0.013,4,0.022,5,0.009,7,0.086,8,1.032,26,2.198,27,0.449,29,0.913,30,0.001,31,0.706,32,0.164,33,0.521,34,1.92,35,1.208,36,1.828,39,2.679,47,0.419,95,0.146,99,0.965,100,2.031,101,0.013,103,0,104,0,107,1.399,177,1.588,226,0.871,236,0.97,262,2.2,347,3.086,349,1.187,358,2.666,379,1.078,437,1.774,479,4.525,539,1.144,541,1.431,603,2.608,608,1.38,631,3.023,739,3.69,849,3.305,1271,1.862,1455,4.683,2739,3.875,3007,8.748,3025,7.065,3041,4.683,3042,4.449,3043,3.638,3044,3.362,3057,8.55,3058,8.369,3065,5.004,3600,5.96,5541,5.331,5584,4.558,6418,9.436,6419,5.4,6422,6.66,6441,2.795,6488,4.045,6527,5.223,6540,7.164,6541,10.661,6542,5.963,6543,9.973,6544,8.538,6545,7.899,6546,5.963,6547,8.827,6548,5.963,6549,5.963,6550,5.963,6551,8.538,6552,5.963,6553,9.973,6554,11.422,6555,8.538,6556,5.963,6557,5.963,6558,5.223,6559,5.517,6560,8.538,6561,5.963,6562,5.963,6563,8.736,6564,5.963,6565,5.963,6566,5.963,6567,5.963,6568,7.899,6569,5.963,6570,7.479,6571,5.963,6572,5.963,6573,4.449,6574,5.963,6575,5.963,6576,5.517,6577,5.963,6578,8.538,6579,5.963,6580,5.517,6581,4.683,6582,4.829,6583,5.223,6584,8.538,6585,5.963,6586,5.963]],["title/modules/CopyHelperModule.html",[201,1.845,6587,5.013]],["body/modules/CopyHelperModule.html",[0,0.328,3,0.021,4,0.021,5,0.011,30,0.001,95,0.139,101,0.015,103,0.001,104,0.001,201,3.413,203,3.521,204,3.774,205,3.88,206,3.865,207,3.849,208,4.69,209,4.81,218,4.714,219,3.804,220,3.717,226,1.418,3007,10.485,6399,8.147,6587,10.168,6588,9.708,6589,9.708,6590,9.708,6591,8.982,6592,9.708,6593,8.982,6594,9.708]],["title/injectables/CopyHelperService.html",[539,0.921,3007,5.013]],["body/injectables/CopyHelperService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.099,8,1.14,26,1.387,27,0.444,29,0.853,30,0.001,31,0.735,32,0.14,33,0.515,35,1.304,47,0.919,95,0.137,101,0.011,103,0,104,0,133,2.362,226,1.003,236,1.118,250,6.037,347,4.534,349,1.323,437,1.654,480,1.911,486,2.068,539,1.263,541,1.648,696,2.671,708,3.784,849,3.807,1661,3.807,1747,4.02,1984,3.746,2501,3.275,2647,5.966,3007,6.88,3025,8.49,3042,8.031,3061,8.724,3065,5.765,3709,6.356,6399,9.723,6581,8.454,6595,11.587,6596,6.87,6597,9.429,6598,9.429,6599,9.429,6600,9.429,6601,6.87,6602,10.765,6603,9.429,6604,9.723,6605,6.87,6606,9.429,6607,6.87,6608,6.356,6609,6.87,6610,9.429,6611,6.87,6612,5.765,6613,6.87,6614,4.588,6615,6.87,6616,5.765,6617,4.913,6618,6.87,6619,6.87,6620,6.87,6621,6.87,6622,10.765,6623,6.87,6624,5.125,6625,9.429,6626,6.87,6627,9.429,6628,6.87,6629,6.87,6630,6.87,6631,6.87,6632,6.87,6633,6.87,6634,6.87]],["title/classes/CopyMapper.html",[0,0.232,6635,5.563]],["body/classes/CopyMapper.html",[0,0.241,2,0.789,3,0.016,4,0.016,5,0.008,7,0.102,8,1.17,26,2.619,27,0.453,29,0.87,30,0.001,31,0.628,32,0.153,33,0.525,35,1.33,39,3.546,95,0.153,99,1.154,100,4.321,101,0.011,103,0.001,104,0.001,236,1.161,271,3.584,347,2.579,349,1.131,413,4.028,437,1.552,783,5.408,1271,2.227,1920,4.666,2684,5.154,2686,4.369,3025,7.984,3042,5.323,3057,5.603,5121,4.354,6398,9.244,6399,9.877,6581,7.598,6608,6.602,6635,7.835,6636,7.135,6637,9.676,6638,9.676,6639,9.676,6640,9.877,6641,7.135,6642,10.157,6643,9.676,6644,9.877,6645,7.135,6646,10.157,6647,9.676,6648,7.135,6649,7.135,6650,8.952,6651,7.135,6652,7.135,6653,7.135,6654,7.135,6655,7.135,6656,7.135,6657,9.676,6658,9.676,6659,5.988,6660,7.135,6661,7.135,6662,7.135,6663,9.676,6664,7.135,6665,7.135,6666,7.135,6667,7.135,6668,7.135,6669,8.952,6670,6.602]],["title/modules/CoreModule.html",[201,1.845,6671,4.737]],["body/modules/CoreModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,30,0.001,95,0.152,101,0.013,103,0.001,104,0.001,153,1.881,201,3.46,203,2.974,204,3.188,205,3.278,206,3.264,207,3.251,208,3.027,209,4.453,214,6.549,218,4.241,219,3.213,220,3.14,225,4.223,226,1.198,990,4.031,1289,5.061,2312,3.403,3916,6.793,4691,8.903,6671,9.737,6672,8.2,6673,8.2,6674,8.2,6675,10.684,6676,11.072,6677,11.072,6678,8.2,6679,7.587,6680,8.332,6681,8.903,6682,9.816,6683,7.446,6684,10.61,6685,7.587,6686,7.915,6687,10.61,6688,7.446,6689,9.294,6690,9.816,6691,10.61,6692,8.903,6693,6.64]],["title/classes/County.html",[0,0.232,6694,5.765]],["body/classes/County.html",[0,0.349,2,0.869,3,0.017,4,0.017,5,0.009,7,0.113,27,0.505,29,0.622,30,0.001,31,0.746,32,0.159,33,0.376,47,0.967,55,2.108,83,2.967,95,0.122,96,2.078,101,0.018,103,0.001,104,0.001,105,0.8,112,0.789,143,2.285,144,3.734,145,2.898,154,2.069,172,3.808,173,2.276,174,3.92,175,3.51,178,3.101,180,1.361,181,2.12,182,2.487,376,3.19,377,3.317,379,0.992,406,4.738,407,5.326,408,4.738,409,5.326,1732,4.121,2044,4.01,2562,5.264,4332,5.535,4342,3.475,5992,5.867,6008,5.167,6694,11.446,6695,11.128,6696,6.878,6697,10.089,6698,10.089,6699,9.034,6700,7.852,6701,7.852,6702,7.852,6703,7.852,6704,8.655,6705,9.034,6706,9.034,6707,6.878,6708,6.878,6709,6.878,6710,6.878,6711,6.878,6712,6.878,6713,5.414,6714,6.878,6715,6.878,6716,6.166]],["title/entities/Course.html",[154,1.378,1926,2.582]],["body/entities/Course.html",[0,0.184,2,0.883,3,0.007,4,0.007,5,0.004,7,0.143,26,2.017,27,0.502,30,0.001,31,0.504,32,0.153,33,0.531,34,1.151,39,1.855,47,0.874,62,3.214,83,3.105,95,0.137,96,0.879,101,0.011,103,0,104,0,105,0.338,112,0.416,119,1.128,138,2.182,143,2.659,144,2.857,145,0.933,153,2.021,154,1.091,155,1.079,160,3.828,168,3.066,172,3.542,173,0.962,174,2.066,175,1.484,178,1.311,180,0.575,181,0.896,182,1.051,236,1.953,239,2.22,253,1.64,316,1.795,348,2.738,349,1.305,379,0.419,404,1.327,413,1.637,437,1.671,473,1.768,480,3.003,486,3.496,490,1.18,519,1.674,528,1.706,529,1.556,556,2.837,565,3.247,603,1.649,644,4.107,651,2.622,652,2.622,654,2.404,662,3.438,708,1.332,726,2.785,839,2.15,915,2.329,1147,1.01,1226,2.622,1271,1.036,1664,1.243,1717,2.607,1726,2.328,1732,2.854,1820,2.003,1926,3.557,2024,1.547,2044,3.104,2670,5.326,2673,6.382,2677,3.796,2685,2.329,2687,2.073,3122,3.451,3174,2.217,3175,2.154,3346,1.962,3454,2.125,3612,3.071,3751,2.374,3797,2.073,3821,3.578,3822,3.578,4119,1.962,4266,1.84,4267,5.604,4282,2.785,4316,5.04,4342,2.407,4417,5.641,4833,1.855,4969,2.048,5094,2.521,6624,2.476,6685,2.374,6717,2.908,6718,6.672,6719,5.976,6720,6.3,6721,5.333,6722,5.207,6723,4.762,6724,6.3,6725,5.57,6726,5.604,6727,6.429,6728,5.031,6729,4.763,6730,3.319,6731,4.763,6732,3.319,6733,3.319,6734,4.763,6735,3.528,6736,3.319,6737,4.763,6738,3.319,6739,6.994,6740,2.785,6741,3.319,6742,4.763,6743,3.319,6744,4.763,6745,3.319,6746,2.908,6747,3.319,6748,2.908,6749,3.319,6750,3.319,6751,6.39,6752,3.319,6753,4.763,6754,3.319,6755,3.319,6756,3.319,6757,2.073,6758,2.908,6759,2.908,6760,3.318,6761,3.888,6762,2.908,6763,5.152,6764,2.908,6765,3.968,6766,2.688,6767,3.214,6768,2.217,6769,3.578,6770,2.048,6771,3.437,6772,1.855,6773,4.403,6774,4.403,6775,2.908,6776,2.688,6777,2.374,6778,2.908,6779,2.908,6780,2.785,6781,2.476,6782,2.908,6783,2.908,6784,2.607,6785,2.908,6786,3.355,6787,10.071,6788,4.939,6789,2.688,6790,3.688,6791,2.048,6792,2.073,6793,2.003,6794,2.688,6795,2.908,6796,2.908,6797,4.763,6798,4.763,6799,4.763,6800,6.466,6801,4.403,6802,4.156,6803,4.763,6804,4.056,6805,4.156,6806,2.476,6807,2.908,6808,2.908,6809,2.125,6810,3.631,6811,2.908,6812,2.908,6813,2.908,6814,4.763,6815,2.908,6816,2.908,6817,2.908,6818,2.908,6819,2.908,6820,2.908,6821,2.908,6822,5.593,6823,6.05,6824,2.908,6825,2.908,6826,2.908,6827,2.908,6828,2.908,6829,2.422,6830,2.908,6831,2.908,6832,2.908,6833,2.908,6834,2.908,6835,2.251,6836,2.908,6837,2.785,6838,2.908,6839,6.05,6840,4.763,6841,2.908,6842,2.908,6843,2.688,6844,2.688,6845,2.289,6846,2.908,6847,5.593,6848,2.908,6849,2.908,6850,2.908,6851,2.908]],["title/controllers/CourseController.html",[259,2.631,6852,6.018]],["body/controllers/CourseController.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.098,8,1.136,27,0.388,29,0.744,30,0.001,31,0.537,32,0.139,33,0.449,35,1.138,36,2.475,56,4.531,70,4.732,95,0.158,100,2.328,101,0.011,103,0,104,0,138,1.685,143,1.514,150,1.541,177,1.997,223,2.849,226,0.998,236,1.747,247,2.94,259,2.617,261,3.277,262,2.763,270,6.299,294,6.461,310,4.662,333,4.005,337,3.562,338,3.641,343,3.669,349,0.968,379,0.863,437,1.599,529,1.956,584,7.065,598,3.961,603,2.217,608,2.175,739,4.64,816,5.123,824,4.559,836,8.113,1364,4.988,2214,9.405,2255,3.598,2681,5.043,2941,7.065,2963,3.587,3779,4.04,4833,5.252,5102,9.405,6852,8.23,6853,6.835,6854,9.934,6855,6.835,6856,10.127,6857,10.127,6858,9.396,6859,6.835,6860,6.324,6861,7.314,6862,6.835,6863,6.097,6864,5.535,6865,4.081,6866,9.01,6867,6.835,6868,9.01,6869,6.324,6870,6.835,6871,5.736,6872,5.987,6873,6.835,6874,6.835,6875,6.835,6876,6.835,6877,6.835,6878,5.368,6879,6.835,6880,6.835,6881,5.535,6882,6.835,6883,6.835,6884,6.835,6885,6.835,6886,6.835,6887,5.736,6888,6.835]],["title/injectables/CourseCopyService.html",[539,0.921,6889,5.563]],["body/injectables/CourseCopyService.html",[0,0.171,3,0.011,4,0.011,5,0.006,7,0.073,8,0.915,10,2.055,26,1.83,27,0.445,29,0.854,30,0.001,31,0.671,32,0.171,33,0.515,35,1.219,36,2.155,39,2.436,47,0.532,83,1.455,95,0.134,99,0.818,101,0.008,103,0,104,0,120,3.197,143,1.121,177,2.103,217,7.075,226,0.739,227,2.099,236,1.232,239,2.891,262,2.719,271,2.804,347,4.357,349,1.037,379,0.956,437,1.737,539,1.014,541,1.213,556,1.236,603,2.743,608,2.905,654,1.523,696,1.966,849,4.194,1218,1.915,1271,1.579,1804,6.901,1891,3.972,1920,4.373,1926,4.991,1941,3.773,1944,3.83,2480,2.989,2718,4.096,2991,9.838,2993,3.972,3003,8.747,3007,8.556,3013,3.972,3014,4.68,3025,7.339,3033,10.464,3040,4.244,3041,3.972,3042,3.773,3043,3.086,3044,2.852,3050,7.943,3056,4.431,3057,3.972,3058,4.244,3084,3.866,3330,3.617,4417,3.239,4826,4.431,6581,3.972,6604,6.351,6616,7.61,6718,3.378,6719,3.431,6724,3.617,6727,3.691,6889,6.128,6890,11.31,6891,7.61,6892,7.568,6893,7.568,6894,7.568,6895,4.244,6896,9.494,6897,4.68,6898,5.058,6899,7.568,6900,10.066,6901,5.058,6902,7.568,6903,12.552,6904,11.31,6905,7.568,6906,5.058,6907,5.058,6908,8.727,6909,6.629,6910,4.68,6911,5.058,6912,5.058,6913,5.058,6914,5.058,6915,5.058,6916,4.68,6917,5.058,6918,5.058,6919,5.058,6920,5.058,6921,5.058,6922,7.568,6923,5.058,6924,7.568,6925,5.058,6926,4.244,6927,5.058,6928,5.058,6929,5.058,6930,5.058,6931,5.058,6932,5.058,6933,4.68,6934,5.058,6935,5.058,6936,5.058,6937,7.568,6938,5.058,6939,5.058,6940,5.058,6941,5.058,6942,5.058,6943,5.058]],["title/injectables/CourseCopyUC.html",[539,0.921,6944,5.765]],["body/injectables/CourseCopyUC.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,26,2.669,27,0.47,29,0.806,30,0.001,31,0.582,32,0.132,33,0.487,35,1.232,36,2.177,39,2.732,95,0.156,99,1.244,101,0.012,102,3.898,103,0.001,104,0.001,119,1.594,131,3.866,177,1.892,226,1.123,236,1.251,262,2.514,349,0.792,379,1.285,437,1.503,519,2.367,529,2.2,539,1.363,541,1.844,560,3.164,603,2.606,608,2.354,643,3.454,739,4.396,1181,6.955,1226,3.708,1675,4.691,1694,6.277,1802,9.526,1846,5.396,1920,6.084,2079,3.403,2080,5.026,2081,4.848,2082,6.513,2531,3.564,3025,4.989,3043,4.691,3044,4.335,3671,5.059,3860,5.611,6889,10.707,6891,8.536,6944,8.536,6945,11.224,6946,6.735,6947,10.18,6948,7.689,6949,7.689,6950,7.689,6951,9.411,6952,7.689,6953,6.735,6954,7.689,6955,7.689,6956,6.452,6957,7.114,6958,7.689,6959,6.735,6960,6.735,6961,4.989]],["title/injectables/CourseExportUc.html",[539,0.921,6868,5.765]],["body/injectables/CourseExportUc.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.119,8,1.294,26,2.719,27,0.442,29,0.848,30,0.001,31,0.612,32,0.139,33,0.512,35,1.007,36,2.292,39,3.475,95,0.156,99,1.346,101,0.013,103,0.001,104,0.001,131,4.069,177,1.991,226,1.215,262,2.612,349,0.857,379,1.352,437,1.097,539,1.435,541,1.995,603,2.211,608,1.925,643,3.737,1675,5.075,1758,6.307,1802,9.819,1846,5.837,1920,5.164,2531,3.856,3860,6.07,5096,10.493,5098,6.686,5102,9.379,5111,6.763,5112,8.622,5116,9.907,5134,4.82,6868,8.985,6945,10.956,6956,6.98,6962,8.318,6963,8.318,6964,8.318,6965,10.708,6966,8.318,6967,8.318,6968,8.318,6969,8.318,6970,8.318,6971,8.318]],["title/classes/CourseFactory.html",[0,0.232,6972,5.765]],["body/classes/CourseFactory.html",[0,0.151,2,0.494,3,0.01,4,0.01,5,0.005,7,0.064,8,0.833,27,0.544,29,1.037,30,0.001,31,0.727,32,0.172,33,0.6,34,1.401,35,1.441,47,0.484,55,2.598,59,3.141,95,0.121,99,0.723,101,0.007,103,0,104,0,112,0.527,120,2.91,133,2.369,140,2.436,153,2.341,154,2.047,155,2.24,177,1.281,180,1.194,236,1.121,271,4.762,319,2.91,349,1.051,379,0.564,382,3.786,413,2.074,437,1.603,447,7.026,448,4.344,449,5.192,452,3.786,453,5.192,454,5.487,455,3.786,456,3.786,457,3.786,458,3.726,459,4.233,460,4.62,461,6.387,462,5.519,463,6.863,464,2.477,469,2.456,470,3.786,471,2.477,472,4.888,473,5.031,474,4.008,475,4.757,476,3.756,477,2.456,478,2.328,479,3.951,480,3.227,481,2.398,482,2.362,483,2.456,484,4.821,485,2.477,486,3.492,487,4.547,488,2.456,489,7.134,490,4.122,491,6.376,492,2.477,493,4.102,494,2.456,495,2.477,496,2.456,497,2.477,498,2.456,499,2.758,500,2.59,501,2.456,502,5.831,503,2.477,504,2.456,505,3.786,506,3.564,507,3.786,508,2.477,509,2.38,510,2.362,511,1.978,512,2.456,513,2.456,514,2.456,515,2.477,516,2.477,517,1.686,518,2.456,519,1.375,520,2.477,521,2.72,522,2.456,523,2.477,525,2.565,526,2.615,527,5.583,648,3.195,649,3.416,654,1.345,1636,3.195,1926,3.159,3821,6.216,4417,4.411,6718,2.984,6725,4.355,6727,6.893,6773,3.619,6972,7.054,6973,4.469,6974,9.446,6975,6.373,6976,6.889,6977,4.469,6978,4.469,6979,6.373,6980,4.469,6981,4.134,6982,6.889,6983,4.469,6984,4.469,6985,3.509,6986,3.619,6987,7.777,6988,3.416,6989,5.027,6990,5.265,6991,4.134,6992,4.469,6993,4.469,6994,4.469,6995,3.509]],["title/entities/CourseGroup.html",[154,1.378,6767,4.06]],["body/entities/CourseGroup.html",[0,0.229,3,0.015,4,0.015,5,0.008,7,0.179,26,2.325,27,0.475,30,0.001,31,0.659,32,0.166,39,1.821,47,0.809,62,4.006,95,0.156,96,1.794,101,0.014,103,0,104,0,105,0.952,112,0.818,138,2.066,154,1.874,155,2.204,172,3.328,173,1.965,174,3.55,175,3.03,178,2.677,180,1.175,181,1.83,182,2.147,236,1.52,239,2.191,349,0.698,437,0.894,480,1.886,486,2.041,519,2.086,556,2.282,644,5.37,654,3.468,662,2.892,766,3.789,915,4.757,975,3.308,990,2.323,1147,2.063,1309,3.928,1664,2.538,1717,3.25,1920,4.505,1926,5.034,2044,2.635,2396,3.891,2427,4.233,2670,5.729,2673,5.135,2677,3.726,2683,4.006,2685,4.757,2687,4.233,2700,4.461,2830,4.047,2883,3.015,3084,5.181,3452,4.674,4266,2.294,4342,3,5094,4.331,6401,5.323,6720,4.847,6725,7.283,6760,5.7,6767,5.521,6769,6.148,6770,4.183,6771,5.906,6772,3.789,6788,6.68,6792,4.233,6794,5.489,6809,4.34,6810,7.139,6847,5.489,6996,6.271,6997,5.937,6998,6.778,6999,6.778,7000,4.598,7001,6.271,7002,6.778,7003,6.778,7004,6.778,7005,7.839,7006,4.233,7007,4.527,7008,6.271,7009,6.271,7010,4.946,7011,6.271,7012,6.271,7013,6.271,7014,6.271,7015,6.271,7016,6.271]],["title/classes/CourseGroupFactory.html",[0,0.232,7017,6.357]],["body/classes/CourseGroupFactory.html",[0,0.168,2,0.551,3,0.011,4,0.011,5,0.006,7,0.071,8,0.904,27,0.542,29,1.049,30,0.001,31,0.736,32,0.174,33,0.607,34,1.497,35,1.486,47,0.525,55,2.555,59,3.294,95,0.126,99,0.805,101,0.008,103,0,104,0,112,0.572,120,3.158,133,2.571,140,2.714,153,2.06,154,2.147,155,2.432,177,1.391,180,1.296,271,4.703,319,3.158,349,0.77,379,0.629,382,3.873,413,2.251,437,1.185,447,7.16,448,4.53,449,5.488,452,4.11,453,5.488,454,5.659,455,4.11,456,4.11,457,4.11,458,4.045,459,4.523,460,4.937,461,6.439,462,5.789,463,7.001,464,2.759,469,2.736,470,4.11,471,2.759,472,5.167,473,5.319,474,4.237,475,5.029,476,4.077,477,2.736,478,2.594,479,4.121,480,3.337,481,2.671,482,2.631,483,2.736,484,5.096,485,2.759,486,3.612,487,4.858,488,2.736,489,7.069,490,4.263,491,6.594,492,2.759,493,4.383,494,2.736,495,2.759,496,2.736,497,2.759,498,2.736,499,3.072,500,2.885,501,2.736,502,6.081,503,2.759,504,2.736,505,4.11,506,3.869,507,4.11,508,2.759,509,2.651,510,2.631,511,2.203,512,2.736,513,2.736,514,2.736,515,2.759,516,2.759,517,1.878,518,2.736,519,1.532,520,2.759,521,2.953,522,2.736,523,2.759,525,2.858,526,2.913,527,2.942,648,3.559,649,3.805,1926,1.871,6725,4.727,6767,4.419,6972,4.177,6975,6.918,6979,6.918,6981,4.605,6991,4.605,7005,4.177,7017,8.31,7018,4.978,7019,4.978,7020,4.605,7021,4.978,7022,4.605]],["title/injectables/CourseGroupRepo.html",[539,0.921,1803,5.395]],["body/injectables/CourseGroupRepo.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.141,10,3.835,12,4.241,13,6.624,18,4.723,26,2.594,27,0.53,29,0.994,30,0.001,31,0.718,32,0.163,33,0.6,34,1.147,35,1.52,36,2.802,39,1.849,40,4.552,42,6.624,47,0.757,49,2.568,95,0.137,96,1.822,97,2.808,98,4.109,99,1.113,101,0.011,103,0,104,0,154,1.38,155,3.07,180,1.637,226,1.005,236,1.12,262,3.038,349,1.194,382,3.453,437,1.421,479,4.972,539,1.265,541,1.651,608,2.684,679,7.378,685,3.952,686,4.285,687,5.291,711,4.109,712,4.153,713,4.109,714,4.153,716,4.109,717,4.153,718,3.665,725,5.022,1803,7.413,1926,3.548,3697,4.745,6132,6.719,6720,8.291,6725,4.35,6767,6.853,7023,6.882,7024,8.734,7025,8.734,7026,6.882,7027,7.215,7028,6.882,7029,6.882,7030,6.882,7031,5.26,7032,6.882,7033,9.44]],["title/injectables/CourseGroupRule.html",[539,0.921,1762,5.563]],["body/injectables/CourseGroupRule.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.219,27,0.467,29,0.897,30,0.001,31,0.648,32,0.156,33,0.542,35,1.221,95,0.148,101,0.012,103,0.001,104,0.001,119,2.503,131,4.586,154,2.685,177,1.875,226,1.108,239,3.178,345,2.41,349,1.038,379,0.958,437,1.592,539,1.351,541,1.82,603,1.567,604,3.122,662,3.998,1107,5.498,1147,2.31,1670,6.579,1673,6.989,1687,5.232,1697,8.065,1700,8.833,1718,4.579,1735,7.363,1762,8.165,1763,9.832,1875,6.543,1879,6.297,1886,5.067,3411,6.734,3412,5.147,3415,6.635,3418,5.147,3419,6.839,6725,4.797,6767,7.911,7034,12.068,7035,7.588,7036,7.588,7037,7.588,7038,7.588,7039,6.647,7040,6.647,7041,6.368,7042,6.647]],["title/injectables/CourseGroupService.html",[539,0.921,7043,6.357]],["body/injectables/CourseGroupService.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.305,26,2.727,27,0.491,29,0.943,30,0.001,31,0.681,32,0.154,33,0.57,35,1.307,36,2.689,39,2.899,95,0.141,98,5.028,99,1.362,101,0.013,103,0.001,104,0.001,177,1.566,226,1.23,227,3.495,262,2.931,345,2.675,349,1.111,379,1.063,437,1.423,539,1.446,541,2.02,608,2.757,662,4.113,1803,9.865,2487,5.624,6132,7.28,6720,8.517,6767,4.977,7043,9.986,7044,8.421,7045,10.793,7046,10.793,7047,7.067,7048,8.421,7049,10.793,7050,8.421,7051,10.793,7052,8.421,7053,10.793,7054,8.421,7055,8.421,7056,8.421]],["title/classes/CourseMapper.html",[0,0.232,6872,6.018]],["body/classes/CourseMapper.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,8,1.414,27,0.395,29,0.758,30,0.001,31,0.547,32,0.124,33,0.458,35,1.159,95,0.138,99,1.548,100,3.982,101,0.015,103,0.001,104,0.001,236,1.557,349,0.986,413,3.801,437,1.542,790,4.82,1926,5.069,6872,10.243,7057,9.571,7058,11.693,7059,11.693,7060,9.571,7061,11.036,7062,9.571,7063,9.571,7064,9.571,7065,9.571,7066,9.571,7067,9.571,7068,9.571,7069,9.571,7070,9.571]],["title/classes/CourseMetadataListResponse.html",[0,0.232,6871,5.765]],["body/classes/CourseMetadataListResponse.html",[0,0.308,2,0.722,3,0.014,4,0.014,5,0.007,7,0.094,26,1.837,27,0.492,29,0.517,30,0.001,31,0.373,32,0.17,33,0.57,34,1.889,47,0.89,55,2.825,56,5.954,59,2.801,70,6.218,83,3.717,95,0.124,99,1.056,101,0.014,103,0,104,0,112,0.696,138,2.033,149,4.373,150,1.472,153,2.906,172,2.032,180,1.578,245,3.175,247,2.808,253,3.225,284,3.609,379,1.149,382,3.376,404,2.609,517,2.463,556,1.595,815,7.818,816,6.731,817,5.225,819,3.288,821,4.857,822,3.167,823,3.477,824,2.32,825,4.581,826,5.906,827,5.275,828,4.296,829,5.422,830,4.581,831,4.581,833,4.127,834,3.559,1271,3.722,1461,4.581,1926,3.938,1942,4.746,2190,4.127,2784,3.094,2918,3.504,2919,3.504,3797,6.543,6718,4.36,6719,7.107,6724,7.493,6727,7.647,6800,5.286,6802,4.99,6804,4.87,6845,7.225,6871,7.638,7061,10.631,7071,8.421,7072,6.04,7073,6.528,7074,6.528,7075,5.286,7076,5.126,7077,7.817,7078,5.126,7079,6.04,7080,5.126,7081,5.126,7082,4.076,7083,4.764,7084,5.286]],["title/classes/CourseMetadataResponse.html",[0,0.232,7061,5.765]],["body/classes/CourseMetadataResponse.html",[0,0.289,2,0.661,3,0.013,4,0.013,5,0.007,7,0.086,26,2.199,27,0.521,29,0.473,30,0.001,31,0.342,32,0.167,33,0.591,34,2.105,47,0.969,55,2.04,56,4.121,59,3.072,70,4.304,83,4.002,95,0.118,99,0.966,101,0.013,103,0,104,0,112,0.654,138,2.215,149,4.203,150,1.346,153,2.833,172,2.661,180,1.035,245,3.085,247,2.569,253,4.223,284,2.587,379,1.079,404,2.387,517,3.224,815,5.274,816,3.256,817,3.428,821,5.051,829,5.637,833,3.775,834,3.256,1271,4.122,1277,5.579,1461,5.998,1926,4.508,1942,5.288,2190,5.403,2297,4.051,2784,2.83,2918,4.587,2919,4.587,3797,7.712,6718,5.708,6719,8.377,6724,8.831,6727,9.012,6800,4.836,6802,4.565,6804,4.455,6845,8.516,6871,5.011,7061,9.675,7071,11.897,7072,5.525,7075,4.836,7076,4.69,7077,8.71,7078,6.712,7079,7.907,7080,6.712,7081,6.712,7082,5.337,7083,6.237,7084,6.921,7085,5.972,7086,5.972,7087,5.972,7088,5.972,7089,5.972,7090,5.972,7091,5.972,7092,5.972]],["title/entities/CourseNews.html",[154,1.378,7093,5.125]],["body/entities/CourseNews.html",[0,0.345,3,0.011,4,0.02,5,0.006,7,0.164,9,3.686,26,2.061,27,0.215,30,0.001,31,0.442,32,0.132,34,0.868,47,0.873,83,2.225,95,0.144,96,2.442,101,0.017,103,0,104,0,105,0.531,112,0.835,138,0.934,143,2.622,144,3.838,154,2.188,155,1.693,172,3.685,173,1.51,174,2.939,175,2.328,180,1.77,181,2.756,182,1.649,236,1.501,239,2.559,349,0.536,355,5.832,358,4.124,381,1.762,403,5.157,413,1.568,459,4.646,521,3.643,563,4.618,643,2.339,644,5.328,654,3.284,655,3.921,839,2.407,996,4.449,997,4.759,998,4.398,999,4.646,1000,5.071,1271,2.88,1289,4.773,1664,1.95,1717,3.708,1723,2.64,1739,3.566,1815,3.426,1832,2.862,1926,3.468,2255,3.533,2565,5.248,2670,4.232,2683,3.077,2739,5.893,2784,2.468,3452,3.59,3454,3.334,3455,3.654,3457,3.723,3458,3.654,3459,3.885,3473,3.109,3606,3.532,3631,3.334,4266,1.762,4358,3.98,4359,3.59,4500,3.8,5094,4.277,5174,3.8,5747,6.733,5932,2.816,5935,4.914,6683,3.654,6770,3.213,6772,2.91,6793,3.142,7006,4.829,7093,5.77,7094,4.216,7095,5.207,7096,4.719,7097,4.216,7098,6.883,7099,5.987,7100,4.216,7101,8.978,7102,5.165,7103,5.77,7104,5.77,7105,6.826,7106,7.662,7107,4.216,7108,5.53,7109,4.216,7110,3.98,7111,3.98,7112,5.018,7113,4.216,7114,3.98,7115,3.98,7116,4.216,7117,3.885,7118,4.216,7119,3.109,7120,3.213,7121,3.98,7122,4.216,7123,4.216,7124,7.245,7125,4.216,7126,7.471,7127,4.216,7128,4.216,7129,5.911,7130,3.98,7131,6.474,7132,4.089,7133,5.089,7134,3.98,7135,3.8,7136,3.98,7137,4.216]],["title/classes/CourseQueryParams.html",[0,0.232,6857,6.018]],["body/classes/CourseQueryParams.html",[0,0.395,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,27,0.395,30,0.001,32,0.124,95,0.149,101,0.019,103,0.001,104,0.001,112,0.895,138,1.717,142,4.564,143,2.59,144,3.791,145,3.286,148,2.971,150,2.158,153,2.196,245,3.007,248,4.674,250,6.128,839,3.64,1373,8.723,5098,5.977,5111,7.295,5112,9.3,5134,5.547,6857,10.243,7138,9.571,7139,9.571,7140,9.571,7141,9.571]],["title/injectables/CourseRepo.html",[539,0.921,1804,4.192]],["body/injectables/CourseRepo.html",[0,0.226,3,0.009,4,0.009,5,0.005,7,0.062,8,0.807,10,2.711,12,2.998,18,3.339,26,2.735,27,0.496,29,0.931,30,0.001,31,0.672,32,0.163,33,0.562,34,1.112,35,1.424,36,2.728,39,3.518,40,3.218,56,3.218,58,4.331,59,3.082,83,1.234,95,0.118,96,1.135,98,2.561,99,0.694,101,0.007,103,0,104,0,119,1.384,120,3.904,143,1.478,145,1.205,154,0.86,155,2.17,173,1.244,180,1.42,226,0.627,236,1.629,262,2.976,349,1.28,382,2.752,437,1.771,479,4.486,480,1.193,486,1.291,490,4.067,539,0.894,541,1.029,608,2.454,679,6.354,685,2.794,686,3.029,687,4.022,711,2.561,712,2.589,713,2.561,714,2.589,716,2.561,717,2.589,718,2.285,741,4.527,1804,4.072,1818,4.457,1920,3.218,1926,4.517,2093,5.211,2350,3.944,2837,3.01,3697,2.958,3702,3.757,3822,6.082,4417,5.918,4488,6.433,4494,3.473,4741,6.172,4833,5.926,5558,4.516,6132,6.144,6134,6.373,6269,6.687,6720,3.067,6725,4.219,6726,5.748,6727,4.87,6861,4.027,7031,3.279,7142,3.969,7143,6.674,7144,7.175,7145,6.674,7146,6.175,7147,6.175,7148,4.29,7149,7.581,7150,6.753,7151,4.29,7152,4.29,7153,4.29,7154,6.175,7155,4.29,7156,4.29,7157,6.175,7158,4.29,7159,4.29,7160,6.111,7161,10.526,7162,3.969,7163,6.175,7164,7.755,7165,3.969,7166,3.969,7167,3.969,7168,6.175,7169,6.175,7170,3.473,7171,3.969,7172,3.969,7173,3.969,7174,5.846,7175,6.175,7176,6.175,7177,6.175,7178,8.096,7179,4.87,7180,4.87,7181,7.579,7182,3.969,7183,3.757,7184,3.969,7185,3.969,7186,3.969]],["title/injectables/CourseRule.html",[539,0.921,1763,5.125]],["body/injectables/CourseRule.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.113,8,1.247,27,0.475,29,0.912,30,0.001,31,0.659,32,0.159,33,0.551,35,1.249,95,0.144,101,0.012,103,0.001,104,0.001,119,2.537,131,4.648,154,2.705,177,1.46,226,1.147,239,3.229,345,2.494,349,1.062,379,0.992,437,1.519,539,1.382,541,1.884,604,3.231,662,4.036,1107,6.279,1147,2.39,1670,6.668,1673,6.365,1688,5.167,1697,8.142,1718,4.738,1735,7.463,1763,7.694,1875,6.693,1879,6.44,1886,5.244,1926,5.068,3411,6.888,3412,5.326,3415,6.787,3418,5.326,3419,6.996,4417,6.604,6725,4.964,6726,7.238,7187,7.852,7188,7.852,7189,7.852,7190,7.852,7191,7.852]],["title/classes/CourseScope.html",[0,0.232,7161,6.018]],["body/classes/CourseScope.html",[0,0.239,2,0.51,3,0.01,4,0.01,5,0.005,7,0.066,8,0.853,26,2.71,27,0.506,29,0.865,30,0.001,31,0.624,32,0.156,33,0.522,34,0.768,35,1.376,36,2.337,39,3.508,40,2.223,56,3.403,58,4.579,83,1.326,95,0.122,96,1.22,98,2.753,99,0.746,101,0.007,103,0,104,0,112,0.54,119,2.146,143,1.021,145,1.296,173,1.337,180,1.486,226,0.673,236,1.684,262,2.408,310,2.002,349,1.302,382,3.082,437,1.789,480,1.283,486,1.388,490,3.412,519,1.419,539,0.945,603,2.254,608,2.526,679,4.051,687,2.264,741,4.786,1804,2.813,1818,4.712,1920,3.403,1926,4.269,2093,5.414,2350,6.117,2837,3.235,3697,3.179,3702,4.039,3822,6.319,4417,6.148,4488,3.621,4741,4.712,4833,6.101,5558,5.278,6132,6.326,6134,6.621,6242,4.712,6243,4.712,6244,4.712,6249,4.712,6250,4.712,6251,3.127,6252,3.079,6253,3.127,6254,3.127,6263,3.079,6264,4.712,6265,3.127,6266,3.079,6267,3.127,6268,3.079,6269,6.911,6720,3.297,6725,4.46,6726,6.015,6727,5.149,6861,4.258,7031,3.524,7142,4.266,7144,4.039,7147,4.266,7149,5.046,7150,5.23,7154,4.266,7157,4.266,7160,6.394,7161,11.533,7162,6.528,7163,6.528,7164,8.058,7165,6.528,7166,6.528,7167,8.884,7168,6.528,7169,6.528,7170,3.733,7171,6.528,7172,4.266,7173,4.266,7174,6.181,7175,6.528,7176,6.528,7177,6.528,7178,8.411,7179,5.149,7180,5.149,7181,7.93,7182,4.266,7183,4.039,7184,4.266,7185,4.266,7186,4.266,7192,7.056,7193,7.056,7194,7.056,7195,7.056,7196,4.611,7197,4.611,7198,4.611,7199,4.611,7200,4.611]],["title/injectables/CourseService.html",[539,0.921,1911,4.66]],["body/injectables/CourseService.html",[0,0.254,3,0.016,4,0.016,5,0.008,7,0.108,8,1.211,12,4.502,26,2.816,27,0.517,29,0.992,30,0.001,31,0.716,32,0.162,33,0.599,35,1.456,36,2.859,39,3.028,95,0.133,98,4.489,99,1.216,101,0.012,103,0.001,104,0.001,177,1.398,226,1.098,227,3.12,262,3.06,345,2.388,349,1.238,379,0.949,437,1.487,539,1.343,541,1.804,608,2.783,662,3.987,1804,7.336,1911,6.797,1920,3.625,1926,3.766,2487,5.222,4488,7.87,4494,8.115,4833,7,6132,6.968,7047,6.309,7201,7.518,7202,10.022,7203,10.022,7204,7.518,7205,10.022,7206,7.518,7207,7.518,7208,10.022,7209,7.518,7210,10.022,7211,7.518,7212,7.518,7213,11.273,7214,7.518,7215,7.518,7216,7.518]],["title/injectables/CourseUc.html",[539,0.921,6866,5.765]],["body/injectables/CourseUc.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.359,26,2.596,27,0.464,29,0.89,30,0.001,31,0.643,32,0.146,33,0.538,35,1.088,36,2.406,39,2.412,59,2.764,95,0.152,98,5.362,99,1.453,101,0.014,103,0.001,104,0.001,177,1.67,226,1.312,227,3.727,247,3.862,345,2.852,349,0.925,377,3.793,379,1.134,490,4.57,539,1.506,541,2.154,721,5.607,836,9.025,1804,8.242,1926,3.375,2093,5.063,6861,5.419,6866,9.432,6895,7.535,6916,8.308,7217,8.979,7218,11.241,7219,8.979,7220,11.241,7221,8.979,7222,6.863]],["title/classes/CourseUrlParams.html",[0,0.232,6856,6.018]],["body/classes/CourseUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,1920,6.178,1926,4.485,3876,5.849,6856,10.453,7223,9.897,7224,9.897]],["title/classes/CreateCardBodyParams.html",[0,0.232,5006,6.018]],["body/classes/CreateCardBodyParams.html",[0,0.395,2,1.056,3,0.021,4,0.021,5,0.011,7,0.137,27,0.394,30,0.001,32,0.124,33,0.558,95,0.149,99,1.545,101,0.015,103,0.001,104,0.001,112,0.893,138,1.713,142,3.727,143,2.794,145,3.281,148,2.964,149,4.505,150,2.152,249,4.575,839,3.635,852,4.451,2406,6.526,4162,10.584,4163,7.179,5006,10.228,5590,7.206,7225,11.677,7226,8.834,7227,7.798,7228,9.549,7229,9.549]],["title/classes/CreateContentElementBodyParams.html",[0,0.232,3748,5.765]],["body/classes/CreateContentElementBodyParams.html",[0,0.366,2,0.938,3,0.018,4,0.018,5,0.009,7,0.122,27,0.447,30,0.001,32,0.179,33,0.518,55,2.573,95,0.141,99,1.371,101,0.013,103,0.001,104,0.001,112,0.829,138,1.943,142,4.914,143,2.401,144,4.082,145,3.74,148,2.63,149,4.181,150,1.91,153,2.486,245,2.787,249,4.246,486,3.262,839,3.373,852,3.95,993,6.057,1942,5.271,2255,4.574,2804,6.707,2922,5.195,3494,6.059,3499,6.184,3748,9.093,4112,9.131,4163,7.207,5591,8.775,7227,5.659,7230,11.946,7231,7.111,7232,8.474,7233,10.026,7234,9.492,7235,8.474,7236,8.474,7237,8.474]],["title/interfaces/CreateJwtParams.html",[105,0.7,7238,6.018]],["body/interfaces/CreateJwtParams.html",[0,0.25,3,0.016,4,0.016,5,0.008,7,0.106,30,0.001,32,0.172,33,0.662,47,1.008,85,8.315,95,0.117,101,0.011,103,0.001,104,0.001,105,0.752,107,1.731,112,0.757,348,4.986,349,1.019,413,2.98,437,1.574,662,3.064,1441,5.797,1443,5.507,1466,6.194,1478,4.408,1482,5.642,1486,4.609,1611,7.224,1623,7.385,4597,7.567,6410,8.901,7238,9.784,7239,6.829,7240,9.775,7241,10.445,7242,9.775,7243,11.855,7244,10.752,7245,9.159,7246,6.829,7247,6.829,7248,6.829,7249,6.829,7250,8.671,7251,6.829,7252,9.159,7253,9.159,7254,6.829,7255,6.466,7256,6.466,7257,6.829,7258,9.159,7259,6.829,7260,6.829,7261,6.829,7262,6.829,7263,6.829,7264,5.797,7265,5.797,7266,6.466,7267,6.829,7268,6.829,7269,6.829,7270,6.829]],["title/interfaces/CreateJwtPayload.html",[105,0.7,1592,5.395]],["body/interfaces/CreateJwtPayload.html",[3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.174,33,0.597,39,3.471,47,1.012,48,5.985,55,2.183,85,8.101,101,0.016,103,0.001,104,0.001,105,1.088,107,1.943,112,0.817,119,2.744,128,3.38,180,1.436,239,1.943,359,4.999,511,3.667,765,5.375,1482,6.332,1486,5.173,1592,9.281,1612,6.045,1623,6.18,1726,4.573,1820,4.999,2405,8.765,3140,6.288,4266,4.225,5160,5.451,6410,5.924,7240,6.505,7242,6.505,7264,6.505,7265,6.505,7271,7.664,7272,7.664,7273,10.11,7274,6.951,7275,5.173,7276,7.664,7277,7.256,7278,7.256]],["title/classes/CreateNewsParams.html",[0,0.232,7279,5.563]],["body/classes/CreateNewsParams.html",[0,0.329,2,0.795,3,0.016,4,0.016,5,0.008,7,0.103,27,0.509,30,0.001,32,0.16,33,0.465,34,1.62,47,0.929,83,2.796,95,0.139,99,1.162,100,3.311,101,0.011,103,0.001,104,0.001,112,0.744,138,2.212,148,2.231,149,3.751,150,1.62,153,3.033,154,2.717,245,3.172,247,3.091,248,4.404,249,3.809,253,3.55,807,6.225,808,3.855,839,2.237,843,6.822,852,3.349,993,5.434,1271,3.85,1643,5.689,1818,6.492,2255,4.722,2739,5.358,2773,6.397,2918,5.218,2919,5.218,3286,3.744,6402,6.704,7099,7.15,7102,7.358,7105,6.579,7106,8.002,7279,7.872,7280,12.713,7281,6.294,7282,7.635,7283,7.732,7284,7.186,7285,6.648,7286,6.03,7287,5.746,7288,8.158,7289,7.431,7290,6.648,7291,6.648,7292,7.559,7293,7.186,7294,7.186,7295,7.094,7296,7.186,7297,5.819,7298,7.186,7299,6.594,7300,6.648,7301,6.648]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.232,7302,6.018]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.399,2,1.074,3,0.021,4,0.021,5,0.011,7,0.139,27,0.4,30,0.001,32,0.126,95,0.139,101,0.015,103,0.001,104,0.001,112,0.902,119,2.741,138,1.741,142,4.603,143,2.613,147,6.38,148,3.014,150,2.188,153,2.227,245,3.033,2883,5.878,3291,8.262,7302,10.332,7303,9.263,7304,11.795,7305,8.982,7306,8.504,7307,10.332,7308,9.551,7309,8.982]],["title/classes/CurrentUserMapper.html",[0,0.232,7310,5.125]],["body/classes/CurrentUserMapper.html",[0,0.223,2,0.73,3,0.014,4,0.014,5,0.007,7,0.095,8,1.109,27,0.47,29,0.902,30,0.001,31,0.652,32,0.148,33,0.545,34,1.1,35,1.38,39,3.06,47,0.973,48,6.388,59,3.245,85,8.247,95,0.146,99,1.068,101,0.01,103,0,104,0,105,0.673,143,1.463,145,1.855,236,1.074,239,3.125,270,6.363,276,3.983,283,4.074,294,3.325,340,3.203,349,1.173,413,4.088,528,5.417,529,1.889,1592,8.279,1612,8.735,1615,5.54,1616,3.722,2405,4.478,3140,5.737,3417,4.478,3779,3.902,4266,3.855,4841,5.346,6238,4.721,7273,9.224,7310,6.844,7311,11.971,7312,5.54,7313,9.174,7314,9.174,7315,10.542,7316,9.174,7317,9.174,7318,6.602,7319,9.174,7320,6.602,7321,6.602,7322,6.068,7323,9.224,7324,6.602,7325,7.864,7326,9.174,7327,6.602,7328,6.222,7329,5.346,7330,6.602,7331,5.346,7332,6.602,7333,6.602,7334,5.783,7335,6.602,7336,5.046,7337,6.602,7338,6.108,7339,6.602,7340,6.602,7341,6.602,7342,6.602,7343,6.602,7344,6.602,7345,6.602,7346,5.783,7347,6.602,7348,6.602]],["title/interfaces/CustomLtiProperty.html",[105,0.7,7349,6.018]],["body/interfaces/CustomLtiProperty.html",[0,0.189,3,0.012,4,0.012,5,0.006,7,0.08,26,1.645,30,0.001,31,0.55,32,0.125,47,0.96,49,3.042,95,0.125,96,2.158,97,2.282,101,0.017,103,0,104,0,105,0.57,107,1.312,112,0.624,119,2.33,143,2.992,144,4.493,145,3.796,154,1.635,168,4.596,172,4.329,173,1.622,174,3.098,175,2.501,177,1.04,178,2.209,180,0.97,181,1.51,182,1.772,236,0.91,321,5.949,349,0.576,480,2.94,486,3.383,490,1.988,556,1.992,653,2.874,662,2.523,827,4.725,839,3.498,1262,1.955,1371,3.413,1475,6.75,1491,3.273,1732,2.936,1984,6.126,2044,2.175,2318,3.242,2501,2.666,2670,2.566,3140,2.817,4342,2.476,6446,3.026,6776,4.53,6789,4.53,7349,8.426,7350,5.176,7351,6.841,7352,7.789,7353,7.543,7354,7.543,7355,5.176,7356,5.176,7357,7.543,7358,5.176,7359,5.176,7360,6.33,7361,7.543,7362,7.543,7363,5.176,7364,4.173,7365,4.393,7366,3.63,7367,4.393,7368,3.63,7369,6.841,7370,3.63,7371,4.393,7372,4.393,7373,4.173,7374,5.176,7375,5.176,7376,4.53,7377,4.393,7378,5.176,7379,4,7380,4.393,7381,3.582,7382,3.34,7383,4.173,7384,3.376,7385,3.536,7386,4.082,7387,4.53,7388,4.393,7389,4.694,7390,4.694,7391,5.176,7392,4.276,7393,4.53,7394,4.694,7395,5.176,7396,4.276,7397,4.53,7398,4.393,7399,4.53,7400,4.276,7401,4.53,7402,4.694,7403,5.176,7404,4.694,7405,5.176,7406,4.694,7407,5.176,7408,5.176,7409,5.176,7410,5.176,7411,4.694,7412,5.176,7413,4.694,7414,5.176,7415,4.276,7416,4.53,7417,3.926,7418,4.173,7419,4.694,7420,5.176,7421,4.173,7422,4.53]],["title/classes/CustomLtiPropertyDO.html",[0,0.232,7423,5.765]],["body/classes/CustomLtiPropertyDO.html",[0,0.337,2,0.824,3,0.016,4,0.016,5,0.008,7,0.107,26,2.01,27,0.463,29,0.59,30,0.001,31,0.57,32,0.145,33,0.356,47,1.007,95,0.133,101,0.015,103,0.001,104,0.001,112,0.762,119,2.589,180,1.291,379,0.941,480,3.649,1262,2.603,1491,4.359,1746,5.828,1984,7.004,2044,2.896,2501,3.551,3140,3.752,4462,6.525,6446,4.029,7352,8.065,7360,6.554,7365,5.85,7366,4.834,7367,5.85,7368,4.834,7370,4.834,7371,5.85,7372,5.85,7373,5.557,7377,5.85,7379,5.327,7380,5.85,7381,4.769,7382,4.448,7383,5.557,7384,4.495,7386,7.268,7388,5.85,7390,6.251,7392,5.694,7394,6.251,7396,5.694,7398,5.85,7400,5.694,7402,6.251,7404,6.251,7406,6.251,7411,6.251,7413,6.251,7415,5.694,7417,5.227,7419,6.251,7421,5.557,7423,9.416,7424,6.892,7425,9.215,7426,9.96,7427,7.449,7428,6.525,7429,5.694,7430,5.85,7431,6.99,7432,5.85,7433,5.85,7434,6.892,7435,6.892,7436,6.892,7437,6.892,7438,6.892,7439,6.892,7440,6.892,7441,6.525,7442,6.892,7443,6.892,7444,6.892,7445,6.892,7446,6.892,7447,6.892,7448,6.892,7449,6.892,7450,6.892,7451,6.892,7452,6.892,7453,6.892]],["title/classes/CustomParameter.html",[0,0.232,2616,4.458]],["body/classes/CustomParameter.html",[0,0.257,2,0.841,3,0.017,4,0.017,5,0.008,7,0.109,27,0.569,29,0.602,30,0.001,31,0.691,32,0.182,33,0.648,47,0.976,95,0.09,101,0.012,103,0.001,104,0.001,112,0.773,119,2.094,153,2.601,181,2.725,249,4.441,379,0.96,381,2.573,486,3.412,839,2.367,1927,8.106,2044,2.956,2566,3.398,2616,8.157,2621,7.955,4342,3.365,4404,4.588,5503,7.816,5541,7.078,5558,4.625,5953,5.825,5973,4.868,5974,5.242,6790,5.156,6791,4.691,7454,12.855,7455,7.602,7456,7.356,7457,8.457,7458,10.096,7459,7.602,7460,7.602,7461,7.602,7462,7.602,7463,7.602,7464,7.602,7465,7.602,7466,7.602,7467,7.602,7468,7.034,7469,7.034,7470,6.379,7471,6.379,7472,5.156,7473,6.156,7474,6.659,7475,6.659,7476,6.659,7477,6.659,7478,6.659,7479,6.659]],["title/classes/CustomParameterEntity.html",[0,0.232,7480,5.563]],["body/classes/CustomParameterEntity.html",[0,0.22,2,0.721,3,0.014,4,0.014,5,0.007,7,0.094,27,0.554,29,0.516,30,0.001,31,0.648,32,0.178,33,0.628,47,0.952,95,0.107,96,1.725,101,0.01,103,0,104,0,112,0.696,119,1.885,138,2.384,143,2.862,144,3.673,153,2.402,160,6.278,172,4.181,173,1.89,181,2.454,249,4.102,379,0.823,381,2.206,486,3.152,839,3.942,1927,7.487,1929,3.2,2044,2.534,2546,6.215,2562,4.64,2566,2.913,2621,7.347,4342,2.885,4404,3.933,5503,7.219,5541,6.538,5558,4.272,5953,5.38,5973,4.173,5974,4.494,6790,4.421,6791,4.022,7456,6.794,7457,7.81,7468,6.03,7469,6.03,7470,5.469,7471,5.469,7472,4.421,7473,5.278,7474,5.709,7475,5.709,7476,5.709,7477,5.709,7478,5.709,7479,5.709,7480,9.648,7481,13.551,7482,13.551,7483,6.518,7484,9.091,7485,6.518,7486,6.518,7487,6.518,7488,6.518,7489,6.518,7490,6.518,7491,6.518,7492,6.518,7493,6.518]],["title/classes/CustomParameterEntry.html",[0,0.232,2642,4.521]],["body/classes/CustomParameterEntry.html",[0,0.326,2,1.067,3,0.021,4,0.021,5,0.011,7,0.138,27,0.522,29,0.764,30,0.001,31,0.754,32,0.164,33,0.606,47,0.926,101,0.015,103,0.001,104,0.001,112,0.899,181,3.17,363,7.433,379,1.217,381,3.262,480,3.523,2044,3.747,2642,8.893,4342,4.266,7430,7.57,7454,12.197,7494,9.639,7495,11.744,7496,9.639,7497,8.089]],["title/classes/CustomParameterEntryEntity.html",[0,0.232,6032,5.251]],["body/classes/CustomParameterEntryEntity.html",[0,0.314,2,1.028,3,0.02,4,0.02,5,0.01,7,0.133,27,0.514,29,0.736,30,0.001,31,0.744,32,0.161,33,0.596,47,0.914,95,0.11,96,2.458,101,0.014,103,0.001,104,0.001,112,0.878,138,2.059,172,4.163,173,2.693,181,3.099,363,7.338,379,1.173,381,3.143,480,3.466,2044,3.61,2562,5.858,4342,4.11,6032,10.221,7430,7.293,7497,7.793,7498,13.015,7499,9.287,7500,11.479,7501,9.287]],["title/classes/CustomParameterEntryParam.html",[0,0.232,6080,5.251]],["body/classes/CustomParameterEntryParam.html",[0,0.394,2,1.052,3,0.021,4,0.021,5,0.011,7,0.136,27,0.48,30,0.001,31,0.72,32,0.151,33,0.557,47,0.922,95,0.138,101,0.015,103,0.001,104,0.001,112,0.891,138,2.088,148,2.95,149,4.492,150,2.142,245,2.994,248,5.031,249,4.562,363,7.097,480,3.502,564,3.941,2572,6.796,6078,6.935,6080,8.899,7502,7.86,7503,11.646,7504,9.504,7505,9.504,7506,9.504]],["title/classes/CustomParameterEntryResponse.html",[0,0.232,6188,5.395]],["body/classes/CustomParameterEntryResponse.html",[0,0.309,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,27,0.51,29,0.724,30,0.001,31,0.74,32,0.16,33,0.592,47,0.909,95,0.108,101,0.014,103,0.001,104,0.001,112,0.87,138,2.039,149,4.385,150,2.061,181,3.068,245,3.328,363,7.297,379,1.154,381,3.094,480,3.441,564,4.052,2044,3.554,4342,4.046,6188,10.453,7430,7.178,7497,7.67,7502,8.081,7503,11.974,7507,9.141,7508,11.366,7509,9.141,7510,9.141]],["title/classes/CustomParameterFactory.html",[0,0.232,7511,5.765]],["body/classes/CustomParameterFactory.html",[0,0.26,2,0.43,3,0.008,4,0.008,5,0.004,7,0.056,8,0.746,27,0.514,29,1.009,30,0.001,31,0.713,32,0.171,33,0.57,34,1.028,35,1.414,47,0.434,55,2.26,59,3.129,95,0.113,101,0.015,103,0,104,0,112,0.472,120,2.607,133,2.122,140,2.117,145,2.459,153,1.762,154,1.541,155,2.007,177,1.148,180,1.517,239,0.911,249,1.522,271,4.868,319,2.607,349,1.227,363,2.19,379,0.49,382,3.665,413,1.858,437,1.623,447,6.606,448,4.096,449,4.809,452,3.392,453,4.809,454,5.099,455,3.392,456,3.392,457,3.392,458,3.338,459,3.868,460,4.222,461,6.266,462,5.164,463,6.592,464,2.152,469,2.135,470,3.392,471,2.152,472,4.527,473,4.66,474,3.712,475,4.407,476,3.365,477,2.135,478,2.024,479,3.726,480,3.076,481,2.084,482,2.053,483,2.135,484,4.466,485,2.152,486,3.329,487,4.154,488,2.135,489,7.342,490,3.93,491,6.078,492,2.152,493,3.012,494,2.135,495,2.152,496,2.135,497,2.152,498,2.135,501,2.135,502,5.498,503,2.152,504,2.135,505,3.392,506,3.194,507,3.392,508,2.152,509,2.069,510,2.053,511,1.719,512,2.135,513,2.135,514,2.135,515,2.152,516,2.152,517,1.465,518,2.135,519,1.195,520,2.152,521,2.437,522,2.135,523,2.152,525,2.23,526,2.273,527,5.171,564,1.216,708,1.559,1130,2.209,1262,1.357,1491,3.612,1901,1.931,1927,2.777,1971,3.58,1984,3.365,2195,4.369,2545,2.834,2548,1.31,2553,2.171,2556,2.725,2616,4.984,2621,2.725,2627,1.931,4374,6.7,4376,2.777,5111,2.101,5493,2.969,5503,2.678,5521,4.605,5523,2.969,5558,3.895,5643,3.108,5953,1.996,5992,2.209,6049,3.145,6054,3.05,6055,2.634,7360,2.556,7366,2.52,7368,2.52,7370,2.52,7381,2.487,7382,2.319,7384,2.344,7456,2.52,7511,6.445,7512,5.406,7513,6.172,7514,5.406,7515,3.884,7516,2.834,7517,4.605,7518,3.05,7519,2.834,7520,2.678,7521,2.425,7522,3.402,7523,3.402,7524,3.402,7525,6.728,7526,5.179,7527,3.402,7528,3.766,7529,3.145,7530,2.834,7531,2.969,7532,3.402,7533,2.897,7534,3.402,7535,3.402,7536,2.725,7537,3.402,7538,3.402,7539,2.634,7540,3.402,7541,3.402,7542,3.402,7543,2.678,7544,3.402,7545,3.402,7546,3.259,7547,3.402,7548,2.777,7549,4.605,7550,5.406,7551,6.728,7552,3.05,7553,5.406,7554,5.406,7555,3.402,7556,3.259,7557,3.05,7558,5.179,7559,3.402,7560,3.402,7561,3.402,7562,3.402,7563,3.402,7564,5.406,7565,3.402,7566,3.259,7567,2.556,7568,3.259,7569,3.402,7570,3.402,7571,3.402,7572,3.402]],["title/classes/CustomParameterPostParams.html",[0,0.232,7573,5.563]],["body/classes/CustomParameterPostParams.html",[0,0.327,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,27,0.558,30,0.001,31,0.627,32,0.179,33,0.631,47,0.966,95,0.13,101,0.011,103,0.001,104,0.001,112,0.739,119,2.004,138,2.426,147,5.227,148,2.211,149,4.744,150,1.606,153,2.516,245,3.335,248,5.184,249,5.17,809,6.029,852,3.32,1929,3.497,2546,6.26,5541,6.849,5558,4.475,5953,5.636,6078,8.583,7456,7.117,7457,8.183,7573,7.826,7574,13.648,7575,7.123,7576,8.384,7577,7.123,7578,7.123,7579,7.826,7580,7.123,7581,5.444,7582,7.123,7583,9.204,7584,7.123,7585,7.123,7586,7.123,7587,7.123,7588,7.123,7589,9.204,7590,7.123,7591,7.123,7592,9.204,7593,7.123,7594,7.123,7595,7.123,7596,7.123,7597,7.123]],["title/classes/CustomParameterResponse.html",[0,0.232,5999,5.395]],["body/classes/CustomParameterResponse.html",[0,0.227,2,0.744,3,0.015,4,0.015,5,0.007,7,0.096,27,0.557,29,0.532,30,0.001,31,0.657,32,0.179,33,0.632,47,0.957,95,0.11,101,0.01,103,0,104,0,112,0.711,119,1.926,138,2.398,149,5.097,150,1.515,153,2.442,181,2.507,245,3.439,249,4.17,379,0.849,381,2.275,839,3.313,1929,3.301,2044,2.613,2546,6.248,2566,3.005,2921,6.29,4342,2.975,4404,4.057,5541,6.646,5558,4.342,5953,5.469,5973,4.304,5974,4.635,5999,9.462,6790,4.56,6791,4.148,7456,6.906,7457,7.94,7470,5.641,7471,5.641,7472,4.56,7473,5.443,7474,5.888,7475,5.888,7476,5.888,7477,5.888,7478,5.888,7479,5.888,7576,8.135,7583,10.11,7589,10.11,7592,10.11,7598,13.623,7599,6.722,7600,9.289,7601,6.722,7602,6.722,7603,6.722,7604,6.722,7605,6.722,7606,6.722,7607,6.722,7608,6.722,7609,6.722,7610,6.722,7611,6.722]],["title/controllers/DashboardController.html",[259,2.631,7612,6.018]],["body/controllers/DashboardController.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.097,8,1.131,27,0.441,29,0.847,30,0.001,31,0.612,32,0.139,33,0.512,35,1.296,36,2.675,55,2.554,95,0.148,100,4.361,101,0.01,103,0,104,0,138,1.919,150,1.531,177,1.263,223,2.83,226,0.992,259,2.6,261,3.255,262,2.921,270,6.579,271,4.63,294,6.815,310,2.948,324,5.424,333,4.56,334,4.406,337,3.538,338,3.616,343,3.644,345,2.157,349,1.102,437,1.648,608,2.476,1080,7.382,2941,6.155,2963,3.563,3779,5.528,4215,8.978,6854,8.653,6860,6.282,7612,8.193,7613,6.79,7614,7.288,7615,10.699,7616,6.79,7617,6.79,7618,11.217,7619,9.674,7620,9.353,7621,6.79,7622,6.79,7623,8.244,7624,10.099,7625,9.353,7626,6.79,7627,5.947,7628,6.79,7629,8.978,7630,6.79,7631,5.19,7632,6.79,7633,6.79,7634,6.79,7635,6.79,7636,10.699,7637,8.193,7638,6.79,7639,6.79,7640,6.79,7641,6.79,7642,6.79,7643,6.79,7644,6.79,7645,6.282]],["title/classes/DashboardEntity.html",[0,0.232,7646,5.013]],["body/classes/DashboardEntity.html",[0,0.17,2,0.335,3,0.007,4,0.007,5,0.003,7,0.12,8,0.609,26,2.364,27,0.521,29,0.895,30,0.001,31,0.646,32,0.164,33,0.54,34,1.738,35,1.459,39,2.027,47,0.846,55,2.541,83,0.871,95,0.076,101,0.015,103,0,104,0,105,0.309,112,0.386,119,1.565,181,0.817,191,2.705,192,1.891,226,0.442,236,1.635,349,1.349,379,0.382,381,2.191,404,3.35,405,2.664,413,2.272,437,1.728,480,1.402,519,3.604,529,1.852,556,1.844,603,2.761,696,2.934,708,2.598,739,3.262,849,1.678,975,4.091,1080,4.833,1147,0.922,1271,2.995,1553,5.769,1568,3.227,1739,2.985,1942,4.624,2297,3.418,2501,1.443,2647,3.588,2668,6.802,2680,1.755,2681,1.625,2723,2.088,2784,3.577,2804,5.732,3261,4.83,3458,2.125,3631,3.227,3725,7.034,3797,3.147,4215,4.229,4969,1.868,6612,2.541,6719,2.054,6761,9.49,6765,3.678,6845,3.475,7077,6.24,7623,5.397,7646,3.678,7647,2.652,7648,5.04,7649,6.611,7650,5.04,7651,5.04,7652,6.611,7653,6.334,7654,7.593,7655,5.04,7656,5.927,7657,5.04,7658,5.04,7659,5.04,7660,5.04,7661,5.04,7662,5.04,7663,6.611,7664,3.028,7665,3.028,7666,3.028,7667,3.028,7668,3.028,7669,4.415,7670,3.028,7671,2.259,7672,3.028,7673,4.415,7674,3.028,7675,4.663,7676,4.415,7677,9.663,7678,3.028,7679,9.827,7680,3.028,7681,3.028,7682,6.916,7683,3.028,7684,4.415,7685,9.663,7686,3.028,7687,3.028,7688,4.415,7689,3.028,7690,4.415,7691,3.028,7692,4.415,7693,3.028,7694,4.415,7695,3.028,7696,4.415,7697,3.028,7698,4.415,7699,3.028,7700,3.028,7701,4.415,7702,3.028,7703,4.415,7704,2.259,7705,4.415,7706,2.652,7707,4.415,7708,4.415,7709,4.415,7710,2.652,7711,4.415,7712,2.652,7713,4.415,7714,2.652,7715,3.76,7716,8.87,7717,2.652,7718,4.415,7719,2.652,7720,4.415,7721,2.652,7722,4.415,7723,2.652,7724,2.652,7725,2.652,7726,2.652,7727,2.652,7728,4.415,7729,2.652,7730,4.415,7731,2.541,7732,4.415,7733,2.652,7734,2.088,7735,4.415,7736,2.652,7737,2.652,7738,2.652,7739,2.652,7740,2.452,7741,2.652,7742,4.415,7743,2.652,7744,2.314,7745,2.652,7746,2.652,7747,2.652,7748,2.652,7749,2.652,7750,2.652,7751,2.652,7752,2.652,7753,2.652,7754,4.415,7755,4.415,7756,2.541,7757,5.671,7758,2.652,7759,4.415,7760,2.652,7761,2.652,7762,2.652,7763,2.652,7764,2.652,7765,2.652,7766,2.652,7767,2.652,7768,2.652,7769,2.652,7770,2.652,7771,2.652,7772,2.652,7773,2.652,7774,2.652,7775,2.652,7776,2.652,7777,2.652,7778,2.652,7779,2.652,7780,2.652,7781,2.652,7782,2.652,7783,4.415,7784,2.652,7785,2.652,7786,2.652,7787,4.415,7788,4.415,7789,2.652,7790,2.652,7791,2.652,7792,2.652,7793,2.652,7794,2.652,7795,2.652,7796,5.671,7797,2.652,7798,2.652]],["title/entities/DashboardGridElementModel.html",[154,1.378,7799,5.395]],["body/entities/DashboardGridElementModel.html",[0,0.311,3,0.014,4,0.014,5,0.007,7,0.172,27,0.494,30,0.001,32,0.148,33,0.44,34,1.997,39,2.47,47,0.842,49,2.471,55,2.535,95,0.142,96,2.434,97,2.703,101,0.018,103,0,104,0,105,0.937,112,0.703,138,2.149,143,2.655,144,2.148,154,2.118,155,2.154,160,3.671,172,3.861,173,1.92,174,4.013,178,3.631,180,1.594,181,1.788,182,2.912,236,1.718,239,2.676,379,0.836,404,3.675,405,3.502,480,1.843,486,1.994,556,2.246,1271,3.872,1717,4.408,1926,3.456,2418,8.324,2668,7.576,2670,4.843,2671,8.072,2673,5.804,2675,7.445,2677,3.641,2679,4.834,2683,3.915,2784,3.139,4333,3.876,5094,3.071,6757,4.136,6772,3.702,7112,4.298,7614,8.041,7799,8.293,7800,5.558,7801,10.043,7802,10.043,7803,6.624,7804,6.624,7805,6.624,7806,6.624,7807,6.624,7808,6.624,7809,6.624,7810,7.445,7811,6.859,7812,5.558,7813,7.715,7814,5.558,7815,5.558,7816,5.558,7817,5.558,7818,5.558,7819,5.364,7820,5.558,7821,5.558,7822,7.445,7823,6.709,7824,5.558,7825,4.648,7826,5.558,7827,5.558,7828,5.558,7829,5.558,7830,5.558]],["title/interfaces/DashboardGridElementModelProperties.html",[105,0.7,7810,5.563]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.316,3,0.015,4,0.015,5,0.008,7,0.173,30,0.001,32,0.162,33,0.551,34,2.173,39,2.509,47,0.916,49,2.529,55,2.665,95,0.143,96,2.473,97,2.766,101,0.018,103,0,104,0,105,0.952,107,1.59,112,0.715,143,2.368,144,2.198,154,2.144,172,3.586,173,1.965,174,4.062,178,3.689,180,1.62,181,1.83,182,2.959,236,1.52,239,2.702,379,0.856,404,3.734,405,3.584,556,1.656,1271,3.996,1717,4.479,1926,4.33,2418,7.801,2668,7.897,2670,4.285,2671,7.141,2673,5.135,2675,5.489,2677,3.726,2679,4.946,2683,4.006,2784,3.213,4333,3.966,5094,3.142,6757,4.233,6772,3.789,7112,4.398,7614,8.244,7799,7.336,7800,5.688,7801,10.365,7802,10.365,7810,8.656,7811,8.595,7812,5.688,7813,7.839,7814,5.688,7815,5.688,7816,5.688,7817,5.688,7818,5.688,7819,5.489,7820,5.688,7821,5.688,7822,7.565,7823,6.817,7824,5.688,7825,4.757,7826,5.688,7827,5.688,7828,5.688,7829,5.688,7830,5.688]],["title/classes/DashboardGridElementResponse.html",[0,0.232,7831,5.563]],["body/classes/DashboardGridElementResponse.html",[0,0.314,2,0.584,3,0.012,4,0.012,5,0.006,7,0.076,27,0.523,29,0.418,30,0.001,31,0.302,32,0.169,33,0.615,34,2.258,47,0.94,55,2.1,83,2.246,95,0.092,101,0.014,103,0,104,0,112,0.597,138,2.236,150,1.189,153,3.09,154,1.058,172,2.431,245,3.464,247,2.269,253,5.675,319,3.927,379,1.298,404,3.716,517,2.945,556,1.908,774,2.692,819,2.656,821,5.51,829,4.04,849,2.923,975,5.015,1080,4.999,1271,4.143,1461,5.479,1942,5.704,2782,5.877,2784,3.701,2804,5.473,2918,6.165,2919,6.165,3797,7.621,6718,6.208,6719,7.44,6804,3.935,6845,8.416,7075,6.323,7076,6.132,7077,9.287,7078,7.3,7081,6.132,7082,4.876,7083,5.698,7084,6.323,7108,3.772,7614,4.936,7623,5.583,7631,5.968,7715,8.183,7823,6.784,7831,9.625,7832,4.62,7833,9.608,7834,9.205,7835,9.205,7836,5.275,7837,5.275,7838,5.275,7839,8.882,7840,6.839,7841,5.275,7842,5.275,7843,5.275,7844,5.275,7845,4.62,7846,5.275,7847,5.275,7848,5.275,7849,4.62,7850,4.62,7851,4.62,7852,4.62,7853,4.62]],["title/classes/DashboardGridSubElementResponse.html",[0,0.232,7839,5.563]],["body/classes/DashboardGridSubElementResponse.html",[0,0.337,2,0.658,3,0.013,4,0.013,5,0.007,7,0.085,27,0.475,29,0.471,30,0.001,31,0.34,32,0.16,33,0.284,34,2.285,47,0.952,55,1.741,83,1.71,95,0.101,101,0.015,103,0,104,0,112,0.652,138,1.95,150,1.34,153,3.128,154,1.193,172,1.851,245,3.527,247,2.557,253,5.687,319,3.599,379,1.373,404,3.979,517,2.243,556,1.453,774,3.034,821,4.616,829,3.076,849,3.295,975,4.158,1080,3.807,1271,4.229,1461,4.172,1942,5.709,2782,6.294,2784,4.038,2804,4.538,2918,6.177,2919,6.177,3797,7.878,6718,6.649,6719,6.753,6804,4.436,6845,8.7,7075,6.899,7076,6.691,7077,9.341,7078,7.819,7081,4.669,7082,3.713,7083,4.339,7084,4.815,7108,4.252,7614,5.386,7623,4.252,7631,6.512,7715,7.428,7823,7.266,7831,8.805,7832,5.208,7833,8.721,7834,8.355,7835,8.355,7839,9.988,7840,5.208,7845,5.208,7849,5.208,7850,5.208,7851,5.208,7852,5.208,7853,5.208,7854,5.946,7855,5.946,7856,5.946,7857,5.946,7858,5.946]],["title/classes/DashboardMapper.html",[0,0.232,7627,6.018]],["body/classes/DashboardMapper.html",[0,0.258,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.469,29,0.9,30,0.001,31,0.65,32,0.147,33,0.544,34,1.274,35,1.377,95,0.12,99,1.237,100,4.122,101,0.012,103,0.001,104,0.001,236,1.85,284,2.314,349,1.171,413,4.085,437,1.596,556,1.868,603,2.673,783,5.664,790,3.85,1271,2.387,2171,4.168,2804,4.072,3797,4.774,6659,6.415,6719,5.186,6765,8.833,6845,5.272,7614,6.406,7627,8.877,7631,9.252,7646,8.833,7653,6.415,7682,9.252,7823,5.579,7831,9.801,7834,6.415,7835,6.415,7839,9.205,7859,7.645,7860,10.134,7861,10.134,7862,10.134,7863,7.645,7864,10.134,7865,7.645,7866,10.134,7867,7.645,7868,7.645,7869,7.645,7870,7.645,7871,7.645,7872,7.645,7873,7.645,7874,7.645,7875,7.645,7876,7.645,7877,7.645,7878,7.645,7879,7.645,7880,10.134,7881,7.645,7882,10.134,7883,7.645,7884,7.645,7885,7.645,7886,7.645,7887,7.645]],["title/entities/DashboardModelEntity.html",[154,1.378,7811,5.125]],["body/entities/DashboardModelEntity.html",[0,0.322,3,0.015,4,0.015,5,0.008,7,0.175,27,0.393,30,0.001,32,0.123,34,2.033,39,2.912,47,0.819,49,2.598,55,2.381,95,0.144,96,2.519,97,2.841,101,0.018,103,0.001,104,0.001,105,0.97,112,0.728,138,1.707,143,2.582,144,2.258,154,2.175,155,2.265,172,3.627,173,2.019,174,4.12,178,3.758,180,1.65,181,1.88,182,3.014,236,1.764,239,2.954,379,0.879,404,3.804,405,3.682,480,1.937,486,2.097,556,1.701,1271,3.638,1717,5.198,1926,3.577,2418,8.503,2668,6.854,2670,4.973,2671,8.287,2673,5.959,2675,5.639,2677,3.828,2679,5.082,2683,4.116,2784,3.301,4333,4.075,5094,3.228,6757,4.349,6772,3.893,7112,4.519,7614,7.962,7799,7.474,7800,5.844,7801,9.436,7802,9.436,7810,7.707,7811,8.088,7812,5.844,7813,7.986,7814,5.844,7815,5.844,7816,5.844,7817,5.844,7818,5.844,7819,5.639,7820,5.844,7821,5.844,7822,7.707,7823,8.503,7824,5.844,7825,4.887,7826,5.844,7827,5.844,7828,5.844,7829,7.986,7830,5.844,7888,6.964,7889,6.443,7890,6.964]],["title/injectables/DashboardModelMapper.html",[539,0.921,7891,5.395]],["body/injectables/DashboardModelMapper.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.063,8,0.817,27,0.507,29,0.974,30,0.001,31,0.703,32,0.162,33,0.588,34,1.126,35,1.462,36,2.831,39,1.171,47,0.306,95,0.098,96,1.154,99,0.705,101,0.007,103,0,104,0,154,1.355,173,1.264,177,0.811,226,0.637,236,1.517,239,1.941,262,3.039,349,1.302,379,0.55,437,1.775,529,1.247,539,0.905,541,1.046,556,1.065,603,2.577,608,2.96,739,2.92,933,2.416,1080,2.791,1226,2.102,1553,3.331,1739,3.115,1926,4.44,2171,2.376,2311,5.256,2318,2.526,2353,2.956,2668,6.377,2679,3.181,2830,6.87,3341,2.911,3346,3.993,3605,3.423,6761,6.666,6766,3.529,6844,3.529,7077,4.659,7614,7.889,7623,3.117,7646,8.124,7682,9.665,7716,7.922,7731,3.657,7799,9.035,7801,3.529,7802,3.529,7811,9.541,7819,3.529,7823,3.181,7891,5.306,7892,4.359,7893,8.275,7894,8.275,7895,6.757,7896,6.757,7897,6.757,7898,6.757,7899,8.275,7900,6.757,7901,6.757,7902,8.275,7903,4.359,7904,4.359,7905,4.359,7906,12.644,7907,4.359,7908,4.359,7909,6.757,7910,4.359,7911,6.757,7912,4.359,7913,9.348,7914,6.757,7915,4.359,7916,6.757,7917,4.359,7918,4.359,7919,4.359,7920,6.757,7921,4.359,7922,6.757,7923,4.359,7924,4.359,7925,4.359,7926,10.087,7927,6.757,7928,4.359,7929,4.359,7930,4.359,7931,4.359,7932,4.359,7933,4.359,7934,4.359,7935,4.359,7936,4.359,7937,4.359,7938,4.359,7939,4.359,7940,4.359,7941,4.359,7942,4.359,7943,4.359,7944,4.033,7945,4.359,7946,6.757,7947,4.359,7948,6.757,7949,4.359,7950,4.359,7951,4.359,7952,6.757,7953,4.359,7954,6.757,7955,4.359,7956,6.757,7957,4.359,7958,4.359,7959,4.359,7960,6.757,7961,6.757,7962,4.359,7963,4.359,7964,4.359,7965,3.818,7966,4.359,7967,4.359,7968,4.359,7969,4.359,7970,4.359,7971,4.359,7972,3.818,7973,6.757,7974,4.359,7975,4.359]],["title/injectables/DashboardRepo.html",[539,0.921,7976,5.395]],["body/injectables/DashboardRepo.html",[0,0.309,3,0.014,4,0.014,5,0.007,7,0.094,8,1.104,9,3.127,26,2.686,27,0.493,29,0.946,30,0.001,31,0.683,32,0.155,33,0.571,34,1.522,35,1.376,36,2.878,39,3.051,49,2.448,95,0.134,96,1.736,97,2.676,99,1.061,101,0.014,103,0,104,0,105,0.669,154,1.832,177,1.698,226,0.958,236,1.067,239,1.539,262,2.992,349,1.273,379,0.828,437,1.733,448,2.643,511,2.903,539,1.224,541,1.574,608,2.936,631,5.326,679,3.766,1147,1.997,1726,2.809,2311,6.405,2353,4.449,3341,4.381,3346,5.397,7077,4.523,7376,7.395,7614,7.817,7646,9.441,7682,6.98,7811,4.894,7891,8.921,7913,7.999,7972,5.746,7976,7.172,7977,6.069,7978,8.449,7979,7.999,7980,8.449,7981,6.56,7982,9.72,7983,6.56,7984,9.202,7985,6.56,7986,8.449,7987,6.56,7988,9.72,7989,6.56,7990,6.069,7991,6.069,7992,8.449,7993,6.069,7994,5.746,7995,7.663,7996,5.014,7997,8.449,7998,6.069,7999,8.449,8000,6.069,8001,9.72,8002,6.069,8003,8.449,8004,6.069,8005,6.069]],["title/classes/DashboardResponse.html",[0,0.232,7631,5.251]],["body/classes/DashboardResponse.html",[0,0.343,2,0.682,3,0.013,4,0.013,5,0.007,7,0.088,27,0.419,29,0.488,30,0.001,31,0.352,32,0.151,33,0.295,34,2.297,47,0.933,55,1.786,83,1.772,95,0.103,101,0.016,103,0,104,0,112,0.669,138,1.567,150,1.389,153,3.163,154,1.753,172,1.918,245,3.545,247,2.651,253,5.765,319,4.29,379,1.396,404,4.059,517,2.324,556,2.135,774,3.145,819,3.103,821,2.856,829,3.188,849,4.844,975,4.265,1080,3.945,1271,4.101,1461,4.324,1942,5.563,2782,6.42,2784,4.142,2804,4.655,2918,6.262,2919,6.262,3797,7.568,6718,5.836,6719,6.888,6804,4.597,6845,8.357,7075,7.077,7076,6.863,7077,9.057,7078,6.863,7081,4.839,7082,3.848,7083,4.497,7084,4.99,7108,6.249,7614,6.986,7623,4.406,7631,8.919,7715,7.576,7823,8.515,7831,9.448,7832,5.398,7833,8.896,7834,8.522,7835,8.522,7839,8.949,7840,5.398,7849,5.398,7850,5.398,7851,5.398,7852,5.398,7853,5.398,8006,6.162,8007,6.162,8008,6.162]],["title/injectables/DashboardUc.html",[539,0.921,7629,5.765]],["body/injectables/DashboardUc.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.092,8,1.084,26,2.831,27,0.488,29,0.937,30,0.001,31,0.702,32,0.153,33,0.566,35,1.361,36,2.626,39,3.681,47,0.728,95,0.14,99,1.034,101,0.01,103,0,104,0,143,1.417,177,1.668,226,0.934,227,2.654,236,1.041,262,2.882,271,3.839,292,3.242,349,1.067,379,1.133,437,1.56,511,2.83,519,1.968,529,1.83,539,1.202,541,1.534,603,2.443,608,2.915,639,3.014,721,3.993,743,4.337,1804,7.685,2093,3.605,2681,4.815,2725,5.366,2804,5.52,4833,3.574,7174,5.601,7614,8.127,7629,7.528,7637,9.841,7646,8.198,7677,9.427,7685,10.57,7716,5.022,7756,5.366,7976,7.045,7979,7.858,7984,7.858,7995,9.427,8009,6.395,8010,10.363,8011,10.363,8012,8.971,8013,6.395,8014,6.395,8015,6.395,8016,6.395,8017,6.395,8018,6.395,8019,6.395,8020,8.971,8021,6.395,8022,6.395,8023,5.916,8024,4.888,8025,6.395,8026,6.395,8027,6.395,8028,6.395,8029,10.363,8030,8.971,8031,8.971,8032,6.395,8033,6.395,8034,6.395,8035,6.395]],["title/classes/DashboardUrlParams.html",[0,0.232,7618,6.018]],["body/classes/DashboardUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,3876,5.849,7614,7.544,7618,10.453,7637,11.223,8036,9.897,8037,9.897]],["title/classes/DatabaseManagementConsole.html",[0,0.232,8038,5.765]],["body/classes/DatabaseManagementConsole.html",[0,0.198,2,0.648,3,0.013,4,0.013,5,0.007,7,0.084,8,1.019,27,0.446,29,0.782,30,0.001,31,0.565,32,0.128,33,0.517,35,1.196,36,2.551,47,0.412,95,0.117,101,0.018,103,0,104,0,105,0.597,119,1.749,138,1.771,142,4.216,143,1.298,145,3.035,153,3.018,219,3.303,262,2.823,284,2.552,345,1.861,349,1.017,379,0.74,437,1.658,490,4.835,510,4.458,556,2.912,603,1.21,608,2.5,1122,5.398,1717,4.735,1822,7.116,2088,6.409,2830,3.499,3291,3.575,3309,5.33,3502,5.133,3504,4.917,3505,7.213,3508,6.827,3510,7.997,3514,8.666,3515,6.828,3516,3.499,3518,4.602,3519,5.548,4381,6.518,5654,4.745,5656,5.133,6441,2.746,8038,7.075,8039,10.589,8040,7.801,8041,8.432,8042,8.747,8043,9.644,8044,5.86,8045,7.801,8046,10.052,8047,9.064,8048,5.86,8049,7.801,8050,8.031,8051,5.86,8052,8.988,8053,8.538,8054,6.445,8055,5.86,8056,5.133,8057,4.917,8058,7.801,8059,8.256,8060,7.801,8061,5.133,8062,7.801,8063,7.801,8064,5.422,8065,5.422,8066,5.422,8067,9.064,8068,7.801,8069,9.137,8070,4.041,8071,7.385,8072,5.422,8073,5.422,8074,5.133]],["title/controllers/DatabaseManagementController.html",[259,2.631,8075,6.018]],["body/controllers/DatabaseManagementController.html",[0,0.254,3,0.016,4,0.016,5,0.008,7,0.108,8,1.21,27,0.516,29,0.892,30,0.001,31,0.644,32,0.146,33,0.539,35,1.516,36,2.858,47,0.904,95,0.118,101,0.012,103,0.001,104,0.001,119,2.336,138,2.245,223,3.128,226,1.096,259,2.873,261,3.598,262,3.059,310,3.258,333,3.198,345,2.383,349,1.289,437,0.99,608,2.317,2962,4.231,3518,5.893,6863,6.495,8040,11.116,8042,9.729,8043,8.844,8053,8.402,8057,6.297,8074,8.767,8075,8.767,8076,12.874,8077,7.504,8078,7.504,8079,10.009,8080,9.261,8081,10.009,8082,7.504,8083,10.009,8084,7.504,8085,10.524,8086,10.009,8087,7.504,8088,6.943,8089,10.009,8090,7.504,8091,7.504,8092,10.009,8093,7.504,8094,11.262,8095,10.009,8096,7.504,8097,7.504,8098,7.504,8099,7.504,8100,7.504,8101,7.504,8102,7.504,8103,7.504,8104,7.504]],["title/modules/DatabaseManagementModule.html",[201,1.845,8105,5.765]],["body/modules/DatabaseManagementModule.html",[0,0.329,3,0.021,4,0.021,5,0.011,30,0.001,95,0.14,101,0.015,103,0.001,104,0.001,201,3.416,203,3.53,204,3.783,205,3.889,206,3.874,207,3.858,208,4.695,209,4.815,218,4.721,219,3.813,220,3.726,226,1.421,1822,5.811,8105,11.699,8106,9.732,8107,9.732,8108,9.732,8109,11.639,8110,9.004,8111,9.004,8112,8.166]],["title/injectables/DatabaseManagementService.html",[539,0.921,8109,5.563]],["body/injectables/DatabaseManagementService.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.078,8,0.962,27,0.534,29,0.974,30,0.001,31,0.718,32,0.159,33,0.588,35,1.52,36,2.895,47,0.977,95,0.131,96,2.107,97,2.209,99,0.876,101,0.008,103,0,104,0,143,2.091,173,1.57,177,1.007,226,0.791,262,3.086,345,1.72,349,1.292,379,0.684,437,1.706,539,1.067,541,1.299,574,8.273,603,1.644,608,2.774,686,3.613,696,3.67,739,3.44,757,4.139,1218,3.574,1717,5.895,2311,5.868,2351,5.4,3341,3.616,3346,4.705,3892,6.446,3903,8.269,5185,5.01,7133,6.212,8042,8.427,8046,6.252,8054,7.955,8080,7.366,8085,10.499,8088,7.366,8109,6.446,8110,12.11,8113,4.743,8114,7.961,8115,7.366,8116,7.961,8117,7.961,8118,7.961,8119,10.407,8120,7.961,8121,5.415,8122,7.961,8123,5.415,8124,7.961,8125,5.415,8126,7.961,8127,5.415,8128,7.961,8129,5.415,8130,7.961,8131,5.415,8132,5.415,8133,7.961,8134,5.415,8135,5.415,8136,5.415,8137,5.415,8138,5.415,8139,5.415,8140,5.415,8141,5.415,8142,9.44,8143,7.961,8144,5.415,8145,5.415,8146,5.415,8147,5.415,8148,5.4,8149,5.415,8150,5.415,8151,5.415,8152,7.961,8153,5.415,8154,5.415,8155,5.415,8156,5.415,8157,5.415,8158,5.415,8159,5.415]],["title/classes/DeleteFilesConsole.html",[0,0.232,8160,6.018]],["body/classes/DeleteFilesConsole.html",[0,0.266,2,0.87,3,0.017,4,0.017,5,0.011,7,0.113,8,1.248,27,0.426,29,0.818,30,0.001,31,0.591,32,0.134,33,0.494,35,0.953,36,2.211,55,2.598,83,2.263,95,0.136,101,0.012,103,0.001,104,0.001,138,1.411,153,2.645,236,1.28,262,2.543,345,2.499,379,0.993,437,1.038,480,2.188,486,2.368,603,1.625,608,1.821,823,4.19,829,4.071,1341,2.528,1636,7.385,1832,5.676,2312,4.784,2313,5.585,2764,3.729,3510,6.37,3514,8.44,3515,7.738,3516,4.698,5440,9.912,6441,5.737,6781,9.483,8160,9.046,8161,11.529,8162,7.867,8163,9.555,8164,7.867,8165,10.948,8166,7.867,8167,10.327,8168,11.428,8169,11.428,8170,10.098,8171,9.335,8172,10.666,8173,7.867,8174,11.529,8175,7.867,8176,6.178,8177,7.279,8178,7.279,8179,6.891,8180,7.867,8181,7.867,8182,7.867,8183,7.867,8184,5.037]],["title/injectables/DeleteFilesUc.html",[539,0.921,8165,5.765]],["body/injectables/DeleteFilesUc.html",[0,0.172,3,0.011,4,0.011,5,0.01,7,0.073,8,0.919,27,0.485,29,0.856,30,0.001,31,0.618,32,0.147,33,0.517,35,1.309,36,2.161,47,0.639,55,1.86,58,4.934,83,2.618,95,0.139,99,0.823,101,0.008,103,0,104,0,112,0.582,143,2.016,145,1.43,154,1.021,177,1.693,208,1.879,220,1.949,226,0.743,236,1.643,262,2.85,280,5.243,330,3.51,349,0.937,379,0.96,437,1.704,480,1.416,486,1.532,539,1.019,541,1.221,579,2.732,595,3.141,603,2.799,608,2.719,662,2.817,696,4.407,708,3.051,986,4.934,990,1.744,1242,2.753,1341,1.636,1984,2.775,2094,3.141,2312,3.778,2313,4.607,2357,3.714,2362,3.997,2487,2.652,2647,5.596,3601,3.668,6441,4.732,6515,3.452,6516,6.174,6517,3.452,6518,3.452,6583,6.66,8163,7.035,8165,6.38,8168,8.845,8176,5.971,8178,4.709,8179,4.458,8184,3.259,8185,12.078,8186,5.09,8187,10.097,8188,6.66,8189,7.035,8190,7.604,8191,10.097,8192,5.09,8193,9.18,8194,9.859,8195,7.604,8196,7.604,8197,8.061,8198,5.09,8199,6.38,8200,9.068,8201,7.604,8202,8.98,8203,5.09,8204,7.604,8205,5.09,8206,7.604,8207,5.09,8208,5.09,8209,7.604,8210,4.271,8211,4.458,8212,4.121,8213,4.709,8214,5.09,8215,5.09,8216,9.102,8217,10.097,8218,10.097,8219,5.09,8220,9.102,8221,5.09,8222,5.09,8223,5.09,8224,9.102,8225,5.09,8226,5.09,8227,5.09,8228,6.66,8229,5.09,8230,5.09,8231,3.797,8232,5.09,8233,5.09,8234,5.09,8235,5.09,8236,5.09,8237,5.09,8238,5.09,8239,4.271,8240,5.09,8241,4.709,8242,5.09,8243,4.709,8244,3.797,8245,4.709,8246,4.709,8247,5.09,8248,5.09,8249,5.09,8250,7.604,8251,4.709,8252,5.09,8253,6.66,8254,5.09,8255,5.09,8256,5.09,8257,5.09,8258,5.09]],["title/classes/DeletionLog.html",[0,0.232,8259,5.395]],["body/classes/DeletionLog.html",[0,0.251,2,0.823,3,0.016,4,0.016,5,0.008,7,0.107,8,1.203,26,2.263,27,0.557,30,0.001,32,0.096,35,0.901,55,2.446,83,3.443,95,0.141,101,0.015,103,0.001,104,0.001,105,0.758,112,0.761,133,2.557,180,1.944,349,1.35,376,4.863,377,5.056,381,3.367,382,2.962,448,4.008,479,3.646,556,3.137,662,3.079,686,4.515,1661,5.513,1665,5.134,1668,7,1747,4.351,1778,4.889,2501,3.544,2795,4.761,2813,4.761,2816,5.839,2818,5.839,2821,5.127,2822,5.127,8148,8.119,8259,7.812,8260,11.181,8261,6.879,8262,8.463,8263,8.254,8264,8.735,8265,7.436,8266,7.436,8267,7.436,8268,7.436,8269,7.436,8270,7.436,8271,7.436,8272,7.436,8273,7.436,8274,7.436,8275,7.436,8276,7.436,8277,7.087,8278,8.055,8279,6.212,8280,9.078,8281,6.513,8282,6.879,8283,6.879,8284,6.879,8285,6.879,8286,6.879]],["title/entities/DeletionLogEntity.html",[154,1.378,8287,5.563]],["body/entities/DeletionLogEntity.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,26,1.905,27,0.501,30,0.001,32,0.157,33,0.626,34,1.147,49,4.326,55,2.565,83,2.715,95,0.144,96,2.499,97,2.808,99,1.113,101,0.015,103,0,104,0,105,0.701,112,0.722,138,2.179,143,2.9,144,3.759,154,1.893,155,2.238,160,6.426,172,4.001,173,1.995,174,3.587,178,2.718,180,1.193,181,1.858,182,2.179,376,2.796,377,2.907,404,2.75,405,4.991,406,4.153,407,6.403,408,4.153,409,6.403,556,3.14,1778,4.76,8148,7.864,8262,8.241,8263,7.995,8264,8.461,8277,7.329,8279,5.894,8280,9.389,8287,7.644,8288,10.531,8289,6.367,8290,6.882,8291,6.882,8292,6.882,8293,6.882,8294,6.882,8295,6.304,8296,8.269,8297,6.028,8298,6.367,8299,6.367,8300,8.734,8301,6.028,8302,8.734,8303,6.367,8304,8.734,8305,6.367,8306,8.734,8307,6.367]],["title/interfaces/DeletionLogEntityProps.html",[105,0.7,8296,6.018]],["body/interfaces/DeletionLogEntityProps.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.098,26,2.335,30,0.001,32,0.169,33,0.662,34,1.928,49,4.525,55,2.672,83,3.604,95,0.143,96,2.49,97,2.794,99,1.108,101,0.014,103,0,104,0,105,0.698,107,1.606,112,0.72,143,2.563,144,3.751,154,1.887,172,3.901,173,1.985,174,3.575,178,2.704,180,1.187,181,1.848,182,2.168,376,4.701,377,4.887,404,2.737,405,4.973,406,4.132,407,6.381,408,4.132,409,6.381,556,3.136,1778,4.909,8148,8.226,8262,8.499,8263,8.363,8264,8.85,8277,7.666,8279,5.874,8280,9.82,8287,5.544,8288,5.746,8289,6.335,8295,6.282,8296,9.413,8297,5.997,8298,6.335,8299,6.335,8300,8.703,8301,5.997,8302,8.703,8303,6.335,8304,8.703,8305,6.335,8306,8.703,8307,6.335]],["title/classes/DeletionLogMapper.html",[0,0.232,8308,6.018]],["body/classes/DeletionLogMapper.html",[0,0.255,2,0.833,3,0.016,4,0.016,5,0.008,7,0.108,8,1.213,27,0.496,29,0.953,30,0.001,31,0.688,32,0.156,33,0.575,34,1.672,35,1.457,49,2.81,95,0.133,96,1.994,97,3.073,101,0.012,103,0.001,104,0.001,154,1.511,155,2.449,236,1.836,349,1.239,376,4.077,377,4.238,413,4.177,1665,3.099,1778,3.931,2323,4.887,2359,5.386,2364,5.194,4433,8.42,4434,9.283,4435,9.283,4436,8.42,4437,8.42,4439,9.283,4441,9.283,4443,8.42,4446,4.648,4460,5.757,4461,5.757,4476,6.969,4477,6.598,4478,6.969,8148,6.806,8259,10.896,8262,6.806,8263,6.919,8264,7.322,8287,11.235,8308,8.789,8309,11.594,8310,7.532,8311,7.532,8312,7.532,8313,7.532,8314,7.532,8315,6.969,8316,6.969,8317,5.915,8318,6.598,8319,7.532,8320,7.532,8321,7.532,8322,7.532,8323,7.532,8324,6.32,8325,6.32,8326,7.532,8327,7.532,8328,7.532,8329,7.532,8330,7.532]],["title/interfaces/DeletionLogProps.html",[105,0.7,8281,6.018]],["body/interfaces/DeletionLogProps.html",[0,0.255,3,0.016,4,0.016,5,0.008,7,0.108,26,2.531,30,0.001,32,0.171,33,0.664,55,2.732,83,3.845,95,0.142,101,0.015,103,0.001,104,0.001,105,0.769,107,1.77,112,0.769,133,2.595,180,1.958,349,1.355,376,5.095,377,5.296,556,3.15,1661,6.259,1665,4.134,1747,4.415,1778,5.052,2501,3.597,2821,5.203,2822,5.203,8148,8.505,8259,5.926,8260,6.332,8261,6.982,8262,8.746,8263,8.646,8264,9.15,8277,7.926,8278,8.135,8279,6.273,8280,10.154,8281,8.8,8282,6.982,8283,6.982,8284,6.982,8285,6.982,8286,6.982]],["title/injectables/DeletionLogRepo.html",[539,0.921,8331,6.018]],["body/injectables/DeletionLogRepo.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.105,8,1.187,12,4.41,26,2.633,27,0.511,29,0.941,30,0.001,31,0.679,32,0.154,33,0.568,34,1.215,35,1.344,36,2.733,49,2.72,95,0.151,96,1.929,97,2.974,99,1.179,101,0.011,103,0.001,104,0.001,177,1.355,226,1.065,236,1.186,262,2.965,345,2.315,349,1.143,379,0.92,437,1.635,539,1.315,541,1.749,608,2.569,685,4.109,686,4.455,687,5.449,718,3.882,2311,6.695,3341,4.868,3346,5.801,3407,5.571,4544,6.817,8259,10.417,8264,7.163,8287,10.338,8308,6.385,8315,6.744,8316,6.744,8317,5.724,8318,6.385,8331,8.598,8332,11.183,8333,7.289,8334,9.816,8335,7.289,8336,9.816,8337,7.289,8338,9.816,8339,7.289,8340,9.816,8341,7.289,8342,9.816,8343,7.289,8344,6.744,8345,7.289,8346,7.289,8347,7.289,8348,7.289,8349,7.289,8350,7.289,8351,7.289,8352,7.289,8353,7.289]],["title/injectables/DeletionLogService.html",[539,0.921,8354,6.357]],["body/injectables/DeletionLogService.html",[0,0.258,3,0.017,4,0.017,5,0.008,7,0.11,8,1.223,26,2.664,27,0.468,29,0.9,30,0.001,31,0.65,32,0.147,33,0.543,34,1.271,35,1.226,36,2.589,49,2.847,55,2.644,95,0.156,96,2.02,97,3.113,99,1.234,101,0.012,103,0.001,104,0.001,177,1.419,226,1.115,236,1.647,262,2.853,345,2.424,349,0.786,379,0.964,437,1.335,539,1.356,541,1.831,608,2.343,1778,4.931,2487,3.976,4188,4.709,8148,8.204,8259,8.918,8262,8.537,8263,8.34,8264,8.826,8277,7.646,8279,6.32,8280,9.794,8295,6.759,8297,8.866,8317,5.993,8318,6.684,8331,11.331,8354,9.364,8355,11.19,8356,7.631,8357,11.357,8358,10.121,8359,7.631,8360,7.631,8361,7.631,8362,7.631,8363,10.121,8364,7.631,8365,7.631,8366,7.631,8367,7.631]],["title/interfaces/DeletionLogStatistic.html",[105,0.7,8368,5.125]],["body/interfaces/DeletionLogStatistic.html",[3,0.019,4,0.019,5,0.01,7,0.127,26,2.585,30,0.001,32,0.158,33,0.613,55,2.794,83,3.211,95,0.132,99,1.437,101,0.02,103,0.001,104,0.001,105,1.345,107,2.083,112,0.854,1778,5.171,8148,8.688,8263,8.833,8277,8.516,8279,5.546,8295,5.931,8368,9.108,8369,7.192,8370,8.328,8371,6.024,8372,7.572,8373,6.788,8374,8.767,8375,8.533,8376,6.974,8377,6.351,8378,7.192,8379,6.974,8380,6.974,8381,6.974]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.232,8382,6.357]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.315,2,1.032,3,0.02,4,0.02,5,0.01,7,0.134,8,1.391,27,0.385,29,0.739,30,0.001,31,0.534,32,0.121,33,0.446,35,1.13,55,2.787,59,3.543,95,0.136,101,0.014,103,0.001,104,0.001,105,0.951,349,0.961,413,3.758,437,1.23,454,5.308,1778,4.891,8148,8.842,8263,8.988,8277,8.24,8279,5.826,8295,6.23,8368,9.989,8382,10.65,8383,10.083,8384,7.937,8385,9.33,8386,11.511,8387,9.33]],["title/modules/DeletionModule.html",[201,1.845,8388,6.018]],["body/modules/DeletionModule.html",[0,0.308,3,0.02,4,0.02,5,0.01,30,0.001,95,0.153,101,0.014,103,0.001,104,0.001,201,3.316,203,3.3,204,3.538,205,3.637,206,3.622,207,3.608,208,4.557,209,4.674,214,6.317,218,4.53,219,3.565,220,3.484,225,4.512,226,1.329,1341,2.924,8388,12.425,8389,9.1,8390,9.1,8391,9.1,8392,9.1,8393,12.483,8394,11.374,8395,9.1,8396,9.1,8397,9.1,8398,8.419,8399,8.419]],["title/classes/DeletionRequest.html",[0,0.232,8400,5.251]],["body/classes/DeletionRequest.html",[0,0.262,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,8,1.236,26,2.309,27,0.555,30,0.001,32,0.1,35,0.938,83,3.737,95,0.144,101,0.016,103,0.001,104,0.001,105,0.79,112,0.782,133,2.664,180,1.984,347,4.572,349,1.338,376,4.944,377,5.139,381,3.46,382,3.044,448,4.119,479,3.747,556,2.498,662,3.164,686,4.64,1661,5.666,1665,5.204,1668,7.145,1747,4.533,1778,3.035,2501,3.693,2795,4.96,2813,4.96,2816,6.084,2818,6.084,2821,5.342,2822,5.342,8260,11.116,8277,7.233,8278,8.278,8279,6.384,8371,8.253,8372,8.253,8377,5.54,8400,7.814,8401,7.168,8402,9.077,8403,7.747,8404,7.747,8405,7.747,8406,7.747,8407,7.747,8408,7.747,8409,7.747,8410,7.747,8411,7.747,8412,7.747,8413,8.746,8414,7.168,8415,7.168,8416,7.168,8417,7.168]],["title/interfaces/DeletionRequestCreateAnswer.html",[105,0.7,8380,5.395]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.02,4,0.02,5,0.01,7,0.131,26,2.736,30,0.001,32,0.147,55,2.523,83,3.717,95,0.134,99,1.472,101,0.02,103,0.001,104,0.001,105,1.355,107,2.134,112,0.867,1778,4.441,8148,6.172,8263,6.275,8277,8.168,8279,5.682,8295,6.077,8368,8.456,8369,7.369,8370,8.456,8371,6.172,8372,7.688,8373,6.955,8374,8.901,8375,10.161,8376,7.146,8377,6.507,8378,7.369,8379,7.146,8380,8.901,8381,10.147]],["title/entities/DeletionRequestEntity.html",[154,1.378,8418,5.395]],["body/entities/DeletionRequestEntity.html",[0,0.25,3,0.016,4,0.016,5,0.008,7,0.172,26,2.515,27,0.493,30,0.001,32,0.155,34,1.234,83,3.585,95,0.147,96,1.961,99,1.198,101,0.015,103,0.001,104,0.001,105,0.755,112,0.856,138,2.144,154,1.99,155,2.409,170,5.527,172,4.144,173,2.148,174,3.771,178,2.926,180,1.284,181,2,182,2.346,347,4.504,376,3.01,377,3.129,404,2.961,405,5.246,406,4.471,407,6.731,408,4.471,409,6.731,519,3.054,556,2.734,595,4.572,662,3.072,1778,2.903,1986,6.485,1987,5.025,4333,4.335,8277,7.556,8279,6.197,8288,10.458,8295,6.627,8371,8.453,8372,8.453,8402,8.917,8413,9.136,8418,7.793,8419,6.854,8420,7.408,8421,7.408,8422,7.408,8423,7.408,8424,8.692,8425,6.854,8426,6.854,8427,6.854,8428,6.854,8429,6.854,8430,6.854,8431,6.854,8432,5.663,8433,6.854,8434,6.489]],["title/interfaces/DeletionRequestEntityProps.html",[105,0.7,8424,6.018]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.17,26,2.675,30,0.001,32,0.169,33,0.61,34,1.976,83,3.905,95,0.146,96,1.922,99,1.175,101,0.015,103,0.001,104,0.001,105,0.74,107,1.704,112,0.848,154,1.964,172,3.853,173,2.106,174,3.721,178,2.868,180,1.259,181,1.961,182,2.3,347,4.61,376,4.817,377,5.008,404,2.903,405,5.177,406,4.383,407,6.642,408,4.383,409,6.642,519,3.014,556,2.706,595,4.482,662,3.031,1778,2.846,1986,6.42,1987,4.926,4333,4.25,8277,7.825,8279,6.115,8288,6.095,8295,6.539,8371,8.65,8372,8.65,8402,9.235,8413,9.462,8418,5.703,8419,6.72,8424,9.704,8425,6.72,8426,6.72,8427,6.72,8428,6.72,8429,6.72,8430,6.72,8431,6.72,8432,5.551,8433,6.72,8434,6.362]],["title/classes/DeletionRequestFactory.html",[0,0.232,8435,6.357]],["body/classes/DeletionRequestFactory.html",[0,0.165,2,0.541,3,0.011,4,0.011,5,0.005,7,0.07,8,0.892,27,0.54,29,1.046,30,0.001,31,0.723,32,0.174,33,0.605,34,1.77,35,1.479,47,0.746,49,1.824,55,2.369,59,3.269,83,2.555,95,0.132,96,1.294,97,1.994,101,0.008,103,0,104,0,112,0.564,120,3.115,133,2.536,140,2.665,153,2.038,154,1.782,155,2.399,177,1.372,180,1.279,236,1.728,271,4.683,319,3.115,347,2.666,349,0.76,376,1.986,377,2.064,379,0.617,382,3.858,413,2.22,437,0.973,447,6.954,448,4.499,449,5.438,452,4.054,453,5.438,454,5.501,455,4.054,456,4.054,457,4.054,458,3.99,459,4.474,460,4.883,461,5.992,462,5.744,463,6.918,464,2.709,469,2.686,470,4.054,471,2.709,472,5.12,473,5.27,474,4.198,475,4.983,476,4.021,477,2.686,478,2.547,479,4.092,480,3.319,481,2.623,482,2.584,483,2.686,484,5.05,485,2.709,486,3.592,487,4.805,488,2.686,489,7.041,490,4.24,491,6.558,492,2.709,493,3.6,494,2.686,495,2.709,496,2.686,497,2.709,498,2.686,501,2.686,502,6.039,503,2.709,504,2.686,505,4.054,506,3.816,507,4.054,508,2.709,509,2.603,510,2.584,511,2.163,512,2.686,513,2.686,514,2.686,515,2.709,516,2.709,517,1.844,518,2.686,519,1.504,520,2.709,521,2.913,522,2.686,523,2.709,525,2.806,527,2.889,1778,1.915,3556,4.101,4188,4.552,4364,6.461,4374,6.234,4376,3.495,5440,3.958,8277,3.09,8278,5.973,8279,4.606,8371,3.315,8372,5.003,8377,3.495,8400,3.736,8402,3.646,8413,3.736,8435,8.219,8436,7.376,8437,4.888,8438,7.376,8439,4.888,8440,4.101,8441,4.888,8442,4.888,8443,4.281]],["title/interfaces/DeletionRequestLog.html",[105,0.7,8373,5.251]],["body/interfaces/DeletionRequestLog.html",[3,0.019,4,0.019,5,0.01,7,0.128,26,2.589,30,0.001,32,0.159,33,0.535,55,2.5,83,3.69,95,0.132,99,1.443,101,0.02,103,0.001,104,0.001,105,1.347,107,2.092,112,0.857,1778,4.386,8148,6.05,8263,6.151,8277,8.11,8279,5.57,8295,5.957,8368,9.571,8369,7.223,8370,9.571,8371,6.05,8372,7.593,8373,8.556,8374,10.378,8375,10.101,8376,10.075,8377,6.379,8378,7.223,8379,7.005,8380,7.005,8381,7.005]],["title/classes/DeletionRequestLogBuilder.html",[0,0.232,8444,6.357]],["body/classes/DeletionRequestLogBuilder.html",[0,0.318,2,1.042,3,0.021,4,0.021,5,0.01,7,0.135,8,1.399,27,0.388,29,0.746,30,0.001,31,0.539,32,0.122,33,0.45,35,1.14,59,2.898,83,3.606,95,0.111,101,0.014,103,0.001,104,0.001,105,0.96,141,5.426,349,0.97,413,3.774,437,1.242,454,5.78,8368,9.756,8370,9.756,8373,10.262,8374,9.844,8375,9.996,8376,10.27,8383,10.141,8444,10.711,8445,9.416,8446,9.416,8447,9.416]],["title/classes/DeletionRequestMapper.html",[0,0.232,8448,6.018]],["body/classes/DeletionRequestMapper.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,27,0.453,29,0.87,30,0.001,31,0.628,32,0.142,33,0.525,34,1.83,35,1.33,95,0.13,101,0.013,103,0.001,104,0.001,154,2.203,236,1.787,347,3.97,349,1.131,376,4.462,377,4.639,413,4.029,1665,3.561,2359,6.188,4433,9.216,4436,9.216,4437,9.216,4443,9.216,4446,5.341,4460,6.615,4461,6.615,6161,6.796,8309,11.162,8317,6.796,8324,7.262,8325,7.262,8371,7.449,8372,7.449,8400,10.391,8402,8.193,8418,10.676,8440,7.262,8448,9.62,8449,8.007,8450,8.007,8451,8.654,8452,8.654,8453,8.654,8454,8.654,8455,8.654,8456,8.654,8457,8.654,8458,8.654]],["title/interfaces/DeletionRequestProps.html",[105,0.7,8377,4.913]],["body/interfaces/DeletionRequestProps.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,26,2.58,30,0.001,32,0.17,33,0.589,83,4.028,95,0.146,101,0.016,103,0.001,104,0.001,105,0.816,107,1.878,112,0.799,133,2.753,180,2.016,347,4.738,349,1.35,376,5.194,377,5.4,556,2.552,1661,6.444,1665,4.298,1747,4.685,1778,3.137,2501,3.816,2821,5.521,2822,5.521,8260,6.719,8277,8.081,8278,8.459,8279,6.523,8371,8.671,8372,8.671,8377,7.47,8400,6.12,8401,7.408,8402,9.537,8413,9.771,8414,7.408,8415,7.408,8416,7.408,8417,7.408]],["title/interfaces/DeletionRequestProps-1.html",[105,0.582,708,2.292,8377,4.085]],["body/interfaces/DeletionRequestProps-1.html",[3,0.02,4,0.02,5,0.01,7,0.129,26,2.6,30,0.001,32,0.167,33,0.539,55,2.71,83,3.242,95,0.133,99,1.459,101,0.02,103,0.001,104,0.001,105,1.351,107,2.116,112,0.862,120,4.761,1778,4.416,8148,6.117,8263,6.219,8277,8.142,8279,5.632,8295,6.023,8368,8.409,8369,7.303,8370,8.409,8371,6.117,8372,7.645,8373,6.894,8374,10.412,8375,8.616,8376,7.083,8377,8.06,8378,7.303,8379,10.115,8380,7.083,8381,7.083]],["title/injectables/DeletionRequestRepo.html",[539,0.921,8394,5.765]],["body/injectables/DeletionRequestRepo.html",[0,0.186,3,0.012,4,0.012,5,0.006,7,0.079,8,0.973,12,3.616,26,2.676,27,0.52,29,0.978,30,0.001,31,0.706,32,0.16,33,0.591,34,1.746,35,1.459,36,2.862,55,1.946,56,3.881,59,1.692,83,1.581,95,0.142,96,1.455,97,2.242,99,0.889,101,0.008,103,0,104,0,141,2.576,143,2.109,154,1.614,177,1.022,226,0.803,236,1.31,262,3.061,345,1.746,349,1.2,376,2.233,379,0.694,437,1.748,539,1.078,541,1.318,593,2.05,608,2.964,680,5.458,685,3.369,686,3.653,687,4.675,718,2.927,721,3.432,741,3.728,2093,4.537,2311,5.909,2958,4.756,3341,3.67,3346,4.756,3407,4.201,4544,6.017,5440,4.45,5558,3.283,6134,3.789,7222,4.201,8264,9.011,8317,4.316,8332,11.216,8344,5.085,8394,6.753,8400,10.218,8418,9.697,8440,4.612,8448,4.814,8459,5.496,8460,8.048,8461,7.446,8462,7.446,8463,5.496,8464,8.048,8465,5.496,8466,7.446,8467,5.496,8468,8.048,8469,5.496,8470,7.446,8471,5.496,8472,7.446,8473,5.496,8474,7.446,8475,5.496,8476,8.048,8477,5.496,8478,5.496,8479,4.814,8480,4.814,8481,10.481,8482,5.496,8483,8.048,8484,5.496,8485,4.814,8486,5.496,8487,5.496,8488,5.496,8489,5.496,8490,5.496,8491,5.496,8492,5.496,8493,5.496,8494,5.496,8495,5.496,8496,8.048,8497,5.496,8498,5.085]],["title/classes/DeletionRequestScope.html",[0,0.232,8480,6.018]],["body/classes/DeletionRequestScope.html",[0,0.262,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,8,1.236,27,0.546,29,0.906,30,0.001,31,0.654,32,0.168,33,0.547,35,1.474,83,3.291,95,0.135,101,0.012,103,0.001,104,0.001,112,0.782,119,2.373,141,5.362,154,1.554,180,1.772,227,3.215,310,3.364,347,3.695,349,1.053,382,3.766,480,2.155,486,2.332,519,2.385,603,2.683,2350,6.762,5558,5.551,6242,6.827,6243,6.827,6244,6.827,6249,6.827,6250,6.827,6251,5.255,6252,5.174,6253,5.255,6254,5.255,6263,5.174,6264,6.827,6265,5.255,6266,5.174,6267,5.255,6268,5.174,6269,6.827,8279,4.838,8295,5.174,8332,10.022,8402,5.78,8413,5.922,8418,6.084,8434,6.786,8443,6.786,8480,11.379,8485,8.955,8499,6.084,8500,10.223,8501,12.167,8502,10.223,8503,7.747,8504,7.747,8505,6.786]],["title/injectables/DeletionRequestService.html",[539,0.921,8393,6.018]],["body/injectables/DeletionRequestService.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.03,12,3.828,26,2.768,27,0.52,29,0.999,30,0.001,31,0.722,32,0.164,33,0.603,34,0.991,35,1.494,36,2.9,49,2.218,55,2.352,56,2.867,59,1.83,83,1.71,95,0.146,96,1.574,97,2.426,99,0.962,101,0.009,103,0,104,0,177,1.106,226,0.868,236,1.62,262,3.089,345,1.888,347,3.079,349,1.185,379,0.751,437,1.434,480,1.654,486,1.79,539,1.142,541,1.426,608,2.664,680,5.779,1778,2.33,2958,5.035,4188,3.669,8264,7.935,8277,6.874,8279,5.32,8295,5.69,8317,4.669,8355,11.885,8371,7.375,8372,6.753,8375,4.545,8379,8.539,8381,4.669,8393,7.463,8394,10.05,8398,5.501,8399,5.501,8400,9.818,8402,4.436,8413,4.545,8440,4.989,8443,5.208,8461,7.883,8462,7.883,8466,7.883,8470,7.883,8472,7.883,8474,7.883,8506,5.946,8507,9.957,8508,8.52,8509,5.946,8510,5.946,8511,5.946,8512,5.946,8513,8.52,8514,5.946,8515,8.52,8516,5.946,8517,5.946,8518,5.946,8519,5.946,8520,8.52,8521,5.946,8522,5.946,8523,8.52,8524,5.946,8525,5.946,8526,5.946,8527,5.946,8528,5.946,8529,5.946,8530,8.52,8531,5.946,8532,5.946,8533,5.946,8534,5.946,8535,5.946]],["title/interfaces/DeletionTargetRef.html",[105,0.7,8370,5.125]],["body/interfaces/DeletionTargetRef.html",[3,0.02,4,0.02,5,0.01,7,0.131,26,2.736,30,0.001,32,0.147,55,2.523,83,3.26,95,0.134,99,1.472,101,0.02,103,0.001,104,0.001,105,1.355,107,2.134,112,0.867,1778,4.441,8148,6.172,8263,6.275,8277,8.568,8279,5.682,8295,6.077,8368,8.456,8369,7.369,8370,9.21,8371,8.764,8372,9.017,8373,6.955,8374,8.901,8375,8.664,8376,7.146,8377,6.507,8378,7.369,8379,7.146,8380,7.146,8381,7.146]],["title/classes/DeletionTargetRefBuilder.html",[0,0.232,8536,6.357]],["body/classes/DeletionTargetRefBuilder.html",[0,0.318,2,1.042,3,0.021,4,0.021,5,0.01,7,0.135,8,1.399,26,2.639,27,0.388,29,0.746,30,0.001,31,0.539,32,0.122,33,0.45,35,1.14,95,0.148,99,1.523,101,0.014,103,0.001,104,0.001,105,0.96,349,0.97,413,3.774,437,1.242,454,5.338,1778,3.689,2739,5.254,8277,8.267,8279,5.88,8295,6.288,8370,10.015,8371,7.852,8372,8.87,8383,10.141,8536,10.711,8537,9.416,8538,11.577,8539,9.416]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.232,8540,5.395]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.379,2,1.381,3,0.016,4,0.016,5,0.008,7,0.107,27,0.515,29,0.589,30,0.001,31,0.425,32,0.166,33,0.597,47,0.787,95,0.118,99,1.203,101,0.017,102,6.068,103,0.001,104,0.001,112,0.761,119,2.325,120,3.141,180,1.944,236,1.948,238,6.266,347,4.052,358,5.351,379,0.939,382,3.338,490,3.984,643,5.769,824,4.254,986,4.825,1262,2.599,1986,4.309,1998,5.842,2395,7.075,6446,4.022,8540,9.799,8541,8.804,8542,7.513,8543,6.513,8544,8.211,8545,10.464,8546,9.4,8547,7.436,8548,5.683,8549,7.436,8550,6.879,8551,9.078,8552,6.879,8553,6.879,8554,6.239,8555,5.127,8556,6.239,8557,6.021,8558,6.513,8559,8.055,8560,8.714,8561,6.239,8562,5.317,8563,5.127,8564,5.127,8565,5.426,8566,6.239]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.232,8559,5.563]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.379,2,1.381,3,0.016,4,0.016,5,0.008,7,0.107,27,0.515,29,0.59,30,0.001,31,0.426,32,0.162,33,0.597,47,0.841,95,0.118,99,1.205,101,0.017,102,6.073,103,0.001,104,0.001,112,0.762,119,2.327,180,1.945,236,1.949,238,6.272,347,4.056,358,5.355,379,0.941,382,3.341,490,2.647,643,5.772,824,4.257,986,4.834,1262,3.922,1986,4.317,1998,5.847,2395,7.08,6446,4.029,8540,7.822,8541,8.812,8542,7.516,8543,6.525,8544,8.216,8545,10.468,8546,9.407,8548,5.694,8550,6.892,8551,9.086,8552,6.892,8553,6.892,8554,6.251,8555,5.136,8556,6.251,8557,6.032,8558,6.525,8559,10.11,8560,8.724,8561,6.251,8562,5.327,8563,5.136,8564,5.136,8565,5.436,8566,6.251,8567,9.96]],["title/classes/DoBaseFactory.html",[0,0.232,4374,4.821]],["body/classes/DoBaseFactory.html",[0,0.173,2,0.567,3,0.011,4,0.011,5,0.006,7,0.074,8,0.924,27,0.54,29,1.046,30,0.001,31,0.72,32,0.174,33,0.602,34,1.806,35,1.499,47,0.642,49,1.913,55,2.407,59,3.337,95,0.108,96,1.357,97,2.092,101,0.008,103,0,104,0,112,0.585,120,3.23,133,2.629,140,2.796,143,1.136,153,2.098,154,2.174,155,2.487,177,1.422,180,1.326,236,0.834,271,4.665,319,3.23,349,0.528,379,0.648,382,3.896,413,2.302,437,0.676,447,7.196,448,4.581,449,5.571,452,4.203,453,5.571,454,5.581,455,4.203,456,4.203,457,4.203,458,4.136,459,4.605,460,5.025,461,6.101,462,5.864,463,6.981,464,2.842,469,2.819,470,4.203,471,2.842,472,5.244,473,5.398,474,4.3,475,5.104,476,4.169,477,2.819,478,2.672,479,4.437,480,3.442,481,2.752,482,2.711,483,2.819,484,5.172,485,2.842,486,3.644,487,4.945,488,2.819,489,7.114,490,4.475,491,6.922,492,2.842,493,3.732,494,2.819,495,2.842,496,2.819,497,2.842,498,4.203,501,2.819,502,6.149,503,2.842,504,2.819,505,4.203,506,3.956,507,4.203,508,2.842,509,2.731,510,2.711,511,2.27,512,2.819,513,2.819,514,2.819,515,2.842,516,2.842,517,1.934,518,2.819,519,1.578,520,2.842,521,3.611,522,2.819,523,2.842,525,2.944,526,3.001,996,2.473,997,2.39,998,2.444,999,2.583,1000,2.819,1994,3.599,2088,3.328,2466,4.745,4188,3.165,4374,5.366,4376,3.667,8568,5.128,8569,5.128,8570,5.128,8571,5.128]],["title/classes/DomainObject.html",[0,0.232,1665,2.827]],["body/classes/DomainObject.html",[0,0.296,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,9,4.178,26,2.45,27,0.526,29,0.694,30,0.001,31,0.501,32,0.144,33,0.419,34,2.124,35,1.062,95,0.104,101,0.017,103,0.001,104,0.001,105,0.893,112,0.847,181,2.989,349,1.14,379,1.107,381,4.449,437,1.156,448,4.89,479,4.997,662,3.946,686,5.026,1147,3.37,1661,6.726,1662,12.164,1663,7.679,1664,3.283,1665,4.556,1666,9.291,1667,8.111,1668,7.961,1669,10.244,7654,7.356,8572,11.072,8573,8.766,8574,8.766]],["title/classes/DomainObjectFactory.html",[0,0.232,8575,6.357]],["body/classes/DomainObjectFactory.html",[0,0.167,2,0.548,3,0.011,4,0.011,5,0.006,7,0.071,8,0.901,27,0.536,29,1.039,30,0.001,31,0.714,32,0.173,33,0.597,34,1.87,35,1.484,47,0.629,55,2.379,59,3.288,95,0.118,101,0.008,103,0,104,0,112,0.57,120,3.147,133,3.079,140,2.7,153,2.054,154,1.796,155,2.423,177,1.386,180,1.727,226,0.724,236,0.806,271,4.625,319,3.147,357,3.786,358,2.214,379,0.626,382,3.869,413,2.243,447,7.155,448,4.522,449,5.475,452,4.095,453,5.475,454,5.651,455,4.095,456,4.095,457,4.095,458,4.03,459,4.51,460,4.922,461,6.023,462,5.777,463,6.936,464,2.745,469,2.722,470,4.095,471,2.745,472,5.154,473,5.306,474,4.226,475,5.017,476,4.062,477,2.722,478,2.581,479,4.391,480,3.332,481,2.658,482,2.619,483,2.722,484,5.084,485,2.745,486,3.606,487,4.844,488,2.722,489,7.062,490,4.355,491,6.863,492,2.745,493,3.636,494,2.722,495,2.745,496,2.722,497,2.745,498,4.095,501,2.722,502,6.07,503,2.745,504,2.722,505,4.095,506,3.855,507,4.095,508,2.745,509,4.77,510,3.939,511,2.192,512,2.722,513,2.722,514,2.722,515,2.745,516,2.745,517,2.81,518,2.722,519,1.525,520,2.745,521,3.934,522,2.722,523,2.745,525,2.844,526,2.898,529,1.417,996,3.593,997,3.473,998,3.551,999,3.752,1000,4.095,1080,3.171,1661,4.129,1665,3.066,1747,2.898,1778,1.941,1953,3.615,1954,3.542,1994,3.476,2088,3.214,3894,3.415,6496,3.259,8575,6.893,8576,4.953,8577,4.953,8578,4.953,8579,7.45,8580,3.615]],["title/classes/DownloadFileParams.html",[0,0.232,6483,4.66]],["body/classes/DownloadFileParams.html",[0,0.458,2,0.719,3,0.014,4,0.02,5,0.01,7,0.093,26,2.554,27,0.374,30,0.001,32,0.16,39,1.745,47,0.959,95,0.149,99,1.051,101,0.021,103,0,104,0,105,0.662,112,0.694,119,1.881,138,1.627,143,1.439,147,4.906,148,2.017,149,4.364,150,1.465,151,6.058,153,1.49,154,1.303,245,3.601,247,2.795,248,4.927,249,4.432,348,3.272,808,4.888,809,6.218,839,3.253,852,3.028,988,2.834,990,2.227,1079,3.84,1147,1.977,1203,5.808,1204,4.275,1205,4.275,1262,2.271,2739,4.744,2922,5.011,3632,2.996,4266,2.199,5663,4.48,5826,7.431,5933,3.012,6088,6.71,6419,4.898,6432,6.878,6438,6.218,6467,4.48,6468,4.559,6469,4.559,6470,5.452,6472,7.947,6475,4.48,6476,8.233,6477,7.939,6478,7.939,6479,4.559,6480,4.48,6481,4.48,6482,4.559,6483,6.153,6484,7.673,6485,4.339,6486,4.407,6487,4.48,6488,4.407,6489,4.407,6490,4.16,6491,4.559,6492,4.559,6493,4.559,6494,4.16,6495,4.16,6496,4.275,6497,4.339,6498,4.559,8581,6.497,8582,6.497]],["title/classes/DtoCreator.html",[0,0.232,8583,6.018]],["body/classes/DtoCreator.html",[0,0.206,2,0.423,3,0.008,4,0.008,5,0.004,7,0.055,8,0.737,27,0.524,29,0.871,30,0.001,31,0.648,32,0.17,33,0.526,34,1.016,35,1.408,95,0.119,99,0.619,100,2.955,101,0.006,103,0,104,0,112,0.467,119,1.799,120,2.576,143,1.351,145,1.714,177,1.134,226,0.559,236,0.992,239,2.915,347,3.65,349,1.263,376,2.478,377,2.576,379,0.96,437,1.749,539,0.817,603,2.818,604,1.574,643,1.719,739,4.578,774,1.952,849,5.252,1042,2.638,1107,3.325,1271,1.904,1673,2.361,1688,2.517,1758,5.047,1926,3.561,1942,3.632,1944,5.799,1948,2.638,2079,1.693,2080,1.89,2081,1.823,2255,3.866,2531,1.773,2684,4.05,2686,4.967,2688,9.082,2691,4.661,2693,5.437,2696,1.783,2704,7.952,2772,2.924,2773,2.517,3034,2.924,3070,8.3,3071,5.117,3075,5.117,3078,3.21,3097,3.351,3466,3.21,3476,2.418,3479,3.21,3797,2.389,3815,5.793,3940,2.157,4544,4.365,5152,3.21,6614,5.078,7164,7.28,7671,8.457,7825,2.684,7965,3.351,8583,6.661,8584,11.859,8585,3.539,8586,9.635,8587,9.63,8588,6.098,8589,6.098,8590,6.098,8591,8.026,8592,8.026,8593,6.098,8594,6.098,8595,6.098,8596,6.098,8597,6.098,8598,3.825,8599,3.825,8600,3.825,8601,3.825,8602,5.642,8603,10.979,8604,3.825,8605,8.473,8606,5.642,8607,3.825,8608,5.642,8609,3.825,8610,3.825,8611,3.825,8612,3.825,8613,5.642,8614,3.825,8615,5.642,8616,3.825,8617,5.642,8618,3.825,8619,5.642,8620,3.825,8621,2.791,8622,5.342,8623,5.342,8624,3.539,8625,3.539,8626,3.351,8627,5.642,8628,3.539,8629,5.642,8630,5.642,8631,3.539,8632,3.539,8633,3.539,8634,3.539,8635,3.539,8636,3.539,8637,3.539,8638,3.539,8639,3.539,8640,3.539,8641,5.642,8642,3.351,8643,3.539,8644,3.539,8645,3.539,8646,3.539,8647,7.035,8648,3.539,8649,3.539,8650,3.539,8651,3.351,8652,3.351,8653,5.642,8654,3.539,8655,3.539,8656,3.351,8657,3.351,8658,3.21,8659,3.351,8660,3.351,8661,3.539,8662,3.539,8663,3.539,8664,3.539,8665,3.539,8666,3.539,8667,3.351,8668,3.539,8669,3.539,8670,3.539,8671,3.539,8672,3.539,8673,3.539,8674,3.539,8675,3.539,8676,3.21,8677,3.539,8678,3.098,8679,3.539,8680,3.539,8681,3.539]],["title/injectables/DurationLoggingInterceptor.html",[539,0.921,8682,6.357]],["body/injectables/DurationLoggingInterceptor.html",[0,0.292,3,0.019,4,0.019,5,0.01,7,0.124,8,1.326,27,0.452,29,0.869,30,0.001,31,0.627,32,0.142,33,0.525,35,1.046,95,0.15,101,0.013,103,0.001,104,0.001,131,3.282,153,1.981,226,1.261,345,2.743,349,0.889,379,1.091,437,1.139,478,5.715,521,4.76,539,1.47,541,2.072,966,5.683,968,6.601,1147,2.629,1341,2.775,1818,5.767,2108,9.607,2244,9.212,2312,4.552,2313,5.785,3002,5.858,4597,8.383,6686,8.182,6693,8.881,8682,10.147,8683,12.053,8684,7.99,8685,10.147,8686,9.607,8687,8.636,8688,9.607,8689,11.107,8690,11.107,8691,8.636,8692,9.607,8693,7.99,8694,8.636,8695,8.636,8696,8.636,8697,8.636,8698,8.636]],["title/classes/ElementContentBody.html",[0,0.232,8699,4.66]],["body/classes/ElementContentBody.html",[0,0.456,2,0.638,3,0.013,4,0.013,5,0.006,7,0.083,9,2.75,27,0.238,30,0.001,31,0.651,32,0.18,47,0.879,83,1.659,95,0.134,99,0.933,101,0.021,103,0,104,0,112,0.638,138,1.035,143,1.278,148,1.791,149,3.777,150,1.3,153,2.46,172,1.796,180,1.972,245,3.59,248,4.885,249,4.645,284,1.746,305,4.831,480,3.164,807,5.338,808,3.305,839,1.796,852,2.689,1142,3.602,1262,2.016,1271,1.801,1643,3.375,1942,4.489,2255,4.355,2501,2.75,2882,2.75,2883,2.566,2922,3.997,3278,3.444,3280,3.444,3283,3.409,3286,5.101,3289,2.985,3294,3.252,3767,3.602,3788,3.602,3789,6.94,4163,6.51,5681,6.268,5683,6.352,5685,6.268,5687,6.352,5689,6.352,5734,3.796,5771,6.537,5772,6.537,5773,6.537,5774,6.537,5775,6.537,6088,6.891,7227,3.852,7287,3.409,8699,8.488,8700,5.748,8701,3.978,8702,5.769,8703,5.769,8704,5.486,8705,6.537,8706,6.537,8707,3.978,8708,6.537,8709,3.56,8710,3.913,8711,6.537,8712,6.537,8713,3.852,8714,3.852,8715,3.852,8716,3.852,8717,3.978,8718,3.978,8719,3.978,8720,3.978,8721,3.978]],["title/controllers/ElementController.html",[259,2.631,2761,6.018]],["body/controllers/ElementController.html",[0,0.15,3,0.01,4,0.01,5,0.005,7,0.064,8,0.83,10,3.406,27,0.389,29,0.746,30,0.001,31,0.539,32,0.181,33,0.451,35,1.141,36,2.479,95,0.137,100,1.515,101,0.007,103,0,104,0,138,1.69,142,1.736,143,1.521,150,1.003,177,1.277,223,1.854,226,0.65,236,1.117,259,1.703,261,2.133,262,2.766,270,6.237,282,7.233,287,7.622,290,8.452,294,6.638,324,4.778,333,4.34,334,2.887,335,6.145,336,8.231,337,2.318,338,2.37,340,2.158,343,2.388,345,1.413,346,5.627,347,4.728,349,0.707,437,1.343,603,0.919,608,2.181,631,3.48,685,2.874,824,3.349,849,2.466,1266,6.907,1942,4.505,2255,4.12,2511,3.603,2525,2.629,2530,6.081,2681,5.466,2753,6.583,2755,6.788,2761,6.014,2764,2.109,2765,3.897,2883,4.192,2884,4.143,2933,6.877,2935,7.031,2937,7.203,2938,7.203,2941,7.622,2943,5.559,2956,9.334,2958,4.057,2961,3.181,2962,2.508,2963,2.335,2970,3.603,2980,5.559,2981,5.559,3222,4.396,3309,6.803,3366,3.392,3430,4.734,3624,5.391,3751,4.909,3752,3.897,3766,5.247,3767,2.778,3771,3.181,3772,3.181,3773,3.401,3774,3.733,3779,4.954,3781,4.116,3786,4.116,3788,2.778,3789,6.213,3790,3.603,3791,3.603,4055,3.401,4081,2.812,4083,3.401,4084,3.401,4099,3.897,4108,3.897,4109,3.897,4110,3.897,4114,3.897,4215,7.034,5009,4.116,5022,6.352,5818,11.126,7302,8.92,8705,4.585,8706,4.585,8708,5.598,8711,5.598,8712,5.598,8713,6.294,8722,4.449,8723,7.756,8724,7.756,8725,8.383,8726,4.449,8727,4.449,8728,4.449,8729,4.449,8730,4.449,8731,4.449,8732,6.865,8733,4.449,8734,4.449,8735,4.449,8736,8.255,8737,4.449,8738,4.449,8739,4.449,8740,4.449,8741,4.449,8742,4.449,8743,4.449,8744,5.559,8745,4.449,8746,4.449,8747,4.449,8748,9.424,8749,4.449,8750,4.449,8751,4.449,8752,4.449,8753,4.449,8754,4.449,8755,4.449,8756,4.449,8757,4.449,8758,4.449,8759,4.449]],["title/injectables/ElementUc.html",[539,0.921,2755,5.563]],["body/injectables/ElementUc.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.891,26,2.842,27,0.492,29,0.945,30,0.001,31,0.682,32,0.158,33,0.57,35,1.403,36,2.663,39,3.342,59,1.503,95,0.141,99,0.79,101,0.008,103,0,104,0,119,1.841,177,1.974,180,1.278,226,0.713,236,1.444,239,1.145,262,2.971,349,0.914,379,0.931,382,2.643,437,1.528,448,4.806,529,2.54,539,0.987,541,1.171,560,2.009,603,2.305,608,2.925,639,2.301,685,2.044,790,2.459,827,2.829,1107,5.787,1341,1.569,1687,3.366,1688,3.212,1758,6.171,1826,3.26,1861,5.27,1912,7.216,1917,9.924,1923,3.953,1942,5.11,2095,3.311,2255,3.786,2312,4.808,2512,5.718,2513,8.53,2515,5.787,2516,5.787,2517,3.562,2518,8.224,2520,3.642,2521,5.378,2522,6.348,2524,3.834,2525,6.847,2527,3.834,2528,5.27,2530,4.4,2531,2.263,2542,4.097,2544,5.498,2755,5.967,2794,3.366,2873,5.611,2883,4.964,2884,5.357,3157,3.642,3222,4.718,3291,6.033,3366,3.641,3596,9.382,3857,3.953,3858,3.953,3859,3.953,3862,3.953,3863,3.953,4042,2.979,4216,7.776,4244,4.517,5703,4.602,5734,6.507,5821,8.213,8723,8.213,8724,6.818,8760,4.882,8761,7.369,8762,8.877,8763,4.882,8764,4.882,8765,4.882,8766,7.369,8767,4.882,8768,7.369,8769,4.882,8770,4.882,8771,4.882,8772,4.276,8773,4.517,8774,4.882,8775,4.882,8776,4.882,8777,7.369,8778,4.882,8779,4.882,8780,4.882,8781,4.882,8782,4.517,8783,4.882,8784,4.517,8785,4.517,8786,3.953,8787,4.882,8788,4.882,8789,7.369,8790,4.882,8791,4.882,8792,4.882,8793,4.517,8794,3.731,8795,4.882]],["title/modules/EncryptionModule.html",[201,1.845,8796,5.013]],["body/modules/EncryptionModule.html",[0,0.288,3,0.019,4,0.019,5,0.009,30,0.001,47,0.599,95,0.154,101,0.013,103,0.001,104,0.001,201,3.218,203,3.093,204,3.315,205,3.408,206,3.394,207,3.381,208,4.016,209,4.119,214,6.214,218,4.348,219,3.341,220,3.265,225,4.331,226,1.246,236,1.388,349,0.878,437,1.125,474,3.618,584,9.027,598,4.942,636,6.366,637,7.78,639,5.127,1341,2.74,1984,5.932,2312,5.411,2313,6.082,8796,9.728,8797,8.527,8798,8.527,8799,8.527,8800,8.938,8801,10.495,8802,7.889,8803,7.469,8804,8.527,8805,11.982,8806,8.527,8807,8.527,8808,8.527,8809,7.889,8810,8.527]],["title/classes/EntityNotFoundError.html",[0,0.232,291,5.013]],["body/classes/EntityNotFoundError.html",[0,0.263,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,8,1.24,27,0.547,29,0.617,30,0.001,31,0.446,32,0.178,33,0.549,35,0.944,47,0.914,55,1.592,59,2.398,95,0.121,101,0.012,103,0.001,104,0.001,112,0.785,138,2.273,154,2.058,177,2.557,180,1.779,182,2.468,226,1.138,291,7.488,292,5.202,347,2.816,379,0.984,382,3.875,687,5.634,821,5.653,824,2.769,951,5.378,988,5.32,990,4.18,1025,4.549,1269,8.405,1270,7.616,1271,3.807,1272,7.347,1276,5.056,1277,4.355,1278,5.056,1279,5.056,1280,5.056,1281,5.056,1282,5.056,1283,4.702,1284,4.432,1285,6.119,1286,6.538,1290,4.925,3882,7.209,8811,10.262,8812,7.792,8813,7.792,8814,7.792,8815,7.792]],["title/classes/ErrorLoggable.html",[0,0.232,8816,5.563]],["body/classes/ErrorLoggable.html",[0,0.336,2,0.655,3,0.013,4,0.013,5,0.007,7,0.085,8,1.027,27,0.493,29,0.86,30,0.001,31,0.621,32,0.16,33,0.519,35,1.203,47,0.762,95,0.141,101,0.009,103,0,104,0,112,0.65,119,1.761,143,1.882,148,2.636,172,3.577,177,2.018,226,0.865,246,4.794,283,6.697,316,3.202,340,2.872,345,1.88,349,1.232,379,0.748,437,1.515,448,2.385,480,3.196,486,1.782,493,2.889,511,2.62,521,3.354,603,2.75,604,2.436,762,3.895,988,4.333,990,4.565,996,4.096,997,3.959,998,4.048,999,4.277,1000,3.254,1001,4.082,1002,4.015,1025,3.367,1076,3.953,1077,3.653,1147,2.585,1218,3.216,1227,4.233,1266,7.793,1275,7.439,1288,3.227,1289,3.653,1338,4.604,1339,5.139,1343,5.395,1779,3.612,2171,3.227,2318,3.431,2739,3.855,3912,4.794,4744,4.967,8024,4.525,8384,4.082,8816,6.877,8817,5.92,8818,9.932,8819,8.493,8820,8.493,8821,8.493,8822,5.92,8823,5.92,8824,9.932,8825,5.92,8826,8.493,8827,5.92,8828,5.92,8829,5.655,8830,5.87,8831,8.493,8832,5.92,8833,8.493,8834,5.92,8835,5.92,8836,5.92,8837,5.92,8838,8.493,8839,5.92,8840,5.92,8841,10.852,8842,5.92,8843,5.92,8844,4.525,8845,5.92,8846,8.493,8847,5.92,8848,5.92,8849,8.493,8850,5.92,8851,5.477,8852,4.416,8853,4.967,8854,5.92,8855,5.92,8856,5.92,8857,5.92,8858,5.92,8859,5.92,8860,8.493,8861,5.92,8862,5.92,8863,5.92,8864,5.92]],["title/injectables/ErrorLogger.html",[539,0.921,8865,5.765]],["body/injectables/ErrorLogger.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.22,27,0.518,29,0.996,30,0.001,31,0.719,32,0.163,33,0.601,35,1.463,72,3.433,95,0.148,101,0.012,103,0.001,104,0.001,107,1.783,177,1.414,203,2.757,226,1.11,358,3.398,379,0.96,437,1.593,519,4.122,539,1.353,541,1.824,603,1.57,639,3.583,990,3.46,1025,4.788,1122,4.868,1338,6.587,2312,4.704,3002,5.156,6675,6.156,8865,9.512,8866,12.922,8867,7.602,8868,10.096,8869,10.096,8870,10.096,8871,10.579,8872,7.602,8873,10.096,8874,7.602,8875,10.096,8876,7.602,8877,10.096,8878,7.602,8879,10.096,8880,7.602,8881,6.659,8882,7.928,8883,6.156,8884,7.034,8885,6.659,8886,11.174,8887,7.602,8888,7.602,8889,7.602,8890,7.602]],["title/classes/ErrorMapper.html",[0,0.232,8891,6.018]],["body/classes/ErrorMapper.html",[0,0.296,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.337,27,0.361,29,0.693,30,0.001,31,0.5,32,0.113,33,0.418,35,1.06,95,0.143,101,0.013,103,0.001,104,0.001,226,1.278,236,2.073,282,5.462,287,5.756,349,0.901,413,3.65,990,4.6,1226,6.143,1227,6.255,1228,6.869,1257,7.34,2530,7.607,2680,7.383,8891,9.685,8892,8.747,8893,11.218,8894,8.747,8895,10.316,8896,8.747,8897,11.057,8898,5.398,8899,12.124,8900,8.747,8901,8.747,8902,6.686,8903,8.747,8904,8.747]],["title/modules/ErrorModule.html",[201,1.845,6675,5.563]],["body/modules/ErrorModule.html",[0,0.309,3,0.02,4,0.02,5,0.01,30,0.001,95,0.153,101,0.014,103,0.001,104,0.001,153,2.097,201,3.323,203,3.315,204,3.554,205,3.653,206,3.639,207,3.624,208,4.196,209,3.461,214,6.324,218,4.543,219,3.581,220,3.5,225,4.525,226,1.335,486,3.422,636,5.349,2312,3.794,3308,7.591,3516,6.787,4381,6.859,4541,6.787,6675,10.988,6688,7.976,6692,10.86,8905,9.141,8906,9.141,8907,9.141,8908,10.516,8909,6.987,8910,9.538,8911,9.141,8912,9.141,8913,6.987]],["title/classes/ErrorResponse.html",[0,0.232,1283,4.146]],["body/classes/ErrorResponse.html",[0,0.24,2,0.784,3,0.015,4,0.015,5,0.008,7,0.102,27,0.522,29,0.561,30,0.001,31,0.405,32,0.182,33,0.523,47,0.982,55,2.508,59,2.181,95,0.084,101,0.011,103,0.001,104,0.001,112,0.737,153,2.51,168,5.429,177,2.6,226,1.035,348,5.911,361,5.478,379,1.216,824,3.422,951,6.262,988,5.355,990,4.517,1025,5.135,1130,6.677,1270,7.671,1271,4.043,1283,5.811,1284,4.031,1295,8.565,1296,7.184,1297,6.337,1304,6.937,1306,5.943,1308,8.435,1309,5.581,1311,8.91,1312,6.249,1313,8.91,1412,6.207,2566,3.167,2784,3.358,3929,6.556,3930,5.416,3931,6.556,8914,7.086,8915,7.086,8916,9.63,8917,7.086,8918,7.086,8919,7.086,8920,7.086]],["title/classes/ErrorUtils.html",[0,0.232,1227,4.913]],["body/classes/ErrorUtils.html",[0,0.256,2,0.836,3,0.016,4,0.016,5,0.008,7,0.109,8,1.216,27,0.497,29,0.954,30,0.001,31,0.689,32,0.13,33,0.576,35,1.46,47,0.794,59,2.327,95,0.134,101,0.012,103,0.001,104,0.001,105,0.77,145,2.125,153,2.764,226,1.104,236,1.23,340,3.667,349,1.241,413,4.179,556,2.457,604,4.958,990,4.882,1218,4.562,1227,7.193,1269,7.436,3730,9.21,3918,5.937,8921,7.56,8922,10.059,8923,10.059,8924,12.547,8925,10.059,8926,10.059,8927,7.56,8928,9.154,8929,10.059,8930,7.56,8931,10.059,8932,7.56,8933,10.112,8934,10.059,8935,7.56,8936,7.56,8937,12.05,8938,7.56]],["title/injectables/EtherpadService.html",[539,0.921,8939,6.018]],["body/injectables/EtherpadService.html",[0,0.273,3,0.018,4,0.018,5,0.009,7,0.116,8,1.269,26,2.495,27,0.433,29,0.832,30,0.001,31,0.601,32,0.151,33,0.502,35,0.977,36,2.248,39,2.821,47,0.94,94,4.012,95,0.146,101,0.016,103,0.001,104,0.001,145,2.268,177,1.501,226,1.179,236,1.313,262,2.575,284,3.178,345,2.563,349,1.081,379,1.019,437,1.539,539,1.407,541,1.936,560,3.321,579,4.331,603,1.667,608,1.868,685,3.379,990,3.599,1242,4.365,1271,3.859,1341,2.593,1776,6.772,1920,5.961,2312,4.844,2313,5.64,2501,3.847,8939,9.198,8940,8.07,8941,10.5,8942,7.069,8943,9.587,8944,8.07,8945,10.5,8946,8.07,8947,10.5,8948,8.07,8949,8.07,8950,8.07,8951,8.07,8952,7.467,8953,8.07,8954,7.467,8955,5.771]],["title/classes/ExternalGroupDto.html",[0,0.232,8956,5.251]],["body/classes/ExternalGroupDto.html",[0,0.279,2,0.915,3,0.018,4,0.018,5,0.009,7,0.119,27,0.562,29,0.655,30,0.001,31,0.714,32,0.181,33,0.565,47,0.929,83,3.589,95,0.126,101,0.013,103,0.001,104,0.001,112,0.816,181,2.879,379,1.044,381,2.798,564,2.588,655,5.986,975,4.035,2044,3.214,2566,3.696,3122,5.103,4342,3.659,4404,4.989,7119,4.936,7120,5.102,8709,7.287,8956,9.87,8957,11.558,8958,7.649,8959,10.343,8960,10.666,8961,8.267,8962,8.267,8963,8.267,8964,9.025,8965,8.267,8966,8.267,8967,9.272,8968,8.267,8969,6.937,8970,7.649,8971,6.492,8972,7.241,8973,7.241,8974,7.241,8975,7.241,8976,7.241,8977,8.267,8978,8.267]],["title/classes/ExternalGroupUserDto.html",[0,0.232,8967,5.395]],["body/classes/ExternalGroupUserDto.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,27,0.521,29,0.758,30,0.001,31,0.547,32,0.164,33,0.458,47,0.821,95,0.113,99,1.548,101,0.015,103,0.001,104,0.001,112,0.895,181,3.157,379,1.209,381,3.239,975,6.418,4660,7.542,8957,11.036,8967,10.592,8979,8.855,8980,8.432,8981,10.819,8982,8.855,8983,8.384,8984,9.571,8985,8.855,8986,8.855]],["title/classes/ExternalSchoolDto.html",[0,0.232,8987,5.125]],["body/classes/ExternalSchoolDto.html",[0,0.319,2,1.044,3,0.021,4,0.021,5,0.011,7,0.135,27,0.54,29,0.748,30,0.001,31,0.749,32,0.17,33,0.6,47,0.961,101,0.015,103,0.001,104,0.001,112,0.887,181,3.13,379,1.192,381,3.194,655,6.361,2044,3.669,4342,4.177,7119,5.635,7120,5.824,8957,11.273,8987,10.022,8988,9.438,8989,7.932,8990,11.593,8991,9.438,8992,9.438,8993,7.041,8994,7.642]],["title/classes/ExternalSource.html",[0,0.232,8995,4.66]],["body/classes/ExternalSource.html",[0,0.331,2,1.082,3,0.021,4,0.021,5,0.011,7,0.14,27,0.526,29,0.775,30,0.001,31,0.559,32,0.165,33,0.468,47,0.931,48,6.11,101,0.015,103,0.001,104,0.001,112,0.906,181,3.198,193,7.136,194,7.679,379,1.235,381,3.309,655,6.461,7119,5.839,7120,6.034,8995,9.203,8996,13.248,8997,9.778,8998,11.847,8999,9.778]],["title/classes/ExternalSourceEntity.html",[0,0.232,9000,5.395]],["body/classes/ExternalSourceEntity.html",[0,0.306,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,27,0.508,29,0.718,30,0.001,31,0.518,32,0.16,33,0.433,47,0.865,95,0.134,96,2.398,101,0.017,103,0.001,104,0.001,105,0.923,112,0.865,138,2.027,172,3.835,173,2.627,181,3.051,379,1.144,381,3.066,655,6.54,2562,5.769,3134,5.948,5094,5.24,7000,6.145,7119,5.409,7120,5.591,9000,8.876,9001,11.936,9002,8.382,9003,11.3,9004,11.303,9005,9.059,9006,7.297,9007,6.758,9008,7.114,9009,7.602]],["title/interfaces/ExternalSourceEntityProps.html",[105,0.7,9003,6.018]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.151,47,0.922,95,0.138,96,2.516,101,0.018,103,0.001,104,0.001,105,0.969,107,2.229,112,0.891,172,3.624,173,2.755,181,2.566,655,6.824,2562,5.942,3134,6.207,5094,5.397,7119,5.675,7120,5.865,9000,7.463,9001,8.793,9002,8.793,9003,11.026,9006,7.529,9007,7.09,9008,7.463,9009,7.975]],["title/classes/ExternalSourceResponse.html",[0,0.232,9010,5.765]],["body/classes/ExternalSourceResponse.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.519,29,0.751,30,0.001,31,0.542,32,0.163,33,0.454,47,0.921,48,6.028,95,0.112,101,0.015,103,0.001,104,0.001,112,0.89,138,2.085,150,2.137,181,3.138,193,6.919,194,7.446,245,3.459,379,1.197,381,3.209,655,6.375,7119,5.662,7120,5.851,9010,11.288,9011,13.109,9012,9.482,9013,11.626,9014,9.482]],["title/classes/ExternalTool.html",[0,0.232,2627,3.416]],["body/classes/ExternalTool.html",[0,0.199,2,0.651,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,27,0.558,29,0.974,30,0.001,31,0.703,32,0.174,33,0.642,34,1.65,35,1.199,47,0.95,55,2.343,95,0.135,101,0.013,103,0,104,0,105,0.6,112,0.647,119,2.475,180,1.466,181,2.283,349,1.02,379,0.743,381,1.992,382,1.753,413,3.593,1147,2.574,1262,3.783,1746,6.333,1929,2.89,1971,5.972,1992,4.766,1993,4.939,2044,2.288,2545,7.898,2546,6.203,2550,9.174,2553,3.29,2616,7.023,2627,4.205,4342,2.605,5111,5.854,5453,5.851,5951,4.622,5955,8.272,5957,5.445,5963,4.295,5965,4.622,5966,3.93,5967,4.209,5968,4.498,5975,3.93,5976,4.295,5992,6.157,6008,3.873,6011,6.642,6446,3.183,6716,4.622,7382,6.463,7384,6.531,7385,3.72,7417,4.13,7418,4.391,7421,4.391,7422,4.766,7518,8.499,7519,8.71,7520,8.23,7539,3.992,7543,4.058,7567,7.122,9015,11.847,9016,8.458,9017,8.458,9018,8.458,9019,5.885,9020,5.885,9021,5.885,9022,5.885,9023,5.885,9024,5.885,9025,5.885,9026,5.885,9027,7.825,9028,5.885,9029,7.825,9030,5.885,9031,5.155,9032,5.445,9033,5.155,9034,7.825]],["title/classes/ExternalToolConfig.html",[0,0.232,2550,5.125]],["body/classes/ExternalToolConfig.html",[0,0.32,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,9,4.509,27,0.518,29,0.749,30,0.001,31,0.541,32,0.177,33,0.452,47,0.815,95,0.112,101,0.015,103,0.001,104,0.001,112,0.888,181,3.134,379,1.195,381,3.201,1929,4.645,2195,7.146,2546,6.007,2548,4.419,2549,7.938,2550,10.029,2551,8.752,2553,7.021,2557,6.764,2566,4.229,2567,6.764,4404,5.709,9035,13.098,9036,11.61]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.232,2571,5.013]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.335,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,9,6.668,27,0.492,30,0.001,32,0.176,47,0.838,95,0.117,101,0.015,103,0.001,104,0.001,112,0.913,1929,4.86,2195,7.288,2546,5.876,2548,4.322,2553,7.161,2570,9.157,2571,8.708,9037,12.812,9038,9.897,9039,9.897]],["title/classes/ExternalToolConfigEntity.html",[0,0.232,2563,5.563]],["body/classes/ExternalToolConfigEntity.html",[0,0.304,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,9,5.365,27,0.507,29,0.713,30,0.001,31,0.515,32,0.178,33,0.43,47,0.791,95,0.133,96,2.382,101,0.014,103,0.001,104,0.001,112,0.861,138,2.019,143,1.994,172,3.824,173,2.609,181,3.039,379,1.136,381,3.046,839,3.824,1929,4.419,2195,6.987,2546,5.903,2548,4.342,2553,6.865,2557,6.435,2560,7.552,2562,5.745,2563,10.729,2566,4.023,2567,6.435,3457,6.435,4404,5.431,9040,12.87,9041,11.256,9042,8.999]],["title/classes/ExternalToolConfigResponse.html",[0,0.232,2581,5.563]],["body/classes/ExternalToolConfigResponse.html",[0,0.335,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,9,6.668,27,0.492,30,0.001,32,0.176,47,0.838,95,0.117,101,0.015,103,0.001,104,0.001,112,0.913,1929,4.86,2195,7.288,2546,5.876,2548,4.322,2553,7.161,2580,8.014,2581,9.663,9043,12.812,9044,9.897,9045,9.897]],["title/injectables/ExternalToolConfigurationService.html",[539,0.921,9046,5.563]],["body/injectables/ExternalToolConfigurationService.html",[0,0.192,3,0.012,4,0.012,5,0.006,7,0.082,8,0.996,26,2.149,27,0.466,29,0.895,30,0.001,31,0.647,32,0.147,33,0.541,35,1.289,95,0.15,99,0.919,101,0.009,103,0,104,0,119,2.208,131,2.158,143,1.258,177,1.056,226,0.83,349,1.253,363,3.202,379,0.717,437,1.644,519,1.748,539,1.104,541,1.363,556,1.388,564,2.581,593,3.076,603,1.173,639,2.677,654,1.71,662,4.09,822,5.164,1618,3.986,1778,2.225,1898,7.267,1899,6.101,1901,4.098,1929,2.789,1971,2.647,2546,5.408,2548,4.285,2616,5.349,2627,6.875,5503,7.341,5558,4.344,5966,3.793,6217,3.986,9046,6.675,9047,9.013,9048,5.255,9049,9.703,9050,9.703,9051,8.243,9052,8.243,9053,5.255,9054,8.137,9055,5.68,9056,7.417,9057,5.68,9058,10.459,9059,5.68,9060,7.857,9061,10.457,9062,5.68,9063,8.978,9064,5.68,9065,5.895,9066,8.243,9067,8.978,9068,5.68,9069,8.243,9070,5.68,9071,5.68,9072,5.68,9073,5.68,9074,5.68,9075,9.325,9076,5.68,9077,6.917,9078,5.68,9079,5.68,9080,5.68,9081,8.243,9082,5.68,9083,4.766,9084,5.68,9085,5.68,9086,5.68,9087,4.975,9088,5.68,9089,5.68,9090,11.305,9091,5.68,9092,5.68,9093,6.917,9094,5.68,9095,5.68]],["title/injectables/ExternalToolConfigurationUc.html",[539,0.921,9096,5.765]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,8,0.763,26,2.817,27,0.445,29,0.854,30,0.001,31,0.616,32,0.145,33,0.516,34,0.666,35,1.247,36,2.615,39,3.227,95,0.148,99,0.647,100,1.362,101,0.006,103,0,104,0,131,4.986,177,1.914,226,0.584,236,1.028,262,2.874,349,0.916,379,0.798,437,1.69,529,1.807,539,0.846,541,0.959,560,1.645,564,2.784,603,2.523,608,2.905,639,1.884,643,2.838,654,1.901,662,3.782,822,3.798,933,4.339,1077,3.898,1670,6.549,1675,2.44,1778,1.567,1826,2.67,1898,6.878,1899,5.951,1901,3.14,1928,5.622,1929,1.963,2531,1.854,2546,5.125,2548,4.235,2627,5.718,2681,2.146,3044,2.254,3157,2.983,3294,5.014,4266,3.781,4743,3.339,4858,5.367,5503,2.757,5521,4.712,5523,4.828,5993,5.713,6016,5.622,6069,6.994,6217,2.806,6307,8.335,6308,7.198,6315,6.591,6323,3.14,6324,3.898,6327,2.918,6332,5.532,6336,3.14,6345,5.844,6349,6.352,6361,3.699,9046,8.728,9058,5.844,9060,6.339,9061,5.3,9063,7.243,9065,4.516,9067,5.844,9075,5.532,9087,3.502,9096,5.3,9097,10.338,9098,3.699,9099,7.243,9100,6.857,9101,7.243,9102,5.844,9103,7.829,9104,7.829,9105,3.14,9106,8.041,9107,3.998,9108,3.699,9109,3.998,9110,3.502,9111,3.998,9112,3.998,9113,3.998,9114,6.316,9115,3.699,9116,3.998,9117,3.998,9118,3.998,9119,3.998,9120,3.699,9121,3.699,9122,3.699,9123,6.316,9124,6.316,9125,4.828,9126,5.844,9127,3.699,9128,3.998,9129,3.998,9130,6.316,9131,7.829,9132,3.238,9133,5.844,9134,5.844,9135,5.844,9136,3.998,9137,3.998,9138,6.316,9139,3.998,9140,3.998,9141,6.316,9142,3.998,9143,6.316,9144,3.998,9145,3.502,9146,5.844,9147,4.609,9148,5.844,9149,5.532,9150,5.532]],["title/classes/ExternalToolContentBody.html",[0,0.232,5771,4.588]],["body/classes/ExternalToolContentBody.html",[0,0.456,2,0.643,3,0.013,4,0.013,5,0.006,7,0.083,9,2.769,27,0.24,30,0.001,31,0.652,32,0.178,33,0.401,47,0.897,83,1.671,95,0.135,99,0.94,101,0.021,103,0,104,0,112,0.641,138,1.042,143,1.287,148,1.803,149,3.792,150,1.31,153,2.255,172,1.809,180,1.977,245,3.593,248,4.896,249,4.656,284,1.759,305,3.367,480,3.173,807,5.365,808,3.322,839,1.809,852,2.708,1142,3.628,1262,2.03,1271,1.814,1643,3.4,1942,4.115,2255,4.367,2501,2.769,2882,2.769,2883,2.584,2922,2.785,3278,3.469,3280,3.469,3283,3.434,3286,5.121,3289,3.006,3294,5.541,3767,3.628,3788,3.628,3789,6.959,4163,5.73,5681,6.293,5683,6.378,5685,6.293,5687,6.378,5689,6.378,5734,3.823,5771,7.185,5772,6.563,5773,6.563,5774,6.563,5775,6.563,6088,6.906,7227,3.88,7287,3.434,8699,8.308,8700,5.778,8701,4.006,8704,5.514,8705,6.563,8706,6.563,8707,4.006,8708,6.563,8709,3.585,8710,3.941,8711,6.563,8712,6.563,8713,3.88,8714,3.88,8715,3.88,8716,3.88,8717,4.006,8718,4.006,8719,4.006,8720,4.006,8721,4.006,9151,5.81,9152,5.81]],["title/classes/ExternalToolCreateParams.html",[0,0.232,9153,5.765]],["body/classes/ExternalToolCreateParams.html",[0,0.351,2,0.711,3,0.014,4,0.014,5,0.007,7,0.092,27,0.52,29,0.823,30,0.001,31,0.703,32,0.175,33,0.588,47,0.863,95,0.145,101,0.01,103,0,104,0,112,0.689,119,2.335,138,2.262,143,2.302,147,5.619,148,1.994,149,4.343,150,1.448,172,2,245,3.048,248,4.499,249,4.411,480,2.89,521,3.554,556,1.57,1130,3.655,1142,4.012,1262,3.631,1929,3.155,1971,5.247,2340,5.432,2406,3.591,2546,5.903,2548,4.342,2553,3.591,2556,4.509,2568,9.597,2571,6.568,2572,4.594,3081,6.436,3766,4.911,3767,4.012,3788,4.012,3789,6.339,5590,5.554,5992,5.91,6078,6.568,6081,5.391,6082,5.391,6083,5.391,6088,5.858,7382,6.204,7384,6.27,7539,4.358,7543,4.43,7573,9.597,7581,6.88,8714,6.011,8715,4.291,8716,6.011,9153,7.553,9154,10.423,9155,5.203,9156,9.447,9157,9.945,9158,5.628,9159,5.944,9160,6.425,9161,6.425,9162,5.944,9163,5.628,9164,6.425,9165,6.425,9166,6.425,9167,5.944,9168,6.425,9169,5.944,9170,6.425,9171,6.425]],["title/classes/ExternalToolElement.html",[0,0.232,2861,4.521]],["body/classes/ExternalToolElement.html",[0,0.225,2,0.735,3,0.014,4,0.014,5,0.007,7,0.095,8,1.114,27,0.55,29,0.983,30,0.001,31,0.71,32,0.168,33,0.594,35,1.572,36,1.973,47,0.843,55,1.883,59,2.045,95,0.109,101,0.016,103,0,104,0,105,0.677,112,0.705,119,2.194,137,5.754,145,1.868,180,1.834,262,2.333,349,1.089,381,3.119,382,3.865,448,3.713,474,2.82,479,3.377,480,2.563,517,2.507,519,3.693,556,2.791,604,2.734,608,1.538,662,2.852,686,4.183,1218,2.516,1664,2.489,1665,3.792,1668,6.606,1739,4.249,1944,2.807,2512,5.952,2548,3.569,2786,8.041,2789,6.589,2790,6.589,2791,6.589,2792,7.629,2793,6.589,2795,4.255,2796,5.687,2797,6.751,2799,6.467,2800,5.687,2801,6.62,2803,4.663,2804,4.908,2806,6.687,2807,4.663,2811,4.663,2813,4.255,2840,5.622,2861,7.517,3294,6.441,4026,4.849,4027,4.849,4028,4.849,4037,4.201,9172,9.787,9173,4.752,9174,6.645,9175,6.148,9176,6.645,9177,6.645,9178,5.821,9179,6.645,9180,5.821,9181,8.526,9182,6.148,9183,6.148,9184,6.148,9185,5.821,9186,6.148]],["title/classes/ExternalToolElementContent.html",[0,0.232,9187,5.765]],["body/classes/ExternalToolElementContent.html",[0,0.365,2,0.932,3,0.018,4,0.018,5,0.009,7,0.121,27,0.445,29,0.667,30,0.001,31,0.482,32,0.163,33,0.403,34,1.403,47,0.912,95,0.141,99,1.362,101,0.017,103,0.001,104,0.001,112,0.826,138,1.51,142,4.212,143,2.783,144,3.499,150,1.898,181,3.215,245,3.417,253,4.161,379,1.063,381,2.85,404,3.366,405,4.452,593,4.027,819,4.241,839,2.621,2255,3.224,2548,4.019,2566,3.764,2918,4.52,2919,4.52,2922,4.037,3294,6.716,3461,5.91,3473,5.028,3716,5.028,3720,6.316,3724,5.624,3726,5.624,4083,8.25,4163,6.344,4404,5.082,5689,5.464,7114,6.437,9187,11.151,9188,11.02,9189,6.819,9190,8.421,9191,7.791,9192,7.791,9193,7.791]],["title/classes/ExternalToolElementContentBody.html",[0,0.232,8712,4.588]],["body/classes/ExternalToolElementContentBody.html",[0,0.455,2,0.631,3,0.012,4,0.012,5,0.006,7,0.082,9,2.719,27,0.341,30,0.001,31,0.648,32,0.18,47,0.876,83,1.641,95,0.134,99,0.923,101,0.021,103,0,104,0,112,0.633,138,1.483,143,1.264,148,1.771,149,3.752,150,1.286,153,2.231,172,1.776,180,2.047,245,3.585,248,4.868,249,4.627,284,1.727,305,3.305,382,1.698,480,3.15,556,1.393,807,5.294,808,3.278,819,2.873,839,1.776,852,2.658,1142,3.562,1262,1.993,1271,1.781,1643,3.338,1942,4.072,2255,4.664,2501,2.719,2882,2.719,2883,2.537,2922,2.734,3278,3.406,3280,3.406,3283,3.371,3286,5.068,3289,2.951,3294,3.216,3767,3.562,3788,3.562,3789,6.909,4163,5.682,5681,6.228,5683,6.311,5685,6.228,5687,6.311,5689,6.922,5734,3.753,5771,7.123,5772,6.495,5773,6.495,5774,6.495,5775,6.495,6088,6.868,7227,3.809,7287,3.371,8699,8.625,8700,5.702,8701,3.933,8704,5.441,8705,6.495,8706,6.495,8707,3.933,8708,6.495,8709,3.52,8710,3.869,8711,6.495,8712,7.123,8713,3.809,8714,3.809,8715,3.809,8716,3.809,8717,3.933,8718,3.933,8719,3.933,8720,3.933,8721,3.933,9194,4.479,9195,5.704,9196,5.704]],["title/entities/ExternalToolElementNodeEntity.html",[154,1.378,3204,5.395]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,27,0.359,30,0.001,32,0.113,33,0.527,95,0.155,96,2.306,101,0.017,103,0.001,104,0.001,105,0.888,112,0.844,138,1.562,143,2.443,144,2.824,154,2.212,155,2.832,173,2.525,180,1.912,181,2.351,349,0.897,403,4.868,437,1.149,564,3.452,1664,3.262,1665,4.537,1899,6.581,1942,4.617,2512,5.287,2548,3.72,2565,4.955,2566,3.893,3171,5.83,3182,6.655,3204,8.66,3249,5.375,3274,9.659,3417,5.908,3602,5.652,3620,6.805,3641,5.439,4126,5.577,4128,5.577,5094,5.112,6024,9.282,6025,7.309,9197,10.202,9198,8.71,9199,7.629,9200,8.058,9201,9.659,9202,8.058,9203,8.058,9204,8.058]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[105,0.7,9201,6.018]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,32,0.114,33,0.531,95,0.156,96,2.33,101,0.017,103,0.001,104,0.001,105,0.897,107,2.065,112,0.85,143,1.95,144,2.855,154,2.227,173,2.553,180,2.108,181,2.377,349,0.907,403,4.921,437,1.161,564,3.476,1664,3.297,1665,4.568,1899,6.811,1942,3.686,2512,5.323,2548,2.97,2565,5.008,2566,3.936,3171,5.87,3182,6.7,3204,6.914,3249,5.433,3274,9.725,3417,5.972,3602,5.713,3620,7.504,3641,5.498,4126,5.637,4128,5.637,5094,5.147,6024,9.606,6025,7.388,9197,8.146,9200,8.146,9201,10.652,9202,8.146,9203,8.146,9204,8.146]],["title/interfaces/ExternalToolElementProps.html",[105,0.7,9185,6.018]],["body/interfaces/ExternalToolElementProps.html",[0,0.299,3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.144,33,0.532,36,1.893,47,0.926,95,0.132,101,0.019,103,0.001,104,0.001,105,0.901,107,2.074,112,0.852,119,1.834,145,2.485,180,2.112,262,1.95,349,1.255,474,3.752,480,2.46,517,3.336,519,2.722,556,2.72,604,3.638,608,2.047,1218,3.348,1664,3.311,1739,5.133,1944,3.735,2548,2.983,2786,6.793,2792,5.905,2796,5.457,2797,6.58,2800,5.457,2801,6.452,2840,7.434,2861,8.018,3294,7.432,4037,5.59,9172,8.181,9173,6.323,9181,10.3,9182,8.181,9183,8.181,9184,8.181,9185,9.752,9186,8.181]],["title/classes/ExternalToolElementResponse.html",[0,0.232,4083,5.251]],["body/classes/ExternalToolElementResponse.html",[0,0.349,2,0.87,3,0.017,4,0.017,5,0.009,7,0.113,27,0.524,29,0.623,30,0.001,31,0.45,32,0.177,33,0.376,34,1.921,47,0.86,95,0.136,99,1.273,101,0.016,103,0.001,104,0.001,112,0.79,138,2.195,142,3.07,143,2.288,144,2.551,150,1.773,181,3.112,245,3.469,253,3.887,379,0.993,381,2.662,404,3.144,405,4.159,593,2.935,839,2.449,2255,4.414,2548,4.401,2566,3.517,2917,5.177,2918,5.543,2919,5.543,2921,4.65,2922,4.951,3294,4.436,3461,5.521,3473,4.698,3716,6.884,3720,6.746,3724,5.254,3726,5.254,4083,9.716,4163,6.771,4404,4.748,5689,6.701,7114,6.013,9187,10.272,9188,12.071,9191,7.279,9192,7.279,9193,7.279,9205,7.279,9206,7.867,9207,7.279,9208,7.867,9209,7.279]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.232,5707,6.018]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.261,2,0.856,3,0.017,4,0.017,5,0.009,7,0.111,8,1.234,27,0.501,29,0.809,30,0.001,31,0.584,32,0.158,33,0.488,34,1.288,35,1.385,95,0.135,99,1.251,100,2.633,101,0.012,103,0.001,104,0.001,112,0.781,119,2.117,236,1.978,349,1.177,376,3.142,413,3.909,437,1.02,593,2.885,603,2.361,604,3.182,662,2.393,739,4.412,782,4.617,783,5.707,786,6.072,788,5.769,1147,3.108,1942,5.627,2000,4.439,2255,2.961,2503,8.528,2506,8.018,2507,8.018,2509,7.804,2548,4.265,2861,8.844,3294,4.36,3716,4.617,3720,5.975,3737,5.529,4083,9.293,4163,4.119,5284,7.226,5689,5.018,5706,6.072,5707,11.598,9187,8.568,9210,12.641,9211,9.293,9212,6.489,9213,6.072,9214,11.431,9215,6.261,9216,6.261,9217,6.261,9218,7.733]],["title/entities/ExternalToolEntity.html",[154,1.378,9219,4.913]],["body/entities/ExternalToolEntity.html",[0,0.22,3,0.014,4,0.014,5,0.007,7,0.094,27,0.541,29,0.829,30,0.001,31,0.599,32,0.172,33,0.618,47,0.907,55,1.858,95,0.134,96,1.725,101,0.014,103,0,104,0,112,0.696,119,2.349,138,2.353,143,2.944,144,3.863,154,1.824,155,2.12,160,5.802,168,5.126,172,4.181,173,1.89,174,3.455,177,1.212,178,2.574,180,1.13,181,1.759,182,2.064,363,3.675,1130,3.708,1262,3.659,1732,4.771,1971,5.28,1992,5.278,1993,5.469,2044,2.534,2546,6.095,2558,9.173,4326,6.38,4332,5.619,4333,3.814,4342,2.885,5111,5.663,5975,4.353,5976,4.756,5992,5.956,6008,4.289,6011,5.118,6026,5.278,6446,3.525,6716,5.118,7382,6.251,7384,6.318,7385,4.12,7417,4.574,7418,4.862,7421,4.862,7422,5.278,7480,9.173,9033,5.709,9219,6.501,9220,13.29,9221,8.785,9222,9.173,9223,9.173,9224,6.518,9225,6.518,9226,6.518,9227,6.518,9228,6.518,9229,6.518,9230,6.518,9231,6.518,9232,6.518,9233,6.518,9234,7.629,9235,6.518,9236,6.518,9237,6.518]],["title/classes/ExternalToolEntityFactory.html",[0,0.232,9238,6.357]],["body/classes/ExternalToolEntityFactory.html",[0,0.136,2,0.446,3,0.009,4,0.009,5,0.004,7,0.058,8,0.769,27,0.538,29,1.026,30,0.001,31,0.741,32,0.174,33,0.586,34,1.312,35,1.397,47,0.787,55,2.21,59,2.993,95,0.106,101,0.012,103,0,104,0,112,0.487,120,2.687,133,2.187,140,2.199,143,0.894,145,2.213,153,2.05,154,1.951,155,2.068,177,1.183,180,1.103,236,1.454,239,0.946,249,1.581,271,4.71,319,2.687,349,1.114,363,2.274,379,0.509,382,3.699,413,1.915,437,1.426,447,6.891,448,4.164,449,4.912,452,3.496,453,4.912,454,5.318,455,3.496,456,3.496,457,3.496,458,3.44,459,3.965,460,4.328,461,6.337,462,5.26,463,6.722,464,2.236,469,2.217,470,3.496,471,2.236,472,4.624,473,4.76,474,3.792,475,4.501,476,3.468,477,2.217,478,2.102,479,3.787,480,3.118,481,2.165,482,2.133,483,2.217,484,4.561,485,2.236,486,3.555,487,4.259,488,2.217,489,7.057,490,3.983,491,6.16,492,2.236,493,3.843,494,2.217,495,2.236,496,2.217,497,2.236,498,2.217,499,2.489,500,2.338,501,2.217,502,5.589,503,2.236,504,2.217,505,3.496,506,3.291,507,3.496,508,2.236,509,2.149,510,2.133,511,1.786,512,2.217,513,2.217,514,2.217,515,2.236,516,2.236,517,1.522,518,2.217,519,1.242,520,2.236,521,2.512,522,2.217,523,2.236,525,2.316,526,2.361,527,5.748,564,1.263,708,1.619,1262,1.41,1491,3.722,1927,2.885,1971,4.166,1984,3.468,1996,3.732,2195,5.084,2548,3.649,2553,2.255,2556,5.526,2558,6.376,2621,2.831,5111,2.182,5493,3.083,5503,2.782,5521,3.01,5541,3.972,5558,1.646,5643,3.203,5953,2.073,5992,2.295,6038,2.618,6055,2.736,7360,2.655,7366,2.618,7368,4.127,7369,3.385,7370,2.618,7381,2.583,7382,2.409,7384,2.434,7456,2.618,7457,3.01,7480,5.15,7516,2.944,7521,2.519,7539,2.736,7546,3.385,7548,2.885,7549,4.745,7556,3.385,7566,7.5,7568,3.385,9219,4.548,9221,3.385,9222,5.15,9223,5.15,9234,5.337,9238,7.285,9239,10.333,9240,4.034,9241,8.937,9242,8.269,9243,5.885,9244,5.885,9245,4.034,9246,4.034,9247,4.034,9248,5.885,9249,4.034,9250,6.36,9251,4.034,9252,8.937,9253,4.034,9254,4.034,9255,3.267,9256,3.385,9257,4.034,9258,4.034,9259,4.034,9260,4.034]],["title/classes/ExternalToolFactory.html",[0,0.232,7558,5.765]],["body/classes/ExternalToolFactory.html",[0,0.254,2,0.415,3,0.008,4,0.008,5,0.004,7,0.054,8,0.726,27,0.527,29,1.02,30,0.001,31,0.723,32,0.172,33,0.584,34,1,35,1.364,47,0.422,55,2.412,59,3.362,95,0.111,101,0.014,103,0,104,0,112,0.459,120,2.536,133,2.064,140,2.045,145,2.411,153,1.722,154,1.506,155,1.952,177,1.116,180,1.487,239,0.88,249,1.47,271,4.806,319,2.536,349,1.215,363,2.115,379,0.474,382,3.634,413,1.807,437,1.61,447,6.55,448,4.034,449,4.715,452,3.3,453,4.715,454,5.036,455,3.3,456,3.3,457,3.3,458,3.247,459,3.78,460,4.125,461,6.2,462,5.076,463,6.539,464,2.079,469,2.062,470,3.3,471,2.079,472,4.439,473,4.57,474,3.64,475,4.321,476,3.273,477,2.062,478,1.955,479,3.669,480,3.038,481,2.013,482,1.983,483,2.062,484,4.378,485,2.079,486,3.288,487,4.06,488,2.062,489,7.431,490,3.881,491,6.003,492,2.079,493,2.93,494,2.062,495,2.079,496,2.062,497,2.079,498,2.062,501,2.062,502,5.415,503,2.079,504,2.062,505,3.3,506,3.106,507,3.3,508,2.079,509,1.998,510,1.983,511,1.66,512,2.062,513,2.062,514,2.062,515,2.079,516,2.079,517,1.415,518,2.062,519,1.155,520,2.079,521,2.371,522,2.062,523,2.079,525,2.154,526,2.195,527,5.07,564,1.174,708,1.505,1130,2.134,1262,1.311,1491,3.513,1901,1.865,1927,2.682,1971,3.498,1984,3.273,2195,4.27,2545,2.737,2548,1.266,2553,2.097,2556,2.632,2616,3.896,2621,2.632,2627,1.865,4374,6.585,4376,2.682,5111,2.029,5493,2.867,5503,2.587,5521,4.479,5523,2.867,5558,3.829,5643,3.023,5953,1.928,5992,2.134,6049,3.038,6054,2.946,6055,2.544,7360,2.468,7366,2.434,7368,2.434,7370,2.434,7381,2.402,7382,2.24,7384,2.264,7456,2.434,7511,5.038,7512,8.22,7514,3.286,7516,2.737,7517,4.479,7518,2.946,7519,2.737,7520,2.587,7521,2.342,7522,3.286,7523,3.286,7524,3.286,7525,6.575,7526,5.038,7527,3.286,7528,3.663,7529,3.038,7530,2.737,7531,2.867,7532,3.286,7533,2.798,7534,3.286,7535,3.286,7536,2.632,7537,3.286,7538,3.286,7539,2.544,7540,3.286,7541,3.286,7542,3.286,7543,2.587,7544,3.286,7545,3.286,7546,3.148,7547,3.286,7548,2.682,7549,4.479,7550,5.259,7551,6.575,7552,2.946,7553,5.259,7554,5.259,7555,3.286,7556,3.148,7557,2.946,7558,6.298,7559,5.259,7560,3.286,7561,5.259,7562,3.286,7563,5.259,7564,8.769,7565,3.286,7566,7.199,7567,2.468,7568,3.148,7569,3.286,7570,3.286,7571,3.286,7572,3.286,9242,5.555,9244,5.555,9261,6.004,9262,3.751,9263,3.751,9264,3.751,9265,3.751]],["title/classes/ExternalToolIdParams.html",[0,0.232,9266,6.018]],["body/classes/ExternalToolIdParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.209,145,3.354,148,3.072,150,2.231,245,3.069,256,7.077,808,4.731,2546,5.473,2548,4.026,5991,8.991,6058,8.305,6059,8.669,9154,9.663,9266,10.453]],["title/classes/ExternalToolLogo.html",[0,0.232,9267,5.765]],["body/classes/ExternalToolLogo.html",[0,0.324,2,1.061,3,0.021,4,0.021,5,0.011,7,0.138,27,0.521,29,0.76,30,0.001,31,0.549,32,0.164,33,0.459,47,0.823,101,0.015,103,0.001,104,0.001,112,0.896,379,1.212,2546,6.037,2548,4.44,5838,7.256,5928,8.05,7244,9.826,7567,8.317,9015,11.529,9031,8.404,9267,11.521,9268,9.594,9269,11.71,9270,11.71,9271,9.594,9272,9.594,9273,8.876]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.232,9274,6.018]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.23,2,0.752,3,0.015,4,0.015,5,0.008,7,0.098,8,1.132,27,0.538,29,0.539,30,0.001,31,0.389,32,0.175,33,0.512,35,1.134,47,0.878,55,1.39,59,2.093,95,0.126,101,0.01,103,0,104,0,112,0.716,138,2.17,177,2.538,180,1.623,182,2.154,226,0.993,284,2.059,340,3.299,345,2.16,347,2.458,349,0.7,379,0.859,382,3.724,564,3.353,595,7.12,603,1.405,821,5.348,824,2.417,951,5.019,988,2.967,990,3.954,1025,4.574,1147,2.85,1269,8.174,1270,6.148,1271,3.602,1272,6.856,1276,4.413,1277,3.801,1278,4.413,1279,4.413,1280,4.413,1281,4.413,1282,4.413,1283,4.104,1284,7.425,1290,4.299,1338,5.797,1339,5.541,1341,2.186,1343,5.736,2546,4.911,2548,4.219,2718,9.342,5992,6.092,6008,4.475,7567,8.229,8829,5.58,8830,5.792,9274,8.202,9275,8.671,9276,4.299,9277,6.292,9278,4.863,9279,5.957,9280,9.364,9281,7.582,9282,5.707,9283,3.98,9284,4.15,9285,6.801]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.232,9286,6.018]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.305,2,0.998,3,0.02,4,0.02,5,0.01,7,0.129,8,1.363,27,0.465,29,0.714,30,0.001,31,0.516,32,0.146,33,0.431,35,1.092,47,0.864,95,0.107,101,0.014,103,0.001,104,0.001,177,1.677,284,2.73,345,2.865,349,0.929,379,1.139,564,2.824,1025,3.576,1147,3.431,1334,7.9,1338,5.7,1339,6.362,1341,2.898,1343,6.404,2546,5.639,2548,4.345,5992,6.994,6008,5.935,7567,8.476,8829,6.407,8830,6.651,9275,9.956,9277,8.345,9281,10.43,9286,9.873,9287,9.019,9288,9.019,9289,9.019]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.232,9290,6.018]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.294,2,0.964,3,0.019,4,0.019,5,0.01,7,0.125,8,1.333,27,0.455,29,0.69,30,0.001,31,0.498,32,0.143,33,0.417,35,1.055,47,0.85,95,0.13,101,0.013,103,0.001,104,0.001,177,1.62,180,1.912,182,2.758,226,1.272,284,2.636,292,6.448,345,2.766,349,0.897,379,1.1,564,2.727,1025,3.453,1147,3.356,1338,6.214,1339,6.261,1341,2.799,1343,6.324,2546,5.55,2548,4.291,2681,6.494,5991,8.491,6003,7.309,7567,8.37,8829,6.305,8830,6.545,9275,9.798,9276,5.506,9283,5.097,9284,5.314,9290,9.659,9291,8.058,9292,7.053,9293,7.053,9294,8.71]],["title/classes/ExternalToolLogoService.html",[0,0.232,9106,5.125]],["body/classes/ExternalToolLogoService.html",[0,0.162,2,0.532,3,0.01,4,0.01,5,0.005,7,0.069,8,0.88,26,1.98,27,0.475,29,0.913,30,0.001,31,0.659,32,0.149,33,0.551,34,1.214,35,1.344,36,2.375,47,0.916,95,0.149,99,0.778,101,0.007,103,0,104,0,177,1.824,226,0.702,236,1.932,262,2.681,349,1.222,379,0.92,437,1.72,484,5.662,519,2.242,529,3.175,556,2.397,564,1.505,579,2.58,603,2.559,604,3.618,608,2.035,639,2.265,696,1.869,824,1.708,963,8.088,964,2.786,965,5.567,966,3.163,988,2.097,990,3.014,1077,2.966,1242,2.6,1338,2.228,1341,1.545,1778,1.883,1970,5.208,1971,2.24,1982,3.373,2312,4.783,2546,5.444,2548,4.248,2627,6.26,3730,5.567,5838,5.632,5992,2.734,6349,7.112,6355,3.892,7244,9.961,7567,6.456,7704,3.586,9047,9.073,9053,4.447,9054,7.499,9056,6.721,9106,5.434,9132,3.892,9221,6.112,9267,8.847,9274,4.21,9286,4.21,9290,4.21,9295,4.807,9296,7.284,9297,7.284,9298,7.284,9299,7.284,9300,7.284,9301,7.284,9302,4.807,9303,7.284,9304,4.807,9305,7.284,9306,4.807,9307,4.807,9308,7.284,9309,4.807,9310,7.284,9311,4.807,9312,7.284,9313,4.807,9314,2.642,9315,7.284,9316,4.807,9317,4.447,9318,6.38,9319,10.095,9320,4.807,9321,4.807,9322,7.284,9323,4.807,9324,4.807,9325,4.447,9326,4.807,9327,4.807,9328,4.21,9329,4.21,9330,4.807,9331,4.807,9332,4.807,9333,4.807,9334,4.447,9335,4.807,9336,6.739,9337,4.807,9338,7.284,9339,3.437,9340,8.794,9341,4.807,9342,4.807,9343,3.26,9344,4.807,9345,3.775,9346,4.807,9347,4.807,9348,4.807,9349,4.807,9350,7.284,9351,4.807,9352,4.21,9353,4.807,9354,4.807,9355,7.284,9356,4.807,9357,4.807,9358,4.807,9359,4.807,9360,4.807]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.232,9318,6.018]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.226,2,0.741,3,0.015,4,0.015,5,0.007,7,0.096,8,1.12,27,0.536,29,0.531,30,0.001,31,0.383,32,0.175,33,0.508,35,1.123,47,0.874,55,2.343,95,0.126,101,0.01,103,0,104,0,112,0.709,138,2.158,177,2.532,180,1.607,182,2.122,226,0.979,284,2.028,340,3.25,347,2.422,349,0.69,379,1.17,382,3.707,556,2.596,564,3.326,603,1.914,821,5.314,823,6.63,824,2.381,951,4.979,988,2.923,990,3.929,1025,4.545,1147,2.821,1269,8.147,1270,6.1,1271,3.579,1272,6.803,1276,4.348,1277,3.745,1278,4.348,1279,4.348,1280,4.348,1281,4.348,1282,4.348,1283,4.043,1284,3.812,1290,4.235,1291,5.262,1338,5.77,1339,5.497,1341,2.153,1343,5.7,2546,4.873,2548,4.199,5991,7.456,6003,5.622,7567,8.191,8829,5.536,8830,5.747,9275,8.603,9276,4.235,9278,4.791,9283,3.921,9284,4.088,9291,6.199,9318,8.118,9361,11.516,9362,10.042,9363,6.7,9364,9.268,9365,6.7]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.232,9319,6.018]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.234,2,0.767,3,0.015,4,0.015,5,0.014,7,0.099,8,1.146,27,0.541,30,0.001,32,0.181,33,0.454,35,1.149,47,0.76,55,1.416,95,0.128,101,0.011,103,0.001,104,0.001,112,0.726,138,2.184,177,2.502,180,1.644,182,2.194,226,1.012,340,3.361,347,2.504,349,0.714,379,1.365,382,3.745,564,3.385,821,5.39,824,2.462,951,5.068,988,3.023,990,3.985,1025,4.61,1147,2.887,1269,8.206,1270,6.208,1271,3.63,1272,6.923,1276,4.496,1277,3.873,1278,4.496,1279,4.496,1280,4.496,1281,4.496,1282,4.496,1283,4.181,1284,3.941,1290,4.38,1291,5.441,1338,5.83,1339,5.595,1341,2.227,1343,5.781,1515,6.782,2546,4.959,2548,4.243,6441,4.445,7567,8.275,8024,9.612,8829,5.634,8830,5.849,9275,8.756,9276,4.38,9278,4.954,9279,6.069,9283,4.054,9284,4.227,9319,8.307,9366,9.484,9367,9.484,9368,8.774]],["title/modules/ExternalToolModule.html",[201,1.845,6067,5.251]],["body/modules/ExternalToolModule.html",[0,0.233,3,0.015,4,0.015,5,0.008,30,0.001,95,0.157,101,0.011,103,0,104,0,201,2.897,203,2.5,204,2.68,205,2.755,206,2.744,207,2.733,208,3.981,209,4.083,214,5.852,218,3.777,219,2.701,220,2.639,225,3.762,226,1.007,227,2.861,560,2.836,964,3.995,1341,2.215,2546,3.162,2548,2.326,3998,6.311,4677,3.542,5134,3.995,5429,9.163,5439,5.582,6067,11.088,6349,8.442,8796,9.163,9046,11.077,9106,9.768,9369,6.893,9370,6.893,9371,6.893,9372,6.893,9373,9.86,9374,9.597,9375,11.479,9376,11.479,9377,10.536,9378,10.536,9379,10.536,9380,6.893,9381,4.676,9382,4.837,9383,5.784]],["title/injectables/ExternalToolParameterValidationService.html",[539,0.921,9377,5.765]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.136,3,0.009,4,0.009,5,0.004,7,0.058,8,0.768,27,0.496,29,0.969,30,0.001,31,0.71,32,0.161,33,0.576,35,1.429,36,1.911,72,1.818,95,0.128,101,0.006,103,0,104,0,119,2.724,143,2.481,145,2.21,177,1.181,226,0.588,236,1.992,262,2.277,283,6.912,285,2.649,333,3.805,340,1.953,349,1.333,361,2.29,363,7.496,379,0.802,437,1.177,480,2.188,484,5.269,486,2.367,521,1.59,529,3.298,539,0.851,541,0.966,564,1.26,579,2.161,590,2.485,593,2.369,603,2.836,608,1.47,936,4.066,996,1.942,997,1.877,998,1.919,1130,6.371,1242,2.178,1778,1.577,1929,1.977,2095,2.731,2207,2.43,2318,2.333,2546,5.613,2548,4.241,2616,8.936,2627,5.867,3311,7.491,5436,8.487,5463,3.162,5503,2.776,5513,3.725,5515,2.379,5530,8.751,5533,3.725,5535,5.329,5536,5.329,5541,4.91,5558,1.643,5966,2.689,6349,6.371,6354,3.162,6355,3.26,6360,5.329,6688,4.456,7552,4.987,9047,9.354,9093,3.378,9105,3.162,9339,2.879,9377,5.329,9384,6.351,9385,6.351,9386,6.351,9387,6.351,9388,6.351,9389,6.351,9390,6.351,9391,6.351,9392,6.351,9393,6.351,9394,3.527,9395,6.351,9396,3.725,9397,6.351,9398,4.026,9399,6.351,9400,4.026,9401,6.351,9402,4.026,9403,6.351,9404,4.026,9405,6.351,9406,4.026,9407,6.351,9408,3.725,9409,6.351,9410,4.026,9411,6.351,9412,4.026,9413,6.351,9414,3.725,9415,4.026,9416,4.026,9417,4.026,9418,6.011,9419,4.026,9420,4.026,9421,4.026,9422,4.026,9423,4.026,9424,4.026,9425,2.938,9426,4.026,9427,4.026,9428,3.077,9429,4.026,9430,4.026,9431,4.026,9432,3.077,9433,4.026,9434,4.026,9435,4.026,9436,4.026,9437,4.026,9438,3.527,9439,4.026,9440,3.725,9441,4.026,9442,6.351,9443,4.026,9444,6.351,9445,4.026,9446,4.026,9447,4.026,9448,7.276,9449,4.026,9450,4.026,9451,4.026,9452,4.026,9453,6.351,9454,6.351,9455,4.026,9456,6.351]],["title/interfaces/ExternalToolProps.html",[105,0.7,7518,5.395]],["body/interfaces/ExternalToolProps.html",[0,0.227,3,0.015,4,0.015,5,0.007,7,0.096,29,0.954,30,0.001,31,0.689,32,0.173,33,0.64,34,1.913,47,0.991,55,2.462,95,0.142,101,0.014,103,0,104,0,105,0.685,107,1.577,112,0.711,119,2.699,180,1.165,181,1.815,349,1.096,413,2.796,1147,2.046,1262,4.211,1746,5.435,1929,3.301,1971,6.066,1992,5.443,1993,5.641,2044,2.613,2545,8.792,2546,3.083,2550,7.94,2553,3.757,2616,7.818,2627,3.342,4342,2.975,5111,6.517,5453,5.49,5951,5.279,5955,5.138,5965,5.279,5966,4.489,5967,4.807,5968,5.138,5975,4.489,5976,4.906,5992,6.854,6008,4.424,6011,7.294,6446,3.636,6716,5.279,7382,7.194,7384,7.271,7385,4.249,7417,4.717,7418,5.015,7421,5.015,7422,5.443,7518,8.358,7519,9.092,7520,8.592,7539,4.56,7543,4.635,7567,7.929,9015,5.888,9027,6.22,9029,6.22,9031,5.888,9032,6.22,9033,5.888,9034,8.594]],["title/entities/ExternalToolPseudonymEntity.html",[154,1.378,9457,4.913]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.119,26,2.153,27,0.487,30,0.001,32,0.153,34,1.378,39,3.469,47,0.829,49,5.02,95,0.147,96,2.823,97,3.373,99,1.337,101,0.016,103,0.001,104,0.001,105,0.843,112,0.903,138,2.118,154,2.139,155,2.688,168,6.657,172,4.116,173,2.397,174,4.053,178,3.265,180,1.433,181,2.232,182,2.618,191,4.437,192,5.162,404,3.304,405,5.639,564,2.588,593,3.085,2548,4.357,4333,4.837,9314,7.098,9457,7.627,9458,11.542,9459,7.649,9460,7.23,9461,6.937,9462,8.267,9463,8.267,9464,8.267,9465,8.95,9466,5.521,9467,6.694,9468,6.937,9469,6.033,9470,6.492]],["title/injectables/ExternalToolPseudonymRepo.html",[539,0.921,9471,5.765]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.151,3,0.01,4,0.01,5,0.005,7,0.064,8,0.833,13,4.838,26,2.698,27,0.501,29,0.963,30,0.001,31,0.695,32,0.158,33,0.581,34,0.745,35,1.442,36,2.824,39,3.266,42,4.838,47,0.591,49,1.669,56,2.157,58,2.903,59,1.377,95,0.133,96,1.184,97,1.825,99,0.724,101,0.007,103,0,104,0,154,2.327,155,3.074,177,0.832,226,0.653,227,1.857,236,2.043,262,2.98,310,1.942,345,1.421,349,1.274,376,1.818,377,1.89,379,0.565,437,1.752,448,4.346,490,2.989,539,0.924,541,1.073,556,1.093,593,3.527,608,2.496,725,6.897,816,3.759,822,4.585,1665,4.624,1778,1.753,2311,5.329,2335,3.034,2346,3.139,2359,3.199,2364,4.754,2378,3.754,2548,4.174,2830,4.117,3341,2.988,3346,4.075,3407,3.419,4446,2.761,4460,3.419,4461,3.419,5558,3.432,6134,3.085,6861,2.7,7150,5.767,7179,3.265,7180,3.265,9314,6.682,9457,8.693,9460,7.864,9465,7.931,9466,4.604,9471,5.785,9472,12.372,9473,4.474,9474,6.379,9475,6.039,9476,6.379,9477,6.379,9478,6.379,9479,5.785,9480,6.039,9481,6.379,9482,4.474,9483,6.379,9484,4.474,9485,6.039,9486,4.474,9487,4.474,9488,6.379,9489,4.474,9490,6.379,9491,4.474,9492,6.379,9493,7.931,9494,4.474,9495,5.27,9496,4.474,9497,6.379,9498,4.474,9499,6.379,9500,4.474,9501,5.27,9502,6.039,9503,4.474,9504,4.474,9505,6.039,9506,9.445,9507,6.894,9508,4.474,9509,3.919,9510,4.139,9511,4.474,9512,4.139,9513,4.474,9514,3.919,9515,4.139,9516,6.039,9517,4.474,9518,4.474,9519,4.139,9520,4.139,9521,3.919,9522,4.139,9523,4.139,9524,4.139,9525,3.754,9526,4.474,9527,4.474,9528,4.474,9529,3.919,9530,4.474,9531,3.919]],["title/injectables/ExternalToolRepo.html",[539,0.921,9378,5.765]],["body/injectables/ExternalToolRepo.html",[0,0.132,3,0.009,4,0.009,5,0.004,7,0.056,8,0.751,10,2.523,12,2.79,18,3.107,26,2.238,27,0.539,29,1.028,30,0.001,31,0.753,32,0.171,33,0.621,34,1.286,35,1.559,36,2.704,40,1.887,47,0.716,55,0.8,56,1.887,58,2.54,59,1.205,95,0.141,96,1.644,97,1.597,99,0.633,101,0.006,103,0,104,0,112,0.299,133,2.135,154,2.347,155,2.019,173,1.135,177,1.155,180,1.077,227,1.624,236,1.256,262,2.964,310,1.699,349,1.23,379,0.494,381,1.325,382,3.672,437,1.666,448,3.111,490,2.743,519,1.205,539,0.832,541,0.939,564,1.225,593,3.988,603,2.29,608,2.034,680,4.212,686,2.819,687,4.706,718,2.085,721,2.444,740,2.991,741,2.655,743,2.655,753,3.621,816,3.386,822,4.263,1341,1.258,1665,4.914,1901,1.946,1971,2.894,2000,2.247,2093,3.501,2299,8.799,2301,4.441,2302,4.441,2303,4.441,2304,4.441,2305,4.358,2306,4.358,2307,4.441,2308,4.358,2309,4.441,2310,2.856,2311,4.955,2312,3.647,2313,4.009,2315,4.532,2316,2.799,2318,5.093,2319,2.799,2321,2.799,2323,5.009,2324,4.358,2325,2.799,2327,2.799,2329,4.441,2333,4.441,2335,4.212,2336,4.358,2338,2.799,2340,2.362,2341,2.415,2342,2.799,2344,2.799,2346,4.358,2347,2.799,2353,2.655,2364,4.282,2365,6.556,2553,4.912,2627,6.041,4581,2.92,4743,3.283,5558,3.15,5643,3.127,6038,2.54,6055,2.655,6091,3.428,6105,5.211,6106,3.621,6114,2.856,6115,2.856,6116,2.856,6117,2.856,6118,2.856,6119,2.856,6120,2.856,6121,2.856,6122,2.856,6128,3.169,6129,3.428,6130,2.991,6134,2.699,6861,2.362,7150,5.362,7160,4.633,7179,2.856,7180,2.856,7521,3.878,9219,8.818,9234,8.558,9378,5.211,9501,4.746,9525,3.284,9529,3.428,9531,3.428,9532,8.97,9533,6.21,9534,5.028,9535,6.21,9536,3.914,9537,3.621,9538,6.717,9539,3.914,9540,6.21,9541,3.914,9542,5.211,9543,3.914,9544,6.21,9545,3.621,9546,3.621,9547,2.991,9548,3.621,9549,3.428,9550,3.914,9551,5.439,9552,3.914,9553,6.21,9554,3.914,9555,3.621,9556,3.914,9557,3.914,9558,3.914,9559,5.439,9560,3.914,9561,3.914]],["title/classes/ExternalToolRepoMapper.html",[0,0.232,6128,5.563]],["body/classes/ExternalToolRepoMapper.html",[0,0.134,2,0.44,3,0.009,4,0.009,5,0.004,7,0.057,8,0.76,27,0.503,29,0.993,30,0.001,31,0.744,32,0.173,33,0.583,34,0.662,35,1.478,95,0.121,101,0.006,103,0,104,0,153,1.442,154,0.797,226,0.581,236,2.014,249,2.463,333,2.679,349,1.256,413,4.199,480,1.749,486,2.669,521,2.483,529,1.799,564,1.968,654,1.197,1262,2.197,1309,5.95,1491,3.679,1726,1.702,1901,1.976,1931,3.974,1971,5.686,1984,3.427,2195,5.841,2305,4.412,2306,4.412,2333,4.495,2335,2.696,2336,4.412,2340,3.794,2487,3.276,2545,8.579,2548,2.121,2553,2.222,2556,4.412,2558,9.029,2616,7.235,2627,5.347,2642,7.554,3081,4.495,4446,2.453,4447,3.122,4501,3.336,5111,3.4,5310,6.857,5520,5.507,5528,5.507,5530,5.091,5535,5.275,5536,5.275,5539,5.091,5541,3.926,5558,2.565,5643,3.166,5703,2.482,5953,3.23,5992,3.576,6032,8.774,6038,2.579,6054,3.122,6055,2.696,6128,5.091,7366,4.079,7368,4.079,7370,4.079,7381,4.025,7382,3.754,7384,3.794,7456,4.079,7457,4.69,7480,9.029,7519,8.579,7520,8.107,7521,3.926,7539,4.264,7543,4.335,7548,4.495,7567,2.616,9219,6.339,9221,3.336,9222,9.029,9223,9.029,9234,6.544,9438,5.507,9448,5.816,9532,10.387,9562,3.975,9563,6.287,9564,6.287,9565,6.287,9566,6.287,9567,6.287,9568,6.287,9569,6.287,9570,6.287,9571,6.287,9572,6.287,9573,6.287,9574,3.975,9575,8.864,9576,6.287,9577,3.975,9578,6.287,9579,3.975,9580,5.816,9581,6.287,9582,3.975,9583,5.816,9584,6.287,9585,3.975,9586,6.287,9587,3.975,9588,3.975,9589,3.975,9590,6.287,9591,3.975,9592,6.287,9593,3.975,9594,6.287,9595,3.975,9596,5.507,9597,6.287,9598,3.975,9599,3.975,9600,3.975,9601,3.975,9602,3.975,9603,3.975,9604,3.975,9605,3.975,9606,6.287,9607,3.482,9608,3.975,9609,3.975,9610,3.975,9611,3.678,9612,3.678,9613,3.975,9614,8.864,9615,8.864,9616,6.287,9617,6.287,9618,5.816,9619,6.287,9620,6.287,9621,6.287,9622,6.287,9623,6.287,9624,6.287,9625,6.287,9626,3.975,9627,3.975,9628,3.975,9629,3.975,9630,3.482,9631,3.678,9632,3.975,9633,3.975,9634,3.975,9635,3.678,9636,3.678,9637,3.975,9638,6.287,9639,6.287,9640,6.287,9641,6.287,9642,5.816,9643,5.816,9644,5.816]],["title/injectables/ExternalToolRequestMapper.html",[539,0.921,9645,5.765]],["body/injectables/ExternalToolRequestMapper.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.06,8,0.795,27,0.493,29,0.98,30,0.001,31,0.726,32,0.158,33,0.572,34,0.701,35,1.448,55,1.87,95,0.13,99,0.681,101,0.006,103,0,104,0,153,0.966,226,0.615,249,1.649,271,1.559,349,1.274,437,1.5,480,1.829,486,2.436,539,0.881,541,1.01,556,1.977,593,1.571,603,2.715,604,3.764,662,3.256,708,3.671,739,2.842,790,2.12,988,3.531,1262,2.298,1778,1.649,1927,3.01,1929,2.067,1971,3.065,2546,5.586,2548,4.109,2568,8.519,2621,2.954,2627,2.093,2764,1.995,3049,6.186,5111,6.151,5493,3.218,5494,3.687,5496,3.687,5497,3.687,5498,3.687,5499,3.687,5500,3.687,5503,2.903,5521,3.14,5523,3.218,5541,2.629,5558,1.717,5643,2.12,5953,2.163,5967,3.01,5992,3.741,6161,3.306,6169,3.532,6177,3.687,6178,3.532,7382,3.927,7384,3.969,7456,2.732,7457,3.14,7552,3.306,7557,3.306,7573,8.037,7583,3.532,7589,3.532,7592,3.532,9153,8.328,9156,8.328,9157,7.677,9256,3.532,9538,6.993,9645,5.519,9646,11.269,9647,6.577,9648,6.577,9649,6.577,9650,6.577,9651,8.094,9652,8.094,9653,8.094,9654,8.094,9655,6.085,9656,6.577,9657,6.577,9658,4.21,9659,7.089,9660,6.577,9661,7.677,9662,4.21,9663,6.577,9664,4.21,9665,12.695,9666,9.925,9667,6.577,9668,4.21,9669,9.925,9670,4.21,9671,4.21,9672,9.149,9673,4.21,9674,8.328,9675,4.21,9676,9.149,9677,4.21,9678,4.21,9679,9.149,9680,4.21,9681,7.677,9682,4.21,9683,9.149,9684,6.085,9685,7.677,9686,4.21,9687,5.325,9688,7.184,9689,6.577,9690,8.328,9691,4.21,9692,7.089,9693,3.895,9694,3.895,9695,3.895,9696,3.895,9697,3.895,9698,3.895,9699,3.895,9700,3.687,9701,3.895,9702,3.687,9703,3.895,9704,3.895,9705,3.895,9706,3.895,9707,3.895,9708,3.895,9709,3.895,9710,11.06,9711,6.577,9712,4.21,9713,4.21,9714,4.21,9715,8.464,9716,6.577,9717,4.21,9718,4.21,9719,4.21,9720,4.21,9721,4.21,9722,4.21,9723,4.21,9724,6.577,9725,4.21,9726,4.21,9727,4.21,9728,4.21,9729,4.21,9730,4.21,9731,4.21,9732,4.21,9733,4.21,9734,4.21,9735,4.21,9736,4.21,9737,4.21,9738,4.21,9739,4.21,9740,4.21,9741,4.21,9742,4.21,9743,3.687,9744,6.577,9745,3.687,9746,4.21]],["title/classes/ExternalToolResponse.html",[0,0.232,9747,5.563]],["body/classes/ExternalToolResponse.html",[0,0.235,2,0.769,3,0.015,4,0.015,5,0.008,7,0.1,27,0.555,29,0.922,30,0.001,31,0.666,32,0.174,33,0.583,34,1.805,47,0.922,55,1.943,95,0.128,101,0.011,103,0.001,104,0.001,112,0.727,119,2.415,138,2.387,149,4.704,150,1.567,245,3.586,379,0.878,404,2.779,824,2.47,1130,3.955,1262,3.786,1971,5.427,1992,5.63,2044,2.703,2546,6.233,2578,9.09,5111,5.859,5975,4.643,5992,6.162,5999,8.506,6002,6.09,6008,4.575,6011,5.46,6181,6.09,6182,7.698,6183,6.09,6184,6.09,6185,6.09,6186,6.09,6187,6.09,6189,6.09,6190,6.09,6191,6.09,6192,5.314,6198,6.09,6200,6.09,6446,3.76,7382,6.468,7384,6.537,7417,4.879,7421,5.187,9747,9.873,9748,12.574,9749,9.506,9750,9.09,9751,9.09,9752,6.09,9753,6.952,9754,6.952,9755,6.952,9756,6.952,9757,6.952]],["title/injectables/ExternalToolResponseMapper.html",[539,0.921,9758,5.563]],["body/injectables/ExternalToolResponseMapper.html",[0,0.195,3,0.013,4,0.013,5,0.006,7,0.083,8,1.008,27,0.469,29,0.939,30,0.001,31,0.699,32,0.154,33,0.544,34,0.961,35,1.378,95,0.134,101,0.009,103,0,104,0,153,1.323,226,0.843,236,1.745,249,2.26,349,1.221,413,4.086,437,1.414,539,1.117,541,1.384,603,2.633,604,3.43,782,3.444,790,2.905,988,4.27,1262,2.016,1778,2.26,1927,4.125,1929,2.832,1971,2.689,2545,8.3,2546,5.437,2548,3.999,2578,9.545,2616,7.381,2621,4.048,2627,5.655,5111,3.12,5493,4.409,5494,5.053,5496,5.053,5497,5.053,5498,5.053,5499,5.053,5500,5.053,5503,3.978,5521,4.303,5523,4.409,5541,3.602,5558,2.354,5953,2.964,5966,3.852,5992,3.282,5999,8.421,7382,3.444,7384,3.481,7456,3.743,7457,4.303,7519,8.3,7520,7.394,7552,4.53,7557,4.53,7576,4.409,7583,4.841,7589,4.841,7592,4.841,9093,4.841,9132,4.671,9148,5.337,9256,4.841,9339,4.125,9418,4.409,9580,5.337,9646,10.968,9693,5.337,9694,5.337,9695,5.337,9696,5.337,9697,5.337,9698,5.337,9699,5.337,9700,5.053,9701,5.337,9702,5.053,9703,5.337,9704,5.337,9705,5.337,9706,5.337,9707,5.337,9708,5.337,9709,5.337,9710,10.524,9715,7.713,9747,8.683,9750,9.545,9751,9.545,9758,6.75,9759,8.336,9760,8.336,9761,8.336,9762,8.336,9763,8.336,9764,8.336,9765,5.769,9766,11.854,9767,8.336,9768,5.769,9769,8.336,9770,5.769,9771,8.336,9772,5.769,9773,8.336,9774,5.769,9775,6.995,9776,5.769,9777,5.769,9778,5.769,9779,5.769,9780,5.769,9781,5.337,9782,5.053,9783,5.769,9784,5.769,9785,5.769,9786,5.769,9787,5.769,9788,5.769,9789,5.769,9790,5.769,9791,5.769,9792,5.769,9793,5.769]],["title/classes/ExternalToolScope.html",[0,0.232,9551,6.018]],["body/classes/ExternalToolScope.html",[0,0.242,2,0.791,3,0.016,4,0.016,5,0.008,7,0.103,8,1.171,27,0.545,29,0.975,30,0.001,31,0.766,32,0.171,33,0.589,35,1.173,47,0.892,95,0.114,101,0.011,103,0.001,104,0.001,112,0.741,119,2.632,180,1.679,310,3.103,349,1.132,382,3.666,480,1.988,486,2.152,519,2.2,556,3.306,603,2.621,767,5.998,1971,3.332,2350,6.494,5558,5.461,5643,5.534,6038,4.638,6241,6.261,6242,6.469,6243,6.469,6244,6.469,6249,6.469,6250,6.469,6251,4.848,6252,4.773,6253,4.848,6254,4.848,6263,4.773,6264,6.469,6265,4.848,6266,4.773,6267,4.848,6268,4.773,6269,7.338,7384,6.631,7521,4.463,9219,5.111,9532,9.885,9551,8.485,9794,9.687,9795,8.963,9796,9.687,9797,9.687,9798,7.148,9799,8.963,9800,7.148,9801,9.687,9802,7.148,9803,6.613]],["title/classes/ExternalToolSearchListResponse.html",[0,0.232,9804,5.765]],["body/classes/ExternalToolSearchListResponse.html",[0,0.266,2,0.87,3,0.017,4,0.017,5,0.009,7,0.113,27,0.524,29,0.623,30,0.001,31,0.45,32,0.177,33,0.608,55,2.895,56,6.291,59,3.179,70,6.57,95,0.136,101,0.012,103,0.001,104,0.001,112,0.79,138,2.195,150,1.773,180,1.79,245,2.656,247,3.384,284,3.848,379,0.993,382,3.645,556,1.922,564,2.463,813,7.247,814,5.521,815,8.205,816,7.113,817,5.929,819,3.962,821,5.344,822,3.816,823,4.19,824,2.796,825,5.521,826,6.701,827,5.985,828,5.177,829,4.071,830,5.521,831,5.521,833,4.973,834,4.289,2546,4.736,2548,3.484,6271,6.891,9747,10.767,9748,9.555,9804,8.666,9805,7.279,9806,7.279]],["title/classes/ExternalToolSearchParams.html",[0,0.232,9661,5.765]],["body/classes/ExternalToolSearchParams.html",[0,0.383,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,27,0.468,30,0.001,31,0.76,32,0.147,33,0.618,34,1.889,47,0.908,95,0.134,101,0.014,103,0.001,104,0.001,112,0.867,138,2.033,148,2.825,149,4.763,150,2.051,153,2.6,248,4.934,249,4.837,564,4.045,1277,6.335,2546,5.662,2548,4.485,3601,4.567,5550,7.459,5643,6.217,9154,9.997,9661,9.511,9807,7.971,9808,11.335,9809,9.1,9810,7.971]],["title/interfaces/ExternalToolSearchQuery.html",[105,0.7,9538,5.251]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,31,0.763,32,0.167,33,0.663,47,0.973,101,0.015,103,0.001,104,0.001,105,1.016,107,2.339,112,0.917,119,2.665,813,6.997,2548,3.364,5643,6.716,7384,8.047,9538,9.162,9811,9.97,9812,8.733]],["title/injectables/ExternalToolService.html",[539,0.921,6349,4.24]],["body/injectables/ExternalToolService.html",[0,0.13,3,0.008,4,0.008,5,0.004,7,0.055,8,0.74,12,2.75,26,2.142,27,0.49,29,0.941,30,0.001,31,0.692,32,0.154,33,0.568,34,1.02,35,1.439,36,2.746,40,2.952,47,0.798,59,1.183,95,0.145,99,0.622,101,0.006,103,0,104,0,177,2.049,220,2.344,226,0.561,227,1.595,236,0.996,262,2.956,310,2.658,349,1.135,379,0.773,437,1.619,490,3.091,529,1.752,539,0.82,541,0.922,556,1.864,564,2.388,579,3.285,603,2.649,608,2.913,631,3.867,639,1.811,654,1.157,822,2.969,933,3.392,1133,2.938,1242,3.311,1341,1.235,1456,2.529,1778,1.506,1807,7.918,1898,4.668,1901,1.911,1929,1.887,1971,1.791,2313,4.842,2318,3.547,2368,3.869,2487,2.003,2546,5.546,2548,4.009,2627,6.789,4677,1.975,5437,8.335,5446,3.112,5575,5.353,5643,4.381,5703,2.4,5967,2.748,6103,3.556,6315,3.919,6349,3.777,6614,4.088,7150,5.307,7517,4.566,7520,5.998,8800,2.867,9047,9.243,9065,2.748,9083,3.225,9314,2.112,9376,8.906,9378,8.491,9379,7.299,9381,4.152,9382,2.697,9418,2.938,9538,6.649,9596,6.681,9775,3.225,9813,6.121,9814,5.362,9815,5.362,9816,6.121,9817,6.121,9818,7.628,9819,5.362,9820,6.121,9821,7.628,9822,3.843,9823,7.745,9824,7.628,9825,6.347,9826,3.843,9827,6.121,9828,3.843,9829,6.121,9830,3.843,9831,6.121,9832,3.843,9833,3.843,9834,6.121,9835,3.843,9836,6.121,9837,3.843,9838,3.843,9839,3.843,9840,6.121,9841,7.057,9842,3.843,9843,9.82,9844,6.121,9845,3.843,9846,3.843,9847,8.864,9848,10.119,9849,3.843,9850,8.698,9851,2.748,9852,3.843,9853,3.843,9854,3.112,9855,3.556,9856,5.663,9857,3.843,9858,3.556,9859,5.663,9860,6.121,9861,3.843,9862,3.843,9863,3.843,9864,3.843,9865,3.843,9866,3.843,9867,3.843,9868,3.843,9869,6.121,9870,6.121,9871,6.121,9872,6.121,9873,3.843,9874,3.843,9875,3.843,9876,3.843,9877,3.367,9878,3.843,9879,3.843,9880,3.843,9881,3.843,9882,3.843,9883,3.843,9884,3.843,9885,3.843,9886,6.121,9887,3.843,9888,3.843,9889,3.843,9890,3.843,9891,3.843,9892,3.843,9893,3.843,9894,3.843,9895,3.843,9896,3.843,9897,3.843,9898,3.843,9899,3.843,9900,3.843,9901,3.843,9902,3.843,9903,3.843]],["title/injectables/ExternalToolServiceMapper.html",[539,0.921,9379,5.765]],["body/injectables/ExternalToolServiceMapper.html",[0,0.312,3,0.02,4,0.02,5,0.01,7,0.132,8,1.382,27,0.38,29,0.731,30,0.001,31,0.71,32,0.12,33,0.441,35,1.117,47,0.872,95,0.147,101,0.014,103,0.001,104,0.001,226,1.347,349,0.95,539,1.531,541,2.213,1391,6.596,1392,7.469,1778,3.614,2546,5.242,2548,3.856,5558,3.763,5639,7.243,7383,6.881,7520,8.953,9047,8.737,9379,9.592,9381,6.256,9596,10.88,9618,8.534,9847,9.266,9851,6.596,9904,9.224,9905,11.43,9906,11.43,9907,9.224,9908,9.224,9909,9.224,9910,8.534,9911,9.224,9912,8.079,9913,9.224,9914,9.224,9915,8.534,9916,8.534]],["title/classes/ExternalToolSortingMapper.html",[0,0.232,9549,6.018]],["body/classes/ExternalToolSortingMapper.html",[0,0.309,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,8,1.374,10,3.714,27,0.377,29,0.724,30,0.001,31,0.65,32,0.118,33,0.437,35,1.107,95,0.153,96,2.42,99,1.479,101,0.014,103,0.001,104,0.001,173,2.65,349,0.941,413,3.724,437,1.206,556,2.233,742,5.024,1901,4.545,2548,3.835,2627,4.545,4509,7.402,6038,5.931,7160,10.123,7521,7.098,9219,6.536,9532,9.538,9549,9.956,9688,10.163,9917,9.141,9918,11.366,9919,11.366,9920,9.141,9921,8.457,9922,9.141,9923,8.457,9924,8.457,9925,10.516,9926,8.457]],["title/injectables/ExternalToolUc.html",[539,0.921,9927,5.765]],["body/injectables/ExternalToolUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.935,26,2.82,27,0.488,29,0.938,30,0.001,31,0.677,32,0.153,33,0.566,35,1.385,36,2.809,39,3.179,47,0.648,95,0.14,99,0.842,100,1.773,101,0.008,103,0,104,0,177,1.899,226,0.761,236,1.258,239,2.164,262,3,310,4.006,349,1.124,379,0.977,437,1.667,490,3.629,539,1.036,541,1.249,560,2.142,603,2.444,608,3.089,643,5.463,822,3.752,1758,6.305,1778,2.04,1855,3.177,1971,2.427,2531,2.414,2546,5.577,2548,3.445,2550,5.77,2627,6.583,4119,5.453,5111,2.816,5967,3.723,6300,4.561,6315,4.952,6349,7.055,7150,6.23,9097,11.25,9105,4.089,9106,8.83,9314,6.828,9334,7.155,9352,6.774,9375,8.569,9538,7.805,9659,10.651,9692,8.945,9775,4.369,9814,6.774,9815,6.774,9819,6.774,9843,4.818,9927,6.49,9928,7.734,9929,8.536,9930,7.155,9931,9.226,9932,5.207,9933,7.734,9934,5.207,9935,7.734,9936,5.207,9937,7.734,9938,5.207,9939,5.207,9940,5.207,9941,7.734,9942,5.207,9943,7.734,9944,5.207,9945,10.91,9946,10.91,9947,7.734,9948,5.207,9949,5.207,9950,5.207,9951,7.734,9952,5.207,9953,5.207,9954,7.155,9955,5.207,9956,5.207,9957,5.207,9958,4.369]],["title/classes/ExternalToolUpdateParams.html",[0,0.232,9690,5.765]],["body/classes/ExternalToolUpdateParams.html",[0,0.346,2,0.692,3,0.014,4,0.014,5,0.007,7,0.09,27,0.527,29,0.811,30,0.001,31,0.697,32,0.176,33,0.583,34,1.706,47,0.898,95,0.144,101,0.01,103,0,104,0,112,0.676,119,2.307,138,2.293,143,2.269,147,5.539,148,1.942,149,4.293,150,1.41,172,1.948,245,3.132,248,4.69,249,4.359,480,2.849,521,3.489,556,1.529,1130,3.559,1142,3.907,1262,3.579,1929,3.072,1971,5.186,2340,5.331,2406,3.497,2546,5.963,2548,4.386,2553,3.497,2556,4.391,2568,9.503,2571,6.447,2572,6.317,3081,6.317,3766,4.782,3767,3.907,3788,3.907,3789,6.248,5590,5.452,5992,5.826,6078,6.447,6081,5.25,6082,5.25,6083,5.25,6088,5.774,7382,6.115,7384,6.18,7539,4.244,7543,4.314,7573,9.503,7581,6.753,8714,5.9,8715,4.178,8716,5.9,9154,10.527,9158,5.481,9159,5.789,9167,5.789,9169,5.789,9674,9.337,9681,9.848,9690,7.413,9959,5.25,9960,6.257,9961,5.481,9962,6.257,9963,5.481,9964,6.257,9965,6.257,9966,6.257,9967,5.789,9968,6.257,9969,6.257,9970,6.257]],["title/injectables/ExternalToolValidationService.html",[539,0.921,9375,5.765]],["body/injectables/ExternalToolValidationService.html",[0,0.18,3,0.012,4,0.012,5,0.006,7,0.076,8,0.95,27,0.475,29,0.913,30,0.001,31,0.659,32,0.155,33,0.551,34,1.557,35,1.334,36,2.619,47,0.657,72,2.404,95,0.141,101,0.008,103,0,104,0,177,1.919,226,0.778,236,1.875,262,2.877,283,7.112,340,2.582,349,0.548,360,2.698,361,3.028,363,4.432,379,0.993,437,0.702,484,4.77,519,2.42,529,3.298,539,1.053,541,1.277,564,2.926,590,3.285,593,3.487,603,2.721,608,2.667,639,2.509,936,5.033,1491,4.6,1778,2.086,1971,3.664,2546,5.467,2548,4.55,2627,6.898,3601,3.766,5265,4.467,5463,4.18,6349,7.112,6355,4.31,6360,7.843,9047,9.112,9054,7.889,9056,7.889,9105,4.18,9106,8.893,9314,4.321,9328,4.663,9339,5.621,9352,4.663,9375,6.596,9377,10.003,9394,4.663,9396,4.925,9408,4.925,9418,8.416,9440,4.925,9775,6.596,9841,4.925,9855,4.925,9856,4.925,9858,8.647,9971,7.861,9972,7.861,9973,7.861,9974,7.861,9975,7.861,9976,7.861,9977,7.861,9978,5.323,9979,7.861,9980,7.861,9981,5.323,9982,7.861,9983,5.323,9984,5.323,9985,5.323,9986,7.861,9987,5.323,9988,5.323,9989,7.861,9990,5.323,9991,7.861,9992,5.323,9993,5.323,9994,5.323,9995,7.861,9996,5.323,9997,5.323,9998,5.323,9999,5.323,10000,5.323,10001,5.323,10002,5.323,10003,5.323,10004,5.323]],["title/injectables/ExternalToolVersionService.html",[539,0.921,9376,5.765]],["body/injectables/ExternalToolVersionService.html",[0,0.163,3,0.011,4,0.011,5,0.005,7,0.069,8,0.883,27,0.49,29,0.941,30,0.001,31,0.68,32,0.154,33,0.568,35,1.439,95,0.104,101,0.007,103,0,104,0,119,2.707,226,0.705,349,1.315,437,1.75,519,2.248,539,0.978,541,1.157,603,2.819,708,1.936,1778,1.89,2546,5.58,2548,4.104,2616,9.302,2627,5.737,5520,4.225,5528,4.225,5530,7.959,5535,4.048,5536,4.048,5966,3.221,9047,9.299,9376,6.128,10005,4.824,10006,7.303,10007,7.303,10008,7.303,10009,7.303,10010,7.303,10011,7.303,10012,7.303,10013,7.303,10014,7.303,10015,13.271,10016,4.824,10017,8.813,10018,7.303,10019,4.824,10020,7.303,10021,13.271,10022,4.824,10023,7.303,10024,4.824,10025,7.303,10026,4.824,10027,7.303,10028,4.824,10029,7.303,10030,4.824,10031,7.303,10032,8.813,10033,4.824,10034,4.824,10035,4.824,10036,7.303,10037,4.824,10038,4.824,10039,4.824,10040,4.824,10041,7.303,10042,7.303,10043,7.303,10044,4.824,10045,4.824,10046,4.824,10047,4.824,10048,4.824,10049,4.824,10050,11.189,10051,4.824,10052,12.166,10053,7.303,10054,4.824,10055,4.824,10056,4.824,10057,7.303,10058,4.824,10059,4.824,10060,7.303,10061,4.824,10062,4.824,10063,4.824,10064,4.824,10065,4.824,10066,4.824,10067,4.824,10068,4.824,10069,9.829,10070,9.829,10071,9.829,10072,4.824,10073,4.824,10074,4.824]],["title/classes/ExternalUserDto.html",[0,0.232,10075,5.013]],["body/classes/ExternalUserDto.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,27,0.553,29,0.688,30,0.001,31,0.497,32,0.174,33,0.665,47,0.967,95,0.103,99,1.406,101,0.013,103,0.001,104,0.001,112,0.843,181,2.973,379,1.098,381,2.941,651,5.829,652,5.829,653,6.211,655,6.128,3140,6.088,4660,6.644,7119,5.19,7120,5.363,7398,6.825,7399,7.038,8957,11.419,8979,8.041,8981,8.041,8982,8.041,10075,9.569,10076,11.012,10077,8.691,10078,8.691,10079,5.804,10080,6.342,10081,5.804,10082,6.342,10083,6.342,10084,7.038]],["title/injectables/FeathersAuthProvider.html",[539,0.921,1764,5.563]],["body/injectables/FeathersAuthProvider.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,26,2.841,27,0.492,29,0.945,30,0.001,31,0.683,32,0.155,33,0.571,35,1.389,36,2.784,39,3.303,47,0.805,49,3.694,95,0.128,96,1.558,97,2.401,99,0.952,101,0.009,103,0,104,0,105,0.6,145,1.654,226,0.86,236,0.958,239,2.951,262,3.003,310,2.555,345,1.869,349,1.229,379,0.743,437,1.715,529,1.684,539,1.133,541,1.412,560,4.074,593,2.196,603,2.045,608,2.653,654,1.772,742,3.235,934,3.552,1002,3.992,1723,5.812,1764,6.849,1776,4.939,2351,5.737,2681,4.539,4266,3.88,7099,7.979,7105,7.127,7283,7.595,8580,6.172,8942,5.155,8943,8.71,10085,11.377,10086,5.445,10087,8.458,10088,9.16,10089,7.409,10090,8.458,10091,9.16,10092,5.885,10093,8.458,10094,5.885,10095,5.445,10096,5.885,10097,8.458,10098,5.885,10099,8.458,10100,5.885,10101,5.885,10102,5.885,10103,8.458,10104,8.458,10105,8.458,10106,5.885,10107,5.885,10108,5.885,10109,8.458,10110,8.458,10111,6.642,10112,6.849,10113,5.885,10114,4.939,10115,5.885,10116,5.885,10117,5.885,10118,7.409,10119,5.445,10120,5.885,10121,5.885]],["title/injectables/FeathersAuthorizationService.html",[539,0.921,1759,5.765]],["body/injectables/FeathersAuthorizationService.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.021,26,2.764,27,0.446,29,0.857,30,0.001,31,0.619,32,0.14,33,0.517,35,1.388,36,2.554,39,3.378,47,0.838,95,0.117,99,0.951,101,0.009,103,0,104,0,154,2.393,155,3.517,226,0.858,236,1.375,239,3.05,262,2.825,319,4.568,333,5.541,345,1.867,349,0.87,379,0.742,437,1.427,529,2.418,539,1.132,541,1.41,565,5.045,608,2.652,643,2.64,696,2.285,993,6.668,1459,5.148,1723,7.134,1759,7.09,1764,9.66,1779,3.586,1877,5.642,2251,4.759,3308,5.642,7099,8.436,7105,8.219,7129,6.458,7283,9.237,10085,10.601,10122,5.877,10123,9.892,10124,8.449,10125,9.892,10126,5.877,10127,5.877,10128,5.877,10129,5.877,10130,6.458,10131,7.817,10132,8.449,10133,5.877,10134,5.877,10135,5.877,10136,7.817,10137,5.877,10138,5.877,10139,5.877,10140,5.877,10141,5.877,10142,5.877,10143,5.877,10144,3.763,10145,5.877,10146,5.877,10147,7.817,10148,5.877,10149,5.877,10150,5.877,10151,8.449,10152,5.877,10153,5.877]],["title/interfaces/FeathersError.html",[105,0.7,8933,5.765]],["body/interfaces/FeathersError.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.182,47,0.975,55,2.638,101,0.015,103,0.001,104,0.001,105,1.026,107,2.362,112,0.923,180,2.09,951,6.27,990,4.133,8933,10.118,10154,10.069,10155,10.069,10156,12.378]],["title/modules/FeathersModule.html",[201,1.845,1757,5.563]],["body/modules/FeathersModule.html",[0,0.303,3,0.02,4,0.02,5,0.01,30,0.001,95,0.133,101,0.014,103,0.001,104,0.001,141,5.261,153,2.055,201,3.555,203,4.446,204,3.483,205,3.581,206,3.566,207,3.552,208,4.525,209,4.641,218,4.486,219,3.51,220,3.43,226,1.309,316,6.072,493,5.478,560,4.619,950,6.927,1757,11.093,1779,7.479,2443,7.187,4729,7.496,8943,10.378,10157,8.959,10158,8.959,10159,8.959,10160,8.959,10161,8.815,10162,9.09,10163,9.09,10164,9.419,10165,9.419,10166,9.833,10167,8.289]],["title/injectables/FeathersRosterService.html",[539,0.921,10168,5.251]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.007,4,0.007,5,0.003,7,0.044,8,0.617,26,2.183,27,0.477,29,0.916,30,0.001,31,0.682,32,0.158,33,0.553,34,0.85,35,1.374,36,2.693,47,0.952,51,3.611,55,0.628,72,2.304,95,0.137,99,0.497,101,0.005,103,0,104,0,105,0.861,119,0.637,153,0.705,177,1.695,203,1.851,226,0.449,236,1.483,239,1.197,262,2.934,284,3.275,349,1.143,358,2.281,379,0.644,437,1.732,475,2.57,528,1.579,529,2.18,539,0.684,541,0.737,560,3.135,564,2.385,593,1.904,603,2.776,608,2.993,696,1.984,933,4.684,975,3.718,1122,3.267,1779,3.114,1898,4.089,1899,3.942,1901,3.253,1911,6.551,1920,3.674,1926,4.172,1928,1.943,1933,3.649,1940,2.293,1941,2.293,2159,5.983,2232,1.733,2395,3.016,2424,3.016,2627,6.303,3122,1.328,3602,3.311,3603,1.548,4266,1.727,4417,4.19,4539,2.085,4540,2.157,4541,1.835,4660,3.596,4661,2.198,4822,5.388,4833,4.724,5310,2.052,5575,3.581,5952,4.306,5991,5.346,6055,2.085,6069,6.268,6127,3.649,6217,2.157,6290,4.881,6308,6.45,6324,4.038,6327,2.243,6341,3.9,6349,5.961,6722,3.016,6725,4.136,6726,2.157,6829,2.243,6878,2.414,7322,5.588,7328,3.461,7521,3.186,9065,2.198,9125,2.349,9147,2.243,9314,5.011,9339,5.448,9457,3.649,9460,7.347,9466,5.088,9479,4.282,9495,3.9,10168,3.9,10169,9.522,10170,2.489,10171,4.132,10172,4.132,10173,4.132,10174,3.649,10175,4.132,10176,5.103,10177,5.103,10178,5.103,10179,4.721,10180,5.103,10181,5.103,10182,5.103,10183,5.103,10184,5.103,10185,5.103,10186,5.103,10187,2.489,10188,6.66,10189,3.073,10190,4.132,10191,3.073,10192,3.073,10193,4.132,10194,3.073,10195,4.132,10196,3.073,10197,4.132,10198,8.496,10199,3.073,10200,4.132,10201,3.073,10202,4.132,10203,3.073,10204,4.132,10205,3.073,10206,4.132,10207,3.073,10208,7.94,10209,4.132,10210,3.073,10211,4.132,10212,3.073,10213,4.132,10214,3.073,10215,2.349,10216,2.489,10217,4.007,10218,5.983,10219,4.007,10220,4.132,10221,4.132,10222,6.844,10223,4.132,10224,2.489,10225,4.132,10226,2.489,10227,2.489,10228,4.132,10229,2.489,10230,2.489,10231,4.132,10232,2.489,10233,2.489,10234,2.489,10235,2.489,10236,2.489,10237,2.489,10238,2.489,10239,2.489,10240,2.489,10241,2.489,10242,5.298,10243,2.489,10244,2.489,10245,2.489,10246,2.489,10247,2.489,10248,2.489,10249,2.489,10250,2.489,10251,2.489,10252,2.489,10253,2.489,10254,4.132,10255,2.489,10256,2.414,10257,2.489,10258,3.408,10259,2.052,10260,2.414,10261,2.414,10262,2.489,10263,4.132,10264,2.489,10265,4.132,10266,2.489,10267,2.414,10268,2.489,10269,2.489,10270,2.489,10271,2.489,10272,2.489,10273,2.489,10274,2.489,10275,2.414,10276,2.414]],["title/interfaces/FeathersService.html",[105,0.7,10277,6.018]],["body/interfaces/FeathersService.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.094,8,1.1,27,0.468,29,0.83,30,0.001,31,0.599,32,0.155,33,0.501,34,1.517,35,1.269,36,2.643,47,0.796,59,3.489,95,0.134,101,0.017,102,5.312,103,0,104,0,105,0.665,107,1.531,141,5.587,201,1.754,203,2.368,226,0.954,236,1.062,271,4.863,284,1.976,316,6.448,333,4.466,349,0.672,353,4.501,437,1.2,493,3.186,511,2.889,521,3.594,529,1.868,539,1.219,560,5.317,591,6.391,593,2.436,603,1.348,639,3.077,685,3.81,769,4.501,936,4.18,950,7.357,988,3.971,996,4.389,997,4.242,998,4.338,999,4.584,1000,5.003,1107,3.559,1296,4.87,1779,6.393,1994,6.387,2417,4.029,2443,4.18,3916,5.828,4729,4.36,4743,5.993,5284,5.753,5558,3.713,6865,3.898,8909,4.99,8943,4.764,9425,4.764,10161,5.126,10162,5.286,10163,5.286,10164,5.478,10165,5.478,10166,5.718,10277,9.93,10278,10.488,10279,5.718,10280,8.421,10281,12.636,10282,6.528,10283,10.488,10284,8.421,10285,6.528,10286,8.421,10287,6.528,10288,5.718,10289,6.04,10290,6.04,10291,6.04,10292,6.04,10293,6.04,10294,8.421,10295,6.04,10296,5.478,10297,5.126,10298,6.04,10299,6.04,10300,6.04,10301,6.04]],["title/injectables/FeathersServiceProvider.html",[539,0.921,8943,5.013]],["body/injectables/FeathersServiceProvider.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.097,8,1.131,27,0.441,29,0.741,30,0.001,31,0.535,32,0.149,33,0.447,34,1.131,35,0.822,36,2.29,47,0.81,95,0.136,101,0.018,102,5.424,103,0,104,0,105,0.692,141,6.205,153,1.558,201,1.824,203,3.392,226,0.992,236,1.105,271,4.271,316,6.236,333,4.56,349,0.699,353,6.449,360,3.442,379,0.857,437,1.234,493,4.564,511,3.005,521,3.693,529,1.943,539,1.253,541,1.629,560,5.368,591,5.273,593,2.533,603,1.402,639,3.2,769,4.682,936,4.347,950,7.115,988,4.08,996,4.51,997,4.359,998,4.458,999,4.71,1000,5.141,1107,3.702,1296,5.065,1779,7.034,1994,6.563,2417,4.19,2443,5.988,3916,5.988,4729,6.246,4743,3.59,5284,5.912,5558,3.816,6865,4.054,8909,5.19,8943,6.825,9425,4.955,10161,7.345,10162,7.574,10163,7.574,10164,7.848,10165,7.848,10166,8.193,10277,10.099,10278,9.899,10279,5.947,10280,6.282,10281,11.187,10283,8.653,10284,6.282,10286,6.282,10288,5.947,10289,6.282,10290,6.282,10291,6.282,10292,6.282,10293,8.653,10294,8.653,10295,6.282,10296,5.698,10297,5.332,10298,6.282,10299,6.282,10300,6.282,10301,6.282,10302,9.353,10303,6.79,10304,6.79,10305,6.79]],["title/entities/FederalStateEntity.html",[154,1.378,6713,4.737]],["body/entities/FederalStateEntity.html",[0,0.342,3,0.017,4,0.017,5,0.008,7,0.11,27,0.499,30,0.001,31,0.72,32,0.157,33,0.484,47,0.97,55,1.56,83,2.911,95,0.12,96,2.02,101,0.017,103,0.001,104,0.001,105,0.778,112,0.774,138,2.169,143,2.679,144,3.922,145,3.399,154,2.03,155,2.482,160,5.609,172,3.918,173,2.212,174,3.846,175,3.411,178,3.013,180,1.323,181,2.06,182,2.417,376,3.1,377,3.223,406,4.605,407,5.176,408,4.605,409,5.176,1732,5.312,2044,3.935,2562,5.165,4326,5.355,4332,5.432,4342,3.378,5992,6.88,6008,5.021,6694,10.855,6695,11.024,6696,6.684,6697,6.684,6698,6.684,6699,6.684,6704,8.493,6705,10.594,6706,10.594,6707,6.684,6708,6.684,6709,6.684,6710,6.684,6711,6.684,6712,6.684,6713,6.979,6714,6.684,6715,6.684,6716,5.993,10306,7.631,10307,7.631,10308,7.631,10309,7.631]],["title/injectables/FederalStateRepo.html",[539,0.921,10310,5.765]],["body/injectables/FederalStateRepo.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,10,4.128,12,4.564,18,5.083,26,2.05,27,0.534,29,0.999,30,0.001,31,0.756,32,0.163,33,0.603,34,1.279,35,1.527,36,2.699,40,3.701,47,0.8,49,3.791,95,0.143,96,2.031,99,1.241,101,0.012,103,0.001,104,0.001,154,1.539,155,3.304,173,2.225,180,1.761,226,1.121,262,2.858,349,1.046,382,3.61,479,5.066,539,1.361,541,1.841,679,7.587,685,4.253,686,4.611,687,6.191,711,4.582,712,4.631,713,4.582,714,4.631,715,5.292,716,4.582,717,4.631,718,4.088,3697,5.292,6713,7.005,9534,8.226,9542,8.525,10310,8.525,10311,11.389,10312,7.674,10313,7.674,10314,7.674,10315,7.674]],["title/injectables/FederalStateService.html",[539,0.921,10316,5.765]],["body/injectables/FederalStateService.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.359,27,0.464,29,0.89,30,0.001,31,0.702,32,0.146,33,0.538,35,1.088,36,2.406,47,0.862,95,0.145,99,1.453,101,0.014,103,0.001,104,0.001,177,1.67,226,1.312,227,3.727,262,2.707,345,2.852,349,0.925,379,1.134,437,1.184,539,1.506,541,2.154,608,2.078,685,3.759,1726,3.845,1778,3.518,1834,6.421,3894,6.192,4392,5.996,6713,7.751,10310,11.336,10316,9.432,10317,8.075,10318,12.271,10319,8.979,10320,11.241,10321,8.979,10322,8.979,10323,11.241,10324,8.979,10325,7.535,10326,6.863,10327,8.075,10328,8.979]],["title/interfaces/File.html",[5,0.008,105,0.7]],["body/interfaces/File.html",[3,0.019,4,0.019,5,0.013,7,0.125,30,0.001,32,0.143,47,1.018,55,2.473,95,0.103,101,0.021,103,0.001,104,0.001,105,1.366,107,2.043,112,0.844,284,3.972,360,5.59,556,2.694,1215,7.212,1217,4.911,1361,6.88,2094,5.375,5838,5,6441,5.168,6508,6.498,6509,6.498,6510,6.84,6511,6.657,6512,6.657,6513,5.439,6514,6.498,6515,5.908,6516,5.908,6517,5.908,6518,5.908,6519,6.112,6520,5.375,6521,5.256,6522,5.256,6523,6.356,6524,8.429,6525,8.429,6526,6.498]],["title/classes/FileContentBody.html",[0,0.232,5772,4.588]],["body/classes/FileContentBody.html",[0,0.455,2,0.634,3,0.012,4,0.012,5,0.006,7,0.082,9,2.73,27,0.342,30,0.001,31,0.649,32,0.179,47,0.908,83,1.648,95,0.134,99,0.927,101,0.021,103,0,104,0,112,0.635,138,1.488,143,1.269,148,1.778,149,3.761,150,1.291,153,2.237,172,1.783,180,1.966,245,3.587,248,4.875,249,4.633,284,1.734,305,3.319,480,3.155,807,5.31,808,3.288,839,1.783,852,2.67,1142,3.577,1262,2.002,1271,1.788,1643,3.352,1942,4.475,2255,4.343,2501,2.73,2572,5.931,2882,2.73,2883,2.548,2922,2.746,3278,5.822,3280,5.822,3283,3.385,3286,5.08,3289,2.964,3294,3.229,3767,3.577,3788,3.577,3789,6.921,4163,5.693,5681,6.243,5683,6.327,5685,6.243,5687,6.327,5689,6.327,5734,3.769,5771,6.511,5772,7.137,5773,6.511,5774,6.511,5775,6.511,6088,6.877,7227,3.825,7287,3.385,8699,8.273,8700,6.723,8701,3.95,8704,5.458,8705,6.511,8706,6.511,8707,3.95,8708,6.511,8709,3.535,8710,3.885,8711,6.511,8712,6.511,8713,3.825,8714,3.825,8715,3.825,8716,3.825,8717,3.95,8718,3.95,8719,3.95,8720,3.95,8721,3.95,10329,5.728,10330,5.728]],["title/classes/FileDto.html",[0,0.232,6573,5.125]],["body/classes/FileDto.html",[0,0.31,2,1.014,3,0.02,4,0.02,5,0.015,7,0.131,27,0.534,29,0.726,30,0.001,31,0.741,32,0.168,33,0.438,47,0.91,95,0.134,101,0.014,103,0.001,104,0.001,112,0.871,284,3.748,379,1.157,834,4.995,1147,3.465,1215,6.806,1217,5.165,1361,6.698,2044,3.562,3601,3.692,6419,6.242,6456,6.214,6573,9.937,10331,9.161,10332,9.551,10333,9.161,10334,9.161,10335,9.161,10336,9.161,10337,5.654,10338,7.688,10339,7.194,10340,7.418]],["title/classes/FileDto-1.html",[0,0.193,708,2.292,6573,4.261]],["body/classes/FileDto-1.html",[0,0.297,2,0.972,3,0.019,4,0.019,5,0.01,7,0.126,26,2.655,27,0.543,29,0.696,30,0.001,31,0.73,32,0.171,33,0.42,34,2.024,47,0.779,95,0.144,99,1.421,101,0.014,103,0.001,104,0.001,107,2.061,112,0.848,181,2.993,379,1.109,381,2.973,404,3.511,405,4.645,2044,3.415,3600,6.679,3632,5.602,4342,3.888,5933,5.632,5942,5.625,6419,6.296,6438,6.677,6452,6.899,6573,8.271,8898,5.421,10341,8.785,10342,10.707,10343,11.087,10344,8.785,10345,8.785,10346,8.785,10347,6.554,10348,7.695]],["title/classes/FileDtoBuilder.html",[0,0.232,10349,6.357]],["body/classes/FileDtoBuilder.html",[0,0.257,2,0.843,3,0.017,4,0.017,5,0.015,7,0.109,8,1.222,27,0.468,29,0.899,30,0.001,31,0.739,32,0.147,33,0.543,35,1.374,47,0.952,95,0.143,101,0.012,103,0.001,104,0.001,236,1.239,284,4.055,349,1.168,413,4.082,437,1.594,454,4.661,662,3.512,824,4.032,1215,7.251,1217,5.699,1361,6.993,1970,8.642,1982,5.345,6419,5.664,6573,9.994,10349,9.353,10350,10.587,10351,7.617,10352,10.109,10353,10.109,10354,10.109,10355,7.617,10356,10.109,10357,7.617,10358,10.109,10359,12.578,10360,7.617,10361,7.047,10362,7.617,10363,7.617,10364,7.617,10365,7.617,10366,7.617,10367,7.047,10368,7.617,10369,6.391]],["title/classes/FileElement.html",[0,0.232,2864,4.24]],["body/classes/FileElement.html",[0,0.214,2,0.701,3,0.014,4,0.014,5,0.007,7,0.091,8,1.077,27,0.556,29,0.995,30,0.001,31,0.719,32,0.169,33,0.601,35,1.579,36,1.908,47,0.928,55,1.821,59,1.95,95,0.105,101,0.016,103,0,104,0,105,0.646,112,0.682,119,2.138,137,5.565,145,1.78,180,1.787,262,2.274,349,1.152,381,3.016,382,3.819,448,3.591,474,2.688,479,3.266,480,3.112,517,3.362,519,3.764,604,2.607,608,1.466,662,2.759,686,4.045,1218,2.398,1664,2.372,1665,3.667,1668,6.438,1739,4.109,1944,2.676,2512,5.863,2786,7.955,2789,6.373,2790,6.373,2791,6.373,2792,7.471,2793,6.373,2795,4.056,2796,5.5,2797,6.612,2799,6.254,2800,5.5,2801,6.484,2803,4.445,2804,4.747,2806,6.518,2807,4.445,2811,4.445,2813,4.056,2840,5.438,2864,6.904,3278,6.68,3280,6.68,4026,4.623,4027,4.623,4028,4.623,4037,4.004,9173,4.53,9175,5.861,9178,5.549,9180,5.549,10370,10.908,10371,6.335,10372,6.335,10373,6.335,10374,6.335,10375,6.335,10376,5.861,10377,6.335,10378,5.861,10379,8.245,10380,5.861,10381,8.245,10382,5.861,10383,5.861,10384,5.861,10385,5.549,10386,5.861]],["title/classes/FileElementContent.html",[0,0.232,10387,5.765]],["body/classes/FileElementContent.html",[0,0.362,2,0.922,3,0.018,4,0.018,5,0.009,7,0.12,27,0.489,29,0.66,30,0.001,31,0.477,32,0.172,33,0.399,34,1.975,47,0.909,95,0.14,99,1.348,101,0.016,103,0.001,104,0.001,112,0.82,138,1.923,150,1.879,245,3.548,253,4.118,379,1.497,404,3.331,774,4.254,839,2.595,2255,4.538,2566,3.726,2918,4.473,2919,4.473,2922,3.996,3278,7.73,3280,7.73,3461,5.849,3473,4.977,3716,7.078,3720,6.274,3724,5.566,3726,5.566,3771,7.667,4163,6.314,5681,5.337,9189,6.749,10387,11.12,10388,11.578,10389,7.301,10390,7.712,10391,6.994,10392,6.994]],["title/classes/FileElementContentBody.html",[0,0.232,8705,4.588]],["body/classes/FileElementContentBody.html",[0,0.455,2,0.631,3,0.012,4,0.012,5,0.006,7,0.082,9,2.719,27,0.341,30,0.001,31,0.648,32,0.18,47,0.876,83,1.641,95,0.134,99,0.923,101,0.021,103,0,104,0,112,0.633,138,1.483,143,1.264,148,1.771,149,3.752,150,1.286,153,2.231,172,1.776,180,2.047,245,3.585,248,4.868,249,4.627,284,1.727,305,3.305,382,1.698,480,3.15,556,1.393,807,5.294,808,3.278,819,2.873,839,1.776,852,2.658,1142,3.562,1262,1.993,1271,1.781,1643,3.338,1942,4.072,2255,4.664,2501,2.719,2882,2.719,2883,2.537,2922,2.734,3278,3.406,3280,3.406,3283,3.371,3286,5.068,3289,2.951,3294,3.216,3767,3.562,3788,3.562,3789,6.909,4163,5.682,5681,6.83,5683,6.311,5685,6.228,5687,6.311,5689,6.311,5734,3.753,5771,6.495,5772,7.123,5773,6.495,5774,6.495,5775,6.495,6088,6.868,7227,3.809,7287,3.371,8699,8.625,8700,5.702,8701,3.933,8704,5.441,8705,7.123,8706,6.495,8707,3.933,8708,6.495,8709,3.52,8710,3.869,8711,6.495,8712,6.495,8713,3.809,8714,3.809,8715,3.809,8716,3.809,8717,3.933,8718,3.933,8719,3.933,8720,3.933,8721,3.933,9194,4.479,10393,5.704,10394,5.704]],["title/entities/FileElementNode.html",[154,1.378,3207,5.395]],["body/entities/FileElementNode.html",[0,0.293,3,0.019,4,0.019,5,0.01,7,0.124,27,0.453,30,0.001,32,0.142,47,0.94,95,0.15,96,2.291,101,0.017,103,0.001,104,0.001,105,0.882,112,0.84,138,1.97,154,2.203,155,2.814,172,4.077,173,2.509,180,1.904,181,2.336,349,0.891,403,4.837,437,1.141,1664,3.241,1665,4.964,1942,5.051,2512,5.265,2565,4.923,2566,3.869,3171,5.806,3182,6.628,3207,8.625,3249,5.341,3270,9.62,3278,7.577,3280,7.577,3620,6.777,3641,5.404,4126,5.541,4128,5.541,10391,7.262,10392,7.262,10395,11.162,10396,8.007,10397,7.581,10398,9.62,10399,8.007,10400,8.007,10401,8.007]],["title/interfaces/FileElementNodeProps.html",[105,0.7,10398,6.018]],["body/interfaces/FileElementNodeProps.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,32,0.144,47,0.97,95,0.151,96,2.33,101,0.017,103,0.001,104,0.001,105,0.897,107,2.065,112,0.85,154,2.227,172,3.786,173,2.553,180,2.108,181,2.377,349,0.907,403,4.921,437,1.161,1664,3.297,1665,5.004,1942,3.686,2512,5.323,2565,5.008,2566,3.936,3171,5.87,3182,6.7,3207,6.914,3249,5.433,3270,9.725,3278,7.861,3280,7.861,3620,7.504,3641,5.498,4126,5.637,4128,5.637,10391,7.388,10392,7.388,10395,8.146,10398,10.652,10399,8.146,10400,8.146,10401,8.146]],["title/interfaces/FileElementProps.html",[105,0.7,10385,6.018]],["body/interfaces/FileElementProps.html",[0,0.286,3,0.018,4,0.018,5,0.009,7,0.122,30,0.001,32,0.155,36,1.814,47,0.98,95,0.128,101,0.018,103,0.001,104,0.001,105,0.864,107,1.988,112,0.829,119,1.757,145,2.381,180,2.071,262,1.869,349,1.297,474,3.595,480,3.014,517,4.088,519,2.608,604,3.487,608,1.961,1218,3.208,1664,3.173,1739,4.996,1944,3.579,2786,6.612,2792,5.659,2796,5.229,2797,6.404,2800,5.229,2801,6.28,2840,7.289,2864,7.372,3278,7.77,3280,7.77,4037,5.357,9173,6.059,10370,7.84,10379,10.026,10380,7.84,10381,10.026,10382,7.84,10383,7.84,10384,7.84,10385,9.492,10386,7.84]],["title/classes/FileElementResponse.html",[0,0.232,3771,4.913]],["body/classes/FileElementResponse.html",[0,0.35,2,0.874,3,0.017,4,0.017,5,0.009,7,0.113,27,0.525,29,0.626,30,0.001,31,0.452,32,0.179,33,0.378,34,2.121,47,0.861,95,0.136,99,1.278,101,0.016,103,0.001,104,0.001,112,0.792,138,2.199,150,1.78,245,3.512,253,3.902,379,1.459,404,3.157,774,4.031,839,2.458,2255,4.873,2566,3.53,2917,5.197,2918,5.557,2919,5.557,2921,4.668,2922,4.963,3278,6.897,3280,6.897,3461,5.542,3473,4.716,3716,7.6,3720,6.759,3724,5.274,3726,5.274,3771,9.101,4163,6.779,5681,6.629,10387,10.287,10388,12.084,10391,6.627,10392,6.627,10402,6.918,10403,6.918,10404,6.918,10405,6.918,10406,6.918]],["title/classes/FileElementResponseMapper.html",[0,0.232,5708,6.018]],["body/classes/FileElementResponseMapper.html",[0,0.264,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,8,1.242,27,0.503,29,0.814,30,0.001,31,0.588,32,0.158,33,0.491,34,1.301,35,1.391,95,0.136,99,1.263,100,2.659,101,0.012,103,0.001,104,0.001,112,0.786,119,2.131,236,1.986,349,1.183,376,3.172,413,3.919,437,1.03,603,2.372,604,3.212,662,2.416,739,4.44,782,4.661,783,5.743,786,6.131,788,5.824,1147,3.127,1942,5.638,2000,4.482,2255,2.989,2503,8.568,2506,8.069,2507,8.069,2509,7.853,2864,8.311,3278,4.661,3280,4.661,3716,4.661,3720,6.012,3737,5.582,3771,8.727,4163,4.158,5284,7.26,5681,4.998,5706,6.131,5708,11.625,9211,9.328,9212,6.551,9213,6.131,9215,6.322,9216,6.322,9217,6.322,10387,8.622,10407,12.68,10408,11.485,10409,7.807,10410,7.807]],["title/entities/FileEntity.html",[154,1.378,8202,5.251]],["body/entities/FileEntity.html",[0,0.12,3,0.008,4,0.008,5,0.009,7,0.148,26,2.293,27,0.534,30,0.001,31,0.523,32,0.17,33,0.627,47,0.915,49,4.128,55,1.997,83,2.811,95,0.127,96,1.523,97,1.451,99,0.575,101,0.009,103,0,104,0,105,0.363,112,0.44,119,1.502,133,1.978,138,2.321,143,2.974,144,4.273,145,3.265,154,1.154,155,1.157,160,5.935,172,4.028,173,1.031,174,2.186,180,0.617,181,0.96,182,1.127,236,1.8,280,5.737,349,1.007,357,2.719,376,1.445,377,1.503,406,2.147,407,3.902,408,2.147,409,3.902,437,0.469,480,2.541,486,2.75,490,1.264,519,1.771,529,1.018,556,2.941,570,5.134,603,0.735,662,2.242,708,1.428,766,1.988,823,4.866,839,1.791,990,1.219,1717,1.706,1723,4.218,1732,3.019,1778,1.394,1984,1.94,2044,1.383,2566,1.59,2670,4.718,3366,2.842,3600,2.86,3632,2.653,4323,4.827,4326,4.037,4332,3.887,4333,2.082,4336,2.985,4341,2.985,4342,1.575,4404,2.147,4677,1.828,4856,6.815,5094,2.667,5111,1.924,5932,3.112,5935,1.895,5936,5.179,5937,2.544,5938,4.913,5943,2.453,5945,2.544,6441,2.696,6448,2.278,6516,6.196,6740,2.985,7000,2.413,7295,2.596,8197,6.815,8199,6.982,8202,4.397,8253,7.288,10348,3.116,10411,3.291,10412,6.701,10413,6.701,10414,6.359,10415,7.698,10416,7.288,10417,6.071,10418,6.982,10419,7.698,10420,7.698,10421,7.698,10422,3.558,10423,3.558,10424,7.698,10425,3.558,10426,4.292,10427,3.558,10428,3.558,10429,3.558,10430,3.558,10431,3.558,10432,3.558,10433,3.558,10434,3.558,10435,7.397,10436,3.558,10437,7.288,10438,3.558,10439,8.33,10440,3.558,10441,3.558,10442,3.558,10443,3.558,10444,5.323,10445,3.558,10446,3.558,10447,3.558,10448,3.558,10449,5.323,10450,3.558,10451,2.497,10452,2.654,10453,3.291,10454,3.291,10455,6.344,10456,5.323,10457,3.291,10458,8.452,10459,3.291,10460,3.291,10461,3.291,10462,2.544,10463,6.701,10464,4.397,10465,5.323,10466,5.323,10467,5.323,10468,3.291,10469,3.291,10470,3.291,10471,4.292,10472,3.291,10473,3.291,10474,3.291,10475,5.865,10476,6.701,10477,3.291,10478,3.291,10479,2.985,10480,5.323,10481,3.291,10482,3.291,10483,3.291,10484,3.291,10485,3.291,10486,3.291,10487,5.323,10488,3.291,10489,5.323,10490,2.719,10491,5.323,10492,3.291,10493,2.596,10494,3.291,10495,3.291,10496,3.291,10497,3.291,10498,2.719,10499,2.794,10500,3.291,10501,3.291,10502,3.291,10503,5.323,10504,3.291]],["title/interfaces/FileEntityProps.html",[105,0.7,10455,6.018]],["body/interfaces/FileEntityProps.html",[0,0.13,3,0.008,4,0.008,5,0.01,7,0.152,26,2.61,30,0.001,31,0.578,32,0.176,33,0.662,47,0.956,49,3.541,55,2.25,83,3.416,95,0.13,96,1.618,97,1.565,99,0.621,101,0.009,103,0,104,0,105,0.391,107,0.9,112,0.468,119,2.199,133,1.319,143,2.787,144,4.12,145,2.841,154,1.226,172,3.992,173,1.112,174,2.323,180,0.665,181,1.036,182,1.215,236,1.792,280,6.543,349,1.041,357,2.932,376,3.53,377,3.67,406,2.315,407,4.146,408,2.315,409,4.146,437,0.506,490,1.363,519,1.881,529,1.098,556,2.998,570,4.701,603,0.792,662,2.358,708,1.539,766,2.144,823,5.385,839,1.903,990,1.315,1717,1.839,1723,4.811,1732,2.013,1778,1.503,1984,2.091,2044,1.491,2566,1.715,2670,4.637,3366,1.895,3600,3.039,3632,4.375,4332,4.089,4333,2.245,4336,3.219,4341,3.219,4342,1.698,4404,2.315,4677,1.971,5094,2.833,5111,2.075,5932,5.133,5935,2.043,5936,2.743,5937,2.743,5938,2.602,5943,2.645,5945,2.743,6441,2.864,6448,2.456,6516,6.857,7295,2.799,8197,7.542,8199,7.963,8202,2.932,8253,8.312,10348,3.36,10411,3.549,10412,3.549,10413,3.549,10414,7.253,10415,8.78,10416,8.312,10417,6.925,10418,7.963,10419,8.78,10420,8.78,10421,8.78,10424,9.354,10426,2.862,10435,8.187,10437,8.312,10439,8.588,10444,3.549,10449,3.549,10451,2.692,10452,2.862,10453,3.549,10454,3.549,10455,7.611,10456,8.78,10457,3.549,10458,8.78,10459,3.549,10460,3.549,10461,3.549,10462,2.743,10463,7.048,10464,4.672,10465,5.655,10466,5.655,10467,5.655,10468,3.549,10469,3.549,10470,3.549,10471,4.56,10472,3.549,10473,3.549,10474,3.549,10475,6.169,10476,7.048,10477,3.549,10478,3.549,10479,3.219,10480,5.655,10481,3.549,10482,3.549,10483,3.549,10484,3.549,10485,3.549,10486,3.549,10487,5.655,10488,3.549,10489,5.655,10490,2.932,10491,5.655,10492,3.549,10493,2.799,10494,3.549,10495,3.549,10496,3.549,10497,3.549,10498,2.932,10499,3.013,10500,3.549,10501,3.549,10502,3.549,10503,5.655,10504,3.549]],["title/classes/FileMetadata.html",[0,0.232,10505,5.563]],["body/classes/FileMetadata.html",[0,0.303,2,0.449,3,0.009,4,0.009,5,0.005,7,0.058,27,0.37,29,0.507,30,0.001,31,0.593,32,0.116,33,0.194,47,0.924,55,2.748,72,1.834,83,2.807,95,0.106,96,1.075,99,0.657,101,0.014,103,0,104,0,112,0.489,119,2.149,142,1.585,143,2.915,144,4.236,145,1.142,153,0.932,154,1.283,157,2.537,172,4.313,173,1.178,174,2.43,178,1.604,180,0.704,182,1.287,238,2.271,250,2.601,319,3.79,349,0.924,360,4.947,379,0.513,413,1.223,517,1.532,662,1.98,696,4.029,708,4.352,739,4.479,823,5.776,997,1.893,1105,4.883,1109,6.858,1110,7.459,1111,7.459,1125,5.474,1134,4.573,1147,2.97,1271,1.268,1288,2.215,1664,2.395,1823,4.888,2024,3.687,2044,1.579,2171,3.487,2255,3.028,2427,3.994,2494,4.271,2723,4.41,2784,1.925,2882,1.936,3122,1.756,3130,3.86,3625,3.19,3671,4.209,4745,4.15,5126,3.902,5384,4.573,5515,3.78,5541,3.994,5840,3.105,5841,3.105,5842,3.031,5843,3.105,5844,2.636,5850,3.031,5851,3.105,5863,6.046,5866,2.851,5867,3.105,5883,3.672,5884,3.105,5886,3.105,5894,2.851,5897,3.105,5899,3.105,5901,3.105,5903,3.105,5909,3.105,6441,3.707,6448,2.601,6679,2.905,6791,2.507,8555,2.801,10505,7.265,10506,3.409,10507,6.211,10508,8.289,10509,5.367,10510,6.396,10511,4.062,10512,4.062,10513,5.367,10514,5.367,10515,5.367,10516,3.409,10517,7.265,10518,3.409,10519,5.367,10520,5.367,10521,5.367,10522,3.19,10523,3.409,10524,3.105,10525,5.179,10526,6.637,10527,6.616,10528,3.409,10529,6.637,10530,6.78,10531,5.179,10532,5.022,10533,5.367,10534,5.022,10535,5.367,10536,4.667,10537,5.367,10538,5.022,10539,5.367,10540,5.179,10541,5.367,10542,5.367,10543,3.19,10544,3.409,10545,6.046,10546,3.19,10547,2.851,10548,3.409,10549,3.409,10550,3.409,10551,3.409,10552,3.409,10553,3.409,10554,3.409,10555,3.409,10556,3.409,10557,3.409,10558,3.409,10559,3.409,10560,3.409,10561,3.409,10562,3.409,10563,3.409,10564,3.409,10565,3.409,10566,3.409,10567,3.409,10568,3.409,10569,3.409,10570,3.409,10571,3.409,10572,3.409,10573,3.409,10574,3.409,10575,3.409,10576,3.409,10577,3.409,10578,3.409,10579,3.409,10580,3.409,10581,3.409,10582,3.409,10583,3.409,10584,3.409,10585,3.409,10586,3.409,10587,3.409,10588,3.409,10589,3.409,10590,3.409,10591,3.409,10592,3.409,10593,3.409,10594,3.409,10595,3.409,10596,3.409,10597,3.409,10598,3.409,10599,3.409,10600,3.409,10601,3.409,10602,3.409,10603,3.409,10604,3.409,10605,3.409,10606,3.409,10607,3.409,10608,3.409]],["title/classes/FileParamBuilder.html",[0,0.232,6558,6.018]],["body/classes/FileParamBuilder.html",[0,0.31,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,8,1.378,26,2.616,27,0.379,29,0.727,30,0.001,31,0.525,32,0.119,33,0.439,35,1.112,95,0.146,99,1.485,101,0.014,103,0.001,104,0.001,107,2.154,349,0.946,413,3.732,437,1.503,454,5.256,3366,6.124,3600,6.627,3632,4.234,4266,3.858,5933,5.284,6419,5.342,6441,4.303,6529,8.495,6531,9.734,6532,8.495,6535,10.546,6558,9.984,10609,10.546,10610,11.398,10611,11.993,10612,7.705,10613,9.182,10614,9.182,10615,9.182]],["title/classes/FileParams.html",[0,0.232,6481,4.737]],["body/classes/FileParams.html",[0,0.459,2,0.729,3,0.014,4,0.02,5,0.013,7,0.095,26,2.5,27,0.272,30,0.001,32,0.155,39,1.771,47,0.967,95,0.15,99,1.066,101,0.021,103,0,104,0,105,0.672,112,0.701,119,1.9,138,1.182,143,1.46,147,4.956,148,2.046,149,4.392,150,1.486,151,6.119,153,1.512,154,1.322,245,3.608,247,2.835,248,4.95,249,4.46,348,4.615,808,4.91,809,6.257,819,3.32,839,3.279,852,3.072,988,2.876,990,2.259,1079,3.896,1147,2.006,1203,5.867,1204,4.338,1205,4.338,1262,2.304,2739,4.781,2922,5.05,3632,3.039,4266,2.231,5826,6.577,5933,3.056,6088,6.745,6419,4.294,6432,6.03,6438,6.257,6467,4.545,6468,4.626,6469,4.626,6472,7.989,6475,4.545,6476,8.27,6477,7.989,6478,7.989,6479,4.626,6480,4.545,6481,6.318,6482,4.626,6483,4.471,6484,6.215,6485,4.402,6486,4.471,6487,4.545,6488,4.471,6489,4.471,6490,4.22,6491,4.626,6492,4.626,6493,4.626,6494,4.22,6495,4.22,6496,4.338,6497,4.402,6498,4.626,10616,6.592,10617,6.592]],["title/classes/FilePermissionEntity.html",[0,0.232,10435,5.563]],["body/classes/FilePermissionEntity.html",[0,0.241,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,10,4.779,26,1.951,27,0.535,29,0.564,30,0.001,31,0.407,32,0.142,33,0.341,49,4.093,95,0.139,96,2.558,97,2.906,99,1.152,101,0.015,103,0.001,104,0.001,105,0.726,112,0.739,119,2.439,138,2.274,143,2.923,144,3.133,145,3.306,160,3.948,172,4.21,173,2.065,181,2.609,236,1.159,379,0.899,381,2.411,480,3.272,486,3.541,556,2.874,685,4.924,839,3.008,1678,7.177,1679,7.855,1778,2.791,2562,4.932,6740,5.977,10435,7.826,10618,11.072,10619,6.59,10620,10.303,10621,10.883,10622,10.303,10623,9.664,10624,7.123,10625,7.123,10626,7.123,10627,10.883,10628,7.123,10629,7.123,10630,6.59,10631,6.59,10632,6.59,10633,6.59,10634,8.465,10635,6.239,10636,8.465,10637,6.239,10638,8.465,10639,6.239,10640,8.465,10641,6.239]],["title/interfaces/FilePermissionEntityProps.html",[105,0.7,10622,6.018]],["body/interfaces/FilePermissionEntityProps.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,10,5.104,26,2.436,30,0.001,32,0.167,33,0.64,49,3.762,95,0.143,96,2.669,97,3.096,99,1.228,101,0.016,103,0.001,104,0.001,105,0.773,107,1.78,112,0.772,119,2.881,143,2.673,144,3.269,145,2.834,172,4.02,173,2.2,181,2.048,236,1.235,556,2.948,685,5.259,839,3.139,1678,7.665,1679,8.389,1778,2.973,2562,5.146,10435,6.145,10618,6.368,10619,7.021,10620,11.004,10621,11.623,10622,9.92,10627,11.623,10630,7.021,10631,7.021,10632,7.021,10633,7.021,10634,8.833,10635,6.647,10636,8.833,10637,6.647,10638,8.833,10639,6.647,10640,8.833,10641,6.647]],["title/entities/FileRecord.html",[154,1.378,6437,4.146]],["body/entities/FileRecord.html",[0,0.271,3,0.007,4,0.007,5,0.008,7,0.144,26,2.39,27,0.459,30,0.001,31,0.598,32,0.148,33,0.383,34,0.911,39,0.897,47,0.856,49,4.037,55,1.418,83,2.882,95,0.124,96,1.447,97,1.363,99,0.54,101,0.015,103,0,104,0,105,0.707,112,0.531,119,2.078,133,2.757,138,1.997,143,2.22,144,2.867,145,1.536,153,0.767,154,2.097,155,1.087,172,3.838,173,0.969,174,2.077,178,1.319,180,0.579,181,1.476,182,1.058,226,0.488,236,1.855,239,0.784,347,2.508,349,1.343,358,2.444,360,2.771,376,1.358,377,1.411,437,1.562,490,2.465,519,2.467,529,0.956,556,2.448,565,3.264,570,4.281,654,2.089,662,3.894,696,1.299,708,1.341,739,2.362,747,3.989,755,3.597,823,5.056,839,3.119,988,2.385,990,2.378,994,2.389,1064,3.708,1223,3.909,1361,5.134,1726,2.341,1819,3.77,1926,1.256,1986,1.936,1987,3.708,2044,3.117,2220,1.918,2396,3.138,2562,2.79,2647,3.03,2670,3.677,2680,1.936,2686,1.509,2696,1.557,2883,1.486,3122,1.444,3171,1.766,3366,2.701,3380,2.304,3632,4.62,3742,1.901,3895,4.078,4266,3.391,4276,2.554,4278,2.112,4326,2.345,4332,2.934,4342,1.479,4343,1.955,4833,1.867,4856,5.176,5146,1.852,5158,1.936,5932,3.753,5933,5.016,5935,2.912,5936,4.961,5937,2.389,5938,5.437,5939,2.389,5940,5.85,5941,2.493,5942,2.139,5943,2.304,5945,2.389,5947,2.493,6419,5.343,6437,4.838,6438,4.859,6439,3.909,6440,5.275,6448,2.139,6456,2.266,6459,5.063,6465,5.275,6760,2.039,6988,2.554,6989,3.989,10347,2.493,10417,5.063,10451,2.345,10464,2.554,10490,4.178,10493,2.438,10498,2.554,10642,2.706,10643,4.293,10644,6.295,10645,5.618,10646,3.341,10647,7.159,10648,3.341,10649,3.091,10650,3.341,10651,3.341,10652,3.091,10653,3.091,10654,3.341,10655,3.341,10656,3.341,10657,3.091,10658,3.341,10659,6.596,10660,3.341,10661,3.341,10662,2.706,10663,2.554,10664,4.293,10665,2.493,10666,3.989,10667,3.989,10668,3.989,10669,2.112,10670,4.427,10671,4.427,10672,4.427,10673,4.427,10674,4.427,10675,4.427,10676,4.293,10677,5.437,10678,4.427,10679,2.554,10680,4.078,10681,2.493,10682,4.178,10683,2.554,10684,4.178,10685,5.448,10686,2.389,10687,2.624,10688,2.438,10689,2.438,10690,2.706,10691,2.706,10692,2.554,10693,2.493,10694,2.706,10695,2.706,10696,2.706,10697,2.706,10698,2.706,10699,2.706,10700,2.706,10701,2.706,10702,7.687,10703,2.706,10704,2.706,10705,4.427,10706,2.706,10707,2.706,10708,4.427,10709,4.427,10710,4.427,10711,2.706,10712,2.706,10713,2.706,10714,2.706,10715,2.706,10716,2.706,10717,2.706,10718,4.427,10719,5.618,10720,2.624,10721,2.706,10722,4.427,10723,2.624,10724,2.706,10725,4.427,10726,2.706,10727,5.618,10728,5.618,10729,2.624,10730,5.618,10731,2.706,10732,2.706,10733,2.706,10734,2.706,10735,2.706,10736,2.706,10737,2.706,10738,2.624,10739,2.706,10740,2.706,10741,2.706,10742,2.706,10743,2.706,10744,2.706,10745,2.706,10746,2.706,10747,2.706]],["title/classes/FileRecordFactory.html",[0,0.232,10748,6.357]],["body/classes/FileRecordFactory.html",[0,0.165,2,0.54,3,0.011,4,0.011,5,0.008,7,0.07,8,0.891,27,0.54,29,1.036,30,0.001,31,0.723,32,0.172,33,0.595,34,1.479,35,1.479,47,0.518,49,1.821,55,2.368,59,3.267,95,0.125,101,0.008,103,0,104,0,112,0.564,120,3.113,133,2.534,140,2.662,153,2.036,154,2.129,155,2.397,177,1.37,180,1.278,236,1.727,271,4.682,319,3.113,349,0.759,379,0.616,382,3.858,413,2.218,437,1.171,447,7.137,448,4.497,449,5.435,452,4.05,453,5.435,454,5.628,455,4.05,456,4.05,457,4.05,458,3.986,459,4.471,460,4.879,461,6.401,462,5.741,463,6.977,464,2.706,469,2.683,470,4.05,471,2.706,472,5.116,473,5.267,474,4.196,475,4.98,476,4.018,477,2.683,478,2.544,479,4.09,480,3.318,481,2.62,482,2.581,483,2.683,484,5.047,485,2.706,486,3.591,487,4.801,488,2.683,489,7.039,490,4.238,491,6.556,492,2.706,493,4.332,494,2.683,495,2.706,496,2.683,497,2.706,498,2.683,499,3.013,500,2.829,501,2.683,502,6.036,503,2.706,504,2.683,505,4.05,506,3.813,507,4.05,508,2.706,509,2.6,510,2.581,511,2.161,512,2.683,513,2.683,514,2.683,515,2.706,516,2.706,517,1.842,518,2.683,519,1.503,520,2.706,521,2.91,522,2.683,523,2.706,524,2.777,525,2.803,526,2.857,527,2.885,823,2.6,988,2.13,1217,2.752,1231,3.086,1361,2.641,3632,2.251,4188,5.478,4266,1.652,5932,2.641,5933,2.263,6437,2.946,6438,2.683,6465,3.212,6990,3.731,7266,4.276,8898,3.013,10367,4.517,10417,3.562,10659,5.498,10684,3.731,10748,8.213,10749,4.882,10750,9.889,10751,4.882,10752,4.276,10753,6.455,10754,4.517,10755,4.882,10756,4.882,10757,4.882]],["title/classes/FileRecordListResponse.html",[0,0.232,6466,5.125]],["body/classes/FileRecordListResponse.html",[0,0.371,2,0.671,3,0.013,4,0.013,5,0.007,7,0.087,27,0.478,29,0.48,30,0.001,31,0.576,32,0.17,33,0.555,34,1.439,47,0.906,55,2.849,56,6.115,59,2.659,70,6.386,83,1.743,95,0.13,101,0.017,103,0,104,0,112,0.661,138,1.967,149,3.882,150,1.366,154,1.216,180,1.745,245,3.517,247,2.607,284,3.755,379,0.765,382,3.266,404,3.452,556,1.481,815,7.825,816,6.763,817,6.297,819,3.052,821,4.665,822,2.94,823,4.601,824,2.154,825,4.253,826,5.605,827,5.006,828,3.988,829,3.136,830,4.253,831,4.253,833,5.46,834,4.709,839,3.133,1229,4.908,1233,4.76,1262,2.118,1361,3.278,2044,3.358,2782,6.362,2922,4.825,3632,2.795,5932,3.278,5933,2.81,5942,3.881,6419,4.048,6422,4.048,6427,4.908,6428,4.908,6429,4.908,6430,4.908,6431,4.76,6432,5.684,6433,5.086,6434,9.106,6437,5.213,6438,6.029,6439,8.291,6440,6.622,6441,2.841,6442,9.254,6443,5.086,6444,4.908,6445,5.086,6446,3.278,6447,5.086,6448,3.881,6449,5.086,6450,5.086,6451,5.086,6452,4.76,6453,4.908,6454,5.086,6455,5.086,6456,4.111,6457,4.908,6458,4.908,6459,4.423,6460,5.086,6461,5.086,6462,4.908,6463,5.086,6464,4.522,6465,3.988,6466,6.444,10758,6.061,10759,6.061]],["title/classes/FileRecordMapper.html",[0,0.232,10760,6.357]],["body/classes/FileRecordMapper.html",[0,0.246,2,0.804,3,0.016,4,0.016,5,0.008,7,0.104,8,1.184,27,0.457,29,0.878,30,0.001,31,0.634,32,0.144,33,0.53,35,1.342,55,2.745,56,5.718,59,3.014,70,5.971,95,0.116,101,0.011,103,0.001,104,0.001,154,1.457,236,1.803,347,2.625,349,1.141,413,4.043,437,1.564,556,1.774,739,3.139,790,3.658,816,6.464,824,3.48,1203,6.27,6419,5.557,6437,7.999,6440,4.779,6442,9.235,6466,8.265,6485,8.267,10350,10.386,10677,4.926,10686,7.002,10720,5.703,10723,7.69,10729,5.703,10760,9.06,10761,7.263,10762,9.792,10763,10.25,10764,9.06,10765,9.792,10766,7.263,10767,9.95,10768,6.72,10769,7.263,10770,9.06,10771,7.263,10772,6.72,10773,6.72,10774,6.362,10775,7.263,10776,6.72,10777,5.097,10778,9.792,10779,11.078,10780,11.078,10781,7.263,10782,7.263,10783,7.263,10784,11.078,10785,7.263]],["title/classes/FileRecordParams.html",[0,0.232,6472,4.588]],["body/classes/FileRecordParams.html",[0,0.456,2,0.702,3,0.014,4,0.019,5,0.01,7,0.091,26,2.59,27,0.426,30,0.001,32,0.163,39,1.704,47,0.947,95,0.148,99,1.026,101,0.021,103,0,104,0,105,0.647,112,0.683,119,1.85,138,1.851,143,1.406,147,4.826,148,1.969,149,4.319,150,1.43,151,5.958,153,1.456,154,1.273,245,3.591,247,2.729,248,4.89,249,4.386,348,3.195,808,4.851,809,6.153,839,3.212,852,2.957,988,2.768,990,2.175,1079,3.75,1147,1.931,1203,5.712,1204,4.175,1205,4.175,1262,2.217,2739,4.684,2921,3.75,2922,5.367,3632,4.758,4266,3.492,5663,6.152,5826,6.443,5933,4.784,6088,6.651,6419,5.247,6432,7.367,6438,6.725,6467,4.375,6468,4.452,6469,4.452,6472,8.171,6475,4.375,6476,8.171,6477,7.857,6478,7.857,6479,4.452,6480,4.375,6481,4.375,6482,4.452,6483,4.303,6484,6.051,6485,4.237,6486,4.303,6487,4.375,6488,4.303,6489,4.303,6490,4.062,6491,4.452,6492,4.452,6493,4.452,6494,4.062,6495,4.062,6496,4.175,6497,4.237,6498,4.452,10786,6.345,10787,6.345,10788,6.345,10789,6.345]],["title/injectables/FileRecordRepo.html",[539,0.921,10790,6.018]],["body/injectables/FileRecordRepo.html",[0,0.155,3,0.01,4,0.01,5,0.005,7,0.066,8,0.849,10,2.854,12,3.156,18,3.515,26,2.77,27,0.527,29,1,30,0.001,31,0.722,32,0.164,33,0.604,34,1.595,35,1.53,36,2.872,40,2.211,47,0.6,49,2.621,56,2.211,58,2.975,59,2.947,95,0.122,98,2.737,99,0.742,101,0.007,103,0,104,0,124,2.324,154,1.409,155,2.285,180,1.218,226,0.67,227,1.903,236,1.772,262,3.08,349,1.235,376,1.863,382,2.851,437,1.735,479,4.562,490,4.674,539,0.941,541,1.1,603,2.249,608,2.707,679,6.508,685,2.941,686,3.189,687,4.194,711,2.737,712,2.767,713,2.737,714,2.767,715,3.161,716,2.737,717,2.767,718,2.442,721,2.863,739,4.707,741,3.11,743,3.11,1519,2.608,1815,3.017,2093,3.961,2395,2.71,3632,5.227,4266,3.24,4743,2.424,5558,4.993,6132,4.071,6134,4.844,6419,5.735,6437,7.512,6861,2.767,7150,7.801,7179,3.345,7180,3.345,7222,3.504,10686,5.024,10790,6.154,10791,4.585,10792,8.541,10793,7.025,10794,8.541,10795,8.541,10796,7.025,10797,6.5,10798,7.025,10799,7.025,10800,4.585,10801,9.93,10802,4.585,10803,7.025,10804,4.585,10805,4.585,10806,4.585,10807,4.585,10808,4.585,10809,7.025,10810,4.585,10811,6.5,10812,4.585,10813,7.025,10814,4.585,10815,7.025,10816,4.585,10817,4.585,10818,4.585,10819,8.541,10820,4.585,10821,4.585,10822,8.541,10823,4.585,10824,4.585,10825,4.242,10826,4.585,10827,4.585,10828,4.585,10829,4.585]],["title/classes/FileRecordResponse.html",[0,0.232,6442,5.125]],["body/classes/FileRecordResponse.html",[0,0.357,2,0.617,3,0.012,4,0.012,5,0.006,7,0.08,27,0.543,29,0.442,30,0.001,31,0.642,32,0.174,33,0.459,34,1.759,47,0.948,55,2.534,56,5.09,70,5.316,83,2.34,95,0.125,101,0.016,103,0,104,0,112,0.623,138,2.335,149,4.072,150,1.258,154,1.119,180,1.411,245,3.576,247,2.4,284,3.195,379,0.704,404,3.252,815,5.927,816,4.436,817,5.514,823,5.115,833,5.143,834,4.436,839,2.99,1229,4.517,1233,4.381,1262,3.356,1361,5.195,2044,3.163,2779,3.989,2782,6.071,2921,5.676,2922,5.618,3632,4.428,5932,5.195,5933,4.452,5942,3.572,6419,6.23,6422,3.725,6427,4.517,6428,4.517,6429,4.517,6430,4.517,6431,4.381,6432,8.748,6433,4.681,6434,8.814,6437,6.773,6438,6.65,6439,9.188,6440,7.386,6441,2.614,6442,8.373,6443,6.827,6444,4.517,6445,4.681,6446,3.017,6447,4.681,6448,3.572,6449,4.681,6450,4.681,6451,4.681,6452,4.381,6453,4.517,6454,4.681,6455,4.681,6456,3.784,6457,4.517,6458,4.517,6459,4.071,6460,4.681,6461,4.681,6462,4.517,6463,6.827,6464,7.165,6465,6.32,6466,4.162,10830,5.579,10831,5.579,10832,5.579,10833,5.579,10834,5.579,10835,5.579,10836,5.579,10837,5.579,10838,5.579,10839,5.579,10840,5.579,10841,5.579]],["title/classes/FileRecordScope.html",[0,0.232,10801,6.018]],["body/classes/FileRecordScope.html",[0,0.215,2,0.705,3,0.014,4,0.014,5,0.007,7,0.091,8,1.082,26,2.67,27,0.546,29,0.997,30,0.001,31,0.72,32,0.169,33,0.602,34,1.062,35,1.524,47,0.727,49,2.378,95,0.133,96,1.687,97,2.601,99,1.031,101,0.01,103,0,104,0,112,0.685,119,2.145,124,4.538,143,1.983,154,1.279,180,1.552,227,2.646,236,1.457,310,3.886,349,1.217,382,3.519,437,0.841,480,2.49,486,2.695,519,1.962,593,3.34,603,2.531,1223,4.558,2350,6.114,3632,2.939,4266,2.157,4543,5.162,5558,5.327,5938,4.324,5940,4.652,5944,5.349,6242,5.978,6243,5.978,6244,5.978,6249,5.978,6250,5.978,6251,4.324,6252,4.257,6253,4.324,6254,4.324,6263,4.257,6264,5.978,6265,4.324,6266,4.257,6267,4.324,6268,4.257,6269,7.492,6419,5.743,6437,3.847,6465,5.89,6484,6.071,8499,5.006,10417,4.652,10801,11.824,10842,12.253,10843,8.951,10844,8.951,10845,8.951,10846,7.841,10847,8.951,10848,8.951,10849,6.375,10850,8.951,10851,5.584,10852,8.951,10853,8.951,10854,5.898,10855,7.841,10856,6.375,10857,8.951,10858,5.584,10859,5.584,10860,5.898]],["title/classes/FileRecordSecurityCheck.html",[0,0.232,10659,5.125]],["body/classes/FileRecordSecurityCheck.html",[0,0.243,2,0.389,3,0.008,4,0.008,5,0.006,7,0.147,26,2.422,27,0.401,29,0.278,30,0.001,31,0.585,32,0.118,33,0.343,34,0.949,39,0.943,47,0.866,49,3.386,55,1.163,83,3.065,95,0.126,96,1.507,97,1.433,99,0.568,101,0.016,103,0,104,0,105,0.732,112,0.549,119,2.122,133,1.957,138,1.627,143,1.829,144,2.328,145,0.987,154,1.82,172,3.921,173,1.018,174,2.163,178,1.387,180,0.609,181,1.938,182,1.112,226,0.513,236,1.952,239,0.824,347,3.28,349,1.354,358,1.57,360,2.886,376,2.917,377,3.032,379,0.443,381,1.188,437,1.582,480,2.524,486,2.732,490,2.551,519,2.541,529,1.005,556,2.5,565,2.097,570,5.095,654,1.714,662,3.934,696,1.365,708,1.409,739,2.46,747,2.562,755,2.311,823,4.398,839,3.317,988,1.532,990,2.461,994,2.511,1064,3.861,1223,5.904,1361,4.466,1726,2.437,1819,2.421,1926,1.32,1986,2.035,1987,3.861,2044,3.21,2220,2.016,2396,2.016,2562,2.905,2647,1.946,2670,3.787,2680,2.035,2686,1.586,2696,1.637,2883,1.562,3122,1.517,3171,1.856,3366,1.735,3380,2.421,3632,4.718,3742,1.998,3895,2.62,4266,3.463,4276,2.684,4278,2.22,4332,3.055,4342,1.554,4343,2.055,4833,1.963,5146,1.946,5158,2.035,5932,3.883,5933,4.743,5935,1.87,5936,2.511,5937,2.511,5938,3.861,5939,2.511,5940,4.154,5941,2.62,5942,2.248,5943,2.421,5945,2.511,5947,2.62,6419,4.795,6437,4.332,6438,4.538,6439,4.071,6440,5.971,6448,2.248,6456,2.382,6459,5.239,6465,3.746,6760,2.142,6988,2.684,6989,4.154,10347,2.62,10417,2.562,10451,2.464,10464,2.684,10490,4.351,10493,2.562,10498,2.684,10642,2.843,10643,2.758,10644,4.47,10645,2.843,10647,6.686,10659,6.77,10662,2.843,10663,2.684,10664,4.47,10665,2.62,10666,4.154,10667,4.154,10668,4.154,10669,2.22,10670,4.61,10671,4.61,10672,4.61,10673,4.61,10674,4.61,10675,4.61,10676,6.484,10677,6.59,10678,5.813,10679,4.351,10680,4.247,10681,2.62,10682,4.351,10683,2.684,10684,4.351,10685,5.637,10686,2.511,10687,2.758,10688,2.562,10689,2.562,10690,2.843,10691,2.843,10692,2.684,10693,2.62,10694,2.843,10695,2.843,10696,2.843,10697,2.843,10698,2.843,10699,2.843,10700,2.843,10701,2.843,10702,7.867,10703,2.843,10704,2.843,10705,4.61,10706,2.843,10707,2.843,10708,4.61,10709,4.61,10710,4.61,10711,2.843,10712,2.843,10713,2.843,10714,2.843,10715,2.843,10716,2.843,10717,2.843,10718,4.61,10719,5.813,10720,2.758,10721,2.843,10722,4.61,10723,2.758,10724,2.843,10725,4.61,10726,2.843,10727,5.813,10728,5.813,10729,2.758,10730,5.813,10731,2.843,10732,2.843,10733,2.843,10734,2.843,10735,2.843,10736,2.843,10737,2.843,10738,2.758,10739,2.843,10740,2.843,10741,2.843,10742,2.843,10743,2.843,10744,2.843,10745,2.843,10746,2.843,10747,2.843,10861,5.693,10862,3.511,10863,3.511,10864,3.511,10865,3.511]],["title/classes/FileResponseBuilder.html",[0,0.232,10866,6.018]],["body/classes/FileResponseBuilder.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.014,7,0.136,8,1.405,27,0.391,29,0.751,30,0.001,31,0.769,32,0.123,33,0.454,35,1.148,47,0.883,95,0.137,101,0.015,103,0.001,104,0.001,105,0.966,284,2.87,349,0.976,413,3.785,437,1.251,454,5.361,662,2.935,3601,3.821,6419,5.449,6505,8.773,6519,9.199,10337,5.851,10339,7.446,10350,10.184,10866,10.184,10867,11.626,10868,9.482,10869,8.275,10870,10.184]],["title/classes/FileSecurityCheckEntity.html",[0,0.232,10439,5.563]],["body/classes/FileSecurityCheckEntity.html",[0,0.25,2,0.82,3,0.016,4,0.016,5,0.008,7,0.106,27,0.529,29,0.587,30,0.001,31,0.424,32,0.155,33,0.535,47,0.875,83,3.438,95,0.132,96,1.961,101,0.015,103,0.001,104,0.001,105,0.755,112,0.759,138,2.235,172,4.198,173,2.148,181,2.679,236,1.945,347,4.32,376,4.546,377,4.726,379,0.936,381,2.507,480,3.467,486,3.752,556,2.734,570,7.376,839,3.483,1223,8.547,1778,2.903,1986,4.293,1987,6.731,2562,5.065,10439,8.036,10451,5.199,10452,9.773,10618,10.993,10677,8.107,10679,7.585,10680,7.403,10681,5.527,10682,7.585,10683,5.663,10871,6.854,10872,10.47,10873,9.924,10874,7.408,10875,7.408,10876,7.408,10877,11.059,10878,9.181,10879,7.408]],["title/interfaces/FileSecurityCheckEntityProps.html",[105,0.7,10872,6.018]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,32,0.154,33,0.635,47,0.949,83,3.1,95,0.141,96,2.225,101,0.017,103,0.001,104,0.001,105,0.856,107,1.971,112,0.825,172,4.04,173,2.436,181,2.269,236,1.754,347,4.691,376,3.414,377,3.55,556,2.907,570,7.343,839,3.355,1223,9.281,1778,3.293,1986,4.87,1987,7.311,2562,5.501,10439,6.805,10451,5.897,10452,6.269,10618,7.052,10677,8.804,10679,6.423,10680,8.041,10681,6.269,10682,8.239,10683,6.423,10871,7.775,10872,10.423,10877,12.009,10878,7.775]],["title/controllers/FileSecurityController.html",[259,2.631,10880,6.018]],["body/controllers/FileSecurityController.html",[0,0.266,3,0.017,4,0.017,5,0.009,7,0.113,8,1.248,27,0.426,29,0.818,30,0.001,31,0.591,32,0.149,33,0.494,35,1.251,47,0.916,95,0.154,100,2.679,101,0.012,103,0.001,104,0.001,124,6.444,138,1.852,141,5.737,150,1.773,177,1.463,223,3.279,226,1.149,236,1.28,259,3.954,262,2.878,324,3.988,333,3.353,337,4.099,345,2.499,349,0.81,437,1.038,608,2.39,1218,2.979,1230,7.279,1233,6.178,1364,5.741,2764,3.729,4081,4.973,6419,5.403,6441,3.687,6485,8.174,6863,5.105,6864,6.37,6865,4.698,6887,6.602,10452,5.869,10767,9.674,10880,9.046,10881,11.529,10882,7.867,10883,10.327,10884,10.327,10885,7.867,10886,9.276,10887,7.867,10888,7.867,10889,7.867,10890,7.867,10891,7.867,10892,11.529,10893,10.666,10894,7.867,10895,7.867,10896,7.867,10897,7.867,10898,6.891,10899,7.867,10900,7.867,10901,7.867,10902,7.867,10903,7.867,10904,7.867,10905,7.867]],["title/injectables/FileSystemAdapter.html",[539,0.921,10906,5.765]],["body/injectables/FileSystemAdapter.html",[0,0.153,3,0.01,4,0.01,5,0.014,7,0.065,8,0.84,27,0.503,29,0.893,30,0.001,31,0.645,32,0.151,33,0.539,35,1.477,36,2.694,47,0.982,95,0.121,101,0.007,103,0,104,0,112,0.532,153,2.18,226,0.66,262,2.935,274,7.025,333,4.807,348,5.863,349,1.115,358,2.02,360,6.65,379,1.069,437,1.428,539,0.931,541,1.084,590,4.287,603,1.748,608,2.374,686,3.153,843,4.875,1456,4.572,1678,4.239,1679,4.64,1731,5.183,1732,3.646,2088,4.508,2205,6.794,2218,6.428,2255,3.638,2357,3.297,2368,4.392,2396,2.594,2653,3.548,2830,6.951,2837,6.668,2882,5.912,3307,3.065,3534,6.428,3893,5.456,6441,3.256,8047,5.83,8070,8.679,10906,5.83,10907,11.475,10908,11.475,10909,4.518,10910,9.485,10911,6.947,10912,6.947,10913,6.947,10914,8.464,10915,8.464,10916,6.947,10917,8.464,10918,8.464,10919,6.947,10920,6.947,10921,4.518,10922,5.83,10923,10.77,10924,6.947,10925,4.518,10926,3.952,10927,8.323,10928,10.255,10929,6.947,10930,6.086,10931,5.31,10932,8.791,10933,11.641,10934,6.947,10935,4.518,10936,3.454,10937,8.464,10938,4.518,10939,6.428,10940,10.018,10941,8.464,10942,4.518,10943,7.831,10944,7.831,10945,8.791,10946,9.501,10947,6.947,10948,4.518,10949,6.428,10950,6.428,10951,5.31,10952,8.464,10953,4.518,10954,6.947,10955,4.518,10956,4.518,10957,6.947,10958,4.518,10959,3.792,10960,6.428,10961,4.518,10962,4.518,10963,4.518,10964,8.464,10965,4.518,10966,4.518,10967,4.518,10968,4.518,10969,4.518,10970,6.947,10971,4.518,10972,4.518,10973,3.548,10974,4.518,10975,4.518,10976,4.518]],["title/modules/FileSystemModule.html",[201,1.845,10977,5.765]],["body/modules/FileSystemModule.html",[0,0.328,3,0.021,4,0.021,5,0.013,30,0.001,95,0.139,101,0.015,103,0.001,104,0.001,201,3.413,203,3.521,204,3.774,205,3.88,206,3.865,207,3.849,208,4.69,209,4.81,218,4.714,219,3.804,220,3.717,226,1.418,10906,12.058,10907,8.982,10908,8.982,10977,11.693,10978,9.708,10979,9.708,10980,9.708,10981,9.708,10982,9.708]],["title/classes/FileUrlParams.html",[0,0.232,6480,4.737]],["body/classes/FileUrlParams.html",[0,0.456,2,0.7,3,0.014,4,0.019,5,0.01,7,0.091,26,2.467,27,0.425,30,0.001,32,0.163,33,0.426,39,1.699,47,0.961,95,0.148,99,1.023,101,0.021,103,0,104,0,105,0.645,112,0.681,119,1.846,138,1.848,143,1.401,147,4.815,148,1.963,149,4.313,150,1.426,151,5.945,153,1.451,154,1.269,245,3.59,247,2.721,248,4.885,249,4.38,348,3.185,808,4.846,809,6.145,819,5.188,839,3.207,852,2.948,988,3.884,990,2.168,1079,6.088,1147,1.925,1203,5.7,1204,4.162,1205,4.162,1262,3.6,2739,4.676,2922,4.939,3632,2.916,4266,2.141,5826,7.358,5933,2.932,6088,6.644,6419,5.24,6432,7.357,6438,6.145,6467,4.361,6468,4.439,6469,4.439,6472,7.869,6475,4.361,6476,8.162,6477,7.846,6478,7.846,6479,4.439,6480,6.139,6481,4.361,6482,4.439,6483,4.29,6484,6.038,6485,4.224,6486,4.29,6487,4.361,6488,4.29,6489,4.29,6490,4.05,6491,4.439,6492,4.439,6493,4.439,6494,4.05,6495,4.05,6496,4.162,6497,4.224,6498,4.439,10983,8.902,10984,6.325,10985,6.325,10986,6.325,10987,6.325]],["title/modules/FilesModule.html",[201,1.845,10988,5.765]],["body/modules/FilesModule.html",[0,0.304,3,0.02,4,0.02,5,0.01,30,0.001,95,0.16,101,0.014,103,0.001,104,0.001,201,3.296,203,3.257,204,3.491,205,3.589,206,3.574,207,3.56,208,4.529,209,3.4,214,6.296,218,4.493,219,3.518,220,3.438,225,4.475,226,1.312,1341,2.886,2487,4.679,2764,4.256,8160,9.846,8165,11.336,8169,7.865,8193,10.939,8194,11.336,8213,8.308,10988,11.938,10989,8.979,10990,8.979,10991,8.979,10992,8.979]],["title/injectables/FilesRepo.html",[539,0.921,8193,5.563]],["body/injectables/FilesRepo.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,8,0.992,10,3.336,12,3.689,18,4.108,26,2.56,27,0.523,29,0.986,30,0.001,31,0.712,32,0.161,33,0.595,34,1.368,35,1.471,36,2.715,40,2.724,49,3.609,55,2.405,56,2.724,58,6.89,83,2.782,95,0.143,96,2.173,97,2.304,99,0.914,101,0.009,103,0,104,0,154,1.647,155,2.67,173,1.638,177,1.05,180,1.423,226,0.825,236,1.336,262,2.984,349,1.093,361,3.213,379,0.713,382,3.162,437,1.641,479,4.785,490,2.917,539,1.1,541,1.355,608,2.239,662,3.926,679,6.972,685,3.437,686,3.726,687,4.749,711,3.373,712,3.409,713,3.373,714,3.409,715,3.895,716,3.373,717,3.409,718,3.008,723,4.039,741,3.831,1723,2.863,1778,2.213,2310,4.122,2311,5.987,2315,5.991,2353,3.831,3659,4.574,4381,6.408,4741,3.772,6130,4.317,6441,5.515,8168,9.301,8179,7.192,8193,6.648,8199,4.74,8202,8.116,8580,4.122,10414,4.317,10416,4.948,10426,4.214,10437,4.948,10620,4.948,10993,5.648,10994,8.21,10995,8.21,10996,8.21,10997,5.648,10998,8.21,10999,5.648,11000,5.648,11001,8.21,11002,5.648,11003,5.648,11004,8.21,11005,5.648,11006,5.648,11007,7.596,11008,4.574,11009,8.21,11010,5.648,11011,5.648,11012,7.192,11013,5.226,11014,5.648,11015,5.648,11016,5.648,11017,5.648,11018,5.648,11019,5.648]],["title/injectables/FilesService.html",[539,0.921,11020,6.357]],["body/injectables/FilesService.html",[0,0.251,3,0.016,4,0.016,5,0.008,7,0.107,8,1.201,26,2.811,27,0.514,29,0.988,30,0.001,31,0.713,32,0.162,33,0.596,35,1.449,36,2.851,39,3.213,95,0.141,99,1.201,101,0.011,103,0.001,104,0.001,154,1.489,155,3.231,177,1.38,226,1.084,262,3.053,345,2.357,349,1.322,379,0.937,437,1.31,539,1.331,541,1.78,608,2.768,696,4.65,2487,5.836,7047,6.228,8193,9.686,8202,5.673,11020,9.193,11021,7.422,11022,9.936,11023,9.936,11024,9.936,11025,9.936,11026,7.422,11027,9.936,11028,7.422,11029,9.936,11030,7.422,11031,9.936,11032,7.422,11033,9.936,11034,7.422,11035,9.936,11036,11.067,11037,9.936,11038,7.422,11039,9.936,11040,9.936,11041,7.422]],["title/modules/FilesStorageAMQPModule.html",[201,1.845,11042,6.018]],["body/modules/FilesStorageAMQPModule.html",[0,0.305,3,0.02,4,0.02,5,0.01,30,0.001,95,0.157,101,0.014,103,0.001,104,0.001,201,3.303,203,3.271,204,3.506,205,3.605,206,3.59,207,3.576,208,4.539,209,3.415,214,6.303,218,4.505,219,3.534,220,3.453,225,4.487,226,1.317,259,3.453,1232,6.894,1341,2.898,3600,4.484,6419,4.227,6441,4.227,6671,9.325,11042,12.469,11043,9.019,11044,9.019,11045,9.019,11046,10.951,11047,11.846,11048,8.345,11049,6.329,11050,8.345]],["title/modules/FilesStorageApiModule.html",[201,1.845,11051,5.765]],["body/modules/FilesStorageApiModule.html",[0,0.285,3,0.018,4,0.018,5,0.009,30,0.001,95,0.162,101,0.013,103,0.001,104,0.001,201,3.2,203,3.054,204,3.274,205,3.366,206,3.352,207,3.339,208,4.397,209,3.188,218,4.314,219,3.299,220,3.224,222,5.258,223,4.499,225,4.296,226,1.23,259,3.224,964,4.88,1232,6.437,1380,9.013,1797,9.502,2764,3.991,3600,4.187,3998,7.208,6419,3.947,6441,3.947,6671,9.163,10880,10.434,10893,12.294,11046,10.76,11049,5.91,11050,7.791,11051,11.939,11052,8.421,11053,8.421,11054,8.421,11055,11.911,11056,7.067,11057,6.437,11058,6.437]],["title/injectables/FilesStorageClientAdapterService.html",[539,0.921,6547,4.913]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.242,3,0.021,4,0.016,5,0.011,7,0.103,8,1.171,26,2.377,27,0.486,29,0.933,30,0.001,31,0.674,32,0.153,33,0.563,35,1.331,36,2.717,95,0.156,99,1.156,100,2.434,101,0.011,103,0.001,104,0.001,107,1.677,141,3.35,177,1.329,226,1.044,262,2.953,333,4.129,345,2.27,349,1.132,379,0.903,437,1.674,539,1.298,541,1.715,603,1.476,608,2.543,631,3.624,824,3.905,1341,2.297,2312,4.02,2313,5.374,3002,4.848,3600,6.729,3632,3.296,6418,5.463,6419,5.77,6441,3.35,6531,9.25,6533,9.885,6534,6.613,6547,6.927,6573,5.332,10612,5.998,11059,11.391,11060,7.148,11061,7.844,11062,8.485,11063,8.963,11064,10.988,11065,9.885,11066,7.148,11067,9.687,11068,7.148,11069,9.687,11070,7.148,11071,9.687,11072,7.148,11073,6.613,11074,7.148,11075,7.148,11076,12.693,11077,7.148,11078,7.148,11079,9.687,11080,7.148]],["title/classes/FilesStorageClientMapper.html",[0,0.232,10612,5.765]],["body/classes/FilesStorageClientMapper.html",[0,0.204,2,0.669,3,0.013,4,0.013,5,0.007,7,0.087,8,1.042,27,0.497,29,0.954,30,0.001,31,0.725,32,0.164,33,0.576,34,1.436,35,1.459,47,0.706,95,0.129,99,0.978,100,3.422,101,0.009,103,0,104,0,107,1.417,154,2.197,236,1.783,349,1.347,413,4.178,437,1.671,529,2.466,604,4.134,824,3.893,1515,6.163,2220,5.768,2684,4.591,2686,3.892,2883,3.834,3600,6.753,3632,2.786,5933,3.996,6192,4.619,6418,8.373,6419,5.808,6422,4.036,6423,10.4,6431,4.745,6438,6.964,6442,4.508,6466,4.508,6573,9.758,8898,3.729,9752,5.293,10342,10.632,10609,11.466,10611,10.135,10612,7.233,11081,6.043,11082,8.619,11083,8.619,11084,8.619,11085,8.619,11086,8.619,11087,8.619,11088,8.619,11089,6.043,11090,8.619,11091,6.043,11092,8.619,11093,6.043,11094,8.619,11095,6.043,11096,8.619,11097,6.043,11098,8.619,11099,6.043,11100,10.954,11101,6.043,11102,6.043,11103,6.043,11104,6.043,11105,6.043,11106,6.043,11107,6.043,11108,6.043,11109,6.043,11110,6.043,11111,6.043,11112,6.043,11113,8.619,11114,6.043,11115,6.043,11116,6.043]],["title/modules/FilesStorageClientModule.html",[201,1.845,3592,5.125]],["body/modules/FilesStorageClientModule.html",[0,0.282,3,0.018,4,0.018,5,0.009,30,0.001,95,0.157,101,0.013,103,0.001,104,0.001,201,3.184,203,3.023,204,3.24,205,3.331,206,3.318,207,3.305,208,4.375,209,4.488,214,6.177,218,4.285,219,3.266,220,3.191,225,4.268,226,1.217,1341,2.679,3043,5.085,3044,4.699,3592,10.673,3600,5.893,6419,3.906,6540,11.817,6547,10.07,6559,7.712,6587,9.67,6593,7.712,11065,11.12,11073,7.712,11117,8.335,11118,8.335,11119,8.335,11120,8.335,11121,8.335,11122,7.712,11123,7.712,11124,9.92]],["title/injectables/FilesStorageConsumer.html",[539,0.921,11047,6.018]],["body/injectables/FilesStorageConsumer.html",[0,0.192,3,0.012,4,0.021,5,0.006,7,0.082,8,0.996,26,2.149,27,0.439,29,0.843,30,0.001,31,0.609,32,0.138,33,0.509,35,1.175,36,2.524,39,1.526,95,0.154,96,1.503,99,0.919,100,1.934,101,0.009,103,0,104,0,138,1.74,173,1.647,177,1.804,226,0.83,262,2.802,349,0.999,379,1.041,437,1.555,521,2.243,539,1.104,541,1.363,556,2.371,603,2.199,608,2.616,631,2.879,662,3.932,766,3.175,816,5.804,824,3.783,996,2.739,997,2.647,998,2.707,999,2.86,1000,3.122,1025,4.221,1107,5.29,1185,6.059,1187,7.651,1224,3.986,1225,3.686,1341,1.825,1616,7.274,1832,3.122,1953,4.145,1954,4.062,2312,4.027,2313,4.857,2431,3.917,2739,3.742,3865,7.081,4784,5.255,6419,5.298,6472,7.109,6489,7.221,7133,6.385,8054,8.137,8898,3.505,10369,6.917,10686,5.895,11047,7.221,11061,8.621,11062,8.499,11124,5.255,11125,11.305,11126,5.68,11127,9.703,11128,5.68,11129,9.895,11130,10.208,11131,5.68,11132,5.255,11133,8.978,11134,9.076,11135,10.329,11136,9.703,11137,5.68,11138,5.255,11139,5.68,11140,5.68,11141,5.68,11142,7.627,11143,9.85,11144,11.305,11145,4.237,11146,5.255,11147,4.46,11148,4.341,11149,4.341,11150,4.975,11151,5.68,11152,5.68,11153,8.243,11154,5.68,11155,8.243,11156,5.68,11157,5.68,11158,8.243,11159,8.243,11160,5.68,11161,5.68,11162,5.68,11163,5.68]],["title/classes/FilesStorageMapper.html",[0,0.232,11150,6.018]],["body/classes/FilesStorageMapper.html",[0,0.29,2,0.663,3,0.013,4,0.013,5,0.007,7,0.086,8,1.035,27,0.495,29,0.951,30,0.001,31,0.687,32,0.164,33,0.574,35,1.454,55,2.63,56,5.261,59,2.636,70,5.495,95,0.142,101,0.009,103,0,104,0,105,0.61,154,1.201,226,0.875,236,1.878,271,2.219,349,1.236,413,4.173,437,1.63,529,1.714,790,3.016,816,5.948,824,3.043,1141,5.542,1142,3.74,1363,4.371,1664,2.243,1846,7.016,2647,4.747,3255,5.414,3548,4.85,3632,2.762,3860,4.371,4266,2.027,5933,2.777,6419,5.793,6437,8.055,6438,5.997,6442,7.458,6453,4.85,6458,4.85,6466,7.458,6472,7.708,6483,7.4,6484,4.063,6486,7.829,6863,6.487,6864,9.346,6887,5.026,6956,5.026,10686,6.124,10763,9.25,10764,7.924,10768,5.542,10770,7.924,10772,5.542,10773,5.542,10774,5.246,10776,5.542,10869,7.179,10870,5.246,11150,7.502,11164,12.361,11165,5.99,11166,8.565,11167,7.187,11168,8.565,11169,8.565,11170,8.565,11171,5.99,11172,7.187,11173,5.99,11174,5.99,11175,5.99,11176,8.565,11177,5.99,11178,8.565,11179,5.99,11180,5.99,11181,5.542,11182,5.99,11183,5.99,11184,5.99,11185,5.99,11186,5.542,11187,5.99,11188,5.246,11189,5.99,11190,5.99,11191,5.99,11192,5.99,11193,4.85,11194,5.99,11195,5.99,11196,5.99,11197,5.99,11198,5.99,11199,5.99,11200,5.99,11201,5.99]],["title/modules/FilesStorageModule.html",[201,1.845,11046,5.563]],["body/modules/FilesStorageModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,32,0.083,47,0.833,55,1.313,87,3.257,95,0.164,96,2.383,99,1.039,101,0.01,103,0,104,0,119,1.332,143,1.423,154,1.289,155,2.089,173,1.863,201,2.791,203,2.33,204,2.498,205,2.568,206,2.558,207,2.547,208,4.155,209,3.934,214,4.195,218,3.597,219,2.517,220,2.46,225,4.481,226,0.938,236,1.045,239,1.507,292,3.257,358,2.872,437,1.37,490,3.198,506,3.324,511,2.844,521,2.537,560,2.644,573,6.105,598,3.723,687,4.42,762,4.228,996,3.098,997,2.995,998,3.062,999,3.236,1076,4.291,1077,3.965,1168,5.391,1181,3.92,1183,5.203,1185,4.012,1187,4.169,1196,4.509,1201,5.391,1232,4.911,1341,2.065,1519,3.655,1726,2.751,1971,2.995,2079,2.844,2080,3.174,2081,3.062,2082,4.114,2487,3.348,2681,3.448,3601,2.589,4727,5.944,4956,4.43,5573,4.358,5624,4.358,6419,3.011,6437,5.432,6441,3.011,6475,4.43,6513,4.012,8898,3.965,10337,3.965,10462,4.594,10659,6.715,10790,10.76,11046,11.105,11129,11.343,11130,11.343,11202,6.425,11203,6.425,11204,6.425,11205,6.425,11206,8.621,11207,6.715,11208,6.715,11209,4.688,11210,6.88,11211,4.594,11212,4.594,11213,6.436,11214,7.553,11215,5.391,11216,4.594,11217,6.568,11218,6.568,11219,6.568,11220,4.594,11221,4.43,11222,5.628,11223,5.391,11224,6.425,11225,6.425,11226,6.425,11227,5.628,11228,6.425,11229,6.425,11230,6.425,11231,5.391,11232,6.88,11233,4.793,11234,4.793,11235,4.688,11236,5.203,11237,4.911,11238,5.045,11239,5.944]],["title/injectables/FilesStorageProducer.html",[539,0.921,11065,5.765]],["body/injectables/FilesStorageProducer.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.031,26,2.196,27,0.509,29,1.018,30,0.001,31,0.706,32,0.167,33,0.59,35,1.451,36,2.565,47,0.842,55,1.217,95,0.146,99,0.963,101,0.009,103,0,104,0,107,1.397,141,3.997,177,1.853,180,1.479,226,0.87,262,2.911,349,1.026,379,1.077,382,2.967,437,1.314,448,5.086,479,3.126,519,1.833,539,1.143,541,1.428,584,8.12,598,3.451,603,1.23,608,2.306,824,4.385,1107,6.533,1185,3.718,1187,3.864,1210,4.822,1211,8.939,1218,3.229,1224,4.179,1225,3.864,1341,1.914,1616,7.774,2312,4.136,2313,4.964,3600,5.726,3865,8.744,3982,6.906,4018,4.442,6419,5.397,8898,3.675,11059,10.655,11061,6.906,11062,7.471,11063,7.891,11065,7.157,11132,7.891,11134,6.363,11138,7.891,11145,6.363,11147,4.676,11148,4.551,11149,4.551,11240,5.954,11241,10.055,11242,7.471,11243,7.471,11244,5.954,11245,8.545,11246,5.954,11247,5.954,11248,8.529,11249,8.545,11250,5.954,11251,5.216,11252,5.509,11253,5.216,11254,5.509,11255,5.216,11256,5.509,11257,4.997,11258,5.509,11259,5.954,11260,5.954,11261,5.954,11262,5.954,11263,5.954,11264,5.954,11265,5.954,11266,5.954,11267,5.954,11268,5.954,11269,5.954]],["title/modules/FilesStorageTestModule.html",[201,1.845,11270,6.018]],["body/modules/FilesStorageTestModule.html",[0,0.246,3,0.016,4,0.016,5,0.008,8,0.88,27,0.3,29,0.576,30,0.001,31,0.416,32,0.094,33,0.348,35,0.881,59,2.239,95,0.16,99,1.177,101,0.011,103,0.001,104,0.001,154,1.459,155,2.366,201,3.187,203,2.639,204,2.829,205,2.908,206,2.896,207,2.885,208,4.38,209,2.755,214,5.947,218,3.918,219,2.851,220,2.786,223,4.622,225,4.931,226,1.063,349,0.749,413,2.951,437,1.462,490,3.484,1170,5.309,1171,6.76,1174,7.405,1232,7.494,1341,2.338,1380,8.655,1752,7.259,2531,3.373,2963,3.819,3600,5.513,6419,4.595,6437,5.916,6441,3.41,6671,8.798,8898,4.49,11049,5.106,11051,10.707,11213,7.011,11270,12.462,11271,7.276,11272,7.276,11273,8.692,11274,9.311,11275,6.373,11276,8.852,11277,7.276,11278,5.309,11279,6.105,11280,7.314]],["title/classes/FilterImportUserParams.html",[0,0.232,11281,5.765]],["body/classes/FilterImportUserParams.html",[0,0.315,2,1.38,3,0.015,4,0.015,5,0.008,7,0.097,27,0.527,30,0.001,32,0.169,33,0.661,47,0.94,95,0.16,101,0.016,103,0,104,0,112,0.712,119,1.931,138,2.293,143,2.062,147,5.036,148,2.094,149,5.025,150,1.52,247,2.901,248,4.821,249,5.104,276,4.629,361,6.065,651,5.141,652,5.141,809,6.63,839,3.579,852,3.144,1475,6.533,1903,6.126,2406,5.204,2417,5.745,3135,5.961,3136,5.296,4381,5.618,4565,5.882,5515,5.502,5590,7.094,11281,7.812,11282,12.052,11283,5.66,11284,7.482,11285,7.352,11286,6.745,11287,6.745,11288,9.864,11289,6.745,11290,6.745,11291,6.745,11292,6.745,11293,6.745,11294,11.161,11295,6.24,11296,6.745,11297,6.745,11298,6.745,11299,11.161,11300,6.745,11301,6.745,11302,9.31,11303,4.823,11304,6.505,11305,6.745,11306,6.745]],["title/classes/FilterNewsParams.html",[0,0.232,11307,5.563]],["body/classes/FilterNewsParams.html",[0,0.356,2,0.896,3,0.018,4,0.018,5,0.009,7,0.116,27,0.482,30,0.001,32,0.152,33,0.629,34,1.754,47,0.87,95,0.146,99,1.311,101,0.012,103,0.001,104,0.001,112,0.806,119,2.183,138,2.097,147,5.694,148,2.515,149,4.776,150,1.826,151,7.03,153,2.944,248,4.208,249,4.851,253,4.003,808,4.174,839,2.522,852,3.776,993,5.884,2739,5.619,2773,6.928,2918,5.65,2919,5.65,7099,7.588,7105,7.662,7106,7.55,7149,7.528,7281,7.097,7283,8.207,7285,7.496,7290,7.496,7292,7.927,7295,7.682,7301,7.496,11307,8.525,11308,12.38,11309,9.47,11310,7.097,11311,8.267,11312,8.834,11313,8.102,11314,8.102,11315,7.496,11316,7.854,11317,8.102]],["title/classes/FilterUserParams.html",[0,0.232,11318,5.765]],["body/classes/FilterUserParams.html",[0,0.398,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,27,0.399,30,0.001,31,0.726,32,0.126,33,0.563,47,0.827,95,0.139,101,0.015,103,0.001,104,0.001,112,0.901,138,1.737,148,3.006,149,4.544,150,2.183,248,4.707,249,4.615,274,7.108,480,3.276,651,5.68,652,5.68,809,6.474,4381,7.108,4565,5.318,11282,10.897,11283,8.127,11288,8.961,11318,9.883,11319,9.685]],["title/classes/ForbiddenLoggableException.html",[0,0.232,1851,5.395]],["body/classes/ForbiddenLoggableException.html",[0,0.286,2,0.938,3,0.018,4,0.018,5,0.009,7,0.122,8,1.31,26,2.541,27,0.447,29,0.671,30,0.001,31,0.485,32,0.155,33,0.405,35,1.026,39,3.209,47,0.839,95,0.154,99,1.371,101,0.013,103,0.001,104,0.001,131,4.54,177,2.222,180,1.879,182,2.684,191,4.548,226,1.238,284,2.565,349,0.873,379,1.368,437,1.118,603,2.467,687,6.182,754,7.423,1025,4.296,1107,4.62,1147,3.298,1338,5.538,1343,6.26,1670,6.865,1673,5.229,1851,8.51,2530,7.133,8829,6.561,9276,5.357,9283,4.958,9284,5.17,11320,11.946,11321,6.862,11322,7.84,11323,8.474,11324,7.111,11325,7.111,11326,8.474,11327,8.474,11328,8.474]],["title/classes/ForbiddenOperationError.html",[0,0.232,288,5.765]],["body/classes/ForbiddenOperationError.html",[0,0.261,2,0.856,3,0.017,4,0.017,5,0.009,7,0.111,8,1.234,27,0.546,29,0.612,30,0.001,31,0.442,32,0.178,33,0.547,35,0.937,47,0.912,55,1.58,59,3.143,95,0.121,101,0.012,103,0.001,104,0.001,112,0.781,138,2.267,177,2.553,180,1.77,182,2.449,226,1.129,288,8.568,347,2.795,379,0.976,382,3.866,821,5.636,824,2.748,951,5.357,988,5.304,990,4.45,1025,5.012,1269,8.392,1270,7.601,1271,3.796,1272,7.319,1276,5.018,1277,4.322,1278,5.018,1279,5.018,1280,5.018,1281,5.018,1282,5.018,1283,4.666,1284,4.399,1285,6.072,1290,4.888,1691,8.018,4699,6.261,8262,6.925,11329,10.21,11330,7.733,11331,7.733,11332,7.733,11333,8.268,11334,7.154]],["title/controllers/FwuLearningContentsController.html",[259,2.631,11335,5.765]],["body/controllers/FwuLearningContentsController.html",[0,0.256,3,0.017,4,0.017,5,0.008,7,0.109,8,1.217,27,0.312,29,0.6,30,0.001,31,0.433,32,0.131,33,0.362,35,0.917,36,2.156,95,0.156,101,0.012,103,0.001,104,0.001,137,4.729,138,1.358,141,5.652,143,1.678,150,1.707,177,1.409,223,3.157,226,1.106,236,1.639,259,2.9,261,3.631,262,2.496,271,4.191,333,4.292,337,3.947,338,4.034,343,4.065,345,2.406,349,0.78,360,3.84,437,1.492,529,2.167,608,1.753,824,4.461,1181,4.621,1226,3.652,1284,4.309,1363,5.527,2079,3.352,2080,3.742,2081,3.61,2255,3.856,2963,3.975,3548,6.133,3940,4.27,6863,8.147,6864,6.133,6865,4.523,6881,6.133,6887,6.356,10886,8.8,10898,6.634,11335,8.451,11336,7.909,11337,10.137,11338,10.071,11339,7.574,11340,8.451,11341,7.574,11342,10.563,11343,10.071,11344,7.574,11345,9.162,11346,6.634,11347,6.634,11348,7.574,11349,7.574,11350,7.574,11351,7.574,11352,7.574,11353,7.574,11354,8.648,11355,7.574,11356,7.574,11357,7.574,11358,7.008,11359,7.008,11360,7.008,11361,6.634,11362,7.574,11363,7.008,11364,7.008,11365,7.574,11366,7.574,11367,7.574,11368,7.574,11369,7.574]],["title/modules/FwuLearningContentsModule.html",[201,1.845,11370,6.018]],["body/modules/FwuLearningContentsModule.html",[0,0.221,3,0.014,4,0.014,5,0.007,30,0.001,32,0.085,47,0.46,87,3.32,94,4.535,95,0.164,96,2.415,99,1.059,101,0.01,103,0,104,0,143,1.451,155,2.13,173,1.899,201,2.82,203,2.375,204,2.546,205,2.618,206,2.607,207,2.597,208,3.875,209,2.48,214,5.76,218,3.646,219,2.566,220,2.508,223,3.802,225,3.631,226,0.957,236,1.066,239,2.462,276,3.961,292,3.32,358,2.928,437,0.864,490,3.241,511,2.899,521,2.586,573,6.187,598,3.795,644,4.252,687,4.479,762,4.31,964,3.795,996,3.158,997,3.052,998,3.122,999,3.298,1076,4.374,1077,4.042,1341,2.105,1380,8.383,1519,3.726,1726,2.804,1752,7.031,1971,3.052,2531,3.036,2681,3.515,3601,2.639,3998,6.092,4956,4.516,5573,4.442,5624,4.442,6513,4.089,6671,8.522,8898,4.042,9006,5.014,10337,4.042,10462,4.683,11049,4.596,11206,8.673,11207,6.805,11208,6.805,11209,4.779,11210,6.972,11211,4.683,11212,4.683,11216,8.535,11217,6.657,11218,6.657,11219,6.657,11220,4.683,11221,4.516,11223,5.496,11231,5.496,11232,6.972,11233,4.886,11234,4.886,11235,4.779,11236,5.303,11237,5.006,11238,5.143,11239,6.059,11335,8.808,11336,5.143,11337,9.373,11340,5.496,11345,10.008,11346,5.737,11347,5.737,11370,12.278,11371,6.549,11372,6.549,11373,6.549,11374,6.059,11375,6.549,11376,6.092,11377,6.059,11378,6.059,11379,6.059,11380,5.737]],["title/modules/FwuLearningContentsTestModule.html",[201,1.845,11381,6.018]],["body/modules/FwuLearningContentsTestModule.html",[0,0.221,3,0.014,4,0.014,5,0.007,8,0.79,27,0.27,29,0.518,30,0.001,31,0.374,32,0.085,33,0.313,35,0.792,59,2.013,94,4.53,95,0.164,99,1.058,101,0.01,103,0,104,0,155,2.126,201,3.047,203,2.372,204,2.542,205,2.613,206,2.603,207,2.592,208,4.403,209,2.476,214,5.757,218,3.642,219,2.562,220,2.503,223,4.728,225,4.748,226,0.955,239,2.137,276,3.956,349,0.673,413,2.743,437,1.383,490,3.238,598,3.789,644,4.247,964,3.789,1170,4.771,1171,6.283,1174,7.004,1341,2.101,1380,8.379,1752,7.027,1971,3.048,2531,3.031,3601,2.635,3998,6.085,6513,4.083,6671,8.518,8898,4.035,9006,5.008,10337,4.035,11049,4.588,11056,5.487,11212,4.676,11216,8.53,11220,4.676,11221,4.509,11223,5.487,11231,5.487,11273,8.371,11274,9.014,11275,5.727,11276,8.463,11278,4.771,11280,6.798,11335,8.801,11336,7.155,11337,9.953,11340,5.487,11345,10.003,11346,5.727,11347,5.727,11374,8.43,11376,6.085,11378,6.05,11379,6.05,11380,5.727,11381,12.395,11382,6.539,11383,6.539,11384,6.539,11385,6.18,11386,6.539,11387,5.727,11388,4.998,11389,5.727]],["title/injectables/FwuLearningContentsUc.html",[539,0.921,11345,5.563]],["body/injectables/FwuLearningContentsUc.html",[0,0.29,3,0.019,4,0.019,5,0.01,7,0.123,8,1.32,27,0.451,29,0.865,30,0.001,31,0.625,32,0.142,33,0.522,35,1.039,47,0.938,59,2.641,95,0.149,101,0.013,103,0.001,104,0.001,177,1.596,226,1.253,262,2.651,349,0.884,360,4.35,379,1.379,437,1.132,539,1.464,541,2.059,603,2.256,608,1.986,639,4.044,824,3.882,1074,8.349,1218,3.249,1341,2.758,2312,4.533,2313,5.771,3002,5.82,3601,3.458,10337,5.296,11336,9.437,11337,10.656,11340,7.201,11345,8.845,11354,9.669,11380,7.517,11390,12.017,11391,8.581,11392,9.731,11393,9.231,11394,8.581,11395,8.581,11396,8.581,11397,8.581,11398,8.581,11399,8.581]],["title/interfaces/GetFile.html",[105,0.7,6519,4.821]],["body/interfaces/GetFile.html",[3,0.018,4,0.018,5,0.012,7,0.118,30,0.001,32,0.167,33,0.651,47,1.02,55,2.632,95,0.097,101,0.02,103,0.001,104,0.001,105,1.345,107,1.923,112,0.812,284,3.899,360,5.379,556,2.592,1215,7.08,1217,4.624,1361,4.436,2094,5.061,5838,7.14,6441,4.972,6508,6.118,6509,6.118,6510,6.44,6511,6.268,6512,6.268,6513,5.121,6514,6.118,6515,5.562,6516,5.562,6517,5.562,6518,5.562,6519,7.446,6520,7.675,6521,7.506,6522,7.506,6523,5.984,6524,8.11,6525,8.11,6526,6.118]],["title/interfaces/GetFileResponse.html",[105,0.7,10869,4.521]],["body/interfaces/GetFileResponse.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,31,0.726,32,0.176,33,0.658,47,1.012,55,2.466,95,0.143,101,0.017,103,0.001,104,0.001,105,1.119,107,2.03,112,0.84,154,1.736,284,3.841,348,4.358,790,4.358,1215,6.975,1217,4.879,5838,7.285,6419,4.056,6437,7.281,6490,7.725,6520,7.831,6521,7.658,6522,7.658,10869,7.227,11354,6.615,11400,8.007,11401,7.008,11402,7.581,11403,6.456,11404,6.315]],["title/interfaces/GetFileResponse-1.html",[105,0.582,708,2.292,10869,3.759]],["body/interfaces/GetFileResponse-1.html",[0,0.386,3,0.014,4,0.014,5,0.007,7,0.095,30,0.001,31,0.686,32,0.165,33,0.621,34,1.105,47,1.003,55,2.333,95,0.125,101,0.019,103,0,104,0,105,1.077,107,1.556,112,0.704,150,1.496,180,1.15,245,3.466,271,3.915,284,3.63,319,3.888,1105,3.32,1125,6.449,1150,3.882,1215,6.591,1217,3.741,1218,2.512,1271,2.071,1820,5.555,1821,6.243,2024,3.092,2171,6.538,2236,4.841,2255,2.54,2297,4.5,2784,3.144,3130,5.555,5833,8.052,5838,6.884,5847,4.656,5854,4.744,5883,3.809,5890,4.744,5891,4.744,5896,4.744,5948,6.582,6441,4.314,6520,7.4,6521,7.237,6522,7.237,7287,5.44,7536,4.656,10530,5.555,10869,6.057,11405,4.305,11406,5.071,11407,7.035,11408,8.079,11409,7.035,11410,6.717,11411,7.035,11412,5.071,11413,5.071,11414,5.071,11415,5.071,11416,5.071,11417,5.071,11418,4.95,11419,6.243,11420,4.656,11421,5.071,11422,5.071,11423,4.575,11424,6.867,11425,4.841,11426,5.071,11427,5.071,11428,5.071,11429,5.071,11430,5.071,11431,7.885,11432,4.841,11433,5.071]],["title/classes/GetFwuLearningContentParams.html",[0,0.232,11342,6.018]],["body/classes/GetFwuLearningContentParams.html",[0,0.4,2,1.082,3,0.021,4,0.021,5,0.011,7,0.14,27,0.403,30,0.001,32,0.127,47,0.832,95,0.14,101,0.015,103,0.001,104,0.001,112,0.906,138,1.754,148,3.035,150,2.204,245,3.047,248,4.735,250,7.585,809,6.511,11336,9.303,11337,10.403,11342,10.377,11434,11.847,11435,9.778,11436,12.745,11437,9.778,11438,10.961,11439,11.847,11440,9.778,11441,9.778,11442,9.778]],["title/classes/GetH5PContentParams.html",[0,0.232,11443,5.125]],["body/classes/GetH5PContentParams.html",[0,0.442,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,26,1.996,27,0.408,30,0.001,32,0.128,33,0.473,47,0.919,95,0.151,99,1.192,101,0.02,103,0.001,104,0.001,112,0.757,138,1.773,148,2.287,150,1.661,154,1.478,245,3.614,247,3.169,248,4.46,249,3.874,271,4.134,808,5.078,809,7.039,839,3.713,852,3.434,1105,5.584,1108,7.428,1150,7.494,1218,3.744,2024,3.434,2171,5.391,2921,4.355,2922,5.964,3632,3.397,4260,9.379,4263,8.53,5663,5.081,5833,7.241,5883,4.23,5930,8.089,5933,3.416,7299,6.706,10530,4.446,11405,7.241,11443,7.376,11444,5.786,11445,7.368,11446,7.368,11447,7.368,11448,7.765,11449,5.497,11450,5.497,11451,5.497,11452,5.632,11453,5.786,11454,5.497,11455,5.786]],["title/classes/GetH5PEditorParams.html",[0,0.232,11450,5.125]],["body/classes/GetH5PEditorParams.html",[0,0.443,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,26,2,27,0.409,30,0.001,32,0.128,47,0.92,95,0.151,99,1.196,101,0.02,103,0.001,104,0.001,112,0.758,138,1.778,148,2.295,150,1.667,154,1.483,245,3.615,247,3.181,248,4.468,249,3.883,271,4.141,808,5.083,809,7.046,839,3.718,852,3.447,1105,5.594,1108,7.437,1150,7.502,1218,3.753,2024,3.447,2171,5.404,2921,4.37,2922,5.971,3632,3.41,4260,9.384,4263,8.545,5663,5.099,5833,7.254,5883,4.245,5930,8.101,5933,3.428,7299,6.723,10530,4.463,11405,7.254,11443,5.517,11444,5.807,11448,7.783,11449,5.517,11450,7.394,11451,5.517,11452,5.652,11453,5.807,11454,5.517,11455,5.807,11456,7.395,11457,6.842,11458,7.395]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.232,11449,5.125]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.445,2,0.836,3,0.016,4,0.016,5,0.008,7,0.109,26,2.03,27,0.312,30,0.001,32,0.098,47,0.906,95,0.152,99,1.223,101,0.02,103,0.001,104,0.001,112,0.77,138,1.356,148,2.347,150,1.704,154,1.516,245,3.625,247,3.252,248,4.518,249,3.941,271,4.187,808,5.115,809,7.091,839,3.751,852,3.524,1105,5.033,1108,7.492,1150,7.051,1218,3.808,2024,3.524,2171,5.484,2921,4.468,2922,6.015,3632,3.486,4260,9.416,4263,8.64,5833,7.335,5883,4.34,5930,8.173,5933,3.505,7299,6.823,10530,4.562,11405,6.527,11443,5.64,11444,5.937,11448,7.899,11449,7.504,11450,5.64,11451,5.64,11452,5.778,11453,5.937,11454,5.64,11455,5.937,11457,6.995,11459,7.56]],["title/interfaces/GetH5PFileResponse.html",[105,0.7,11423,4.737]],["body/interfaces/GetH5PFileResponse.html",[0,0.386,3,0.014,4,0.014,5,0.007,7,0.095,30,0.001,31,0.686,32,0.165,33,0.621,34,1.105,47,1.003,55,2.333,95,0.125,101,0.019,103,0,104,0,105,1.077,107,1.556,112,0.704,150,1.496,180,1.15,245,3.466,271,3.915,284,3.63,319,3.888,1105,3.32,1125,6.449,1150,3.882,1215,6.591,1217,3.741,1218,2.512,1271,2.071,1820,5.555,1821,6.243,2024,3.092,2171,6.538,2236,4.841,2255,2.54,2297,4.5,2784,3.144,3130,5.555,5833,8.052,5838,6.884,5847,4.656,5854,4.744,5883,3.809,5890,4.744,5891,4.744,5896,4.744,5948,6.582,6441,4.314,6520,7.4,6521,7.237,6522,7.237,7287,5.44,7536,4.656,10530,5.555,10869,4.366,11405,4.305,11406,5.071,11407,7.035,11408,8.079,11409,7.035,11410,6.717,11411,7.035,11412,5.071,11413,5.071,11414,5.071,11415,5.071,11416,5.071,11417,5.071,11418,4.95,11419,6.243,11420,4.656,11421,5.071,11422,5.071,11423,6.347,11424,6.867,11425,4.841,11426,5.071,11427,5.071,11428,5.071,11429,5.071,11430,5.071,11431,7.885,11432,4.841,11433,5.071]],["title/interfaces/GetH5pFileResponse.html",[105,0.7,11423,4.737]],["body/interfaces/GetH5pFileResponse.html",[0,0.28,3,0.018,4,0.018,5,0.013,7,0.119,30,0.001,31,0.739,32,0.171,33,0.652,47,1.001,55,2.704,95,0.126,101,0.018,103,0.001,104,0.001,105,1.088,107,1.943,112,0.817,284,4.005,829,4.286,834,4.516,1105,4.145,1147,2.521,1215,7.272,1217,4.671,1361,4.481,2044,3.221,2190,5.237,3601,3.338,5838,7.418,6421,6.951,6456,5.619,6520,7.705,6521,7.798,6522,7.798,10332,6.951,10337,5.112,10338,6.951,10339,6.505,10340,6.708,11405,5.375,11423,7.364,11460,8.648,11461,6.332]],["title/interfaces/GetLibraryFile.html",[105,0.7,11461,5.251]],["body/interfaces/GetLibraryFile.html",[0,0.291,3,0.019,4,0.019,5,0.013,7,0.123,30,0.001,31,0.626,32,0.173,33,0.523,47,0.974,55,2.731,95,0.129,101,0.019,103,0.001,104,0.001,105,1.115,107,2.017,112,0.837,120,4.62,284,4.044,829,4.449,834,4.688,1105,4.303,1147,2.617,1215,7.344,1217,4.848,1361,4.651,2044,3.343,2190,5.436,3601,3.465,5838,7.504,6421,7.216,6456,5.833,6520,5.307,6521,7.888,6522,7.888,10332,7.216,10337,5.307,10338,7.216,10339,6.753,10340,6.963,11405,5.58,11423,5.93,11460,8.857,11461,8.361]],["title/interfaces/GetLibraryFile-1.html",[105,0.582,708,2.292,11461,4.366]],["body/interfaces/GetLibraryFile-1.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.178,33,0.56,47,0.888,55,2.758,95,0.113,101,0.015,103,0.001,104,0.001,105,0.978,107,2.25,112,0.896,120,4.946,284,3.984,829,4.964,1105,4.8,1215,7.234,1217,5.409,2190,6.065,5838,7.556,6521,7.943,6522,7.943,11461,8.951,11462,9.594,11463,9.594]],["title/classes/GetMetaTagDataBody.html",[0,0.232,11464,6.018]],["body/classes/GetMetaTagDataBody.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,47,0.836,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,138,1.766,142,3.844,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,245,3.06,1262,4.468,2232,6.709,8704,7.83,11464,10.422,11465,9.095,11466,8.683,11467,11.899,11468,9.849,11469,9.849,11470,9.849]],["title/interfaces/GlobalConstants.html",[105,0.7,11471,6.357]],["body/interfaces/GlobalConstants.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.164,33,0.63,47,0.993,95,0.113,101,0.015,103,0.001,104,0.001,105,0.978,107,2.25,112,0.896,437,1.544,1262,3.353,1822,5.729,11217,9.849,11218,9.849,11219,9.849,11471,11.694,11472,9.594,11473,11.71,11474,9.594,11475,11.71]],["title/classes/GlobalErrorFilter.html",[0,0.232,8910,5.765]],["body/classes/GlobalErrorFilter.html",[0,0.163,2,0.533,3,0.011,4,0.011,5,0.005,7,0.069,8,0.882,27,0.502,29,0.941,30,0.001,31,0.696,32,0.154,33,0.568,35,1.439,95,0.151,100,1.641,101,0.007,103,0,104,0,105,0.491,177,0.896,226,0.704,236,1.877,340,2.337,345,1.53,349,1.223,379,0.608,437,1.75,479,4.07,519,3.023,521,1.903,556,1.177,603,2.819,604,3.002,645,3.516,646,3.445,824,4.637,951,4.604,990,4.473,996,2.323,997,2.246,998,2.297,1025,3.894,1147,2.221,1195,9.058,1218,2.763,1226,3.519,1227,3.445,1242,5.313,1266,4.949,1269,6.062,1271,3.066,1283,7.707,1292,4.22,1295,3.516,1338,5.747,1341,1.548,2092,4.22,2312,3.028,3002,3.268,3368,3.902,3730,7.508,3965,6.391,4541,2.877,4699,3.902,4858,5.314,6865,2.877,8816,3.902,8865,8.243,8883,3.902,8895,3.902,8910,6.123,8933,8.243,10156,4.458,11145,6.57,11146,4.458,11476,12.398,11477,4.458,11478,8.806,11479,7.297,11480,7.297,11481,7.297,11482,7.297,11483,7.297,11484,9.823,11485,7.297,11486,4.818,11487,6.751,11488,11.534,11489,4.818,11490,7.297,11491,4.818,11492,7.297,11493,4.818,11494,7.297,11495,4.818,11496,7.297,11497,4.818,11498,7.297,11499,4.818,11500,4.818,11501,7.297,11502,4.818,11503,4.818,11504,6.123,11505,4.818,11506,4.818,11507,4.818,11508,4.818,11509,4.818,11510,4.818,11511,4.818,11512,4.818,11513,4.818,11514,4.818,11515,4.818,11516,4.818,11517,4.818,11518,4.818,11519,4.818,11520,4.818,11521,4.818,11522,4.818,11523,4.818,11524,4.818,11525,4.818,11526,7.297,11527,4.818,11528,4.818,11529,4.818,11530,7.297,11531,4.818,11532,4.818,11533,4.818,11534,4.818,11535,4.818,11536,4.818,11537,4.818,11538,4.818,11539,4.818]],["title/classes/GlobalValidationPipe.html",[0,0.232,11540,6.018]],["body/classes/GlobalValidationPipe.html",[0,0.39,2,0.872,3,0.017,4,0.017,5,0.009,27,0.325,30,0.001,32,0.15,95,0.122,100,4.332,101,0.012,103,0.001,104,0.001,112,0.603,138,1.855,142,3.076,143,2.892,145,2.215,148,3.21,153,1.808,180,1.793,182,2.496,226,1.151,236,1.283,245,2.027,271,2.92,283,7.121,284,2.386,310,3.422,340,3.824,358,4.622,379,1.457,472,5.35,480,2.876,486,3.113,511,3.489,517,2.973,578,4.809,760,6.025,766,4.406,828,5.187,990,2.702,1082,7.714,1121,5.047,1124,6.905,1131,10.676,1133,6.025,1157,7.293,1181,6.309,1266,5.346,1289,7.849,1297,5.187,1304,4.659,1728,5.187,1832,4.332,2000,5.936,2095,5.346,2171,4.297,2424,4.659,2739,4.693,3309,4.983,3519,6.804,3526,5.88,4654,8.373,5284,4.983,6688,7.256,8816,6.383,9425,5.752,11540,9.057,11541,10.34,11542,7.882,11543,10.676,11544,7.882,11545,8.12,11546,7.882,11547,7.882,11548,7.882,11549,7.882,11550,6.905,11551,7.882,11552,6.905,11553,7.882,11554,7.293,11555,7.882,11556,7.882,11557,7.882,11558,6.383]],["title/classes/GridElement.html",[0,0.232,7716,5.395]],["body/classes/GridElement.html",[0,0.174,2,0.343,3,0.007,4,0.007,5,0.003,7,0.122,8,0.622,26,2.474,27,0.511,29,0.834,30,0.001,31,0.602,32,0.162,33,0.555,34,1.809,35,1.405,39,1.382,47,0.885,55,2.476,83,0.893,95,0.078,101,0.016,103,0,104,0,105,0.316,112,0.394,119,1.9,120,2.173,181,1.389,191,2.761,192,1.938,226,0.453,236,1.652,349,1.355,379,0.392,381,1.741,404,3.396,405,2.72,413,3.426,437,1.735,480,1.833,486,0.934,519,3.629,529,1.886,556,2.37,603,2.47,696,2.98,708,2.644,739,3.312,849,1.72,975,4.735,1080,4.908,1147,1.566,1271,3.553,1553,5.036,1568,3.294,1739,4.473,1942,4.545,2297,2.105,2501,1.479,2647,2.851,2668,7.453,2680,1.799,2681,1.666,2723,2.14,2784,3.633,2804,4.526,3261,2.316,3458,2.178,3631,3.294,3725,7.131,3797,3.213,4969,1.915,6612,2.605,6719,2.105,6761,9.653,6765,3.754,6845,3.548,7077,5.285,7623,5.481,7646,2.265,7647,2.719,7649,2.719,7652,2.719,7653,2.605,7654,7.687,7656,2.438,7663,4.507,7669,2.719,7673,2.719,7676,2.719,7677,7.687,7679,9.109,7682,5.859,7684,2.719,7685,7.131,7688,2.719,7690,2.719,7692,2.719,7694,2.719,7696,2.719,7698,2.719,7701,2.719,7703,4.507,7704,2.316,7705,7.443,7706,6.714,7707,5.772,7708,7.443,7709,5.772,7710,4.507,7711,7.443,7712,4.507,7713,5.772,7714,2.719,7715,3.838,7716,9.625,7717,5.772,7718,4.507,7719,2.719,7720,4.507,7721,2.719,7722,4.507,7723,2.719,7724,4.507,7725,4.507,7726,4.507,7727,4.507,7728,4.507,7729,2.719,7730,4.507,7731,2.605,7732,4.507,7733,2.719,7734,2.14,7735,4.507,7736,2.719,7737,2.719,7738,2.719,7739,4.507,7740,2.513,7741,2.719,7742,4.507,7743,2.719,7744,2.372,7745,2.719,7746,2.719,7747,2.719,7748,2.719,7749,2.719,7750,2.719,7751,2.719,7752,2.719,7753,2.719,7754,4.507,7755,4.507,7756,2.605,7757,5.772,7758,2.719,7759,4.507,7760,2.719,7761,2.719,7762,2.719,7763,2.719,7764,2.719,7765,2.719,7766,2.719,7767,2.719,7768,2.719,7769,2.719,7770,2.719,7771,2.719,7772,2.719,7773,2.719,7774,2.719,7775,2.719,7776,2.719,7777,2.719,7778,2.719,7779,2.719,7780,2.719,7781,2.719,7782,2.719,7783,4.507,7784,2.719,7785,2.719,7786,2.719,7787,4.507,7788,4.507,7789,2.719,7790,2.719,7791,2.719,7792,2.719,7793,2.719,7794,2.719,7795,2.719,7796,5.772,7797,2.719,7798,2.719,11559,4.76,11560,5.145,11561,5.145,11562,5.145,11563,5.145,11564,4.76,11565,4.76,11566,4.76,11567,3.104,11568,3.104,11569,3.104,11570,3.104,11571,3.104,11572,3.104,11573,2.872,11574,3.104,11575,3.104,11576,3.104,11577,3.104,11578,3.104,11579,3.104,11580,3.104,11581,3.104,11582,3.104,11583,3.104,11584,3.104,11585,3.104]],["title/classes/Group.html",[0,0.232,975,3.353]],["body/classes/Group.html",[0,0.234,2,0.767,3,0.015,4,0.015,5,0.008,7,0.099,8,1.146,26,1.914,27,0.555,29,0.751,30,0.001,31,0.719,32,0.17,33,0.454,34,1.154,35,1.408,47,0.817,83,2.728,95,0.137,99,1.121,101,0.015,103,0.001,104,0.001,105,0.706,112,0.726,119,2.242,133,2.382,180,1.875,239,2.536,349,1.295,381,3.21,382,2.824,448,3.821,479,3.476,519,3.579,528,3.56,556,2.317,662,2.936,686,4.305,696,2.694,975,5.675,1661,5.256,1664,2.595,1665,5.011,1668,6.752,1747,4.054,2538,6.069,2795,4.436,2813,4.436,3122,5.025,3123,6.41,3142,7.68,4265,8.774,4276,5.296,4303,5.814,5321,5.61,7322,6.193,8964,8.265,8995,8.733,11586,6.41,11587,9.484,11588,10.758,11589,8.888,11590,8.774,11591,9.841,11592,6.929,11593,6.929,11594,8.774,11595,6.929,11596,6.929,11597,6.929,11598,6.929,11599,6.929,11600,6.929,11601,6.929,11602,5.441,11603,6.929,11604,5.61,11605,5.814,11606,5.814,11607,6.41,11608,6.41,11609,6.41,11610,6.069,11611,6.41,11612,6.41,11613,5.814,11614,6.41]],["title/modules/GroupApiModule.html",[201,1.845,11615,5.563]],["body/modules/GroupApiModule.html",[0,0.27,3,0.017,4,0.017,5,0.009,30,0.001,95,0.163,101,0.012,103,0.001,104,0.001,201,3.117,203,2.893,204,3.1,205,3.187,206,3.175,207,3.162,208,4.284,209,3.02,218,4.164,219,3.125,220,3.054,222,4.98,223,4.343,225,4.148,226,1.165,259,3.054,654,2.401,1420,9.769,1421,9.19,1439,6.458,1440,5.597,1752,7.45,1963,4.497,2531,3.697,2764,3.78,3593,7.99,3603,4.016,4479,10.989,5434,8.385,11615,11.651,11616,7.975,11617,7.975,11618,7.975,11619,10.604,11620,12.116,11621,7.975,11622,10.166,11623,7.975,11624,7.975]],["title/controllers/GroupController.html",[259,2.631,11622,6.018]],["body/controllers/GroupController.html",[0,0.344,2,0.97,3,0.013,4,0.013,5,0.007,7,0.089,8,1.06,27,0.362,29,0.695,30,0.001,31,0.501,32,0.179,33,0.419,34,1.031,35,1.062,36,2.37,95,0.155,99,1.001,100,2.108,101,0.01,103,0,104,0,138,1.573,150,1.395,177,1.151,223,2.58,226,0.904,239,1.452,247,2.663,259,2.37,261,2.968,262,2.677,270,6.128,271,3.772,294,6.421,304,5.727,310,4.808,319,3.703,333,3.737,335,6.144,336,7.793,337,3.225,338,3.297,343,3.322,345,1.966,346,5.235,347,4.387,349,0.903,437,1.461,556,2.142,608,2.029,631,3.138,662,3.757,822,4.253,824,3.935,836,7.771,975,4.969,1283,7.325,1284,3.521,1618,4.344,1944,3.703,2764,2.934,2933,4.517,2963,3.249,3779,3.658,4379,9.7,4387,5.012,4429,8.543,4508,9.7,4706,6.046,6722,6.017,6861,5.291,7336,4.731,9687,8.244,9743,5.422,10179,9.42,11620,9.42,11622,7.68,11625,6.19,11626,10.181,11627,6.19,11628,9.42,11629,6.19,11630,11.074,11631,8.768,11632,11.074,11633,6.19,11634,6.19,11635,6.19,11636,9.7,11637,6.19,11638,6.19,11639,6.19,11640,6.19,11641,6.19,11642,7.1,11643,8.543,11644,5.422,11645,6.19,11646,6.19,11647,8.112,11648,6.19,11649,6.19,11650,6.19,11651,7.68,11652,7.68,11653,6.19,11654,6.19,11655,6.19,11656,6.19,11657,6.19,11658,6.19]],["title/classes/GroupDomainMapper.html",[0,0.232,11659,6.018]],["body/classes/GroupDomainMapper.html",[0,0.186,2,0.607,3,0.012,4,0.012,5,0.006,7,0.079,8,0.972,27,0.481,29,0.923,30,0.001,31,0.706,32,0.16,33,0.557,34,1.34,35,1.411,39,1.474,48,2.631,95,0.124,96,1.453,97,2.239,99,0.888,101,0.008,103,0,104,0,154,2.101,236,1.814,239,1.886,276,3.491,349,1.2,381,1.857,405,2.901,413,4.125,437,1.661,556,2.846,644,2.558,655,4.076,975,5.441,988,3.507,1778,2.15,2311,7.217,3122,3.474,3134,2.531,3346,7.668,4342,2.429,4446,3.387,4447,4.31,4544,7.535,4748,4.094,5161,3.722,6763,7.814,8709,3.387,8964,4.195,8995,8.801,9000,9.452,9006,3.016,9480,7.042,11589,4.195,11591,9.784,11604,9.029,11605,4.605,11606,4.605,11610,4.807,11659,7.042,11660,12.037,11661,5.488,11662,8.04,11663,8.04,11664,9.514,11665,8.04,11666,8.04,11667,8.04,11668,5.488,11669,8.482,11670,8.04,11671,5.488,11672,8.04,11673,5.488,11674,5.488,11675,5.488,11676,8.04,11677,9.693,11678,5.488,11679,8.04,11680,5.488,11681,4.605,11682,7.471,11683,5.488,11684,7.438,11685,7.042,11686,5.488,11687,5.488,11688,8.334,11689,8.04,11690,8.04,11691,5.488,11692,4.807,11693,5.488,11694,5.488,11695,5.488,11696,8.04,11697,5.488,11698,5.488,11699,5.488,11700,8.04,11701,5.488,11702,5.488,11703,5.488,11704,5.488,11705,5.488,11706,5.488,11707,5.488,11708,5.488,11709,5.488,11710,4.605,11711,5.488,11712,5.488,11713,5.488,11714,5.488,11715,5.488,11716,5.488]],["title/entities/GroupEntity.html",[154,1.378,6763,5.125]],["body/entities/GroupEntity.html",[0,0.363,3,0.015,4,0.015,5,0.008,7,0.098,26,1.899,27,0.517,30,0.001,31,0.662,32,0.174,33,0.599,34,1.141,47,0.755,95,0.152,96,1.812,101,0.017,103,0,104,0,105,0.698,112,0.72,138,2.247,143,2.896,144,4.063,154,1.887,155,2.227,172,3.345,173,1.985,174,3.575,178,2.704,180,1.187,181,1.848,182,2.168,404,2.737,405,4.973,578,4.178,644,5.653,839,3.602,975,4.591,1732,4.937,2044,2.662,2501,3.264,2566,3.061,3122,5,4326,7.541,4332,6.21,4333,4.006,4342,3.031,4404,4.132,5094,4.361,5161,7.848,6722,4.047,6763,7.018,6772,3.827,7000,4.644,8971,5.377,8972,5.997,8995,7.848,9000,9.524,11669,7.617,11677,9.524,11681,9.709,11682,9.524,11688,10.135,11692,5.997,11717,6.335,11718,6.847,11719,6.847,11720,6.847,11721,6.847,11722,6.847,11723,6.847,11724,6.335,11725,6.335,11726,4.805,11727,6.335,11728,5.746,11729,6.335,11730,6.335,11731,6.335,11732,6.335]],["title/interfaces/GroupEntityProps.html",[105,0.7,11669,5.563]],["body/interfaces/GroupEntityProps.html",[0,0.369,3,0.015,4,0.015,5,0.008,7,0.101,26,2.364,30,0.001,31,0.701,32,0.178,33,0.63,34,1.951,47,0.823,95,0.153,96,1.866,101,0.017,103,0.001,104,0.001,105,0.718,107,1.653,112,0.734,143,2.595,144,3.537,154,1.925,172,2.987,173,2.044,174,3.647,178,2.784,180,1.222,181,1.903,182,2.232,404,2.817,405,5.073,578,4.301,644,5.892,839,3.396,975,4.683,1732,3.699,2044,2.74,2501,3.36,2566,3.151,3122,5.295,4332,6.286,4333,4.125,4342,3.12,4404,4.254,5094,4.448,5161,8.31,6722,4.166,6763,5.258,6772,3.94,8971,5.535,8972,6.174,8995,8.31,9000,9.927,11669,8.834,11677,9.927,11681,10.281,11682,9.927,11688,10.732,11692,6.174,11717,6.522,11724,6.522,11725,6.522,11726,4.946,11727,6.522,11728,5.915,11729,6.522,11730,6.522,11731,6.522,11732,6.522]],["title/classes/GroupIdParams.html",[0,0.232,11636,6.018]],["body/classes/GroupIdParams.html",[0,0.405,2,1.1,3,0.022,4,0.022,5,0.011,7,0.143,27,0.41,30,0.001,32,0.129,34,1.994,47,0.841,95,0.141,101,0.015,103,0.001,104,0.001,112,0.916,138,1.784,142,4.671,143,2.651,144,3.225,145,3.364,148,3.087,150,2.242,245,3.078,808,4.745,4382,8.346,6058,8.346,7715,9.578,11636,10.484,11733,11.969,11734,9.202]],["title/modules/GroupModule.html",[201,1.845,11619,5.563]],["body/modules/GroupModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.149,101,0.015,103,0.001,104,0.001,201,3.378,203,3.439,204,3.686,205,3.79,206,3.774,207,3.759,208,4.641,209,4.761,218,4.647,219,3.715,220,3.63,226,1.385,560,3.901,2487,4.941,11619,11.424,11735,9.482,11736,9.482,11737,9.482,11738,12.022,11739,11.488,11740,9.482]],["title/interfaces/GroupNameIdTuple.html",[105,0.7,11741,5.765]],["body/interfaces/GroupNameIdTuple.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,31,0.569,32,0.155,39,2.672,47,1.009,101,0.018,103,0.001,104,0.001,105,1.22,107,2.333,112,0.916,121,6.545,123,8.346,135,5.559,653,5.111,4266,3.366,5866,6.979,5953,6.846,6722,5.878,11741,10.774,11742,9.202,11743,11.671]],["title/interfaces/GroupProps.html",[105,0.7,11604,5.563]],["body/interfaces/GroupProps.html",[0,0.246,3,0.016,4,0.016,5,0.008,7,0.104,26,2.395,30,0.001,31,0.708,32,0.181,33,0.634,34,1.977,47,0.931,83,3.67,95,0.14,99,1.177,101,0.015,103,0.001,104,0.001,105,0.742,107,1.707,112,0.75,119,2.033,133,2.502,180,1.922,239,1.707,349,1.314,519,3.018,528,3.739,556,2.395,696,2.829,975,5.411,1661,6.145,1664,2.725,1665,4.034,1747,4.257,2538,6.373,3122,5.353,3142,7.939,4303,6.105,5321,5.892,7322,5.222,8964,9.467,8995,9.21,11586,6.732,11588,6.732,11589,9.467,11590,6.732,11591,9.967,11594,6.732,11604,7.939,11605,9.957,11606,9.957,11607,6.732,11608,6.732,11609,6.732,11610,6.373,11611,6.732,11612,6.732,11613,6.105,11614,6.732]],["title/injectables/GroupRepo.html",[539,0.921,11739,5.765]],["body/injectables/GroupRepo.html",[0,0.172,3,0.011,4,0.011,5,0.006,7,0.073,8,0.92,10,3.092,12,3.419,18,3.808,26,2.538,27,0.485,29,0.931,30,0.001,31,0.672,32,0.16,33,0.562,34,1.683,35,1.374,36,2.767,40,3.67,47,0.64,48,4.844,49,1.901,95,0.139,96,1.349,97,2.079,99,0.824,101,0.008,103,0,104,0,143,1.129,145,1.432,154,2.358,155,2.475,177,0.948,226,0.744,236,1.913,239,1.785,262,2.99,345,1.619,349,1.314,379,0.644,381,3.419,437,1.788,539,1.02,541,1.223,593,4.232,608,2.796,655,3.858,662,4.196,975,6.229,1665,4.667,1778,1.997,2311,5.696,2323,6.556,2359,5.442,2364,5.248,2366,8.428,2378,4.276,2394,6.667,2501,2.429,3122,2.202,3134,2.35,3341,3.403,3346,4.498,3365,6.667,3407,3.895,4266,2.576,4489,6.667,4496,6.667,5161,3.457,6763,9.214,7322,5.381,8498,4.715,8995,3.457,9509,4.464,9516,6.667,11604,9.184,11659,4.464,11669,6.163,11681,4.276,11684,4.715,11739,6.386,11744,5.096,11745,7.041,11746,6.667,11747,5.096,11748,5.096,11749,7.041,11750,5.096,11751,5.096,11752,7.041,11753,5.096,11754,5.096,11755,5.096,11756,5.096,11757,10.104,11758,10.104,11759,10.104,11760,7.611,11761,5.096,11762,5.096,11763,5.096,11764,7.611,11765,9.109,11766,5.096,11767,5.096,11768,5.096,11769,5.096,11770,5.096]],["title/classes/GroupResponse.html",[0,0.232,11643,5.765]],["body/classes/GroupResponse.html",[0,0.264,2,0.865,3,0.017,4,0.017,5,0.009,7,0.112,27,0.548,29,0.62,30,0.001,31,0.699,32,0.18,33,0.607,34,1.916,47,0.915,95,0.144,101,0.012,103,0.001,104,0.001,112,0.787,138,2.336,149,4.895,150,1.763,245,3.415,379,0.988,404,3.126,556,1.911,564,2.449,819,3.939,839,2.435,975,5.61,1058,5.978,2044,3.041,2566,3.496,2921,4.623,3122,4.968,8971,6.142,8995,7.797,9010,9.647,11589,8.787,11643,10.647,11728,6.564,11771,7.822,11772,9.011,11773,10.288,11774,7.822,11775,7.822,11776,7.822,11777,11.739,11778,7.822,11779,10.248,11780,7.822,11781,7.822,11782,7.822,11783,7.822,11784,6.851,11785,6.851,11786,7.237,11787,6.851,11788,7.237,11789,7.237]],["title/classes/GroupResponseMapper.html",[0,0.232,11644,6.018]],["body/classes/GroupResponseMapper.html",[0,0.232,2,0.76,3,0.015,4,0.015,5,0.008,7,0.099,8,1.14,27,0.444,29,0.853,30,0.001,31,0.694,32,0.157,33,0.515,34,1.794,35,1.304,47,0.483,48,3.294,55,2.563,56,5.587,59,2.902,70,5.835,95,0.137,99,1.111,100,2.34,101,0.011,103,0,104,0,236,1.976,239,1.611,276,2.983,349,1.109,413,3.996,437,1.601,556,1.678,603,2.223,651,3.313,652,3.313,655,3.483,782,4.102,822,5.621,824,3.35,988,2.997,1618,4.821,1778,2.692,3122,2.969,4387,9.382,4390,5.765,4391,5.765,4392,4.588,4393,5.765,4415,10.189,4417,4.399,4429,10.189,4544,6.652,8964,5.251,8995,4.66,9010,7.912,9702,6.018,11589,5.251,11642,9.382,11643,10.189,11644,8.259,11685,6.018,11777,6.356,11779,7.912,11790,11.587,11791,10.765,11792,9.429,11793,9.429,11794,6.87,11795,6.356,11796,9.429,11797,9.429,11798,6.87,11799,6.87,11800,9.429,11801,6.87,11802,6.87,11803,6.87,11804,9.429,11805,6.87,11806,6.87,11807,6.87,11808,6.87,11809,6.87,11810,6.87,11811,6.87,11812,6.87,11813,6.87,11814,6.87,11815,6.87,11816,6.87,11817,6.87,11818,6.87,11819,6.87,11820,6.87,11821,6.87,11822,6.87,11823,6.87,11824,6.87,11825,6.87,11826,6.87,11827,6.87]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.232,11828,6.018]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,8,1.364,27,0.466,29,0.716,30,0.001,31,0.517,32,0.117,33,0.432,35,1.095,95,0.133,101,0.014,103,0.001,104,0.001,177,1.681,239,2.12,276,5.344,284,2.736,345,2.871,349,0.931,379,1.141,975,4.411,1025,3.584,1147,3.436,1218,3.422,1338,5.706,1339,6.368,1341,2.905,1343,6.409,1519,5.142,3083,6.464,7275,5.644,8829,6.413,8830,6.657,8980,6.036,11828,9.887,11829,12.308,11830,9.039,11831,9.039,11832,10.438,11833,9.039,11834,10.443,11835,9.039,11836,9.039,11837,6.596,11838,9.039,11839,9.039,11840,9.039]],["title/injectables/GroupRule.html",[539,0.921,1765,5.765]],["body/injectables/GroupRule.html",[0,0.27,3,0.017,4,0.017,5,0.009,7,0.115,8,1.261,27,0.479,29,0.92,30,0.001,31,0.664,32,0.16,33,0.556,35,1.264,95,0.151,99,1.293,101,0.012,103,0.001,104,0.001,119,2.717,131,4.414,143,1.77,177,1.486,226,1.167,239,3.21,345,2.538,349,1.074,379,1.009,437,1.376,539,1.398,541,1.917,604,3.288,662,4.056,975,6.606,1147,2.432,1665,5.492,1670,6.714,1697,8.182,1735,7.514,1765,8.755,1875,6.77,1879,6.515,1886,5.336,3411,6.967,3412,5.42,3415,6.865,3418,5.42,3419,7.076,3420,5.961,6238,5.714,11841,7.991,11842,7.991,11843,7.991,11844,7.991,11845,7.991,11846,10.433]],["title/injectables/GroupService.html",[539,0.921,11738,5.765]],["body/injectables/GroupService.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.029,10,3.458,12,3.824,18,4.259,26,2.713,27,0.52,29,0.999,30,0.001,31,0.721,32,0.166,33,0.603,34,1.811,35,1.493,36,2.899,40,4.104,47,0.699,48,5.209,95,0.141,99,0.96,101,0.009,103,0,104,0,177,1.104,226,0.867,236,0.966,239,1.393,262,3.089,345,1.886,349,1.233,379,0.75,437,1.579,529,1.699,539,1.14,541,1.424,593,3.712,608,2.853,655,3.01,662,4.335,975,6.893,1147,1.807,1750,7.142,1778,2.326,2487,3.094,2531,2.752,4266,2.009,4489,7.455,4496,7.455,4539,4.027,4540,4.166,4541,3.545,6722,5.03,7322,5.788,11738,7.142,11739,10.045,11745,7.874,11746,7.455,11749,7.874,11752,7.874,11847,5.937,11848,8.511,11849,5.937,11850,5.937,11851,8.511,11852,5.937,11853,5.937,11854,5.937,11855,5.937,11856,5.937,11857,8.511,11858,5.937,11859,8.511,11860,5.937,11861,8.511,11862,5.937,11863,5.937,11864,5.937,11865,5.937,11866,8.511,11867,5.937,11868,5.937]],["title/classes/GroupUcMapper.html",[0,0.232,11869,6.357]],["body/classes/GroupUcMapper.html",[0,0.403,2,0.722,3,0.014,4,0.014,5,0.007,7,0.094,8,1.1,27,0.432,29,0.83,30,0.001,31,0.725,32,0.164,33,0.501,34,1.746,35,1.269,59,2.801,95,0.146,99,1.056,100,2.223,101,0.01,103,0,104,0,236,1.705,349,1.079,413,3.952,437,1.572,662,3.243,696,2.538,975,6.488,1058,6.957,1440,4.581,1778,2.558,2426,4.501,3122,2.821,3134,4.831,3175,4.236,3548,5.286,4338,5.478,4387,10.629,4390,7.638,4391,7.638,4392,7.57,4393,7.638,4394,8.421,4402,5.718,4417,6.709,4544,7.088,4548,6.04,4549,6.04,4660,3.588,7322,6.35,8995,4.428,10258,4.36,10259,4.36,11376,7.57,11642,9.653,11784,7.972,11785,5.718,11787,5.718,11869,8.421,11870,11.336,11871,6.528,11872,9.102,11873,10.479,11874,9.102,11875,9.102,11876,6.528,11877,6.528,11878,11.336,11879,11.156,11880,7.57,11881,6.528,11882,9.102,11883,11.336,11884,6.528,11885,6.528,11886,6.528,11887,6.528,11888,6.528,11889,6.528,11890,9.102,11891,6.528,11892,6.528,11893,6.528,11894,9.102,11895,6.528,11896,6.528,11897,6.528,11898,6.528,11899,6.528,11900,6.528,11901,6.528,11902,6.528,11903,6.528]],["title/classes/GroupUser.html",[0,0.232,11591,5.251]],["body/classes/GroupUser.html",[0,0.327,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,26,2.729,27,0.523,29,0.765,30,0.001,31,0.553,32,0.164,33,0.462,39,3.406,95,0.114,99,1.563,101,0.015,103,0.001,104,0.001,112,0.9,181,3.175,191,5.186,192,6.033,379,1.22,381,3.27,4748,9.459,11591,10.337,11904,13.194,11905,8.939,11906,11.761,11907,9.662,11908,8.463,11909,8.463]],["title/classes/GroupUserEntity.html",[0,0.232,11677,5.395]],["body/classes/GroupUserEntity.html",[0,0.305,2,0.998,3,0.02,4,0.02,5,0.01,7,0.129,27,0.507,29,0.714,30,0.001,31,0.516,32,0.159,33,0.431,95,0.133,96,2.387,101,0.017,103,0.001,104,0.001,105,0.919,112,0.862,138,2.022,173,2.615,181,3.043,239,3.281,276,6.074,379,1.139,381,3.052,1718,5.443,2130,6.581,2562,5.753,5094,5.7,7000,7.645,7825,6.329,11677,8.852,11910,10.809,11911,7.083,11912,11.283,11913,11.272,11914,9.019,11915,6.581,11916,6.894]],["title/interfaces/GroupUserEntityProps.html",[105,0.7,11912,6.018]],["body/interfaces/GroupUserEntityProps.html",[0,0.32,3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.15,95,0.137,96,2.504,101,0.018,103,0.001,104,0.001,105,0.964,107,2.219,112,0.888,173,2.743,181,2.554,239,3.345,276,6.192,1718,5.709,2130,6.903,2562,5.925,5094,5.823,7825,6.638,11677,7.429,11910,7.938,11911,7.429,11912,11.003,11915,6.903,11916,7.231]],["title/classes/GroupUserResponse.html",[0,0.232,11779,5.765]],["body/classes/GroupUserResponse.html",[0,0.291,2,0.953,3,0.019,4,0.019,5,0.01,7,0.124,27,0.539,29,0.683,30,0.001,31,0.493,32,0.17,33,0.412,34,2.006,47,0.939,95,0.129,99,1.394,101,0.013,103,0.001,104,0.001,112,0.838,138,2.272,150,1.943,239,2.021,245,3.535,276,5.228,379,1.088,404,3.444,528,4.428,651,5.806,652,5.806,839,2.683,2130,6.289,2921,5.093,3174,5.755,3175,5.592,4660,7.189,10079,5.755,10081,5.755,11779,10.976,11917,13.368,11918,6.978,11919,9.191,11920,10.953,11921,8.618,11922,8.618,11923,8.618,11924,8.618]],["title/interfaces/GroupUsers.html",[105,0.7,11925,5.125]],["body/interfaces/GroupUsers.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.54,47,0.979,55,2.541,101,0.021,103,0.001,104,0.001,105,1.406,107,2.168,112,0.876,119,1.917,284,2.798,347,3.341,479,3.388,986,5.999,991,6.27,1025,3.665,3122,5.615,4600,6.27,6722,5.464,11925,8.539,11926,7.066,11927,6.897,11928,6.897,11929,7.066,11930,8.573,11931,7.066,11932,7.066,11933,6.897,11934,7.066,11935,6.746,11936,6.897,11937,7.066,11938,6.897]],["title/classes/GroupValidPeriodEntity.html",[0,0.232,11682,5.395]],["body/classes/GroupValidPeriodEntity.html",[0,0.312,2,1.021,3,0.02,4,0.02,5,0.01,7,0.132,27,0.512,29,0.731,30,0.001,31,0.528,32,0.161,33,0.441,83,3.912,95,0.109,96,2.442,101,0.018,103,0.001,104,0.001,105,0.94,112,0.875,138,2.05,172,4.154,173,2.674,181,3.086,379,1.165,381,3.122,578,7.922,2562,5.833,8709,8.012,8973,8.079,8974,8.079,8975,8.079,8976,8.079,11682,8.976,11910,10.895,11939,8.534,11940,11.373,11941,11.43,11942,9.224]],["title/interfaces/GroupValidPeriodEntityProps.html",[105,0.7,11940,6.018]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.331,3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.154,83,4.05,95,0.116,96,2.588,101,0.018,103,0.001,104,0.001,105,0.997,107,2.294,112,0.906,172,3.967,173,2.835,181,2.64,578,5.966,2562,6.046,8709,8.373,8973,8.565,8974,8.565,8975,8.565,8976,8.565,11682,7.679,11910,8.205,11939,9.047,11940,11.164]],["title/interfaces/GroupfoldersCreated.html",[105,0.7,11938,5.125]],["body/interfaces/GroupfoldersCreated.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,2.165,47,0.956,55,2.729,101,0.021,103,0.001,104,0.001,105,1.406,107,2.168,112,0.876,119,1.917,284,2.798,347,3.341,479,3.388,986,5.999,991,6.27,1025,3.665,3122,3.995,4600,6.27,6722,5.464,11925,6.897,11926,7.066,11927,6.897,11928,6.897,11929,7.066,11930,8.573,11931,7.066,11932,7.066,11933,6.897,11934,7.066,11935,6.746,11936,6.897,11937,7.066,11938,8.539]],["title/interfaces/GroupfoldersFolder.html",[105,0.7,11936,5.125]],["body/interfaces/GroupfoldersFolder.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.54,47,0.956,55,2.729,101,0.021,103,0.001,104,0.001,105,1.406,107,2.168,112,0.876,119,1.917,284,2.798,347,3.341,479,3.388,986,5.999,991,6.27,1025,3.665,3122,3.995,4600,6.27,6722,5.464,11925,6.897,11926,7.066,11927,6.897,11928,6.897,11929,7.066,11930,8.573,11931,7.066,11932,7.066,11933,6.897,11934,7.066,11935,6.746,11936,8.539,11937,9.932,11938,6.897]],["title/classes/GuardAgainst.html",[0,0.232,11943,6.018]],["body/classes/GuardAgainst.html",[0,0.288,2,0.943,3,0.019,4,0.019,5,0.009,7,0.122,8,1.315,27,0.352,29,0.862,30,0.001,31,0.488,32,0.141,33,0.408,35,1.318,101,0.013,103,0.001,104,0.001,153,1.956,333,4.637,349,0.878,413,3.607,479,4.886,480,3.853,529,2.44,556,3.257,593,4.974,938,6.305,1218,3.229,2251,10.22,4541,7.536,4752,9.13,8580,7.939,11943,9.53,11944,10.88,11945,8.527,11946,10.88,11947,10.88,11948,13.038,11949,8.527,11950,10.066,11951,8.316,11952,8.544,11953,9.53,11954,10.88]],["title/entities/H5PContent.html",[154,1.378,5934,5.125]],["body/entities/H5PContent.html",[0,0.256,3,0.011,4,0.017,5,0.006,7,0.145,26,2.367,27,0.467,30,0.001,32,0.147,47,0.946,49,4.376,95,0.127,96,2.005,97,2.066,99,0.819,101,0.015,103,0,104,0,105,0.516,112,0.58,138,2.029,143,2.964,144,4.338,154,1.519,155,1.647,172,4.37,173,1.468,174,2.879,178,2,180,0.878,182,1.604,236,1.477,349,0.935,379,0.64,654,2.28,839,2.825,1105,5.869,1108,3.024,1125,3.09,1147,1.541,1218,2.868,1271,1.581,2024,2.36,2171,6.169,2255,4.491,2562,3.866,2670,4.162,2696,2.36,2784,2.4,3130,3.056,3366,3.743,3473,3.024,3632,4.184,4266,3.071,4326,3.554,4332,4.066,4359,3.492,4543,4.101,4856,5.651,5146,2.807,5830,8.732,5831,9.498,5832,4.436,5833,5.889,5834,4.436,5835,4.436,5836,4.25,5837,3.554,5838,2.907,5839,4.25,5840,3.871,5841,3.871,5842,3.778,5843,3.871,5844,3.286,5845,4.436,5846,4.436,5847,3.554,5848,4.436,5849,4.436,5850,3.778,5851,3.871,5852,4.436,5853,4.436,5854,3.621,5858,6.635,5860,6.635,5863,7.699,5866,3.554,5867,3.871,5883,4.349,5884,3.871,5885,7.949,5886,3.871,5887,4.436,5888,3.871,5889,4.436,5890,3.621,5891,3.621,5892,4.436,5893,4.436,5894,3.554,5895,4.436,5896,3.621,5897,3.871,5898,4.436,5899,3.871,5900,4.436,5901,3.871,5902,4.436,5903,3.871,5904,4.436,5905,4.436,5906,4.436,5907,4.436,5908,4.436,5909,3.871,5910,4.436,5911,4.436,5912,4.436,5913,4.436,5914,4.436,5915,4.436,5916,4.436,5917,4.436,5918,4.436,5919,4.436,5920,4.436,5921,4.436,5922,4.436,5923,4.436,5924,4.436,5925,4.436,5926,4.436,5927,4.436,5928,4.25,5929,4.436,5930,6.832,5931,6.134,5932,4.909,5933,5.245,5934,5.651,5935,4.035,5936,6.489,5937,3.621,5938,6.155,5939,3.621,5940,6.622,5941,3.778,5942,3.243,5943,3.492,5944,4.25,5945,3.621,5946,4.436,5947,3.778,5948,3.621,10649,4.686,10657,4.686,11955,5.064,11956,5.064,11957,5.064,11958,4.686,11959,5.064,11960,5.064,11961,5.064]],["title/classes/H5PContentFactory.html",[0,0.232,11962,6.357]],["body/classes/H5PContentFactory.html",[0,0.167,2,0.546,3,0.011,4,0.011,5,0.005,7,0.071,8,0.898,27,0.536,29,1.038,30,0.001,31,0.713,32,0.173,33,0.597,34,1.489,35,1.483,47,0.522,49,1.841,55,2.376,59,3.282,95,0.106,101,0.008,103,0,104,0,112,0.568,120,3.138,133,2.555,140,2.691,143,1.646,153,2.05,154,2.139,155,2.416,177,1.382,180,1.288,236,1.735,271,4.621,319,3.138,349,0.508,379,0.623,382,3.866,413,2.237,437,0.651,447,7.15,448,4.516,449,5.465,452,4.084,453,5.465,454,5.645,455,4.084,456,4.084,457,4.084,458,4.019,459,4.5,460,4.911,461,6.695,462,5.768,463,6.99,464,2.735,469,2.713,470,4.084,471,2.735,472,5.145,473,5.296,474,4.219,475,5.007,476,4.051,477,2.713,478,2.572,479,4.107,480,3.329,481,2.649,482,2.609,483,2.713,484,5.074,485,2.735,486,3.602,487,4.833,488,2.713,489,6.856,490,4.252,491,6.577,492,2.735,493,4.361,494,2.713,495,2.735,496,2.713,497,2.735,498,2.713,499,3.046,500,2.86,501,2.713,502,6.061,503,2.735,504,2.713,505,4.084,506,3.844,507,4.084,508,2.735,509,2.629,510,2.609,511,2.184,512,2.713,513,2.713,514,2.713,515,2.735,516,2.735,517,1.862,518,2.713,519,1.519,520,2.735,521,2.934,522,2.713,523,2.735,524,2.807,526,2.888,1108,2.947,1271,2.319,2171,2.691,2255,1.89,3632,2.276,4188,5.514,4266,1.67,5830,6.016,5839,4.141,5842,3.682,5844,4.821,5847,3.463,5850,3.682,5866,3.463,5930,3.347,5931,3.996,5932,2.669,5933,2.288,5934,3.682,7549,7.418,10530,2.978,11311,3.876,11962,8.267,11963,4.566,11964,4.935,11965,4.566,11966,4.566,11967,4.935,11968,4.935,11969,4.935,11970,4.935,11971,4.935,11972,4.935,11973,4.566,11974,4.935]],["title/classes/H5PContentMapper.html",[0,0.232,11975,6.357]],["body/classes/H5PContentMapper.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,8,1.395,27,0.387,29,0.742,30,0.001,31,0.536,32,0.15,33,0.448,35,1.135,95,0.148,101,0.014,103,0.001,104,0.001,154,1.88,226,1.369,236,1.878,349,0.965,413,3.766,437,1.523,529,2.682,1105,5.776,1664,3.51,1846,8.779,2647,5.194,3255,7.297,5930,8.856,6863,8.118,11167,9.687,11172,9.687,11188,8.21,11193,7.589,11975,10.68,11976,10.68,11977,8.672,11978,9.373,11979,9.373,11980,9.373]],["title/classes/H5PContentMetadata.html",[0,0.232,11431,5.125]],["body/classes/H5PContentMetadata.html",[0,0.389,2,0.749,3,0.015,4,0.015,5,0.008,7,0.097,27,0.441,29,0.536,30,0.001,31,0.611,32,0.149,33,0.324,34,1.128,47,0.988,55,1.907,95,0.126,101,0.019,103,0,104,0,105,1.089,112,0.714,138,1.674,150,1.525,180,1.173,245,3.532,271,3.956,284,2.825,319,3.941,379,0.855,1105,5.761,1125,6.516,1150,3.96,1215,5.87,1217,3.815,1218,2.562,1271,3.334,1820,5.631,1821,6.329,2024,3.154,2171,6.807,2236,4.938,2255,2.591,2297,4.59,2784,3.207,3130,5.631,5833,8.459,5838,5.357,5847,7.495,5854,6.673,5883,3.885,5890,4.839,5891,4.839,5896,4.839,5948,6.673,6441,4.373,6520,5.758,6521,5.631,6522,5.631,7287,5.515,7536,4.749,10530,5.631,10869,4.453,11405,7.47,11406,5.172,11407,7.132,11408,8.164,11409,7.132,11410,6.809,11411,7.132,11412,5.172,11413,5.172,11414,5.172,11415,5.172,11416,5.172,11417,5.172,11418,5.048,11419,6.329,11420,4.749,11421,5.172,11422,5.172,11423,4.666,11424,6.961,11425,4.938,11426,5.172,11427,5.172,11428,5.172,11429,5.172,11430,5.172,11431,8.589,11432,4.938,11433,5.172,11981,6.767,11982,6.767,11983,6.767]],["title/interfaces/H5PContentParentParams.html",[105,0.7,11984,6.018]],["body/interfaces/H5PContentParentParams.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,26,2.813,30,0.001,31,0.483,32,0.163,34,1.406,47,0.837,95,0.141,99,1.365,101,0.017,103,0.001,104,0.001,105,0.86,107,1.979,112,0.827,119,2.473,154,1.693,404,3.373,528,4.336,653,4.336,1105,4.222,1147,2.569,1512,5.269,2024,3.933,2044,3.281,2566,3.772,3632,5.797,4266,4.398,4343,4.938,5883,4.845,5930,8.815,5933,5.828,10083,6.158,11919,7.081,11984,10.444,11985,7.808,11986,7.808,11987,10.444,11988,7.392,11989,7.808,11990,7.808,11991,7.808,11992,7.808,11993,7.808,11994,7.081,11995,7.808,11996,7.808,11997,7.808,11998,7.808,11999,7.808,12000,7.808,12001,7.808,12002,7.808,12003,7.808,12004,7.808,12005,7.808,12006,6.295,12007,7.808,12008,7.808]],["title/injectables/H5PContentRepo.html",[539,0.921,12009,5.765]],["body/injectables/H5PContentRepo.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.132,10,3.804,12,4.207,18,4.685,26,2.586,27,0.538,29,0.99,30,0.001,31,0.715,32,0.162,33,0.598,34,1.56,35,1.552,36,2.869,95,0.136,99,1.1,101,0.01,103,0,104,0,154,1.878,155,3.045,180,1.623,226,0.993,262,3.081,349,1.246,382,3.436,437,0.897,479,4.961,539,1.255,541,1.632,608,1.574,679,7.355,685,3.92,686,4.25,687,5.258,708,2.729,711,4.061,712,4.104,713,4.061,714,4.104,716,4.061,717,5.651,718,3.623,723,4.863,740,5.198,1105,6.054,1150,6.751,2255,2.604,2374,5.507,5934,9.026,12009,7.857,12010,12.099,12011,6.801,12012,9.364,12013,9.364,12014,11.537,12015,9.364,12016,6.801,12017,9.364,12018,6.801,12019,9.364,12020,6.801,12021,6.801,12022,9.364,12023,6.801,12024,6.801]],["title/interfaces/H5PContentResponse.html",[105,0.7,11424,5.125]],["body/interfaces/H5PContentResponse.html",[0,0.393,3,0.015,4,0.015,5,0.008,7,0.1,30,0.001,31,0.543,32,0.163,34,1.156,47,0.991,55,1.94,95,0.128,101,0.019,103,0.001,104,0.001,105,1.103,107,1.628,112,0.726,120,4.01,150,1.565,180,1.203,245,3.494,271,4.661,284,2.874,319,4.01,1105,3.473,1125,7.677,1150,4.061,1215,5.948,1217,3.913,1218,2.628,1271,2.167,1820,5.73,1821,6.44,2024,3.235,2171,6.644,2236,5.065,2255,2.657,2297,4.708,2784,3.289,3130,5.73,5833,8.51,5838,5.451,5847,4.87,5854,4.963,5883,3.984,5890,4.963,5891,4.963,5896,4.963,5948,6.79,6441,4.45,6520,5.859,6521,5.73,6522,5.73,7287,5.612,7536,4.87,10530,7.354,10869,4.567,11405,4.504,11406,5.305,11407,7.257,11408,8.272,11409,7.257,11410,6.929,11411,7.257,11412,5.305,11413,5.305,11414,5.305,11415,5.305,11416,5.305,11417,5.305,11418,5.178,11419,6.44,11420,4.87,11421,5.305,11422,5.305,11423,4.786,11424,8.074,11425,5.065,11426,5.305,11427,5.305,11428,5.305,11429,5.305,11430,5.305,11431,8.074,11432,5.065,11433,5.305]],["title/controllers/H5PEditorController.html",[259,2.631,12025,5.765]],["body/controllers/H5PEditorController.html",[0,0.099,3,0.006,4,0.006,5,0.011,7,0.042,8,0.591,27,0.47,29,0.902,30,0.001,31,0.673,32,0.175,33,0.545,34,0.815,35,1.38,36,1.047,47,0.624,55,1.679,59,1.505,95,0.129,100,0.995,101,0.004,103,0,104,0,120,3.117,137,1.824,138,2.003,141,4.979,143,1.084,150,0.658,223,1.218,226,0.427,236,1.536,259,1.118,261,1.4,262,2.972,270,6.576,271,4.421,278,5.006,282,4.608,284,1.91,287,3.219,294,6.977,310,4.298,319,1.234,324,5.216,333,3.502,335,2.952,336,6.424,337,1.522,338,1.556,340,1.417,343,1.568,345,0.928,346,1.744,347,3.578,349,1.194,413,2.473,437,1.574,519,0.899,603,1.303,608,2.381,708,1.963,739,2.114,824,4.12,829,1.511,1082,2.179,1104,6.464,1105,5.801,1118,2.559,1125,5.013,1138,5.976,1160,6.464,1218,4.132,1226,2.359,1266,3.318,1284,1.662,2094,1.803,2190,1.847,2255,3.146,2424,5.252,2530,2.921,2680,2.835,2933,2.132,2935,5.506,2937,2.233,2938,2.233,2962,1.647,2963,1.533,3130,4.958,3548,5.109,5174,3.569,5823,6.464,5838,5.102,6441,3.85,6521,6.586,6522,4.454,6679,3.498,6863,6.893,6864,2.365,6865,2.921,6881,3.961,8902,3.739,10886,8.591,10898,5.527,10936,2.233,11358,2.703,11359,2.703,11360,4.525,11361,7.197,11363,2.703,11364,2.703,11410,4.604,11425,4.604,11432,5.995,11443,7.041,11449,5.506,11450,5.506,11451,5.506,11454,7.041,11461,3.739,12025,4.104,12026,11.593,12027,2.921,12028,4.891,12029,6.31,12030,4.891,12031,7.38,12032,4.891,12033,4.891,12034,4.891,12035,4.891,12036,6.31,12037,6.31,12038,6.31,12039,4.891,12040,2.921,12041,2.921,12042,2.921,12043,2.921,12044,4.891,12045,2.921,12046,2.921,12047,4.891,12048,2.921,12049,2.921,12050,4.891,12051,2.921,12052,2.921,12053,4.891,12054,2.921,12055,2.921,12056,2.921,12057,2.921,12058,2.921,12059,6.464,12060,4.891,12061,2.921,12062,2.921,12063,2.921,12064,2.921,12065,2.921,12066,4.891,12067,2.921,12068,2.921,12069,2.921,12070,2.921,12071,2.921,12072,4.891,12073,4.891,12074,2.921,12075,2.921,12076,2.921,12077,2.921,12078,2.921,12079,2.921,12080,2.921,12081,4.891,12082,2.921,12083,4.891,12084,4.891,12085,4.891,12086,2.703,12087,2.921,12088,5.527,12089,2.559,12090,2.921,12091,2.921,12092,2.921,12093,2.921,12094,2.921,12095,2.089,12096,2.921,12097,2.921,12098,2.921,12099,7.38,12100,2.703,12101,2.921,12102,2.921,12103,2.921,12104,2.921,12105,2.921,12106,2.921,12107,2.921,12108,4.891,12109,2.921,12110,2.921,12111,2.921,12112,2.921,12113,6.31,12114,6.31,12115,2.921,12116,2.921,12117,2.921,12118,2.559,12119,2.921,12120,4.891,12121,2.921,12122,2.921,12123,2.921,12124,2.921,12125,2.921,12126,4.891,12127,2.921,12128,4.891,12129,4.891,12130,2.921,12131,4.891,12132,2.921,12133,2.921,12134,4.891,12135,2.921,12136,2.921,12137,2.921,12138,4.284,12139,2.921,12140,4.525,12141,2.921,12142,2.921,12143,2.921,12144,2.921,12145,2.921,12146,2.921,12147,2.921,12148,2.921,12149,4.891,12150,4.891,12151,4.891,12152,4.525,12153,4.525,12154,7.38,12155,4.891,12156,4.891,12157,2.921,12158,2.921,12159,4.891,12160,2.921,12161,2.921]],["title/classes/H5PEditorModelContentResponse.html",[0,0.232,11425,5.013]],["body/classes/H5PEditorModelContentResponse.html",[0,0.376,2,0.69,3,0.014,4,0.014,5,0.007,7,0.09,27,0.516,29,0.494,30,0.001,31,0.585,32,0.162,33,0.298,34,1.039,47,0.983,55,1.802,95,0.121,101,0.019,103,0,104,0,105,1.042,112,0.675,138,2.182,150,1.406,180,1.528,245,3.568,271,4.342,284,2.668,319,3.723,379,0.788,382,3.044,1105,5.865,1125,6.238,1150,3.65,1215,5.619,1217,3.517,1218,2.362,1271,1.947,1820,5.32,1821,5.979,2024,2.907,2171,6.819,2236,4.552,2255,3.915,2297,4.231,2784,2.956,3130,5.32,5833,8.116,5838,5.061,5847,4.377,5854,4.46,5883,3.581,5890,4.46,5891,4.46,5896,4.46,5948,6.304,6441,4.131,6520,5.44,6521,5.32,6522,5.32,7287,5.21,7536,4.377,10530,6.705,10869,4.105,11405,7.606,11406,4.768,11407,6.738,11408,8.96,11409,7.815,11410,8.879,11411,7.815,11412,4.768,11413,4.768,11414,4.768,11415,4.768,11416,4.768,11417,4.768,11418,7.627,11419,5.979,11420,7.175,11421,4.768,11422,7.815,11423,4.301,11424,8.289,11425,6.433,11426,4.768,11427,4.768,11428,4.768,11429,4.768,11430,4.768,11431,7.627,11432,4.552,11433,4.768,12138,5.464,12162,6.238,12163,6.238,12164,6.238,12165,6.238,12166,6.238,12167,6.238,12168,6.238]],["title/classes/H5PEditorModelResponse.html",[0,0.232,11410,5.013]],["body/classes/H5PEditorModelResponse.html",[0,0.386,2,0.734,3,0.014,4,0.014,5,0.007,7,0.095,27,0.471,29,0.526,30,0.001,31,0.605,32,0.155,33,0.317,34,1.105,47,0.986,55,1.881,95,0.125,101,0.019,103,0,104,0,105,1.077,112,0.704,138,1.896,150,1.496,180,1.15,245,3.544,271,3.915,284,2.786,319,3.888,379,0.838,1105,6,1125,6.449,1150,3.882,1215,5.809,1217,3.741,1218,2.512,1271,2.071,1820,5.555,1821,6.243,2024,3.092,2171,6.538,2236,4.841,2255,2.54,2297,4.5,2784,3.144,3130,5.555,5833,8.052,5838,5.284,5847,4.656,5854,4.744,5883,3.809,5890,4.744,5891,4.744,5896,4.744,5948,6.582,6441,4.314,6520,5.68,6521,5.555,6522,5.555,7287,5.44,7536,4.656,10530,5.555,10869,4.366,11405,7.781,11406,5.071,11407,7.035,11408,9.166,11409,8.079,11410,7.713,11411,8.079,11412,5.071,11413,5.071,11414,5.071,11415,5.071,11416,5.071,11417,5.071,11418,7.885,11419,6.243,11420,7.417,11421,5.071,11422,8.079,11423,4.575,11424,6.867,11425,4.841,11426,5.071,11427,5.071,11428,5.071,11429,5.071,11430,5.071,11431,7.885,11432,4.841,11433,5.071,12138,5.812,12169,6.635,12170,6.635,12171,6.635,12172,6.635]],["title/modules/H5PEditorModule.html",[201,1.845,12173,5.765]],["body/modules/H5PEditorModule.html",[0,0.195,3,0.013,4,0.013,5,0.006,30,0.001,32,0.075,47,0.406,87,2.928,95,0.164,96,2.209,99,0.934,101,0.009,103,0,104,0,154,1.159,155,1.879,173,1.675,201,2.632,203,2.095,204,2.246,205,2.309,206,2.3,207,2.29,208,3.961,209,2.187,218,3.335,219,2.263,220,2.212,223,4.084,225,3.9,226,0.844,236,0.94,239,1.355,292,2.928,437,1.415,490,2.965,511,2.557,521,2.281,560,2.377,573,5.66,598,3.348,687,4.097,762,3.801,996,2.786,997,2.692,998,2.753,999,2.909,1076,3.858,1077,3.565,1105,2.89,1125,3.525,1341,1.856,1380,8.044,1519,3.286,1694,3.565,1726,2.473,1797,8.481,1820,3.486,1971,2.692,2312,4.922,2487,3.01,2681,3.1,2963,3.032,3593,7.236,3601,2.328,3603,2.909,4677,2.968,4956,3.983,5624,3.918,5934,6.225,6671,8.178,8898,3.565,10337,3.565,10462,4.131,10524,6.378,11049,4.054,11057,4.415,11058,4.415,11206,8.323,11207,6.225,11208,6.225,11209,4.215,11210,6.378,11211,4.131,11212,4.131,11213,7.005,11216,8.138,11217,6.09,11218,6.09,11219,6.09,11220,4.131,11221,3.983,11223,4.847,11232,6.378,11233,4.31,11234,4.31,11235,4.215,11236,4.678,12009,9.952,12025,8.221,12088,10.389,12089,5.06,12173,12.007,12174,5.777,12175,5.777,12176,5.777,12177,10.973,12178,9.952,12179,10.973,12180,9.604,12181,9.952,12182,5.345,12183,5.777,12184,5.777,12185,5.777,12186,6.378,12187,5.345,12188,7.721,12189,5.06,12190,7.721,12191,7.721,12192,7.721,12193,5.345]],["title/modules/H5PEditorTestModule.html",[201,1.845,12194,6.018]],["body/modules/H5PEditorTestModule.html",[0,0.196,3,0.013,4,0.013,5,0.006,8,0.699,27,0.239,29,0.458,30,0.001,31,0.331,32,0.075,33,0.277,35,0.701,59,1.781,95,0.164,99,0.936,101,0.009,103,0,104,0,154,1.16,155,1.881,201,2.884,203,2.098,204,2.249,205,2.312,206,2.303,207,2.294,208,4.203,209,2.19,214,5.531,218,3.339,219,2.267,220,2.215,223,4.476,225,4.533,226,0.845,259,2.215,349,0.596,413,2.515,437,1.293,490,2.968,560,2.38,1105,4.18,1125,5.097,1170,4.221,1171,5.76,1174,6.548,1341,1.859,1376,9.318,1380,8.048,1797,8.485,2487,3.014,2963,3.036,3130,5.041,3593,7.24,3601,2.331,3603,2.913,4677,2.973,5934,6.232,6671,8.182,8898,3.57,10337,3.57,11049,4.06,11057,4.422,11058,4.422,11213,5.973,11216,8.143,11273,7.991,11274,8.659,11275,5.067,11276,8.01,11278,4.221,11279,4.854,11280,6.232,12009,9.957,12025,8.227,12088,10.394,12089,5.067,12173,9.957,12177,10.978,12178,9.957,12179,10.978,12180,9.609,12181,9.957,12182,7.729,12187,5.352,12188,7.729,12189,5.067,12190,7.729,12191,7.729,12192,7.729,12193,5.352,12194,12.643,12195,5.785,12196,5.785,12197,5.785,12198,5.785,12199,5.067,12200,5.785]],["title/classes/H5PErrorMapper.html",[0,0.232,12201,6.357]],["body/classes/H5PErrorMapper.html",[0,0.333,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,8,1.438,27,0.406,29,0.78,30,0.001,31,0.563,32,0.128,33,0.471,35,1.193,95,0.141,101,0.015,103,0.001,104,0.001,226,1.439,236,1.603,349,1.014,662,3.957,990,3.376,1105,5.954,2024,4.591,3730,7.528,5883,5.654,11976,11.009,12201,11.009,12202,9.849,12203,11.899,12204,11.899,12205,13.28,12206,9.849,12207,9.849,12208,9.849]],["title/classes/H5PSaveResponse.html",[0,0.232,11432,5.013]],["body/classes/H5PSaveResponse.html",[0,0.388,2,0.743,3,0.015,4,0.015,5,0.007,7,0.096,27,0.439,29,0.532,30,0.001,31,0.608,32,0.149,33,0.321,34,1.546,47,0.991,55,1.896,95,0.126,101,0.019,103,0,104,0,105,1.084,112,0.71,138,1.664,150,1.513,180,1.164,245,3.502,271,3.939,284,2.809,319,3.919,379,0.848,819,3.38,1105,5.74,1125,6.488,1150,6.222,1215,5.845,1217,3.784,1218,2.541,1271,2.095,1820,5.599,1821,6.293,2024,3.128,2171,7.2,2236,4.897,2255,2.57,2297,6.293,2784,3.181,3130,5.599,5833,8.442,5838,5.327,5847,4.71,5854,4.799,5883,3.853,5890,4.799,5891,4.799,5896,4.799,5948,6.635,6441,4.348,6520,5.726,6521,5.599,6522,5.599,7287,5.483,7536,4.71,10530,5.599,10869,4.416,11405,7.444,11406,5.13,11407,7.092,11408,8.128,11409,7.092,11410,6.771,11411,7.092,11412,5.13,11413,5.13,11414,5.13,11415,5.13,11416,5.13,11417,5.13,11418,5.007,11419,6.293,11420,4.71,11421,5.13,11422,5.13,11423,4.628,11424,6.922,11425,4.897,11426,5.13,11427,5.13,11428,5.13,11429,5.13,11430,5.13,11431,8.983,11432,6.771,11433,5.13,12209,6.711,12210,6.711,12211,6.711]],["title/classes/H5PTemporaryFileFactory.html",[0,0.232,12212,6.357]],["body/classes/H5PTemporaryFileFactory.html",[0,0.162,2,0.531,3,0.01,4,0.01,5,0.008,7,0.069,8,0.879,27,0.538,29,1.033,30,0.001,31,0.708,32,0.172,33,0.592,34,1.463,35,1.471,47,0.511,55,2.353,59,3.242,95,0.104,101,0.007,103,0,104,0,112,0.556,120,3.071,133,2.5,140,2.614,153,2.014,154,2.112,155,2.364,159,5.622,177,1.352,180,1.26,236,1.595,239,1.125,271,4.662,302,5.709,319,3.071,349,0.749,379,0.606,382,3.843,413,2.189,437,1.389,447,7.115,448,4.466,449,5.386,452,3.996,453,5.386,454,5.6,455,3.996,456,3.996,457,3.996,458,3.932,459,4.422,460,4.826,461,6.519,462,5.696,463,6.954,464,2.658,469,2.636,470,3.996,471,2.658,472,5.07,473,5.219,474,4.158,475,4.935,476,3.964,477,2.636,478,2.499,479,4.063,480,3.3,481,2.574,482,2.535,483,2.636,484,5.001,485,2.658,486,3.571,487,4.75,488,2.636,489,7.012,490,4.215,491,6.52,492,2.658,493,4.285,494,2.636,495,2.658,496,2.636,497,2.658,498,2.636,499,2.959,500,2.779,501,2.636,502,5.995,503,2.658,504,2.636,505,3.996,506,3.762,507,3.996,508,2.658,509,2.554,510,2.535,511,2.123,512,2.636,513,2.636,514,2.636,515,2.658,516,2.658,517,1.809,518,2.636,519,1.476,520,2.658,521,2.871,522,2.636,523,2.658,525,2.753,526,2.806,527,2.834,823,2.554,1636,3.429,2368,3.031,5826,2.994,6987,9.744,6988,3.665,6989,5.305,6990,7.49,7734,3.307,8171,3.883,8172,4.437,10508,6.712,10753,6.368,11963,6.727,11965,4.437,11966,4.437,12186,3.665,12212,8.124,12213,4.796,12214,9.799,12215,4.796,12216,4.024,12217,4.024,12218,3.883,12219,4.796,12220,4.796,12221,4.024,12222,4.796]],["title/entities/H5pEditorTempFile.html",[154,1.378,12186,5.251]],["body/entities/H5pEditorTempFile.html",[0,0.252,3,0.016,4,0.016,5,0.013,7,0.107,27,0.515,30,0.001,31,0.57,32,0.162,47,0.902,55,2.293,83,3.695,95,0.133,96,1.972,99,1.205,101,0.015,103,0.001,104,0.001,105,0.759,112,0.762,138,2.239,154,1.998,155,2.422,159,8.226,172,4.281,173,2.16,174,3.785,178,2.942,180,1.291,182,2.359,197,5.557,360,5.049,379,0.941,823,6.843,1105,6.428,1125,4.545,1147,2.267,2024,3.472,2424,5.886,3130,7.917,5826,8.022,5831,10.403,5883,4.276,6448,4.769,10507,7.822,10508,9.82,10522,5.85,10927,6.525,10951,7.613,12186,7.613,12216,8.358,12221,10.781,12223,6.892,12224,7.449,12225,7.449,12226,7.449,12227,8.724,12228,9.215,12229,9.215,12230,7.449,12231,7.449,12232,8.724,12233,6.892,12234,6.892]],["title/classes/H5pFileDto.html",[0,0.232,11460,5.563]],["body/classes/H5pFileDto.html",[0,0.284,2,0.93,3,0.018,4,0.018,5,0.014,7,0.121,27,0.518,29,0.666,30,0.001,31,0.742,32,0.163,33,0.402,47,0.97,55,2.565,95,0.127,101,0.018,103,0.001,104,0.001,105,1.099,112,0.825,284,3.929,379,1.061,829,4.348,834,4.582,1105,6.494,1147,3.281,1215,7.134,1217,4.738,1361,6.436,2044,3.267,2190,5.312,3601,3.386,5838,6.188,6421,7.052,6456,5.7,6520,5.186,6521,6.505,6522,6.505,10332,9.045,10337,5.186,10338,7.052,10339,6.599,10340,6.805,11405,8.422,11423,5.795,11460,10.51,11461,6.423,12235,8.404,12236,8.404,12237,8.404,12238,8.404]],["title/interfaces/HtmlMailContent.html",[105,0.7,1370,5.125]],["body/interfaces/HtmlMailContent.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,31,0.505,32,0.144,33,0.532,47,1.016,77,5.649,101,0.014,103,0.001,104,0.001,105,1.392,107,2.07,112,0.851,180,2.284,1150,5.163,1356,8.294,1357,6.744,1358,9.081,1359,8.498,1360,6.744,1361,4.772,1362,8.294,1363,6.439,1364,6.439,1365,9.534,1366,6.744,1367,8.294,1368,10.069,1369,10.069,1370,9.081,1371,6.783,1372,6.582,1373,6.582,1374,6.744,1375,6.744]],["title/injectables/HydraOauthUc.html",[539,0.921,12239,5.765]],["body/injectables/HydraOauthUc.html",[0,0.174,3,0.011,4,0.011,5,0.006,7,0.074,8,0.929,27,0.487,29,0.805,30,0.001,31,0.581,32,0.148,33,0.486,35,1.112,36,2.439,39,1.386,47,0.98,55,1.876,56,2.489,59,2.365,95,0.151,99,0.835,100,2.617,101,0.008,103,0,104,0,105,0.526,112,0.588,119,1.07,133,1.775,143,1.143,177,2.255,226,0.754,236,1.493,262,2.734,278,3.5,310,2.241,347,3.317,349,0.945,379,0.97,437,1.557,448,3.698,480,2.553,486,2.763,521,2.038,529,2.198,539,1.029,541,1.238,603,2.677,608,2.807,696,2.987,710,5.298,790,2.599,824,2.73,951,5.34,990,3.906,996,2.489,997,2.405,998,2.46,1079,3.05,1226,2.489,1341,1.658,1478,7.047,1694,4.741,1781,7.207,1970,7.773,1982,3.622,2079,2.284,2080,2.55,2081,2.46,2312,3.809,2313,4.638,3940,2.91,4009,6.221,6390,4.52,6391,4.52,7379,7.27,9361,4.775,10369,4.331,12239,6.447,12240,12.127,12241,5.161,12242,9.178,12243,9.178,12244,10.167,12245,7.683,12246,9.178,12247,7.683,12248,4.52,12249,8.71,12250,9.904,12251,5.161,12252,7.683,12253,5.161,12254,5.161,12255,5.161,12256,10.167,12257,7.683,12258,5.161,12259,7.108,12260,5.161,12261,5.161,12262,5.161,12263,5.955,12264,6.447,12265,4.775,12266,5.494,12267,4.775,12268,4.52,12269,5.606,12270,4.775,12271,4.52,12272,5.161,12273,4.52,12274,9.406,12275,7.683,12276,7.108,12277,5.161,12278,5.161,12279,5.161,12280,7.683,12281,7.701,12282,5.161,12283,5.161,12284,5.161,12285,5.161,12286,5.161,12287,7.683,12288,4.775,12289,4.52,12290,4.331,12291,5.161,12292,5.161,12293,4.331,12294,5.161,12295,5.161,12296,5.161,12297,7.683,12298,5.161,12299,5.161]],["title/classes/HydraRedirectDto.html",[0,0.232,12264,5.765]],["body/classes/HydraRedirectDto.html",[0,0.3,2,0.98,3,0.019,4,0.019,5,0.01,7,0.127,27,0.555,29,0.702,30,0.001,31,0.507,32,0.175,33,0.424,47,0.783,55,2.278,95,0.132,101,0.014,103,0.001,104,0.001,112,0.853,181,3.009,379,1.119,381,2.999,824,4.334,1014,7.176,1970,8.722,1982,6.219,4009,9.877,6388,10.235,12264,11.068,12281,10.235,12288,11.285,12289,10.684,12290,10.235,12300,8.862,12301,8.862,12302,8.862,12303,8.862,12304,8.862,12305,8.862,12306,8.862,12307,8.199,12308,8.862,12309,8.862,12310,8.862,12311,8.862,12312,8.862,12313,8.862,12314,8.862,12315,8.862,12316,8.862]],["title/injectables/HydraSsoService.html",[539,0.921,12250,5.765]],["body/injectables/HydraSsoService.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.065,8,0.845,27,0.466,29,0.86,30,0.001,31,0.621,32,0.147,33,0.52,35,1.247,36,2.615,47,0.951,95,0.155,99,0.737,100,1.551,101,0.007,103,0,104,0,112,0.535,177,2.103,226,0.665,227,1.89,236,1.552,238,2.545,262,2.64,292,2.309,310,1.977,349,1.06,360,2.309,379,0.883,437,1.718,448,3.427,480,1.267,486,1.371,519,1.402,529,1.303,539,0.936,541,1.092,556,1.113,569,3.256,603,2.523,608,1.618,639,2.146,708,1.827,951,2.134,963,7.937,964,2.639,966,2.997,1195,6.679,1226,2.196,1262,1.591,1341,1.463,1391,3.256,1394,3.989,1459,3.989,1486,2.844,1515,3.256,1568,2.916,1781,3.576,1820,2.748,1970,3.256,1982,3.196,2079,2.016,2080,2.25,2081,2.171,2091,3.397,2244,5.342,2245,3.821,2274,4.213,2279,3.989,2312,3.53,2313,4.353,2548,2.358,3940,2.567,4009,9.158,4581,3.397,4673,6.962,4677,2.34,4957,6.679,5558,2.852,5643,2.293,6388,10.042,6390,6.122,6391,6.122,6863,6.191,7373,5.214,7379,3.256,7431,4.905,7456,6.191,7528,2.778,8800,3.397,9343,3.089,9382,3.196,9825,6.962,9854,3.687,12250,5.865,12259,4.213,12263,7.048,12264,8.636,12265,4.213,12274,6.466,12281,9.793,12289,3.989,12290,9.115,12307,4.213,12317,4.554,12318,6.989,12319,6.989,12320,6.989,12321,6.989,12322,4.554,12323,7.45,12324,4.554,12325,6.989,12326,6.989,12327,4.554,12328,6.989,12329,4.554,12330,6.989,12331,4.554,12332,6.989,12333,4.554,12334,4.554,12335,6.989,12336,4.554,12337,4.554,12338,3.481,12339,4.554,12340,5.865,12341,3.821,12342,4.554,12343,4.554,12344,3.397,12345,3.397,12346,3.397,12347,3.481,12348,4.554,12349,4.554,12350,4.554,12351,4.554,12352,6.989,12353,4.554,12354,4.554,12355,4.554,12356,4.554,12357,6.989,12358,4.554,12359,4.554,12360,3.821,12361,4.213,12362,4.554,12363,4.554,12364,8.006,12365,4.554,12366,4.554,12367,4.554,12368,6.989,12369,4.554,12370,4.554,12371,4.554,12372,6.989,12373,4.554,12374,4.554,12375,4.554,12376,4.554,12377,4.554,12378,4.554,12379,4.554,12380,4.554,12381,4.554,12382,4.554,12383,4.554,12384,4.554,12385,4.554,12386,6.989,12387,4.554,12388,4.554,12389,4.554,12390,6.989,12391,3.14,12392,4.554,12393,4.554,12394,3.041,12395,3.821,12396,3.14,12397,4.554,12398,4.554,12399,3.14,12400,4.554,12401,4.554,12402,2.81,12403,4.554,12404,4.554,12405,3.576,12406,3.089,12407,4.554,12408,4.554,12409,4.554]],["title/interfaces/IAccountConfig.html",[105,0.7,12410,6.018]],["body/interfaces/IAccountConfig.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,55,2.675,101,0.016,103,0.001,104,0.001,105,1.06,107,2.44,112,0.941,119,2.714,221,9.626,1637,11.845,12410,10.769,12411,7.057,12412,12.512]],["title/interfaces/IBbbSettings.html",[105,0.7,2199,5.563]],["body/interfaces/IBbbSettings.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.167,47,1,101,0.018,103,0.001,104,0.001,105,1.021,107,2.35,112,0.92,437,1.321,1195,10.489,1998,5.221,2196,10.816,2197,11.7,2199,9.735,2202,8.776,12413,10.019,12414,8.776,12415,10.019]],["title/interfaces/ICalendarEvent.html",[105,0.7,3980,5.765]],["body/interfaces/ICalendarEvent.html",[3,0.023,4,0.023,5,0.011,7,0.148,30,0.001,32,0.169,47,0.86,101,0.016,103,0.001,104,0.001,105,1.052,107,2.422,112,0.936,120,5.17,284,4.083,346,6.165,1080,6.611,3970,7.119,3980,10.27,3987,8.36,3990,7.892,12416,10.325,12417,10.325]],["title/interfaces/IClassEntityProps.html",[105,0.7,4335,5.765]],["body/interfaces/IClassEntityProps.html",[0,0.278,2,0.626,3,0.012,4,0.026,5,0.006,7,0.174,26,2.144,30,0.001,31,0.646,32,0.171,33,0.658,34,1.77,47,0.956,49,5.196,55,2.171,62,6.67,95,0.133,96,2.175,97,2.308,99,0.915,101,0.013,103,0,104,0,105,0.576,107,1.327,112,0.741,133,1.945,143,2.811,144,4.036,154,1.648,172,4.065,173,1.64,174,3.123,178,2.234,180,0.981,181,1.527,182,1.791,236,0.92,404,2.261,405,4.345,480,1.573,529,1.619,556,3.149,603,1.168,708,2.27,2044,2.199,4266,3.82,4267,7.92,4268,8.626,4269,8.592,4270,8.626,4271,7.443,4272,8.626,4273,8.626,4316,4.127,4317,5.233,4325,9.246,4332,4.411,4333,3.31,4334,5.233,4335,8.916,4336,4.746,4337,9.83,4338,6.896,4339,5.233,4340,5.233,4341,4.746,4342,2.503,4343,3.31,4344,4.22,4345,7.604,4346,4.442,4347,5.233,4348,5.233,4349,7.604,4350,5.233,4351,7.604,4352,5.233,4353,5.233,4354,6.454,4355,4.22,4356,7.604,4357,5.233,4358,6.282,4359,3.9,4360,7.604,4361,5.233]],["title/interfaces/ICleanOptions.html",[105,0.7,12418,5.563]],["body/interfaces/ICleanOptions.html",[0,0.161,3,0.01,4,0.01,5,0.005,7,0.068,10,1.932,30,0.001,32,0.062,33,0.346,36,2.458,47,0.508,52,3.484,53,3.471,55,2.347,70,4.4,72,3.263,78,8.829,95,0.115,101,0.007,103,0,104,0,105,0.89,107,1.116,112,0.553,118,3.045,119,0.986,142,4.095,145,3.325,153,2.881,177,1.625,179,4.755,208,1.756,236,1.176,239,1.116,262,2.726,310,2.065,333,3.724,349,0.9,359,2.87,379,0.601,413,1.432,437,1.384,486,3.159,490,4.08,529,1.361,556,1.765,562,3.28,568,5.594,595,2.935,600,2.97,603,2.015,608,2.805,696,2.809,697,6.376,708,2.9,710,6.025,845,3.635,934,2.87,938,4.187,990,1.63,1288,2.593,1341,1.528,1512,5.456,1519,4.11,1645,5.674,1794,3.045,1822,4.314,1832,2.614,2079,2.105,2096,3.735,2312,1.974,2313,3.296,2406,2.658,2836,5.749,3122,5.113,3505,4.825,3513,3.28,3514,8.976,3515,6.633,3516,2.84,5564,3.548,6132,7.544,6680,3.735,7275,2.97,7292,3.045,7576,8.021,8050,6.131,8059,8.021,8384,3.28,8794,3.635,10777,5.07,11952,3.735,12418,7.075,12419,2.756,12420,2.935,12421,3.991,12422,3.991,12423,7.663,12424,6.063,12425,6.518,12426,3.735,12427,3.735,12428,6.063,12429,3.991,12430,3.991,12431,8.497,12432,3.991,12433,3.991,12434,5.851,12435,5.523,12436,3.991,12437,3.635,12438,3.735,12439,3.991,12440,3.991,12441,3.991,12442,8.806,12443,3.471,12444,3.991,12445,3.991,12446,7.332,12447,3.13,12448,5.926,12449,3.401,12450,4.982,12451,3.548,12452,3.991,12453,3.991,12454,3.991,12455,8.188,12456,3.991,12457,3.991,12458,3.991,12459,8.188,12460,3.991,12461,3.991,12462,3.991,12463,8.188,12464,8.188,12465,3.735,12466,3.991,12467,3.991,12468,3.991,12469,3.471,12470,3.851,12471,5.272,12472,3.991,12473,3.991,12474,3.991,12475,3.991,12476,3.991,12477,5.167,12478,3.735,12479,3.735,12480,3.991,12481,3.991,12482,3.991,12483,3.991,12484,3.991,12485,3.991,12486,3.991,12487,3.991,12488,3.991,12489,3.991,12490,3.991,12491,3.851]],["title/interfaces/ICollaborativeStorageStrategy.html",[105,0.7,4616,5.563]],["body/interfaces/ICollaborativeStorageStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.117,8,1.274,27,0.511,29,0.981,30,0.001,31,0.709,32,0.161,33,0.593,35,1.501,36,2.907,47,0.822,95,0.125,100,4.22,101,0.012,103,0.001,104,0.001,105,1.193,107,1.904,153,2.418,274,7.477,276,5.082,301,7.04,333,3.46,1723,5.344,2000,6.052,3970,5.598,4600,8.709,4610,8.536,4611,8.536,4613,8.536,4614,8.536,4616,8.536,4619,8.536,4620,9.58,4622,7.737,4623,8.536,4627,8.536,4633,6.205,4635,6.375,4636,6.813,4655,10.033,4656,6.574,12492,8.119,12493,10.541,12494,9.233,12495,8.119,12496,8.119,12497,8.119,12498,9.753,12499,8.119,12500,10.541]],["title/interfaces/ICollectionFilePath.html",[105,0.7,12501,6.357]],["body/interfaces/ICollectionFilePath.html",[0,0.09,3,0.006,4,0.02,5,0.009,7,0.038,10,1.083,27,0.11,30,0.001,31,0.446,32,0.059,33,0.282,35,1.026,36,1.934,47,0.89,55,0.925,83,1.302,95,0.133,96,0.705,97,1.087,99,0.431,101,0.012,103,0,104,0,105,0.272,107,0.625,112,0.346,119,0.939,143,1.003,155,0.867,177,1.294,209,1.009,225,1.061,226,0.389,236,0.96,262,2.187,274,1.608,284,2.735,285,1.753,301,1.779,316,1.441,319,1.912,333,3.322,348,2.28,349,1.297,360,2.295,361,2.575,379,0.336,437,1.755,461,1.43,480,0.741,521,1.052,524,4.434,529,0.762,539,0.606,556,0.651,561,2.465,569,1.905,573,1.807,584,3.883,598,1.544,603,2.6,608,2.968,639,1.256,646,1.905,651,2.183,652,2.183,653,2.326,685,2.47,696,1.76,708,2.792,741,1.807,933,2.509,938,1.544,990,0.913,996,1.285,997,1.242,998,1.27,999,1.342,1000,1.465,1001,1.837,1002,1.807,1218,2.234,1336,2.334,1341,0.856,1475,1.87,1491,1.559,1503,6.94,1717,5.584,1739,1.229,1818,1.779,1821,4.002,1822,5.92,1888,4.634,2000,1.53,2079,1.179,2080,1.316,2081,1.27,2082,1.706,2088,1.729,2190,1.684,2255,1.02,2311,2.552,2312,1.106,2313,2.065,2357,1.944,2362,2.092,2396,1.53,2417,2.793,2443,5.425,2830,5.06,2837,3.176,2882,4.726,2958,1.575,3030,2.236,3134,2.087,3346,1.575,3519,2.979,3528,2.465,3565,3.665,3885,4.951,3887,2.465,3888,2.465,3892,7.701,3894,1.837,3896,4.188,3903,7.915,4266,0.902,4381,3.561,4509,2.158,4606,3.965,4706,1.837,5126,5.17,5584,2.037,5826,1.664,6441,3.971,6563,2.334,6614,3.023,6683,3.176,7149,1.905,7292,2.898,7376,2.158,7456,1.729,7549,1.988,7734,1.837,8042,2.158,8043,2.092,8046,8.862,8047,5.838,8050,5.469,8053,3.377,8070,4.797,8071,5.169,8085,10.464,8109,4.778,8115,6.437,8197,4.402,8245,2.465,8246,2.465,8800,3.377,8801,3.965,9006,4.657,9382,1.87,9825,4.306,9854,2.158,10144,1.706,10527,1.626,10538,2.092,10906,4.951,10923,4.188,10926,3.357,10936,4.51,10940,2.465,10945,8.799,10949,2.465,11008,3.665,11278,1.944,11303,1.905,12361,2.465,12501,7.84,12502,2.665,12503,2.465,12504,2.465,12505,2.665,12506,2.665,12507,7.794,12508,5.901,12509,3.965,12510,8.474,12511,5.901,12512,6.957,12513,2.665,12514,2.665,12515,2.465,12516,2.665,12517,2.665,12518,2.665,12519,2.334,12520,2.665,12521,4.526,12522,2.665,12523,8.474,12524,4.526,12525,4.526,12526,2.665,12527,2.665,12528,2.665,12529,2.465,12530,2.665,12531,2.665,12532,6.957,12533,2.665,12534,2.665,12535,2.665,12536,2.665,12537,2.665,12538,2.665,12539,2.665,12540,2.665,12541,2.665,12542,2.665,12543,5.901,12544,2.665,12545,6.957,12546,2.665,12547,2.665,12548,1.664,12549,2.665,12550,4.526,12551,4.526,12552,2.665,12553,2.665,12554,2.665,12555,4.526,12556,2.665,12557,2.665,12558,2.665,12559,4.526,12560,3.965,12561,4.526,12562,4.526,12563,2.665,12564,2.665,12565,2.665,12566,2.665,12567,2.665,12568,2.665,12569,2.665,12570,2.665,12571,2.665,12572,2.665,12573,2.665,12574,6.957,12575,2.665,12576,3.798,12577,4.951,12578,2.665,12579,4.526,12580,4.526,12581,2.665,12582,4.526,12583,2.665,12584,4.526,12585,2.665,12586,2.665,12587,2.665,12588,5.901,12589,2.665,12590,2.665,12591,2.092,12592,2.465,12593,2.665,12594,2.665,12595,2.665,12596,3.303,12597,2.236,12598,2.665,12599,2.665,12600,2.665,12601,2.665,12602,2.665,12603,4.526,12604,2.665,12605,2.665,12606,2.665,12607,2.665,12608,2.665,12609,2.665,12610,2.665,12611,2.665,12612,3.665,12613,2.665,12614,2.665,12615,2.665,12616,2.665,12617,1.988,12618,2.665,12619,2.665,12620,2.665,12621,2.665,12622,2.665,12623,4.526,12624,2.665,12625,2.665,12626,5.901,12627,2.665,12628,2.665,12629,2.665,12630,2.665,12631,2.334,12632,2.665,12633,2.665,12634,3.665,12635,3.665,12636,3.665,12637,2.665,12638,5.459,12639,2.665,12640,2.465,12641,2.334,12642,2.665,12643,2.665,12644,2.665,12645,3.965,12646,2.665,12647,2.665,12648,2.665,12649,2.665,12650,2.665,12651,2.665,12652,2.665,12653,2.665,12654,5.901,12655,2.665,12656,2.665,12657,2.665,12658,2.665,12659,2.665,12660,4.526,12661,3.377,12662,4.526,12663,2.665,12664,4.188,12665,4.526,12666,2.665,12667,4.526,12668,5.901,12669,2.665,12670,2.334,12671,2.465,12672,2.665,12673,2.665,12674,2.465,12675,1.988,12676,2.465,12677,2.665,12678,2.665,12679,2.665,12680,2.665,12681,2.665,12682,2.665]],["title/interfaces/ICommonCartridgeConfig.html",[105,0.7,12683,6.018]],["body/interfaces/ICommonCartridgeConfig.html",[3,0.023,4,0.023,5,0.012,7,0.152,30,0.001,32,0.138,101,0.016,103,0.001,104,0.001,105,1.083,107,2.491,112,0.952,119,2.738,5199,6.892,5200,6.892,12683,10.901,12684,10.621,12685,12.596]],["title/interfaces/ICommonCartridgeElement.html",[105,0.7,5226,4.521]],["body/interfaces/ICommonCartridgeElement.html",[3,0.023,4,0.023,5,0.012,7,0.15,8,1.493,27,0.432,30,0.001,35,1.27,101,0.016,103,0.001,104,0.001,105,1.069,107,2.459,988,5.388,1121,8.68,5098,7.712,5199,8.014,5200,8.014,5226,8.127,12686,10.484,12687,10.484]],["title/interfaces/ICommonCartridgeFile.html",[105,0.7,5267,5.395]],["body/interfaces/ICommonCartridgeFile.html",[3,0.022,4,0.022,5,0.011,7,0.146,8,1.464,27,0.5,30,0.001,35,1.467,47,0.851,101,0.016,103,0.001,104,0.001,105,1.034,107,2.379,119,2.512,2255,5.135,5098,8.085,5199,8.402,5200,8.402,5267,9.511,5268,10.86,12688,10.144,12689,10.144,12690,10.144]],["title/interfaces/ICommonCartridgeFileBuilder.html",[105,0.7,5202,5.563]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.288,3,0.013,4,0.013,5,0.013,7,0.085,8,1.031,27,0.411,29,0.676,30,0.001,31,0.488,32,0.129,33,0.408,35,1.207,36,2.133,47,0.764,95,0.146,101,0.017,103,0,104,0,105,0.869,107,1.397,177,2.347,236,2.122,262,1.313,345,1.891,349,1.234,379,0.752,381,3.372,437,1.58,454,5.31,490,2.116,603,2.548,1121,3.812,1147,2.596,1271,2.662,1312,5.534,1732,4.476,1942,4.172,2063,6.759,3222,5.461,5098,8.024,5110,4.676,5111,4.613,5112,5.881,5122,9.432,5134,6.674,5139,6.698,5141,6.698,5149,6.906,5153,6.967,5155,4.822,5161,5.785,5199,7.061,5200,7.061,5201,4.997,5202,9.703,5203,7.825,5204,6.519,5205,7.157,5206,7.891,5207,7.891,5209,7.157,5213,8.362,5215,8.362,5216,9.703,5218,9.992,5219,8.362,5222,4.822,5223,4.822,5224,4.551,5225,4.258,5226,6.557,5227,4.039,5228,6.698,5229,6.906,5230,4.676,5231,6.099,5232,4.676,5233,7.157,5234,4.822,5235,4.997,5236,4.997,5237,4.997,5238,9.131,5239,4.997,5240,7.157,5241,4.997,5242,4.997,5243,7.157,5244,4.997,5245,4.997,5246,4.997,5247,4.997,5248,4.997,5249,4.997,5250,4.997,5251,4.997,5252,4.997,5253,4.997,5254,4.997,5255,4.822,5256,4.997,5257,4.997,5258,4.997,5259,4.997,5260,4.997,5261,4.997,5262,4.997,5263,4.997,12691,5.954,12692,5.954,12693,5.954]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[105,0.7,5218,5.563]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.298,3,0.014,4,0.014,5,0.011,7,0.09,8,1.067,27,0.258,29,0.495,30,0.001,31,0.357,32,0.114,33,0.299,35,0.757,36,1.889,47,0.781,95,0.148,101,0.017,103,0,104,0,105,0.899,107,1.465,177,2.377,236,2.144,262,1.378,345,1.984,349,1.254,379,0.789,381,2.987,437,1.606,454,4.069,490,2.22,603,2.584,1121,4,1147,2.686,1271,2.755,1312,5.726,1732,4.632,1942,4.284,2063,6.94,3222,5.65,5098,7.814,5110,4.906,5111,4.773,5112,6.085,5122,9.564,5134,6.797,5139,6.93,5141,6.93,5149,7.146,5153,7.119,5155,5.059,5161,5.986,5199,5.726,5200,5.726,5201,5.242,5202,9.004,5203,8.035,5204,6.745,5205,7.405,5209,7.405,5213,8.586,5215,7.405,5216,9.004,5218,10.349,5219,7.405,5222,5.059,5223,5.059,5224,4.775,5225,4.467,5226,6.733,5227,4.237,5228,6.93,5229,7.146,5230,4.906,5231,6.311,5232,4.906,5233,8.586,5234,5.059,5235,5.242,5236,5.242,5237,5.242,5238,9.33,5239,5.242,5240,7.405,5241,5.242,5242,5.242,5243,7.405,5244,5.242,5245,5.242,5246,5.242,5247,5.242,5248,5.242,5249,5.242,5250,5.242,5251,5.242,5252,5.242,5253,5.242,5254,5.242,5255,5.059,5256,5.242,5257,5.242,5258,5.242,5259,5.242,5260,5.242,5261,5.242,5262,5.242,5263,5.242,5368,8.165,12694,6.247]],["title/interfaces/IComponentEtherpadProperties.html",[105,0.7,12695,4.913]],["body/interfaces/IComponentEtherpadProperties.html",[0,0.155,3,0.01,4,0.01,5,0.005,7,0.137,26,2.084,30,0.001,31,0.402,32,0.141,47,0.967,55,2.11,95,0.145,96,1.214,101,0.019,103,0,104,0,105,1.192,107,1.075,112,0.538,119,1.457,143,1.892,144,1.486,145,1.974,153,2.499,154,1.409,172,3.213,173,1.329,174,2.67,175,2.049,178,1.81,180,0.795,181,1.238,182,1.452,226,0.67,236,1.558,239,1.075,316,3.8,349,1.3,437,1.666,474,1.945,529,2.01,556,1.716,563,4.195,603,1.451,604,1.886,662,1.419,696,1.782,742,2.52,839,1.427,1147,1.395,1218,1.736,1226,2.211,1262,3.962,1271,3.539,1664,1.717,1717,2.198,1739,3.239,1920,2.211,1926,3.88,1944,1.936,2044,1.782,2255,4.17,2670,3.917,2673,3.861,2677,2.52,2682,4.498,2683,2.71,2684,4.549,2686,3.857,2687,4.387,2696,2.137,2700,4.623,2804,3.742,2882,4.071,3366,4.22,3476,5.399,3495,6.108,3601,1.847,3629,3.217,3630,3.217,4119,4.152,4278,2.898,4342,2.029,4969,2.829,4973,2.898,4974,2.975,5094,2.125,5119,6.602,5130,3.278,5146,2.541,5153,4.498,5158,6.949,5170,3.278,5176,3.278,5181,3.278,5758,7.51,6614,5.704,6617,6.108,6735,2.975,6757,2.863,6767,6.101,6768,3.062,6769,4.623,6771,4.441,6809,4.498,6810,4.692,6835,4.765,7006,2.863,7007,3.062,8955,5.024,11385,4.765,12695,6.108,12696,3.345,12697,5.469,12698,3.345,12699,4.93,12700,6.793,12701,5.024,12702,3.278,12703,5.024,12704,5.024,12705,5.024,12706,3.345,12707,5.024,12708,3.062,12709,5.024,12710,5.024,12711,3.345,12712,3.345,12713,3.345,12714,3.217,12715,3.217,12716,3.345,12717,3.345,12718,3.345,12719,5.127,12720,5.994,12721,3.217,12722,5.127,12723,3.345,12724,3.345,12725,3.345,12726,3.161,12727,3.345,12728,3.345,12729,5.127,12730,3.345,12731,3.345,12732,6.986,12733,6.233,12734,3.278,12735,3.345,12736,3.345,12737,3.345,12738,3.345,12739,3.345,12740,3.345,12741,3.345,12742,3.345,12743,3.345,12744,3.345,12745,3.345,12746,3.161,12747,3.345,12748,3.345]],["title/interfaces/IComponentGeogebraProperties.html",[105,0.7,12705,4.913]],["body/interfaces/IComponentGeogebraProperties.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.139,26,2.098,30,0.001,31,0.407,32,0.125,47,0.954,55,2.125,95,0.145,96,1.233,101,0.02,103,0,104,0,105,1.198,107,1.093,112,0.544,119,1.475,143,1.911,144,1.51,145,1.999,153,1.979,154,1.426,172,3.236,173,1.351,174,2.703,175,2.082,178,1.839,180,0.808,181,1.257,182,1.475,226,0.68,236,1.571,239,1.093,316,3.847,349,1.305,437,1.672,474,1.976,529,2.035,556,1.737,563,4.246,603,1.469,604,1.917,662,1.442,696,1.811,742,2.56,839,1.45,1147,1.418,1218,1.764,1226,2.246,1262,3.374,1271,3.014,1664,1.744,1717,2.233,1739,3.279,1920,2.246,1926,3.908,1944,1.968,2044,1.811,2255,4.196,2670,3.956,2673,3.909,2677,2.56,2682,4.553,2683,2.753,2684,4.594,2686,3.895,2687,4.441,2696,2.171,2700,4.68,2804,3.788,2882,4.111,3366,4.262,3476,5.453,3495,6.168,3601,1.877,3629,3.269,3630,3.269,4119,4.203,4278,2.945,4342,2.062,4969,2.875,4973,2.945,4974,3.023,5094,2.159,5119,6.657,5130,3.331,5146,2.582,5153,4.553,5158,6.981,5170,3.331,5176,3.331,5181,3.331,5758,7.557,6614,5.76,6617,6.168,6735,3.023,6757,2.909,6767,6.145,6768,3.111,6769,4.68,6771,4.495,6809,4.553,6810,4.749,6835,4.824,7006,2.909,7007,3.111,8955,5.085,11385,4.824,12695,5.085,12696,3.399,12697,5.523,12698,3.399,12699,4.99,12700,6.842,12701,5.085,12702,3.331,12703,5.085,12704,5.085,12705,6.168,12706,7.045,12707,5.085,12708,3.111,12709,5.085,12710,5.085,12711,3.399,12712,3.399,12713,3.399,12714,3.269,12715,3.269,12716,3.399,12717,3.399,12718,3.399,12719,5.189,12720,6.053,12721,3.269,12722,5.189,12723,3.399,12724,3.399,12725,3.399,12726,3.212,12727,3.399,12728,3.399,12729,5.189,12730,3.399,12731,3.399,12732,7.045,12733,6.295,12734,3.331,12735,3.399,12736,3.399,12737,3.399,12738,3.399,12739,3.399,12740,3.399,12741,3.399,12742,3.399,12743,3.399,12744,3.399,12745,3.399,12746,3.212,12747,3.399,12748,3.399]],["title/interfaces/IComponentInternalProperties.html",[105,0.7,12710,4.913]],["body/interfaces/IComponentInternalProperties.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.139,26,2.098,30,0.001,31,0.407,32,0.125,47,0.954,55,2.125,95,0.145,96,1.233,101,0.02,103,0,104,0,105,1.198,107,1.093,112,0.544,119,1.475,143,1.911,144,1.51,145,1.999,153,1.979,154,1.426,172,3.236,173,1.351,174,2.703,175,2.082,178,1.839,180,0.808,181,1.257,182,1.475,226,0.68,236,1.571,239,1.093,316,3.847,349,1.305,437,1.672,474,1.976,529,2.035,556,1.737,563,4.246,603,1.469,604,1.917,662,1.442,696,1.811,742,2.56,839,1.45,1147,1.418,1218,1.764,1226,2.246,1262,3.984,1271,3.014,1664,1.744,1717,2.233,1739,3.279,1920,2.246,1926,3.908,1944,1.968,2044,1.811,2255,4.196,2670,3.956,2673,3.909,2677,2.56,2682,4.553,2683,2.753,2684,4.594,2686,3.895,2687,4.441,2696,2.171,2700,4.68,2804,3.788,2882,4.111,3366,4.262,3476,5.453,3495,6.168,3601,1.877,3629,3.269,3630,3.269,4119,4.203,4278,2.945,4342,2.062,4969,2.875,4973,2.945,4974,3.023,5094,2.159,5119,6.657,5130,3.331,5146,2.582,5153,4.553,5158,6.981,5170,3.331,5176,3.331,5181,3.331,5758,7.557,6614,5.76,6617,6.168,6735,3.023,6757,2.909,6767,6.145,6768,3.111,6769,4.68,6771,4.495,6809,4.553,6810,4.749,6835,4.824,7006,2.909,7007,3.111,8955,5.085,11385,4.824,12695,5.085,12696,3.399,12697,5.523,12698,3.399,12699,4.99,12700,6.842,12701,5.085,12702,3.331,12703,5.085,12704,5.085,12705,5.085,12706,3.399,12707,5.085,12708,3.111,12709,5.085,12710,6.168,12711,3.399,12712,3.399,12713,3.399,12714,3.269,12715,3.269,12716,3.399,12717,3.399,12718,3.399,12719,5.189,12720,6.053,12721,3.269,12722,5.189,12723,3.399,12724,3.399,12725,3.399,12726,3.212,12727,3.399,12728,3.399,12729,5.189,12730,3.399,12731,3.399,12732,7.045,12733,6.295,12734,3.331,12735,3.399,12736,3.399,12737,3.399,12738,3.399,12739,3.399,12740,3.399,12741,3.399,12742,3.399,12743,3.399,12744,3.399,12745,3.399,12746,3.212,12747,3.399,12748,3.399]],["title/interfaces/IComponentLernstoreProperties.html",[105,0.7,12707,4.913]],["body/interfaces/IComponentLernstoreProperties.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.138,26,2.096,30,0.001,31,0.406,32,0.142,47,0.944,55,2.123,95,0.145,96,1.23,101,0.019,103,0,104,0,105,1.197,107,1.09,112,0.543,119,1.472,120,2.999,143,1.908,144,1.507,145,1.995,153,1.976,154,1.424,172,3.233,173,1.347,174,2.698,175,2.077,178,1.835,180,0.806,181,1.255,182,1.472,226,0.679,236,1.569,239,1.09,316,3.84,349,1.305,437,1.671,474,1.972,529,2.031,556,1.734,563,4.239,603,1.466,604,1.912,662,1.439,696,1.807,742,2.554,839,1.447,1147,1.415,1218,1.76,1226,2.241,1262,3.37,1271,3.01,1664,1.74,1717,2.228,1739,3.273,1920,2.241,1926,3.904,1944,1.963,2044,1.807,2255,4.192,2670,3.951,2673,3.902,2677,2.554,2682,4.545,2683,2.747,2684,4.588,2686,3.89,2687,4.433,2696,2.166,2700,4.672,2804,3.781,2882,4.106,3366,4.256,3476,5.445,3495,6.159,3601,1.873,3629,3.261,3630,3.261,4119,4.196,4278,2.938,4342,2.057,4969,2.868,4973,2.938,4974,3.016,5094,2.154,5119,6.649,5130,3.323,5146,2.576,5153,6.65,5158,6.976,5170,3.323,5176,3.323,5181,3.323,5758,7.55,6614,5.752,6617,6.159,6735,3.016,6757,2.902,6767,6.138,6768,3.104,6769,4.672,6771,4.488,6809,4.545,6810,4.741,6835,4.815,7006,2.902,7007,3.104,8955,5.076,11385,4.815,12695,5.076,12696,3.391,12697,5.515,12698,3.391,12699,4.982,12700,6.835,12701,5.076,12702,3.323,12703,5.076,12704,5.076,12705,5.076,12706,3.391,12707,6.159,12708,3.104,12709,5.076,12710,5.076,12711,3.391,12712,3.391,12713,3.391,12714,3.261,12715,3.261,12716,3.391,12717,3.391,12718,3.391,12719,5.18,12720,6.045,12721,3.261,12722,5.18,12723,3.391,12724,3.391,12725,3.391,12726,3.205,12727,3.391,12728,3.391,12729,5.18,12730,3.391,12731,3.391,12732,7.036,12733,6.286,12734,3.323,12735,3.391,12736,3.391,12737,3.391,12738,3.391,12739,3.391,12740,3.391,12741,3.391,12742,3.391,12743,3.391,12744,3.391,12745,3.391,12746,3.205,12747,3.391,12748,3.391]],["title/interfaces/IComponentNexboardProperties.html",[105,0.7,12709,4.913]],["body/interfaces/IComponentNexboardProperties.html",[0,0.154,3,0.01,4,0.01,5,0.005,7,0.137,26,2.076,30,0.001,31,0.399,32,0.147,47,0.972,55,2.102,95,0.144,96,1.204,101,0.019,103,0,104,0,105,1.189,107,1.067,112,0.534,119,1.448,143,1.883,144,1.475,145,1.962,153,2.491,154,1.401,172,3.202,173,1.319,174,2.654,175,2.033,178,1.796,180,0.789,181,1.228,182,1.441,226,0.664,236,1.552,239,1.067,316,3.777,349,1.298,437,1.663,474,1.93,529,1.998,556,1.706,563,4.17,603,1.442,604,1.872,662,1.408,696,1.768,742,2.5,839,1.416,1147,1.385,1218,1.722,1226,2.193,1262,3.951,1271,3.529,1664,1.703,1717,2.181,1739,3.22,1920,2.193,1926,3.866,1944,4.027,2044,1.768,2255,4.157,2670,3.898,2673,3.838,2677,2.5,2682,4.471,2683,2.688,2684,4.527,2686,3.838,2687,4.361,2696,2.12,2700,4.595,2804,3.72,2882,4.051,3366,4.199,3476,5.373,3495,6.078,3601,1.833,3629,3.192,3630,3.192,4119,4.127,4278,2.875,4342,2.013,4969,2.807,4973,2.875,4974,2.952,5094,2.109,5119,6.575,5130,3.253,5146,2.521,5153,4.471,5158,6.933,5170,3.253,5176,3.253,5181,3.253,5758,7.486,6614,5.676,6617,6.078,6735,2.952,6757,2.84,6767,6.079,6768,3.038,6769,4.595,6771,4.414,6809,4.471,6810,4.663,6835,4.737,7006,2.84,7007,3.038,8955,4.994,11385,4.737,12695,4.994,12696,3.319,12697,5.442,12698,3.319,12699,4.9,12700,6.769,12701,4.994,12702,3.253,12703,4.994,12704,4.994,12705,4.994,12706,3.319,12707,4.994,12708,3.038,12709,6.078,12710,4.994,12711,3.319,12712,3.319,12713,3.319,12714,3.192,12715,3.192,12716,3.319,12717,3.319,12718,3.319,12719,5.096,12720,5.965,12721,3.192,12722,5.096,12723,3.319,12724,3.319,12725,3.319,12726,3.137,12727,3.319,12728,3.319,12729,5.096,12730,3.319,12731,3.319,12732,6.958,12733,6.202,12734,3.253,12735,3.319,12736,3.319,12737,3.319,12738,3.319,12739,3.319,12740,3.319,12741,3.319,12742,3.319,12743,3.319,12744,3.319,12745,3.319,12746,3.137,12747,3.319,12748,3.319]],["title/interfaces/IComponentTextProperties.html",[105,0.7,12704,4.913]],["body/interfaces/IComponentTextProperties.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.139,26,2.098,30,0.001,31,0.407,32,0.125,47,0.954,55,2.125,95,0.145,96,1.233,101,0.02,103,0,104,0,105,1.198,107,1.093,112,0.544,119,1.475,143,1.911,144,1.51,145,1.999,153,1.979,154,1.426,172,3.236,173,1.351,174,2.703,175,2.082,178,1.839,180,0.808,181,1.257,182,1.475,226,0.68,236,1.571,239,1.093,316,3.847,349,1.305,437,1.672,474,1.976,529,2.035,556,1.737,563,4.246,603,1.469,604,1.917,662,1.442,696,1.811,742,2.56,839,1.45,1147,1.418,1218,1.764,1226,2.246,1262,3.374,1271,3.014,1664,1.744,1717,2.233,1739,3.279,1920,2.246,1926,3.908,1944,1.968,2044,1.811,2255,4.196,2670,3.956,2673,3.909,2677,2.56,2682,4.553,2683,2.753,2684,4.594,2686,3.895,2687,4.441,2696,2.171,2700,4.68,2804,3.788,2882,5.224,3366,4.262,3476,5.453,3495,6.168,3601,1.877,3629,3.269,3630,3.269,4119,4.203,4278,2.945,4342,2.062,4969,2.875,4973,2.945,4974,3.023,5094,2.159,5119,6.657,5130,3.331,5146,2.582,5153,4.553,5158,6.981,5170,3.331,5176,3.331,5181,3.331,5758,7.557,6614,5.76,6617,6.168,6735,3.023,6757,2.909,6767,6.145,6768,3.111,6769,4.68,6771,4.495,6809,4.553,6810,4.749,6835,4.824,7006,2.909,7007,3.111,8955,5.085,11385,4.824,12695,5.085,12696,3.399,12697,5.523,12698,3.399,12699,4.99,12700,6.842,12701,5.085,12702,3.331,12703,5.085,12704,6.168,12705,5.085,12706,3.399,12707,5.085,12708,3.111,12709,5.085,12710,5.085,12711,3.399,12712,3.399,12713,3.399,12714,3.269,12715,3.269,12716,3.399,12717,3.399,12718,3.399,12719,5.189,12720,6.053,12721,3.269,12722,5.189,12723,3.399,12724,3.399,12725,3.399,12726,3.212,12727,3.399,12728,3.399,12729,5.189,12730,3.399,12731,3.399,12732,7.045,12733,6.295,12734,3.331,12735,3.399,12736,3.399,12737,3.399,12738,3.399,12739,3.399,12740,3.399,12741,3.399,12742,3.399,12743,3.399,12744,3.399,12745,3.399,12746,3.212,12747,3.399,12748,3.399]],["title/interfaces/IContextExternalToolProperties.html",[105,0.7,6039,5.765]],["body/interfaces/IContextExternalToolProperties.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,29,0.998,30,0.001,32,0.168,33,0.579,47,0.942,55,2.475,95,0.149,96,2.028,101,0.016,103,0.001,104,0.001,105,0.781,107,1.797,112,0.776,131,2.911,143,2.248,144,2.484,154,2.035,172,3.923,173,2.221,174,3.856,178,3.025,180,1.328,181,2.068,182,2.426,564,3.792,654,2.306,1403,5.714,1732,4.02,2548,2.584,4332,5.446,4333,4.482,4858,7.605,5094,4.704,5453,7.447,5949,4.482,5953,6.475,5973,4.904,5974,5.282,5975,5.115,5976,5.589,5977,5.477,5978,5.714,6016,7.966,6024,5.589,6025,6.428,6026,6.202,6027,10.574,6029,11.038,6032,9.898,6034,9.196,6037,6.428,6038,4.97,6039,9.548,6040,7.087,6041,7.087,6042,7.087,6043,6.709,6044,6.428,6045,6.202,6046,6.428]],["title/interfaces/ICopyFileDO.html",[105,0.7,11148,5.251]],["body/interfaces/ICopyFileDO.html",[3,0.017,4,0.022,5,0.009,7,0.11,10,3.112,26,2.766,30,0.001,31,0.721,32,0.147,33,0.485,34,2.1,39,2.057,47,0.953,55,1.565,83,2.203,95,0.12,99,1.239,101,0.021,103,0.001,104,0.001,105,1.235,107,1.797,112,0.776,239,1.797,319,3.235,437,1.01,654,2.306,823,4.08,839,3.542,990,3.478,1064,6.882,1361,4.143,1926,2.879,2079,3.39,2080,3.784,2081,3.651,2480,4.527,2686,3.459,2696,3.57,2739,3.477,2883,3.407,3122,3.31,3171,4.049,3366,5.621,3380,5.282,3632,4.678,3742,4.357,3940,4.319,4266,2.592,4833,4.281,5146,4.245,5158,4.439,5932,4.143,5933,4.704,6422,8.089,6438,6.254,6440,6.677,6441,5.332,6464,5.714,6465,5.04,10666,7.404,10667,7.404,10668,7.404,10669,4.842,11134,5.714,11147,6.015,11148,7.755,11149,5.855,11245,6.015,11249,8.935,12749,6.428,12750,6.428,12751,6.428,12752,6.428,12753,6.428,12754,6.428]],["title/interfaces/ICopyFileDomainObjectProps.html",[105,0.7,6423,5.765]],["body/interfaces/ICopyFileDomainObjectProps.html",[3,0.021,4,0.021,5,0.013,7,0.14,26,2.814,30,0.001,31,0.756,32,0.165,33,0.565,34,2.204,47,0.893,95,0.115,99,1.574,101,0.015,103,0.001,104,0.001,105,0.992,107,2.283,112,0.904,133,3.346,556,3.107,1778,3.813,3600,4.838,6419,4.561,6422,8.833,6423,9.912,12755,9.004,12756,9.004]],["title/interfaces/ICopyFilesOfParentParams.html",[105,0.7,11245,5.395]],["body/interfaces/ICopyFilesOfParentParams.html",[3,0.017,4,0.028,5,0.009,7,0.11,10,3.124,26,2.709,30,0.001,31,0.582,32,0.148,34,1.695,39,3.259,47,0.929,55,1.571,83,2.212,95,0.12,99,1.244,101,0.021,103,0.001,104,0.001,105,1.236,107,1.803,112,0.778,239,1.803,319,3.248,437,1.014,654,2.315,823,4.095,839,3.548,990,3.486,1064,6.899,1361,4.159,1926,2.89,2079,3.403,2080,3.799,2081,3.665,2480,4.544,2686,3.472,2696,3.584,2739,5.506,2883,3.42,3122,3.323,3171,4.065,3366,5.632,3380,5.302,3632,4.69,3742,4.374,3940,4.335,4266,2.602,4833,4.297,5146,4.261,5158,4.456,5932,4.159,5933,4.715,6422,5.135,6438,6.265,6440,6.694,6441,5.342,6464,5.736,6465,5.059,10666,7.423,10667,7.423,10668,7.423,10669,4.86,11134,5.736,11147,6.038,11148,5.877,11149,5.877,11245,7.988,11249,10.383,12749,6.452,12750,6.452,12751,6.452,12752,6.452,12753,6.452,12754,6.452]],["title/interfaces/ICopyFilesRequestInfo.html",[105,0.7,6533,5.765]],["body/interfaces/ICopyFilesRequestInfo.html",[3,0.026,4,0.03,5,0.014,7,0.14,26,2.674,30,0.001,32,0.165,39,3.559,95,0.14,99,1.582,101,0.015,103,0.001,104,0.001,105,0.997,107,2.294,112,0.906,141,5.552,2739,6.013,3600,4.862,6419,4.583,6531,10.959,6533,9.941,12755,9.047,12757,8.565]],["title/interfaces/ICoreModuleConfig.html",[105,0.7,12758,5.765]],["body/interfaces/ICoreModuleConfig.html",[3,0.023,4,0.023,5,0.012,30,0.001,95,0.146,101,0.016,103,0.001,104,0.001,105,1.074,107,2.472,180,2.148,201,2.831,340,5.112,2312,4.374,12411,7.148,12758,10.395,12759,10.539,12760,11.041,12761,11.041]],["title/interfaces/ICourseGroupProperties.html",[105,0.7,7005,5.765]],["body/interfaces/ICourseGroupProperties.html",[0,0.24,3,0.015,4,0.015,5,0.008,7,0.182,26,2.369,30,0.001,31,0.702,32,0.168,33,0.461,39,1.903,47,0.862,62,4.188,95,0.158,96,1.876,101,0.015,103,0.001,104,0.001,105,0.981,107,1.662,112,0.837,154,1.932,172,2.998,173,2.054,174,3.66,175,3.167,178,2.798,180,1.228,181,1.913,182,2.244,236,1.153,239,2.753,349,0.73,437,0.935,519,2.181,556,1.731,644,5.099,654,2.899,662,2.981,766,3.96,915,4.972,975,3.458,990,2.429,1147,2.157,1309,4.106,1664,2.653,1717,3.397,1920,3.417,1926,5.165,2044,2.755,2396,4.068,2427,4.424,2670,5.017,2673,3.894,2677,3.894,2683,4.188,2685,4.972,2687,4.424,2700,4.663,2830,4.231,2883,3.152,3084,5.416,3452,4.886,4266,2.398,4342,3.136,5094,4.464,6401,5.564,6720,5.067,6725,7.759,6760,5.875,6767,4.188,6769,6.337,6770,4.373,6771,6.087,6772,3.96,6788,5.067,6792,4.424,6794,5.738,6809,4.537,6810,7.305,6847,5.738,6996,6.556,7005,9.179,7006,4.424,7007,4.732,7008,6.556,7009,6.556,7010,5.171,7011,6.556,7012,6.556,7013,6.556,7014,6.556,7015,6.556,7016,6.556]],["title/interfaces/ICourseProperties.html",[105,0.7,6773,5.563]],["body/interfaces/ICourseProperties.html",[0,0.197,2,1.018,3,0.008,4,0.008,5,0.004,7,0.148,26,2.088,30,0.001,31,0.562,32,0.164,33,0.635,34,1.218,39,1.963,47,0.905,62,2.131,83,3.419,95,0.14,96,0.954,101,0.011,103,0,104,0,105,0.367,107,0.846,112,0.445,119,1.206,143,2.384,144,2.982,145,1.013,153,2.256,154,1.166,168,3.278,172,3.35,173,1.045,174,2.21,175,1.611,178,1.424,180,0.625,181,0.973,182,1.142,236,1.751,239,2.788,253,1.781,316,1.95,348,2.928,349,1.326,379,0.455,404,1.441,413,1.75,437,1.698,473,1.92,486,2.2,490,1.281,519,1.79,528,1.852,529,1.664,556,2.402,565,3.472,603,1.732,644,4.583,651,2.804,652,2.804,654,2.769,662,3.532,708,1.447,726,3.025,839,2.275,915,2.53,1147,1.097,1226,2.804,1271,1.125,1664,1.35,1717,2.788,1726,2.49,1732,1.892,1820,2.175,1926,3.151,2024,1.68,2044,3.26,2670,4.51,2673,5.405,2677,4.017,2685,2.53,2687,2.251,3122,3.623,3174,2.407,3175,2.339,3346,2.131,3454,2.308,3751,2.578,3797,2.251,3821,3.826,3822,3.826,4119,2.131,4266,1.22,4267,5.128,4282,3.025,4316,6.712,4342,2.574,4417,6.296,4833,2.015,4969,2.225,5094,2.695,6624,2.689,6685,2.578,6717,3.158,6718,7.187,6719,6.669,6720,5.226,6721,6.142,6722,5.811,6723,2.486,6724,7.031,6725,6.216,6726,6.454,6727,7.175,6729,3.158,6731,3.158,6734,3.158,6735,2.339,6737,3.158,6739,8.056,6742,3.158,6744,3.158,6753,3.158,6757,2.251,6758,3.158,6759,3.158,6760,3.548,6761,4.158,6762,3.158,6763,6.861,6764,3.158,6765,4.243,6766,2.919,6767,3.436,6768,2.407,6769,3.826,6770,2.225,6771,3.676,6772,2.015,6773,5.918,6774,4.708,6775,3.158,6776,2.919,6777,2.578,6778,3.158,6779,3.158,6780,3.025,6781,2.689,6782,3.158,6783,3.158,6784,2.831,6785,3.158,6786,3.588,6787,10.281,6788,5.226,6789,2.919,6790,3.944,6791,2.225,6792,2.251,6793,2.175,6794,2.919,6795,3.158,6796,3.158,6797,5.093,6798,5.093,6799,5.093,6800,6.789,6801,4.708,6802,4.444,6803,5.093,6804,4.338,6805,4.444,6806,2.689,6807,3.158,6808,3.158,6809,2.308,6810,3.883,6811,3.158,6812,3.158,6813,3.158,6814,5.093,6815,3.158,6816,3.158,6817,3.158,6818,3.158,6819,3.158,6820,3.158,6821,3.158,6822,5.918,6823,6.401,6824,3.158,6825,3.158,6826,3.158,6827,3.158,6828,3.158,6829,2.631,6830,3.158,6831,3.158,6832,3.158,6833,3.158,6834,3.158,6835,2.445,6836,3.158,6837,3.025,6838,3.158,6839,6.401,6840,5.093,6841,3.158,6842,3.158,6843,2.919,6844,2.919,6845,2.486,6846,3.158,6847,5.918,6848,3.158,6849,3.158,6850,3.158,6851,3.158]],["title/interfaces/ICreateNews.html",[105,0.7,12762,5.563]],["body/interfaces/ICreateNews.html",[3,0.017,4,0.017,5,0.009,7,0.115,26,2.349,30,0.001,32,0.18,33,0.557,34,1.337,47,0.921,83,3.348,95,0.146,101,0.02,103,0.001,104,0.001,105,1.337,107,1.882,112,0.8,119,1.664,120,4.418,153,1.84,154,1.609,484,4.094,644,4.875,654,2.415,839,2.497,1271,3.85,1926,4.374,2255,4.722,2341,4.951,2739,5.806,3664,7.027,4622,5.009,4833,4.484,7096,6.382,7098,5.985,7099,7.552,7102,8.236,7105,6.246,7106,7.669,7283,8.167,10669,5.071,11309,6.496,12762,8.47,12763,7.422,12764,9.677,12765,7.422,12766,7.422,12767,7.422,12768,5.357,12769,6.732,12770,6.496]],["title/interfaces/ICurrentUser.html",[105,0.7,270,3.373]],["body/interfaces/ICurrentUser.html",[3,0.016,4,0.016,5,0.008,7,0.106,26,2.896,30,0.001,32,0.17,33,0.571,34,1.989,39,3.206,47,0.518,48,5.722,72,3.333,85,7.745,94,4.922,95,0.087,99,1.194,101,0.015,103,0.001,104,0.001,105,1.009,107,1.731,112,0.757,119,2.657,121,4.857,128,4.557,143,2.839,180,1.28,239,3.193,270,5.484,276,4.298,303,7.774,359,5.974,517,2.784,564,3.897,565,5.911,1002,6.715,2405,6.715,2424,5.851,3122,5.537,3134,4.564,3140,6.011,3308,6.611,4266,4.336,5160,6.514,5515,4.363,5550,4.857,5554,5.631,7273,9.665,7274,8.307,7275,4.609,7323,5.977,7325,5.507,7346,10.454,12771,6.829,12772,9.159,12773,5.977,12774,6.829,12775,6.829,12776,5.507]],["title/interfaces/IDashboardModelProperties.html",[105,0.7,7822,5.563]],["body/interfaces/IDashboardModelProperties.html",[0,0.324,3,0.015,4,0.015,5,0.008,7,0.176,30,0.001,32,0.141,33,0.459,34,2.193,39,2.578,47,0.888,49,2.63,55,2.393,95,0.145,96,2.54,97,2.876,101,0.018,103,0.001,104,0.001,105,0.978,107,1.653,112,0.734,143,2.417,144,2.285,154,2.188,172,3.646,173,2.044,174,4.146,178,3.789,180,1.664,181,1.903,182,3.039,236,1.561,239,3.131,379,0.89,404,3.835,405,3.727,556,1.722,1271,3.656,1717,4.6,1926,3.606,2418,7.961,2668,6.896,2670,4.401,2671,7.334,2673,5.274,2675,5.708,2677,3.874,2679,5.144,2683,4.166,2784,3.341,4333,4.125,5094,3.268,6757,4.401,6772,3.94,7112,4.574,7614,7.745,7799,9.197,7800,5.915,7801,9.484,7802,9.484,7810,7.77,7811,7.159,7812,5.915,7813,8.052,7814,5.915,7815,5.915,7816,5.915,7817,5.915,7818,5.915,7819,5.708,7820,5.915,7821,5.915,7822,8.834,7823,8.941,7824,5.915,7825,4.946,7826,5.915,7827,5.915,7828,5.915,7829,5.915,7830,5.915]],["title/interfaces/IDashboardRepo.html",[105,0.7,7995,5.765]],["body/interfaces/IDashboardRepo.html",[0,0.323,3,0.015,4,0.015,5,0.008,7,0.101,8,1.156,9,3.342,26,2.722,27,0.449,29,0.862,30,0.001,31,0.622,32,0.141,33,0.52,34,1.593,35,1.318,36,2.886,39,3.139,49,2.616,95,0.138,96,1.856,97,2.861,99,1.134,101,0.015,103,0.001,104,0.001,105,0.715,107,1.645,154,1.407,177,1.778,226,1.024,236,1.141,239,1.645,262,2.578,349,1.3,437,1.758,448,2.826,511,3.104,539,1.281,608,2.989,631,3.555,679,4.026,1147,2.134,1726,3.002,2311,5.391,2353,4.756,3346,4.144,7077,4.835,7614,7.978,7646,9.21,7682,7.309,7811,5.231,7891,7.509,7913,8.376,7972,6.142,7976,5.507,7977,6.488,7978,8.847,7979,8.376,7980,8.847,7982,10.067,7984,9.531,7986,6.488,7988,10.067,7990,6.488,7991,6.488,7992,8.847,7993,6.488,7994,6.142,7995,9.13,7996,5.36,7997,8.847,7998,6.488,7999,8.847,8000,6.488,8001,10.067,8002,6.488,8003,8.847,8004,6.488,8005,6.488,12777,7.012,12778,7.012,12779,7.012]],["title/interfaces/IEncryptionService.html",[105,0.7,9825,5.013]],["body/interfaces/IEncryptionService.html",[3,0.021,4,0.021,5,0.011,7,0.139,8,1.424,27,0.486,29,0.933,30,0.001,31,0.674,32,0.153,33,0.563,35,1.427,47,1,101,0.02,103,0.001,104,0.001,105,0.987,107,2.272,284,3.565,437,1.553,8800,7.225,8801,8.484,9825,8.595,12780,9.685,12781,10.317,12782,9.883,12783,10.897,12784,9.685,12785,10.897,12786,9.685,12787,9.685,12788,9.685]],["title/interfaces/IEntity.html",[105,0.7,2411,5.395]],["body/interfaces/IEntity.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.152,34,2.198,47,0.891,49,4.923,83,3.383,95,0.139,96,2.558,97,3.942,101,0.02,103,0.001,104,0.001,105,1.292,107,2.266,112,0.9,180,2.039,376,3.926,377,4.081,644,5.482,654,2.909,742,7.252,2411,10.361,6760,5.895,11726,6.78,12789,8.463,12790,8.108]],["title/interfaces/IEntityWithSchool.html",[105,0.7,6760,4.192]],["body/interfaces/IEntityWithSchool.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.127,34,1.629,47,0.687,49,4.42,83,3.408,95,0.14,96,2.588,97,3.99,101,0.02,103,0.001,104,0.001,105,1.299,107,2.294,112,0.906,180,2.21,376,3.973,377,4.13,644,6.175,654,3.988,742,5.374,2411,10.403,6760,7.228,11726,6.862,12789,8.565,12790,8.205]],["title/interfaces/IEntityWithTimestamps.html",[105,0.7,12790,5.765]],["body/interfaces/IEntityWithTimestamps.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.152,34,1.602,47,0.675,49,4.376,83,3.951,95,0.139,96,2.545,97,3.923,101,0.019,103,0.001,104,0.001,105,1.29,107,2.256,112,0.897,180,2.194,376,5.352,377,5.564,644,5.466,654,2.895,742,5.285,2411,10.344,6760,5.867,11726,6.748,12789,8.423,12790,9.841]],["title/interfaces/IError.html",[105,0.7,8895,5.563]],["body/interfaces/IError.html",[3,0.022,4,0.022,5,0.011,7,0.144,30,0.001,32,0.156,33,0.575,47,0.905,55,2.632,101,0.018,103,0.001,104,0.001,105,1.225,107,2.35,112,0.92,180,2.084,347,4.828,479,3.672,990,4.415,1025,5.416,8895,10.43,11145,7.475,12791,8.776,12792,9.27]],["title/interfaces/IErrorType.html",[105,0.7,3917,6.018]],["body/interfaces/IErrorType.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.182,47,1.001,101,0.016,103,0.001,104,0.001,105,1.029,107,2.368,112,0.924,177,2.403,1271,4.18,1290,8.464,3917,10.577,12793,10.094,12794,10.094]],["title/interfaces/IExternalToolPseudonymEntityProps.html",[105,0.7,9465,5.765]],["body/interfaces/IExternalToolPseudonymEntityProps.html",[0,0.283,3,0.018,4,0.018,5,0.009,7,0.12,26,2.53,30,0.001,32,0.162,33,0.514,34,2.088,39,3.564,47,0.88,49,5.151,95,0.148,96,2.846,97,3.415,99,1.354,101,0.017,103,0.001,104,0.001,105,0.853,107,1.963,112,0.909,154,2.156,168,6.696,172,3.901,173,2.426,174,4.085,178,3.305,180,1.451,181,2.259,182,2.651,191,4.492,192,5.226,404,3.345,405,5.683,564,2.62,593,3.123,2548,3.627,4333,4.897,9314,7.292,9457,5.985,9458,7.743,9459,7.743,9460,7.512,9465,9.966,9466,5.589,9467,6.777,9468,7.023,9469,6.107,9470,6.572]],["title/interfaces/IFederalStateProperties.html",[105,0.7,6704,5.765]],["body/interfaces/IFederalStateProperties.html",[0,0.346,3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,31,0.743,32,0.168,33,0.489,47,0.989,55,1.583,83,3.737,95,0.121,96,2.051,101,0.018,103,0.001,104,0.001,105,0.79,107,1.817,112,0.782,143,2.265,144,3.71,145,2.873,154,2.051,172,3.788,173,2.246,174,3.885,175,3.463,178,3.059,180,1.343,181,2.091,182,2.454,376,4.944,377,5.139,406,4.675,407,5.255,408,4.675,409,5.255,1732,4.066,2044,3.974,2562,5.217,4332,5.487,4342,3.429,5992,7.195,6008,5.098,6694,11.116,6695,6.786,6696,6.786,6697,6.786,6698,6.786,6699,6.786,6704,9.601,6705,11.079,6706,11.079,6707,6.786,6708,6.786,6709,6.786,6710,6.786,6711,6.786,6712,6.786,6713,5.342,6714,6.786,6715,6.786,6716,6.084]],["title/interfaces/IFileDO.html",[105,0.7,11149,5.251]],["body/interfaces/IFileDO.html",[3,0.015,4,0.021,5,0.008,7,0.102,10,2.884,26,2.557,30,0.001,31,0.702,32,0.173,33,0.461,34,2.046,39,1.907,47,0.99,55,2.238,83,3.149,95,0.114,99,1.148,101,0.02,103,0.001,104,0.001,105,1.197,107,1.665,112,0.738,239,1.665,319,2.998,437,0.936,654,2.137,823,6.256,839,3.408,990,3.305,1064,6.539,1361,6.353,1926,2.668,2079,3.142,2080,3.507,2081,3.383,2480,4.195,2686,3.205,2696,3.308,2739,3.222,2883,3.157,3122,3.067,3171,3.753,3366,5.409,3380,4.894,3632,5.663,3742,4.038,3940,4.002,4266,2.402,4833,3.967,5146,3.934,5158,4.113,5932,6.353,5933,5.693,6422,4.74,6438,6.75,6440,7.729,6441,5.131,6464,8.762,6465,7.729,10666,7.035,10667,7.035,10668,7.035,10669,4.487,11134,5.295,11147,5.574,11148,5.425,11149,7.369,11245,5.574,11249,8.598,12749,5.956,12750,5.956,12751,5.956,12752,5.956,12753,5.956,12754,5.956]],["title/interfaces/IFileDomainObjectProps.html",[105,0.7,10342,5.765]],["body/interfaces/IFileDomainObjectProps.html",[3,0.021,4,0.021,5,0.011,7,0.138,26,2.807,30,0.001,31,0.753,32,0.171,34,2.195,47,0.889,95,0.139,99,1.556,101,0.015,103,0.001,104,0.001,105,0.98,107,2.256,112,0.897,133,3.307,1778,3.768,3600,4.781,3632,6.074,5933,6.106,6419,4.507,6438,7.24,8898,5.934,10342,9.841,12756,8.897,12795,8.897]],["title/interfaces/IFileRecordParams.html",[105,0.7,11249,5.395]],["body/interfaces/IFileRecordParams.html",[3,0.017,4,0.022,5,0.009,7,0.11,10,3.124,26,2.768,30,0.001,31,0.582,32,0.148,34,1.695,39,2.065,47,0.929,55,1.571,83,2.212,95,0.12,99,1.244,101,0.021,103,0.001,104,0.001,105,1.236,107,1.803,112,0.778,239,1.803,319,3.248,437,1.014,654,2.315,823,4.095,839,3.548,990,3.486,1064,6.899,1361,4.159,1926,2.89,2079,3.403,2080,3.799,2081,3.665,2480,4.544,2686,3.472,2696,3.584,2739,3.49,2883,3.42,3122,3.323,3171,4.065,3366,5.632,3380,5.302,3632,5.817,3742,4.374,3940,4.335,4266,4.105,4833,4.297,5146,4.261,5158,4.456,5932,4.159,5933,5.849,6422,5.135,6438,6.935,6440,6.694,6441,5.342,6464,5.736,6465,5.059,10666,7.423,10667,7.423,10668,7.423,10669,4.86,11134,5.736,11147,6.038,11148,5.877,11149,5.877,11245,6.038,11249,9.526,12749,6.452,12750,6.452,12751,6.452,12752,6.452,12753,6.452,12754,6.452]],["title/interfaces/IFileRecordProperties.html",[105,0.7,10684,5.251]],["body/interfaces/IFileRecordProperties.html",[0,0.245,3,0.008,4,0.008,5,0.006,7,0.148,26,2.631,30,0.001,31,0.634,32,0.147,33,0.399,34,0.961,39,0.959,47,0.888,49,3.415,55,1.704,83,3.085,95,0.127,96,1.527,97,1.457,99,0.578,101,0.016,103,0,104,0,105,0.74,107,0.837,112,0.555,119,2.137,133,1.984,143,1.847,144,2.354,145,1.003,154,1.836,172,3.751,173,1.035,174,2.192,178,1.41,180,0.619,181,1.557,182,1.131,226,0.521,236,1.893,239,0.837,347,2.624,349,1.358,358,1.596,360,2.925,376,1.45,377,1.508,437,1.589,490,2.58,519,2.566,529,1.022,556,2.517,565,2.132,570,4.48,654,1.737,662,3.947,696,1.388,708,1.433,739,2.493,747,2.605,755,2.349,823,5.487,839,3.207,988,1.557,990,2.488,994,2.553,1064,3.913,1223,4.125,1361,5.572,1726,2.47,1819,2.462,1926,1.342,1986,2.069,1987,3.913,2044,3.241,2220,2.05,2396,2.05,2562,2.944,2647,1.979,2670,3.824,2680,2.069,2686,1.612,2696,1.664,2883,1.588,3122,1.543,3171,1.887,3366,1.764,3380,2.462,3632,5.245,3742,2.031,3895,2.663,4266,3.85,4276,2.729,4278,2.257,4332,3.096,4342,1.58,4343,2.089,4833,1.995,5146,1.979,5158,2.069,5932,5.295,5933,5.273,5935,1.902,5936,2.553,5937,2.553,5938,3.913,5939,2.553,5940,4.21,5941,2.663,5942,2.286,5943,2.462,5945,2.553,5947,2.663,6419,1.673,6437,4.381,6438,5.381,6439,4.125,6440,5.486,6448,2.286,6456,2.421,6459,5.298,6465,6.022,6760,2.178,6988,2.729,6989,4.21,10347,2.663,10417,2.605,10451,2.505,10464,2.729,10490,4.41,10493,2.605,10498,2.729,10642,2.891,10643,2.804,10644,4.531,10645,2.891,10647,8.342,10659,6.22,10662,2.891,10663,2.729,10664,4.531,10665,2.663,10666,4.21,10667,4.21,10668,4.21,10669,2.257,10670,4.672,10671,4.672,10672,4.672,10673,4.672,10674,4.672,10675,4.672,10676,4.531,10677,5.655,10678,4.672,10679,2.729,10680,4.304,10681,2.663,10682,4.41,10683,2.729,10684,5.549,10685,5.701,10686,2.553,10687,2.804,10688,2.605,10689,2.605,10690,2.891,10691,2.891,10692,2.729,10693,2.663,10694,2.891,10695,2.891,10696,2.891,10697,2.891,10698,2.891,10699,2.891,10700,2.891,10701,2.891,10702,7.927,10703,2.891,10704,2.891,10705,4.672,10706,2.891,10707,2.891,10708,4.672,10709,4.672,10710,4.672,10711,2.891,10712,2.891,10713,2.891,10714,2.891,10715,2.891,10716,2.891,10717,2.891,10718,4.672,10719,5.879,10720,2.804,10721,2.891,10722,4.672,10723,2.804,10724,2.891,10725,4.672,10726,2.891,10727,5.879,10728,5.879,10729,2.804,10730,5.879,10731,2.891,10732,2.891,10733,2.891,10734,2.891,10735,2.891,10736,2.891,10737,2.891,10738,2.804,10739,2.891,10740,2.891,10741,2.891,10742,2.891,10743,2.891,10744,2.891,10745,2.891,10746,2.891,10747,2.891]],["title/interfaces/IFileRecordSecurityCheckProperties.html",[105,0.7,10676,5.395]],["body/interfaces/IFileRecordSecurityCheckProperties.html",[0,0.251,3,0.008,4,0.008,5,0.007,7,0.15,26,2.455,30,0.001,31,0.569,32,0.11,33,0.476,34,0.989,39,0.994,47,0.894,49,3.477,55,1.213,83,2.862,95,0.128,96,1.572,97,1.51,99,0.599,101,0.016,103,0,104,0,105,0.758,107,0.868,112,0.569,119,2.168,133,2.042,143,1.886,144,2.411,145,1.04,154,1.869,172,3.786,173,1.073,174,2.256,178,1.461,180,0.641,181,1.603,182,1.172,226,0.54,236,1.913,239,0.868,347,3.596,349,1.366,358,1.654,360,3.01,376,1.503,377,1.563,437,1.604,490,2.643,519,2.62,529,1.059,556,2.554,565,2.209,570,4.589,654,1.788,662,3.975,696,1.438,708,1.485,739,2.566,747,2.7,755,2.435,823,4.534,839,3.254,988,1.614,990,2.549,994,2.646,1064,4.027,1223,6.664,1361,4.604,1726,2.542,1819,2.551,1926,1.391,1986,2.144,1987,4.027,2044,3.309,2220,2.124,2396,2.124,2562,3.03,2647,2.051,2670,3.904,2680,2.144,2686,1.671,2696,1.725,2883,1.646,3122,1.599,3171,1.956,3366,1.828,3380,2.551,3632,4.82,3742,2.105,3895,2.76,4266,3.538,4276,2.828,4278,2.339,4332,3.187,4342,1.638,4343,2.165,4833,2.068,5146,2.051,5158,2.144,5932,4.023,5933,4.846,5935,1.971,5936,2.646,5937,2.646,5938,4.027,5939,2.646,5940,4.333,5941,2.76,5942,2.369,5943,2.551,5945,2.646,5947,2.76,6419,1.734,6437,4.488,6438,4.678,6439,4.246,6440,6.547,6448,2.369,6456,2.51,6459,5.427,6465,3.907,6760,2.257,6988,2.828,6989,4.333,10347,2.76,10417,2.7,10451,2.596,10464,2.828,10490,4.538,10493,2.7,10498,2.828,10642,2.996,10643,2.906,10644,4.663,10645,2.996,10647,6.892,10659,6.35,10662,2.996,10663,2.828,10664,4.663,10665,2.76,10666,4.333,10667,4.333,10668,4.333,10669,2.339,10670,4.808,10671,4.808,10672,4.808,10673,4.808,10674,4.808,10675,4.808,10676,5.84,10677,7.091,10678,4.808,10679,2.828,10680,4.43,10681,2.76,10682,4.538,10683,2.828,10684,4.538,10685,5.84,10686,2.646,10687,2.906,10688,2.7,10689,2.7,10690,2.996,10691,2.996,10692,2.828,10693,2.76,10694,2.996,10695,2.996,10696,2.996,10697,2.996,10698,2.996,10699,2.996,10700,2.996,10701,2.996,10702,8.057,10703,2.996,10704,2.996,10705,4.808,10706,2.996,10707,2.996,10708,4.808,10709,4.808,10710,4.808,10711,2.996,10712,2.996,10713,2.996,10714,2.996,10715,2.996,10716,2.996,10717,2.996,10718,4.808,10719,6.022,10720,2.906,10721,2.996,10722,4.808,10723,2.906,10724,2.996,10725,4.808,10726,2.996,10727,6.022,10728,6.022,10729,2.906,10730,6.022,10731,2.996,10732,2.996,10733,2.996,10734,2.996,10735,2.996,10736,2.996,10737,2.996,10738,2.906,10739,2.996,10740,2.996,10741,2.996,10742,2.996,10743,2.996,10744,2.996,10745,2.996,10746,2.996,10747,2.996]],["title/interfaces/IFileRequestInfo.html",[105,0.7,6531,5.395]],["body/interfaces/IFileRequestInfo.html",[3,0.021,4,0.021,5,0.011,7,0.141,26,2.821,30,0.001,32,0.166,95,0.141,99,1.593,101,0.015,103,0.001,104,0.001,105,1.004,107,2.31,112,0.91,141,4.616,3600,4.897,3632,6.123,4266,4.494,5933,6.156,6419,4.616,6438,7.299,6531,9.344,8898,6.078,12757,8.627,12795,9.113]],["title/interfaces/IFileStorageConfig.html",[105,0.7,12796,6.357]],["body/interfaces/IFileStorageConfig.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,32,0.152,47,0.925,55,2.832,95,0.139,101,0.02,103,0.001,104,0.001,105,0.831,107,1.912,112,0.809,119,2.573,180,1.832,437,1.696,1232,6.23,1971,3.799,2079,3.608,2080,4.027,2081,3.885,2082,5.219,2094,5.03,2425,5.219,3601,3.284,6419,3.82,6513,7.323,6514,6.081,6515,5.529,6516,5.529,6517,5.529,6518,5.529,10337,5.03,11049,5.72,12448,5.529,12758,9.841,12796,10.851,12797,8.151,12798,12.856,12799,12.856,12800,12.856,12801,10.851,12802,9.778,12803,6.6,12804,7.541,12805,6.6,12806,8.151,12807,10.569,12808,6.84,12809,7.541,12810,10.569,12811,8.151,12812,7.14,12813,7.541,12814,8.151,12815,8.151,12816,8.151,12817,8.151,12818,8.151,12819,8.151,12820,8.151]],["title/interfaces/IFilesStorageClientConfig.html",[105,0.7,11257,5.765]],["body/interfaces/IFilesStorageClientConfig.html",[3,0.023,4,0.023,5,0.012,7,0.151,30,0.001,32,0.137,55,2.689,101,0.016,103,0.001,104,0.001,105,1.074,107,2.472,112,0.948,3600,6.159,3601,4.247,6419,4.939,11257,10.395,12411,7.148,12808,11.395,12821,10.539]],["title/interfaces/IFindOptions.html",[105,0.7,7150,4.192]],["body/interfaces/IFindOptions.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.165,33,0.632,55,2.407,56,4.67,70,4.878,101,0.02,103,0.001,104,0.001,105,1.2,107,2.272,112,0.901,484,4.943,721,6.048,839,3.015,2093,7.445,3676,9.883,6861,7.969,7150,7.186,9501,10.093,9688,10.37,11008,9.537,12822,8.961,12823,8.961]],["title/interfaces/IGridElement.html",[105,0.7,7679,5.765]],["body/interfaces/IGridElement.html",[0,0.192,3,0.008,4,0.008,5,0.004,7,0.13,8,0.687,26,2.335,27,0.422,29,0.653,30,0.001,31,0.472,32,0.15,33,0.395,34,1.618,35,1.238,39,1.527,47,0.866,55,2.547,83,1.008,95,0.085,101,0.016,103,0,104,0,105,0.357,107,0.822,112,0.435,119,2.013,181,0.946,191,3.051,192,2.189,226,0.512,236,1.733,349,1.379,381,1.186,404,3.624,405,3.005,413,2.483,437,1.767,474,3.5,480,1.581,519,3.745,529,2.052,556,2.015,603,2.436,696,3.207,708,2.877,739,3.565,849,1.943,975,4.425,1080,5.281,1147,1.067,1271,3.192,1553,5.481,1568,3.64,1739,3.803,1942,4.734,2297,2.378,2501,1.671,2647,3.15,2668,7.149,2680,2.031,2681,1.881,2723,2.417,2784,3.909,2804,4.829,3261,2.615,3458,2.46,3631,3.64,3725,7.608,3797,3.55,4969,2.163,6612,2.942,6719,2.378,6761,9.496,6765,4.148,6845,3.92,7077,5.688,7623,5.898,7646,2.558,7647,3.071,7649,3.071,7652,3.071,7653,2.942,7654,8.146,7656,2.753,7663,4.979,7669,3.071,7673,3.071,7676,3.071,7677,8.146,7679,9.489,7682,6.305,7684,3.071,7685,7.608,7688,3.071,7690,3.071,7692,3.071,7694,3.071,7696,3.071,7698,3.071,7701,3.071,7703,4.979,7704,2.615,7705,7.941,7706,7.225,7707,4.979,7708,7.941,7709,6.281,7710,4.979,7711,7.941,7712,4.979,7713,6.281,7714,3.071,7715,4.241,7716,9.262,7717,3.071,7718,4.979,7719,3.071,7720,4.979,7721,3.071,7722,4.979,7723,3.071,7724,3.071,7725,3.071,7726,3.071,7727,3.071,7728,4.979,7729,3.071,7730,4.979,7731,2.942,7732,4.979,7733,3.071,7734,2.417,7735,4.979,7736,3.071,7737,3.071,7738,3.071,7739,4.979,7740,2.839,7741,3.071,7742,4.979,7743,3.071,7744,2.679,7745,3.071,7746,3.071,7747,3.071,7748,3.071,7749,3.071,7750,3.071,7751,3.071,7752,3.071,7753,3.071,7754,4.979,7755,4.979,7756,2.942,7757,6.281,7758,3.071,7759,4.979,7760,3.071,7761,3.071,7762,3.071,7763,3.071,7764,3.071,7765,3.071,7766,3.071,7767,3.071,7768,3.071,7769,3.071,7770,3.071,7771,3.071,7772,3.071,7773,3.071,7774,3.071,7775,3.071,7776,3.071,7777,3.071,7778,3.071,7779,3.071,7780,3.071,7781,3.071,7782,3.071,7783,4.979,7784,3.071,7785,3.071,7786,3.071,7787,4.979,7788,4.979,7789,3.071,7790,3.071,7791,3.071,7792,3.071,7793,3.071,7794,3.071,7795,3.071,7796,6.281,7797,3.071,7798,3.071,11559,5.259,11564,5.259,11565,5.259,11566,5.259,11573,3.243,12824,3.505,12825,3.505,12826,3.505,12827,3.505,12828,3.505,12829,3.505,12830,3.505]],["title/interfaces/IH5PContentProperties.html",[105,0.7,5931,5.563]],["body/interfaces/IH5PContentProperties.html",[0,0.265,3,0.012,4,0.017,5,0.006,7,0.148,26,2.657,30,0.001,32,0.149,47,0.952,49,3.841,95,0.13,96,2.073,97,2.16,99,0.857,101,0.016,103,0,104,0,105,0.54,107,1.242,112,0.599,143,2.986,144,4.37,154,1.571,172,4.389,173,1.535,174,2.976,178,2.091,180,0.918,182,1.677,236,1.516,349,0.96,379,0.669,654,1.594,839,2.901,1105,2.65,1108,3.162,1125,3.231,1147,1.612,1218,2.965,1271,1.653,2024,2.468,2171,6.488,2255,4.678,2562,3.996,2670,4.274,2696,2.468,2784,2.51,3130,3.196,3366,2.616,3473,3.162,3632,5.303,4266,3.893,4332,4.203,4359,3.651,4543,4.288,5146,2.935,5830,9.314,5831,4.288,5832,4.638,5833,6.046,5834,4.638,5835,4.638,5836,4.443,5837,3.716,5838,3.04,5839,4.443,5840,4.047,5841,4.047,5842,3.95,5843,4.047,5844,3.436,5845,4.638,5846,4.638,5847,3.716,5848,4.638,5849,4.638,5850,3.95,5851,4.047,5852,4.638,5853,4.638,5854,3.786,5858,6.859,5860,6.859,5863,7.869,5866,3.716,5867,4.047,5883,4.495,5884,4.047,5885,6.859,5886,4.047,5887,4.638,5888,4.047,5889,4.638,5890,3.786,5891,3.786,5892,4.638,5893,4.638,5894,3.716,5895,4.638,5896,3.786,5897,4.047,5898,4.638,5899,4.047,5900,4.638,5901,4.047,5902,4.638,5903,4.047,5904,4.638,5905,4.638,5906,4.638,5907,4.638,5908,4.638,5909,4.047,5910,4.638,5911,4.638,5912,4.638,5913,4.638,5914,4.638,5915,4.638,5916,4.638,5917,4.638,5918,4.638,5919,4.638,5920,4.638,5921,4.638,5922,4.638,5923,4.638,5924,4.638,5925,4.638,5926,4.638,5927,4.638,5928,4.443,5929,4.638,5930,7.452,5931,7.545,5932,6.221,5933,5.517,5934,3.95,5935,2.82,5936,3.786,5937,3.786,5938,3.592,5939,3.786,5940,3.864,5941,3.95,5942,3.39,5943,3.651,5944,4.443,5945,3.786,5946,4.638,5947,3.95,5948,3.786]],["title/interfaces/IIdentityManagementConfig.html",[105,0.7,12831,5.765]],["body/interfaces/IIdentityManagementConfig.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.168,101,0.016,103,0.001,104,0.001,105,1.034,107,2.379,112,0.927,119,2.958,12419,5.879,12831,10.163,12832,7.966,12833,10.144,12834,12.409,12835,12.409,12836,12.409]],["title/interfaces/IImportUserProperties.html",[105,0.7,12837,5.765]],["body/interfaces/IImportUserProperties.html",[0,0.162,3,0.01,4,0.01,5,0.005,7,0.069,30,0.001,31,0.416,32,0.172,33,0.592,47,0.975,49,1.791,95,0.131,96,1.271,101,0.015,103,0,104,0,105,0.742,107,1.126,112,0.848,119,2.033,128,2.969,143,2.629,144,2.359,145,1.349,154,1.46,168,5.941,172,3.694,173,1.392,174,2.765,175,2.146,178,1.896,180,0.832,181,1.296,182,1.521,220,1.838,236,0.781,239,3.059,250,3.074,349,0.749,359,2.897,361,4.999,437,1.159,490,1.706,517,1.811,529,1.374,556,1.778,564,1.503,593,2.715,603,0.992,644,4.911,651,5.081,652,5.081,653,5.92,654,3.658,655,5.622,696,3.416,708,1.927,839,3.052,975,2.343,1147,1.461,1678,5.361,1726,2.056,1903,4.789,2207,2.897,2235,4.206,2418,6.412,2419,4.029,2668,4.6,2670,4.833,2671,5.562,2679,3.504,2747,4.206,2958,2.838,3134,4.859,3140,2.418,4266,1.625,4271,7.01,4354,3.77,4355,3.582,4370,5.204,4660,2.639,5094,4.074,5662,5.107,6238,3.433,6760,4.44,6770,2.963,6772,2.684,6792,2.998,7112,3.115,7119,2.867,7120,2.963,7734,3.311,7825,5.107,9006,5.792,9007,3.582,9008,3.77,10079,3.206,10080,3.504,10081,3.206,10082,3.504,10083,3.504,10084,3.888,10258,3.206,10259,3.206,10931,3.67,11284,7.394,11285,6.059,11303,3.433,11304,2.929,11312,4.029,11911,3.77,11915,3.504,12837,7.374,12838,4.442,12839,8.054,12840,9.07,12841,7.147,12842,8.98,12843,8.275,12844,3.67,12845,4.206,12846,4.206,12847,4.442,12848,4.029,12849,3.433,12850,4.442,12851,4.442,12852,4.442,12853,4.442,12854,4.442,12855,4.442,12856,4.442,12857,4.442,12858,6.106,12859,4.442,12860,6.106,12861,4.029,12862,5.893,12863,4.442,12864,4.442,12865,4.442,12866,3.888,12867,3.67,12868,4.442,12869,4.442,12870,4.442,12871,4.442,12872,4.029,12873,4.029,12874,5.562,12875,6.374,12876,4.442,12877,4.442,12878,4.442,12879,3.888,12880,6.106,12881,4.442]],["title/interfaces/IImportUserScope.html",[105,0.7,12882,5.563]],["body/interfaces/IImportUserScope.html",[2,1.389,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,31,0.481,32,0.177,33,0.68,47,0.995,95,0.099,101,0.018,103,0.001,104,0.001,105,1.099,107,1.971,112,0.825,119,2.468,250,8.037,276,5.45,361,4.781,651,6.259,652,6.259,839,2.616,1475,7.564,1903,7.093,4381,5.072,6772,4.697,11284,8.809,11285,8.655,11303,6.009,11304,5.127,12843,9.857,12882,8.728,12883,7.775,12884,10.533,12885,7.775,12886,6.805]],["title/interfaces/IInterceptorConfig.html",[105,0.7,12760,5.765]],["body/interfaces/IInterceptorConfig.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,55,2.859,101,0.016,103,0.001,104,0.001,105,1.06,107,2.44,112,0.941,12411,7.057,12760,10.317,12805,10.95,12808,11.348,12887,10.404]],["title/interfaces/IJsonAccount.html",[105,0.7,12888,6.018]],["body/interfaces/IJsonAccount.html",[3,0.021,4,0.021,5,0.01,7,0.135,30,0.001,32,0.183,33,0.554,39,3.513,47,1.001,48,6.269,51,6.198,87,6.629,101,0.014,103,0.001,104,0.001,105,0.96,107,2.209,112,0.886,120,5.524,742,7.188,12419,5.457,12420,5.811,12888,10.141,12889,8.712,12890,9.416,12891,10.711]],["title/interfaces/IJsonUser.html",[105,0.7,12892,6.018]],["body/interfaces/IJsonUser.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.179,47,1.002,101,0.015,103,0.001,104,0.001,105,0.997,107,2.294,112,0.906,120,5.004,651,6.388,652,6.388,653,6.807,742,7.281,12419,5.667,12420,6.034,12889,9.047,12891,9.047,12892,10.377,12893,9.778]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[105,0.7,12894,5.765]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.157,47,0.978,101,0.019,103,0.001,104,0.001,105,1.036,107,2.385,112,0.928,437,1.341,2079,4.501,2220,5.838,12419,5.894,12420,6.276,12894,10.178,12895,10.17,12896,10.17,12897,12.419,12898,12.419,12899,8.908,12900,10.17]],["title/interfaces/IKeycloakSettings.html",[105,0.7,12901,5.765]],["body/interfaces/IKeycloakSettings.html",[3,0.021,4,0.021,5,0.011,7,0.137,30,0.001,32,0.178,47,1.007,51,4.515,87,5.911,101,0.018,103,0.001,104,0.001,105,0.971,107,2.234,112,0.892,120,4.925,437,1.256,2195,7.469,5643,6.784,8244,9.795,12394,6.362,12414,8.344,12419,5.521,12420,5.879,12901,9.784,12902,9.526,12903,11.018,12904,7.994,12905,9.526]],["title/interfaces/ILearnroom.html",[105,0.7,6761,4.913]],["body/interfaces/ILearnroom.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.131,95,0.12,101,0.019,103,0.001,104,0.001,105,1.234,107,2.379,112,0.927,474,5.139,519,3.728,2501,4.835,2682,6.495,4973,6.413,4974,6.583,6761,8.661,6765,8.838,6843,10.86,12906,9.386]],["title/interfaces/ILearnroomElement.html",[105,0.7,2682,4.399]],["body/interfaces/ILearnroomElement.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,95,0.118,101,0.018,103,0.001,104,0.001,105,1.222,107,2.339,112,0.917,474,5.658,519,3.689,2501,4.752,2682,7.675,4973,8.429,4974,8.653,6761,7.129,6765,8.747,6843,8.073,12906,9.224]],["title/interfaces/ILegacyLogger.html",[105,0.7,12907,6.018]],["body/interfaces/ILegacyLogger.html",[3,0.016,4,0.016,5,0.008,7,0.108,8,1.208,27,0.516,29,0.991,30,0.001,31,0.715,32,0.167,33,0.598,35,1.515,39,2.012,47,1.007,59,3.961,72,4.514,101,0.015,102,5.068,103,0.001,104,0.001,105,0.763,107,1.757,131,5.351,141,3.51,236,1.627,271,2.775,310,3.252,519,4.202,556,1.83,591,4.223,990,3.857,1025,4.959,1218,4.974,1262,2.618,1295,7.295,2312,4.149,5573,6.781,8384,6.893,12907,8.757,12908,12.868,12909,7.49,12910,8.757,12911,8.757,12912,9.249,12913,7.49,12914,9.249,12915,10.41,12916,7.49,12917,9.249,12918,10.516,12919,7.49,12920,9.249,12921,7.49,12922,9.249,12923,7.49]],["title/interfaces/ILessonParent.html",[105,0.7,6769,4.521]],["body/interfaces/ILessonParent.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.138,8,0.859,26,2.211,27,0.192,30,0.001,31,0.406,32,0.112,35,0.564,47,0.945,55,2.124,95,0.145,96,1.232,101,0.019,103,0,104,0,105,1.198,107,1.091,119,1.474,143,1.91,144,1.509,145,1.997,153,1.977,154,1.425,172,3.235,173,1.349,174,2.7,175,2.08,178,1.837,180,0.807,181,1.256,182,1.474,226,0.68,236,1.57,239,1.091,316,3.843,349,1.305,437,1.671,474,1.974,529,2.033,556,1.736,563,4.243,603,1.467,604,1.914,662,1.44,696,1.809,742,2.557,839,1.448,1147,1.416,1218,1.762,1226,2.244,1262,3.372,1271,3.012,1664,1.742,1717,2.231,1739,3.276,1920,2.244,1926,3.906,1944,1.965,2044,1.809,2255,4.194,2670,3.953,2673,3.905,2677,2.557,2682,4.549,2683,2.75,2684,4.591,2686,3.892,2687,4.437,2696,2.169,2700,4.676,2804,3.785,2882,4.109,3366,4.259,3476,5.449,3495,6.164,3601,1.875,3629,3.265,3630,3.265,4119,4.199,4278,2.941,4342,2.059,4969,2.871,4973,2.941,4974,3.019,5094,2.157,5119,6.653,5130,3.327,5146,2.579,5153,4.549,5158,6.979,5170,3.327,5176,3.327,5181,3.327,5758,7.554,6614,5.756,6617,6.164,6735,3.019,6757,2.905,6767,6.142,6768,3.107,6769,5.672,6771,4.492,6809,6.654,6810,4.745,6835,4.819,7006,2.905,7007,3.107,8955,5.081,11385,4.819,12695,5.081,12696,3.395,12697,5.519,12698,3.395,12699,4.986,12700,6.838,12701,5.081,12702,3.327,12703,5.081,12704,5.081,12705,5.081,12706,3.395,12707,5.081,12708,3.107,12709,5.081,12710,5.081,12711,3.395,12712,3.395,12713,3.395,12714,3.265,12715,3.265,12716,3.395,12717,3.395,12718,3.395,12719,5.185,12720,6.049,12721,3.265,12722,5.185,12723,3.395,12724,3.395,12725,3.395,12726,3.208,12727,3.395,12728,3.395,12729,5.185,12730,3.395,12731,3.395,12732,7.04,12733,6.29,12734,3.327,12735,3.395,12736,3.395,12737,3.395,12738,3.395,12739,3.395,12740,3.395,12741,3.395,12742,3.395,12743,3.395,12744,3.395,12745,3.395,12746,3.208,12747,3.395,12748,3.395,12924,4.653]],["title/interfaces/ILessonProperties.html",[105,0.7,12699,4.821]],["body/interfaces/ILessonProperties.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.135,26,2.046,30,0.001,31,0.58,32,0.157,33,0.513,47,0.947,55,2.284,95,0.143,96,1.166,101,0.019,103,0,104,0,105,1.177,107,1.033,112,0.521,119,1.944,143,1.846,144,1.428,145,1.915,153,1.911,154,1.367,172,3.156,173,1.277,174,2.589,175,1.969,178,1.74,180,0.764,181,1.189,182,1.395,226,0.644,236,1.526,239,1.033,316,3.685,349,1.288,437,1.65,474,1.869,529,1.95,556,1.665,563,4.068,603,1.407,604,1.813,662,1.364,696,1.713,742,2.422,839,1.371,1147,1.341,1218,1.668,1226,2.125,1262,3.277,1271,2.927,1664,1.65,1717,2.112,1739,3.142,1920,2.125,1926,4.55,1944,1.861,2044,1.713,2255,4.104,2670,3.821,2673,3.745,2677,2.422,2682,4.363,2683,2.604,2684,4.438,2686,3.762,2687,4.255,2696,2.053,2700,4.484,2804,5.4,2882,3.971,3366,4.116,3476,6.776,3495,5.957,3601,1.775,3629,3.092,3630,3.092,4119,4.027,4278,2.785,4342,1.95,4969,2.719,4973,2.785,4974,2.859,5094,2.042,5119,7.391,5130,3.15,5146,2.442,5153,4.363,5158,6.868,5170,3.15,5176,3.15,5181,3.15,5758,7.391,6614,5.564,6617,5.957,6735,2.859,6757,2.751,6767,7.155,6768,2.942,6769,4.484,6771,4.307,6809,4.363,6810,4.55,6835,4.621,7006,2.751,7007,2.942,8955,4.872,11385,6.876,12695,4.872,12696,3.215,12697,6.491,12698,3.215,12699,5.846,12700,7.598,12701,4.872,12702,3.15,12703,4.872,12704,4.872,12705,4.872,12706,3.215,12707,4.872,12708,2.942,12709,4.872,12710,4.872,12711,3.215,12712,3.215,12713,3.215,12714,3.092,12715,3.092,12716,3.215,12717,3.215,12718,3.215,12719,4.972,12720,5.846,12721,3.092,12722,4.972,12723,3.215,12724,3.215,12725,3.215,12726,3.038,12727,3.215,12728,3.215,12729,4.972,12730,3.215,12731,3.215,12732,6.841,12733,6.08,12734,3.15,12735,3.215,12736,3.215,12737,3.215,12738,3.215,12739,3.215,12740,3.215,12741,3.215,12742,3.215,12743,3.215,12744,3.215,12745,3.215,12746,3.038,12747,3.215,12748,3.215]],["title/interfaces/ILoggerConfig.html",[105,0.7,12761,5.765]],["body/interfaces/ILoggerConfig.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.928,101,0.016,103,0.001,104,0.001,105,1.085,107,2.498,112,0.954,12411,7.223,12761,10.459,12803,11.033,12925,10.649]],["title/interfaces/IMaterialProperties.html",[105,0.7,12926,5.395]],["body/interfaces/IMaterialProperties.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,30,0.001,32,0.174,33,0.557,47,1.023,95,0.112,96,1.837,101,0.018,103,0.001,104,0.001,105,1.103,107,1.628,112,0.726,153,2.796,154,1.904,172,4.229,173,2.012,174,3.608,175,3.102,180,1.203,181,1.874,182,2.198,238,3.879,1262,4.259,1271,3.804,1717,3.327,2784,3.289,3601,4.91,3631,4.444,5844,7.907,5894,4.87,6446,3.754,6790,4.708,6791,4.283,7385,4.387,12697,4.444,12700,4.567,12708,8.138,12926,8.499,12927,5.824,12928,9.868,12929,9.868,12930,9.569,12931,9.868,12932,9.868,12933,9.868,12934,5.824,12935,5.065,12936,5.824,12937,5.824,12938,5.62,12939,5.824,12940,5.824,12941,5.824,12942,5.824,12943,5.824,12944,5.824,12945,5.824,12946,5.824,12947,5.824,12948,5.824,12949,5.824,12950,5.824]],["title/interfaces/IMigrationOptions.html",[105,0.7,12434,5.563]],["body/interfaces/IMigrationOptions.html",[0,0.157,3,0.01,4,0.01,5,0.005,7,0.067,10,1.893,30,0.001,32,0.112,33,0.524,36,2.44,47,0.678,52,3.429,53,3.399,55,2.33,70,5.519,72,3.211,78,8.793,95,0.114,101,0.007,103,0,104,0,105,0.879,107,1.093,112,0.544,118,2.982,119,1.789,142,4.058,145,3.303,153,2.867,177,1.604,179,4.68,208,1.719,236,1.157,239,1.093,262,2.711,310,4.191,333,3.676,349,0.888,359,2.811,379,0.588,413,1.402,437,1.371,486,3.13,490,4.051,529,1.333,556,1.737,562,3.212,568,5.523,595,2.875,600,2.909,603,1.994,608,2.788,696,2.765,697,6.295,708,2.854,710,5.948,845,3.56,934,2.811,938,4.121,990,1.597,1288,2.54,1341,1.497,1512,5.386,1519,4.045,1645,5.585,1794,2.982,1822,4.246,1832,2.56,2079,2.062,2096,3.658,2312,1.933,2313,3.245,2406,2.604,2836,5.676,3122,5.08,3505,4.749,3513,3.212,3514,8.939,3515,6.572,3516,2.781,5564,3.475,6132,7.513,6680,3.658,7275,2.909,7292,2.982,7576,7.947,8050,6.053,8059,7.947,8384,3.212,8794,3.56,10777,4.99,11952,3.658,12418,5.759,12419,2.699,12420,2.875,12421,3.909,12422,3.909,12423,3.658,12424,5.968,12425,6.435,12426,3.658,12427,3.658,12428,5.968,12429,3.909,12430,3.909,12431,8.419,12432,3.909,12433,3.909,12434,6.985,12435,7.947,12436,3.909,12437,3.56,12438,3.658,12439,3.909,12440,3.909,12441,3.909,12442,8.725,12443,3.399,12444,3.909,12445,3.909,12446,7.238,12447,3.065,12448,5.851,12449,3.331,12450,4.904,12451,3.475,12452,3.909,12453,3.909,12454,3.909,12455,8.101,12456,3.909,12457,3.909,12458,3.909,12459,8.101,12460,3.909,12461,3.909,12462,3.909,12463,8.101,12464,8.101,12465,3.658,12466,3.909,12467,3.909,12468,3.909,12469,3.399,12470,3.772,12471,5.189,12472,3.909,12473,3.909,12474,3.909,12475,3.909,12476,3.909,12477,5.085,12478,3.658,12479,3.658,12480,3.909,12481,3.909,12482,3.909,12483,3.909,12484,3.909,12485,3.909,12486,3.909,12487,3.909,12488,3.909,12489,3.909,12490,3.909,12491,3.772]],["title/interfaces/INameMatch.html",[105,0.7,12886,5.563]],["body/interfaces/INameMatch.html",[2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,30,0.001,31,0.747,32,0.15,33,0.552,47,0.972,95,0.111,101,0.019,103,0.001,104,0.001,105,1.177,107,2.198,112,0.883,119,1.944,250,6.001,276,4.069,361,6.567,651,6.033,652,6.033,839,2.918,1475,8.101,1903,7.596,4381,6.966,6772,5.239,11284,6.577,11285,6.463,11303,6.702,11304,5.719,12843,9.065,12882,7.589,12883,8.672,12884,9.687,12885,8.672,12886,9.348]],["title/interfaces/INewsProperties.html",[105,0.7,7101,5.395]],["body/interfaces/INewsProperties.html",[0,0.328,3,0.01,4,0.024,5,0.005,7,0.158,9,3.42,26,2.488,30,0.001,31,0.41,32,0.167,33,0.564,34,0.785,47,0.935,83,2.793,95,0.139,96,2.3,101,0.016,103,0,104,0,105,0.48,107,1.105,112,0.8,143,2.439,144,3.57,154,2.096,172,3.563,173,1.366,174,2.726,175,2.106,180,1.684,181,2.621,182,1.492,236,1.414,239,2.835,349,0.485,355,5.492,358,3.883,381,1.595,403,4.856,413,1.419,459,4.375,521,3.431,563,5.799,643,2.117,644,5.499,654,3.551,655,5.298,839,2.233,996,4.189,997,4.526,998,4.141,999,4.375,1000,4.775,1271,3.437,1289,4.427,1664,1.765,1717,3.439,1723,2.389,1739,3.308,1815,3.101,1832,2.59,1926,2.696,2255,4.215,2565,4.942,2670,3.984,2683,2.785,2739,5.837,2784,2.233,3452,3.249,3454,3.017,3455,3.307,3457,3.37,3458,3.307,3459,3.515,3473,2.814,3606,3.196,3631,3.017,4266,1.595,4358,3.602,4359,3.249,4500,3.439,5094,4.027,5174,3.439,5747,8.034,5932,2.549,5935,5.864,6683,3.307,6770,2.908,6772,2.634,6793,2.844,7006,2.942,7093,3.515,7094,3.816,7096,4.377,7097,3.816,7098,7.796,7099,5.637,7100,3.816,7101,8.989,7102,6.979,7103,7.245,7104,7.796,7105,6.574,7106,7.527,7107,3.816,7108,5.13,7109,3.816,7110,3.602,7111,3.602,7112,4.655,7113,3.816,7114,3.602,7115,3.602,7116,3.816,7117,3.515,7118,3.816,7119,2.814,7120,2.908,7121,3.602,7122,3.816,7123,3.816,7124,6.822,7125,3.816,7126,7.035,7127,3.816,7128,3.816,7129,5.484,7130,3.602,7131,6.096,7132,3.7,7133,4.721,7134,3.602,7135,3.439,7136,3.602,7137,3.816]],["title/interfaces/INewsScope.html",[105,0.7,12770,5.563]],["body/interfaces/INewsScope.html",[3,0.018,4,0.018,5,0.009,7,0.118,26,2.374,30,0.001,32,0.178,33,0.631,34,1.366,47,0.745,83,2.359,95,0.147,101,0.02,103,0.001,104,0.001,105,1.345,107,1.923,112,0.812,119,2.439,120,4.481,153,1.881,154,1.645,484,4.185,644,4.945,654,2.469,839,2.553,1271,2.56,1926,4.421,2255,3.14,2341,5.061,2739,5.846,3664,9.294,4622,5.121,4833,4.583,7096,6.473,7098,6.118,7099,7.632,7102,5.476,7105,6.335,7106,7.575,7283,8.728,10669,5.184,11309,10.071,12762,6.64,12763,7.587,12764,7.587,12765,7.587,12766,7.587,12767,7.587,12768,5.476,12769,6.881,12770,8.591]],["title/interfaces/IPagination.html",[105,0.7,9501,5.251]],["body/interfaces/IPagination.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.165,33,0.632,55,2.812,56,6.368,70,6.65,101,0.02,103,0.001,104,0.001,105,1.2,107,2.272,112,0.901,484,4.943,721,6.048,839,3.015,2093,5.461,3676,9.883,6861,5.845,7150,5.909,9501,9.701,9688,9.249,11008,9.537,12822,8.961,12823,8.961]],["title/interfaces/IParentInfo.html",[105,0.7,10685,5.395]],["body/interfaces/IParentInfo.html",[0,0.252,3,0.008,4,0.008,5,0.007,7,0.15,26,2.573,30,0.001,31,0.57,32,0.111,34,0.994,39,0.999,47,0.855,49,3.487,55,1.219,83,2.869,95,0.129,96,1.579,97,1.518,99,0.602,101,0.016,103,0,104,0,105,0.761,107,0.873,112,0.571,119,2.173,133,2.051,143,1.892,144,2.42,145,1.046,154,1.875,172,3.791,173,1.079,174,2.266,178,1.469,180,0.645,181,1.61,182,1.178,226,0.543,236,1.916,239,0.873,347,2.698,349,1.367,358,1.663,360,3.023,376,1.512,377,1.571,437,1.606,490,2.652,519,2.628,529,1.065,556,2.56,565,2.221,570,4.606,654,1.795,662,3.979,696,1.446,708,1.493,739,2.577,747,2.715,755,2.448,823,4.548,839,3.261,988,1.623,990,2.558,994,2.66,1064,4.045,1223,4.265,1361,4.618,1726,2.554,1819,2.565,1926,1.398,1986,2.156,1987,4.045,2044,3.319,2220,2.136,2396,2.136,2562,3.044,2647,2.062,2670,3.916,2680,2.156,2686,1.68,2696,1.734,2883,1.655,3122,1.608,3171,1.967,3366,1.838,3380,2.565,3632,5.313,3742,2.116,3895,2.775,4266,3.9,4276,2.844,4278,2.352,4332,3.201,4342,1.647,4343,2.177,4833,2.079,5146,2.062,5158,2.156,5932,4.037,5933,5.342,5935,1.982,5936,2.66,5937,2.66,5938,4.045,5939,2.66,5940,4.352,5941,2.775,5942,2.382,5943,2.565,5945,2.66,5947,2.775,6419,1.744,6437,4.505,6438,5.482,6439,4.265,6440,5.619,6448,2.382,6456,2.523,6459,5.447,6465,3.925,6760,2.27,6988,2.844,6989,4.352,10347,2.775,10417,2.715,10451,2.611,10464,2.844,10490,4.558,10493,2.715,10498,2.844,10642,3.013,10643,2.922,10644,4.683,10645,3.013,10647,6.914,10659,6.37,10662,3.013,10663,2.844,10664,4.683,10665,2.775,10666,4.352,10667,4.352,10668,4.352,10669,2.352,10670,4.829,10671,4.829,10672,4.829,10673,4.829,10674,4.829,10675,4.829,10676,4.683,10677,5.791,10678,4.829,10679,2.844,10680,4.449,10681,2.775,10682,4.558,10683,2.844,10684,4.558,10685,6.705,10686,2.66,10687,2.922,10688,2.715,10689,2.715,10690,3.013,10691,3.013,10692,2.844,10693,2.775,10694,3.013,10695,3.013,10696,3.013,10697,3.013,10698,3.013,10699,3.013,10700,3.013,10701,3.013,10702,8.076,10703,3.013,10704,3.013,10705,4.829,10706,3.013,10707,3.013,10708,4.829,10709,4.829,10710,4.829,10711,3.013,10712,3.013,10713,3.013,10714,3.013,10715,3.013,10716,3.013,10717,3.013,10718,4.829,10719,6.044,10720,2.922,10721,3.013,10722,4.829,10723,2.922,10724,3.013,10725,4.829,10726,3.013,10727,6.044,10728,6.044,10729,2.922,10730,6.044,10731,3.013,10732,3.013,10733,3.013,10734,3.013,10735,3.013,10736,3.013,10737,3.013,10738,2.922,10739,3.013,10740,3.013,10741,3.013,10742,3.013,10743,3.013,10744,3.013,10745,3.013,10746,3.013,10747,3.013]],["title/interfaces/IRelatedResourceProperties.html",[105,0.7,12932,5.563]],["body/interfaces/IRelatedResourceProperties.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,30,0.001,32,0.132,33,0.58,47,1.016,95,0.12,96,2.031,101,0.019,103,0.001,104,0.001,105,1.161,107,1.8,112,0.777,153,2.331,154,2.038,172,4.302,173,2.225,174,3.861,175,3.43,180,1.33,181,2.072,182,2.43,238,4.289,1262,3.551,1271,3.171,1717,3.679,2784,3.637,3601,4.094,3631,4.914,5844,6.592,5894,5.385,6446,4.151,6790,5.205,6791,4.736,7385,4.851,12697,4.914,12700,5.05,12708,6.784,12926,7.978,12927,6.44,12928,8.226,12929,8.226,12930,7.978,12931,8.226,12932,9.816,12933,9.222,12934,6.44,12935,5.6,12936,10.172,12937,10.172,12938,6.214,12939,6.44,12940,6.44,12941,6.44,12942,6.44,12943,6.44,12944,6.44,12945,6.44,12946,6.44,12947,6.44,12948,6.44,12949,6.44,12950,6.44]],["title/interfaces/IRepoLoader.html",[105,0.7,12951,6.018]],["body/interfaces/IRepoLoader.html",[0,0.217,3,0.014,4,0.014,5,0.007,7,0.092,26,1.815,30,0.001,32,0.146,33,0.43,36,1.373,49,2.393,95,0.149,99,1.038,101,0.01,103,0,104,0,105,0.654,107,1.505,112,0.688,119,2.153,133,4.073,143,1.992,177,2.49,217,6.789,226,0.937,227,2.662,236,1.463,262,1.415,349,0.926,379,0.81,437,1.186,529,1.836,539,1.205,564,2.008,603,2.812,608,2.081,1427,7.285,1661,4.983,1746,5.261,1747,3.754,1803,8.834,1804,6.864,1805,7.403,1806,5.194,1807,8.393,1808,8.599,1809,7.895,1810,7.757,1830,4.681,1846,7.285,2487,7.286,2518,7.158,2647,4.983,3255,4.055,3602,4.162,4741,7.91,5444,5.383,5979,9.11,6324,3.959,12951,9.854,12952,5.935,12953,10.408,12954,5.194,12955,5.935,12956,5.935,12957,5.935,12958,5.935,12959,5.935,12960,5.935,12961,5.935,12962,5.935,12963,5.935,12964,5.935,12965,5.935,12966,5.935,12967,5.935,12968,5.935,12969,5.935,12970,5.935,12971,5.935,12972,5.935,12973,5.935,12974,5.935,12975,5.935,12976,5.935,12977,5.935,12978,5.935,12979,5.935,12980,5.935,12981,5.935,12982,5.935,12983,5.935,12984,5.935,12985,5.935,12986,8.318]],["title/interfaces/IRetryOptions.html",[105,0.7,12431,5.563]],["body/interfaces/IRetryOptions.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.068,10,1.912,30,0.001,32,0.093,33,0.464,36,2.449,47,0.503,52,3.457,53,3.435,55,2.469,70,4.372,72,3.237,78,8.811,95,0.115,101,0.007,103,0,104,0,105,0.885,107,1.104,112,0.548,118,3.014,119,0.976,142,4.076,145,3.314,153,2.874,177,1.614,179,4.717,208,1.737,236,1.166,239,1.104,262,2.718,310,2.044,333,3.7,349,0.894,359,2.84,379,0.594,413,1.417,437,1.378,486,3.144,490,4.066,529,1.347,556,1.751,562,3.245,568,5.558,595,2.905,600,2.939,603,2.004,608,2.796,696,2.787,697,6.335,708,2.876,710,5.986,845,3.597,934,2.84,938,4.154,990,1.613,1288,2.566,1341,1.513,1512,5.421,1519,4.078,1645,5.629,1794,3.014,1822,4.28,1832,2.587,2079,2.083,2096,3.696,2312,1.953,2313,3.27,2406,2.631,2836,5.713,3122,5.096,3505,4.787,3513,3.245,3514,8.958,3515,6.603,3516,2.81,5564,3.511,6132,7.528,6680,3.696,7275,2.939,7292,3.014,7576,7.984,8050,6.092,8059,7.984,8384,3.245,8794,3.597,10777,5.03,11952,3.696,12418,5.804,12419,2.728,12420,2.905,12421,3.95,12422,3.95,12423,3.696,12424,6.015,12425,6.476,12426,3.696,12427,3.696,12428,6.015,12429,3.95,12430,3.95,12431,8.911,12432,8.144,12433,8.144,12434,5.804,12435,5.479,12436,3.95,12437,3.597,12438,3.696,12439,3.95,12440,3.95,12441,3.95,12442,8.765,12443,3.435,12444,3.95,12445,3.95,12446,7.285,12447,3.097,12448,5.888,12449,3.366,12450,4.943,12451,3.511,12452,3.95,12453,3.95,12454,3.95,12455,8.144,12456,3.95,12457,3.95,12458,3.95,12459,8.144,12460,3.95,12461,3.95,12462,3.95,12463,8.144,12464,8.144,12465,3.696,12466,3.95,12467,3.95,12468,3.95,12469,3.435,12470,3.811,12471,5.231,12472,3.95,12473,3.95,12474,3.95,12475,3.95,12476,3.95,12477,5.126,12478,3.696,12479,3.696,12480,3.95,12481,3.95,12482,3.95,12483,3.95,12484,3.95,12485,3.95,12486,3.95,12487,3.95,12488,3.95,12489,3.95,12490,3.95,12491,3.811]],["title/interfaces/IRoleProperties.html",[105,0.7,12987,6.018]],["body/interfaces/IRoleProperties.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,30,0.001,31,0.732,32,0.151,33,0.59,47,0.736,95,0.138,96,2.128,101,0.016,103,0.001,104,0.001,105,1.067,107,1.885,112,0.801,154,2.337,168,5.905,172,3.626,173,2.33,174,3.98,175,3.593,178,3.174,180,1.394,181,2.17,182,2.546,236,1.896,276,5.557,349,0.828,437,1.536,529,2.3,643,5.751,662,2.488,827,4.658,1717,3.854,1723,6.87,2044,3.125,2673,4.418,2677,5.756,3140,6.609,4119,4.751,4342,3.558,4660,7.035,7399,6.509,10471,7.813,10499,8.225,12987,10.204,12988,7.437,12989,6.745,12990,6.509,12991,6.745,12992,6.509,12993,7.437,12994,6.745,12995,7.437,12996,9.69,12997,7.437,12998,8.789,12999,6.509]],["title/interfaces/ISchoolExternalToolProperties.html",[105,0.7,13000,5.765]],["body/interfaces/ISchoolExternalToolProperties.html",[0,0.276,3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,32,0.161,33,0.506,55,2.538,95,0.152,96,2.162,101,0.016,103,0.001,104,0.001,105,0.832,107,1.916,112,0.81,143,2.344,154,2.123,172,3.294,173,2.368,174,4.022,178,3.225,180,1.416,181,2.205,182,2.587,564,3.675,644,6.143,654,3.873,1732,4.286,2548,4.34,4332,5.68,4333,4.779,5094,5.442,5453,7.603,5977,5.84,5978,6.093,6026,6.614,6032,10.074,6034,5.96,6037,6.854,6038,5.3,6792,5.1,6793,4.929,7502,5.1,9219,9.199,11726,5.732,12862,6.614,13000,9.851,13001,7.557,13002,11.269,13003,7.557,13004,7.557,13005,7.557,13006,7.557,13007,7.557]],["title/interfaces/ISchoolProperties.html",[105,0.7,13008,5.395]],["body/interfaces/ISchoolProperties.html",[0,0.308,3,0.011,4,0.011,5,0.006,7,0.131,30,0.001,31,0.618,32,0.168,33,0.655,47,0.957,83,2.906,95,0.134,96,1.349,101,0.017,102,2.583,103,0,104,0,105,0.519,107,1.195,112,0.697,119,2.352,128,2.079,133,1.752,143,2.946,144,4.276,145,2.139,154,1.527,172,4.024,173,1.477,175,2.278,178,2.012,180,0.883,181,1.376,182,1.614,236,0.829,261,2.443,556,1.245,593,1.901,644,2.375,655,5.75,742,5.553,839,1.586,992,3.576,1717,2.443,1723,2.583,2044,1.981,2351,5.162,2562,4.649,2670,5.391,2673,2.801,2677,4.183,2678,5.977,3135,4.873,3136,4.329,4332,4.085,4342,2.256,4392,7.22,4409,3.895,4410,5.977,4580,7.082,5094,4.223,6713,7.821,6721,7.22,6735,3.307,6786,4.697,6805,5.817,6806,3.802,7119,3.043,7120,4.697,8989,6.835,8993,3.802,8994,6.163,9006,5.942,9007,3.802,10327,7.463,10669,3.221,10926,6.686,11376,7.574,12405,5.977,13008,7.153,13009,4.276,13010,8.264,13011,7.89,13012,7.455,13013,7.731,13014,8.768,13015,4.127,13016,4.127,13017,4.276,13018,4.127,13019,4.276,13020,4.276,13021,6.386,13022,4.276,13023,4.276,13024,4.276,13025,4.276,13026,4.276,13027,4.276,13028,4.276,13029,4.276,13030,7.376,13031,4.276,13032,4.276,13033,7.376,13034,4.276,13035,4.276,13036,4.276,13037,3.576,13038,5.977,13039,3.802,13040,4.127,13041,4.276,13042,6.386,13043,3.895,13044,4.276,13045,4.276,13046,6.163,13047,4.127,13048,3.644,13049,4.276]],["title/interfaces/ISchoolYearProperties.html",[105,0.7,13050,6.018]],["body/interfaces/ISchoolYearProperties.html",[0,0.308,3,0.02,4,0.02,5,0.01,7,0.131,30,0.001,31,0.76,32,0.16,47,0.908,83,3.997,95,0.134,96,2.409,101,0.017,103,0.001,104,0.001,105,0.927,107,2.134,112,0.867,154,2.274,172,4.022,173,2.638,175,4.068,178,3.594,180,1.578,181,2.456,182,2.882,1147,2.77,2044,3.538,2351,7.688,4342,4.028,6724,9.506,6801,7.369,6802,6.955,11376,6.077,13050,11.318,13051,8.419,13052,11.155,13053,7.636,13054,8.419,13055,8.419]],["title/interfaces/IScopeInfo.html",[105,0.7,13056,5.563]],["body/interfaces/IScopeInfo.html",[3,0.021,4,0.021,5,0.011,7,0.141,26,2.676,30,0.001,32,0.172,47,0.996,95,0.116,99,1.586,101,0.015,103,0.001,104,0.001,105,0.999,107,2.299,112,0.908,1271,4.139,1998,5.107,2021,8.603,10112,10.736,13056,9.607,13057,9.069,13058,9.802,13059,13.259]],["title/interfaces/IServerConfig.html",[105,0.7,601,5.395]],["body/interfaces/IServerConfig.html",[3,0.017,4,0.017,5,0.009,7,0.112,30,0.001,32,0.175,47,0.947,52,4.967,55,2.352,95,0.157,101,0.018,103,0.001,104,0.001,105,0.799,107,1.838,112,0.788,119,2.633,180,1.786,437,1.359,599,5.719,600,4.894,601,9.036,839,2.44,934,6.216,1231,4.954,1437,5.99,1637,6.865,1971,4.801,2079,3.469,2080,3.872,2081,3.735,2082,5.018,2090,7.251,3600,3.896,3601,3.158,3603,3.947,5098,4.894,11049,5.5,11257,9.656,12410,10.079,12412,9.53,12448,6.987,12469,7.517,12683,10.079,12685,7.251,12758,9.656,12803,6.346,12804,7.251,12805,6.346,12808,6.576,12809,7.251,12831,9.656,12834,7.251,12835,7.251,12836,7.251,13060,7.837,13061,9.318,13062,12.696,13063,12.696,13064,7.837,13065,10.301,13066,7.837,13067,7.251,13068,7.837,13069,7.837,13070,7.837,13071,7.837,13072,7.251,13073,7.837,13074,6.576,13075,7.837,13076,7.837,13077,5.404]],["title/interfaces/IShareTokenProperties.html",[105,0.7,13078,5.765]],["body/interfaces/IShareTokenProperties.html",[0,0.24,3,0.015,4,0.015,5,0.008,7,0.157,26,2.698,30,0.001,32,0.164,33,0.606,34,1.183,49,4.987,83,3.379,95,0.145,96,2.552,97,2.896,101,0.015,103,0.001,104,0.001,105,0.723,107,1.665,112,0.738,124,6.226,131,2.697,143,2.426,144,3.55,154,1.934,159,7.864,172,3.823,173,2.058,174,3.664,178,2.803,180,1.231,181,1.916,182,2.248,187,5.425,188,5.956,197,5.295,198,5.956,236,1.569,349,0.993,490,2.522,556,2.355,696,2.759,839,3.408,2670,4.422,3366,3.507,3392,5.748,3632,5.663,4333,4.153,4858,7.412,4864,5.956,5933,5.693,5938,4.814,5939,5.076,5942,4.545,5943,4.894,6016,7.764,6044,5.956,6045,5.748,6046,5.956,6723,4.894,10347,5.295,10418,5.956,10493,5.18,10692,5.425,13078,9.188,13079,6.567,13080,6.567,13081,9.945,13082,8.469,13083,9.645,13084,6.567,13085,4.74,13086,4.671,13087,6.567,13088,6.567]],["title/interfaces/IStorageProviderProperties.html",[105,0.7,13089,6.018]],["body/interfaces/IStorageProviderProperties.html",[0,0.289,3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,32,0.169,33,0.522,47,1.008,95,0.142,96,2.267,101,0.017,103,0.001,104,0.001,105,0.873,107,2.009,112,0.835,143,1.897,144,2.776,154,2.188,172,4.064,173,2.483,174,4.146,175,3.828,178,3.382,180,1.485,181,2.312,182,2.712,2670,3.927,6515,8.855,6517,8.855,6518,9.052,8197,6.388,12509,7.501,13089,10.516,13090,7.923,13091,12.078,13092,9.154,13093,7.923,13094,7.923,13095,7.923,13096,7.923,13097,7.923,13098,7.923,13099,7.923,13100,7.923,13101,7.923]],["title/interfaces/ISubmissionProperties.html",[105,0.7,13102,5.765]],["body/interfaces/ISubmissionProperties.html",[0,0.166,3,0.011,4,0.011,5,0.005,7,0.153,26,2.15,30,0.001,32,0.168,33,0.614,34,0.82,47,0.859,55,2.03,62,2.91,72,2.223,95,0.141,96,1.303,101,0.011,103,0,104,0,105,0.502,107,1.155,112,0.76,119,2.691,143,2.2,144,3.22,145,2.084,154,1.488,168,4.181,172,3.485,173,1.427,174,2.818,175,2.201,178,1.944,180,0.854,181,1.329,182,1.559,226,0.719,236,1.452,239,2.97,349,1.231,437,1.743,528,2.53,529,1.409,556,2.18,603,1.532,644,5.218,654,3.207,662,3.466,766,2.752,915,3.455,938,2.853,951,2.307,1226,3.576,1664,1.844,1717,2.36,1816,3.395,1818,3.288,1824,3.52,1832,2.706,2670,4.886,2673,2.706,2677,2.706,2686,5.794,2687,3.074,2883,3.299,3136,6.61,3454,3.152,3455,3.455,3742,2.801,3819,7.226,3824,7.226,3832,6.223,3834,6.223,4266,1.666,5094,3.438,5932,4.011,6767,7.368,6768,3.288,6770,3.038,6772,2.752,6788,3.52,6792,3.074,6793,2.971,7112,3.195,7292,3.152,9432,8.143,12714,3.455,12715,3.455,12720,5.204,12721,3.455,12935,7.774,13102,7.487,13103,4.555,13104,9.856,13105,9.75,13106,4.312,13107,4.555,13108,4.555,13109,4.555,13110,4.555,13111,4.555,13112,4.555,13113,3.987,13114,4.555,13115,4.555,13116,4.555,13117,4.131,13118,4.555,13119,4.555,13120,4.555,13121,4.555,13122,4.555,13123,4.555,13124,9.856,13125,4.555,13126,4.555,13127,4.555,13128,4.555,13129,4.555,13130,4.555,13131,9.188,13132,4.555,13133,6.656,13134,3.987,13135,10.359,13136,6.862,13137,4.131,13138,6.862,13139,4.312,13140,3.593,13141,3.866,13142,4.555,13143,4.555,13144,4.555,13145,4.555,13146,6.862,13147,6.862,13148,4.555,13149,4.555,13150,4.555,13151,4.555,13152,6.656,13153,3.987,13154,4.131,13155,6.862]],["title/interfaces/ISystemProperties.html",[105,0.7,13156,5.251]],["body/interfaces/ISystemProperties.html",[0,0.318,3,0.01,4,0.01,5,0.005,7,0.064,26,1.383,30,0.001,32,0.166,33,0.625,47,1.018,83,2.408,95,0.111,96,1.175,101,0.016,103,0,104,0,105,0.452,107,1.041,112,0.524,119,0.921,133,1.527,143,3.003,144,4.395,145,1.248,153,1.018,154,1.679,172,4.426,173,1.287,174,2.605,175,1.984,177,0.826,178,1.753,180,0.77,181,1.198,182,1.406,276,1.928,511,1.965,570,2.74,578,2.709,839,2.606,950,2.74,1262,3.758,1371,2.709,1454,3.174,1486,2.772,1664,1.662,2021,2.881,2046,3.312,2562,3.498,2566,1.984,4332,3.678,4370,4.901,4404,2.679,4677,3.522,5558,1.811,5643,3.452,5953,5.227,5973,2.842,5974,3.061,6446,3.707,7385,2.806,7472,3.011,7528,4.182,9006,2.44,9343,3.011,10327,2.921,10926,2.525,12263,8.013,12344,3.312,12345,3.312,12346,3.312,12347,3.393,12391,3.061,12394,2.965,12396,3.061,12399,3.061,12402,2.74,12406,3.011,12447,2.921,12867,3.393,13048,3.174,13156,6.398,13157,3.595,13158,6.794,13159,9.011,13160,8.665,13161,6.431,13162,7.139,13163,6.694,13164,2.965,13165,2.965,13166,3.595,13167,4.726,13168,5.113,13169,3.486,13170,5.113,13171,3.393,13172,3.393,13173,3.393,13174,3.393,13175,3.486,13176,3.393,13177,3.393,13178,3.393,13179,3.486,13180,5.113,13181,3.486,13182,3.393,13183,3.486,13184,3.393,13185,3.393,13186,3.393,13187,3.486,13188,4.726,13189,3.595,13190,3.595,13191,3.595,13192,3.595,13193,3.595,13194,3.595,13195,3.595,13196,3.595,13197,3.595,13198,3.595,13199,3.595,13200,3.595,13201,3.486,13202,3.595,13203,3.595,13204,3.595,13205,3.595,13206,3.595,13207,3.595,13208,3.595,13209,3.595,13210,3.595,13211,3.595,13212,3.595,13213,3.595,13214,3.595,13215,3.595,13216,3.595,13217,3.595,13218,3.595,13219,3.312,13220,3.595,13221,3.595,13222,3.595,13223,3.595,13224,3.595,13225,3.595,13226,3.595,13227,3.595,13228,3.595,13229,3.595,13230,3.595,13231,3.595,13232,3.595,13233,3.595,13234,3.393,13235,3.595,13236,3.312,13237,3.486,13238,3.393,13239,3.486,13240,3.393,13241,3.393,13242,3.486,13243,3.393,13244,3.486,13245,3.393,13246,3.24,13247,3.24,13248,3.24,13249,3.312,13250,3.393,13251,3.595,13252,3.393,13253,3.595,13254,3.595,13255,3.595,13256,3.595,13257,3.595,13258,3.393,13259,3.486,13260,3.393,13261,3.486]],["title/interfaces/ITargetGroupProperties.html",[105,0.7,12933,5.563]],["body/interfaces/ITargetGroupProperties.html",[0,0.255,3,0.016,4,0.016,5,0.008,7,0.108,30,0.001,32,0.146,33,0.617,47,1.018,95,0.119,96,1.997,101,0.019,103,0.001,104,0.001,105,1.151,107,1.77,112,0.769,153,2.305,154,2.015,172,4.29,173,2.188,174,3.818,175,3.373,180,1.308,181,2.037,182,2.39,238,6.73,1262,3.511,1271,3.136,1717,3.618,2784,3.576,3601,4.048,3631,4.831,5844,6.519,5894,5.295,6446,4.081,6790,5.118,6791,4.657,7385,4.77,12697,4.831,12700,4.966,12708,6.709,12926,7.889,12927,6.332,12928,8.135,12929,8.135,12930,7.889,12931,8.135,12932,9.145,12933,9.75,12934,10.104,12935,8.787,12936,6.332,12937,6.332,12938,6.11,12939,6.332,12940,6.332,12941,6.332,12942,6.332,12943,6.332,12944,6.332,12945,6.332,12946,6.332,12947,6.332,12948,6.332,12949,6.332,12950,6.332]],["title/interfaces/ITask.html",[105,0.7,13262,5.395]],["body/interfaces/ITask.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,31,0.71,32,0.171,33,0.65,47,0.973,55,2.397,83,3.789,95,0.096,99,1.319,101,0.019,103,0.001,104,0.001,105,1.31,107,1.912,112,0.809,119,2.732,153,2.847,180,2.033,239,2.751,603,1.683,644,4.926,654,2.454,1920,5.096,1926,4.408,2684,5.629,2696,3.799,2883,4.701,3286,6.466,3289,6.42,3742,4.637,3796,8.052,3815,5.443,3819,5.529,3820,5.72,3821,5.364,3822,5.364,3823,5.829,3824,5.529,5121,6.448,5935,4.342,8184,5.219,13262,10.096,13263,6.6,13264,9.055,13265,6.081,13266,6.081,13267,5.829,13268,6.081,13269,5.948]],["title/interfaces/ITaskCreate.html",[105,0.7,13266,5.125]],["body/interfaces/ITaskCreate.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,31,0.489,32,0.155,33,0.604,47,0.981,55,2.451,83,3.134,95,0.101,99,1.382,101,0.019,103,0.001,104,0.001,105,1.33,107,2.004,112,0.834,119,2.766,153,1.96,180,2.19,239,2.813,603,1.765,644,5.078,654,2.572,1920,6.291,1926,4.508,2684,5.803,2696,3.983,2883,4.846,3286,5.677,3289,4.421,3742,4.861,3796,5.545,3815,5.707,3819,5.796,3820,5.997,3821,5.623,3822,5.623,3823,6.11,3824,5.796,5121,7.96,5935,4.551,8184,5.471,13262,10.245,13263,6.919,13264,6.236,13265,6.375,13266,8.127,13267,6.11,13268,6.375,13269,6.236]],["title/interfaces/ITaskParent.html",[105,0.7,6771,4.343]],["body/interfaces/ITaskParent.html",[0,0.184,3,0.007,4,0.007,5,0.004,7,0.167,8,0.658,26,1.911,27,0.137,30,0.001,31,0.19,32,0.135,34,0.907,35,0.403,47,0.702,55,1.113,83,2.537,95,0.14,96,0.88,101,0.014,103,0,104,0,105,0.555,107,0.78,112,0.612,119,2.361,143,2.462,144,3.071,145,3.265,153,0.763,154,1.092,172,3.362,173,0.964,174,2.069,175,1.486,178,1.313,180,0.576,181,0.898,182,1.053,226,0.486,236,1.698,239,2.816,347,3.614,349,1.349,437,1.818,474,1.411,517,1.254,519,2.46,528,1.708,529,1.558,556,1.953,578,2.029,593,1.241,603,2.513,604,2.24,644,3.223,654,1.001,662,3.596,696,2.117,708,3.208,739,1.437,766,1.858,827,1.927,915,2.333,1147,1.012,1218,1.259,1226,1.603,1456,2.188,1717,1.594,1726,1.424,1739,2.51,1822,3.251,1920,3.854,1926,3.314,1948,4.768,1986,1.927,2044,1.293,2443,2.129,2670,4.044,2673,2.993,2677,1.827,2682,3.486,2683,1.965,2684,2.9,2685,2.333,2686,4.877,2696,1.55,2700,5.803,2883,3.922,3136,1.891,3286,2.837,3289,2.817,3366,4.679,3454,2.129,3742,5.688,3744,2.79,3796,2.157,3815,5.889,3819,3.693,3820,6.188,3821,5.26,3822,6.232,3823,6.772,3824,3.693,3835,6.472,4119,1.965,4266,1.125,4278,2.102,4342,1.472,4973,2.102,4974,2.157,5094,2.524,5121,2.029,5935,1.771,6718,4.617,6757,2.076,6760,3.322,6771,4.371,6772,1.858,6784,2.611,6788,2.377,6790,2.255,6791,2.052,6792,2.076,6793,2.006,6809,5.118,7006,2.076,7007,2.22,7080,2.611,7112,2.157,7117,2.48,8184,5.118,8621,2.426,10144,2.129,11726,2.333,12726,2.293,12746,2.293,12879,2.692,13113,2.692,13133,5.963,13134,2.692,13152,5.963,13153,2.692,13264,2.426,13267,3.893,13268,2.48,13269,2.426,13270,2.912,13271,3.325,13272,2.912,13273,2.79,13274,2.912,13275,2.912,13276,2.912,13277,2.912,13278,2.912,13279,6.056,13280,5.599,13281,5.43,13282,2.912,13283,2.912,13284,2.79,13285,2.912,13286,2.912,13287,2.912,13288,2.79,13289,8.295,13290,2.912,13291,2.541,13292,2.692,13293,4.769,13294,7.001,13295,4.409,13296,7.001,13297,2.912,13298,2.912,13299,2.912,13300,4.769,13301,2.912,13302,2.912,13303,2.912,13304,2.912,13305,2.912,13306,2.912,13307,2.912,13308,2.912,13309,2.912,13310,2.912,13311,2.912,13312,2.912,13313,4.769,13314,2.912,13315,2.912,13316,2.541,13317,2.912,13318,2.912,13319,2.912,13320,2.912,13321,2.912,13322,2.912,13323,4.769,13324,2.912,13325,2.912,13326,4.769,13327,2.912,13328,4.769,13329,2.611,13330,2.79,13331,2.912,13332,7.001,13333,6.056,13334,4.569,13335,2.692,13336,6.056,13337,2.912,13338,6.056,13339,2.79,13340,4.769,13341,2.912,13342,2.912,13343,2.912,13344,6.056,13345,2.912,13346,4.769,13347,2.79,13348,2.912,13349,2.912,13350,7.001,13351,2.912,13352,2.912,13353,2.912,13354,2.912,13355,2.912,13356,2.912,13357,2.912,13358,4.769,13359,2.912,13360,2.912,13361,4.769,13362,2.912,13363,2.912,13364,2.912,13365,2.912,13366,2.79,13367,2.912,13368,7.001,13369,2.912,13370,2.912,13371,2.912,13372,2.912,13373,2.912,13374,2.912,13375,2.912,13376,2.912,13377,2.912,13378,2.912]],["title/interfaces/ITaskProperties.html",[105,0.7,13267,4.913]],["body/interfaces/ITaskProperties.html",[3,0.017,4,0.017,5,0.008,7,0.109,30,0.001,31,0.435,32,0.177,33,0.672,47,0.908,55,2.317,83,2.904,95,0.09,99,1.23,101,0.019,103,0.001,104,0.001,105,1.281,107,1.783,112,0.773,119,2.881,153,1.744,180,2.094,239,3.093,603,2.494,644,5.629,654,3.636,1920,4.869,1926,5.033,2684,6.433,2696,5.629,2883,5.372,3286,5.261,3289,3.934,3742,6.87,3796,4.933,3815,5.077,3819,5.156,3820,5.335,3821,5.003,3822,5.003,3823,5.436,3824,5.156,5121,6.16,5935,6.433,8184,7.733,13262,9.871,13263,6.156,13264,5.548,13265,5.671,13266,5.671,13267,7.219,13268,9.01,13269,8.813]],["title/interfaces/ITaskStatus.html",[105,0.7,3815,4.588]],["body/interfaces/ITaskStatus.html",[3,0.018,4,0.018,5,0.009,7,0.117,30,0.001,31,0.467,32,0.174,47,0.926,55,2.809,83,3.044,95,0.096,99,1.321,101,0.019,103,0.001,104,0.001,105,1.311,107,1.916,112,0.81,119,2.912,153,1.874,180,2.035,239,2.754,603,1.687,644,4.932,654,2.459,1920,5.103,1926,4.412,2684,5.637,2696,3.807,2883,4.707,3286,5.514,3289,4.226,3742,4.646,3796,5.3,3815,7.067,3819,8.423,3820,8.714,3821,8.172,3822,8.172,3823,8.88,3824,8.423,5121,6.457,5935,4.35,8184,5.229,13262,9.752,13263,6.614,13264,5.96,13265,6.093,13266,6.093,13267,5.84,13268,6.093,13269,5.96]],["title/interfaces/ITaskUpdate.html",[105,0.7,13265,5.125]],["body/interfaces/ITaskUpdate.html",[3,0.019,4,0.019,5,0.01,7,0.123,30,0.001,31,0.489,32,0.155,33,0.604,47,0.981,55,2.451,83,3.134,95,0.101,99,1.382,101,0.019,103,0.001,104,0.001,105,1.33,107,2.004,112,0.834,119,2.766,153,1.96,180,2.19,239,2.813,603,1.765,644,5.078,654,2.572,1920,6.291,1926,4.508,2684,5.803,2696,3.983,2883,4.846,3286,5.677,3289,4.421,3742,4.861,3796,5.545,3815,5.707,3819,5.796,3820,5.997,3821,5.623,3822,5.623,3823,6.11,3824,5.796,5121,7.96,5935,4.551,8184,5.471,13262,10.245,13263,6.919,13264,6.236,13265,8.127,13266,6.375,13267,6.11,13268,6.375,13269,6.236]],["title/interfaces/ITeamProperties.html",[105,0.7,13379,5.395]],["body/interfaces/ITeamProperties.html",[0,0.33,3,0.016,4,0.016,5,0.008,7,0.104,30,0.001,31,0.707,32,0.126,33,0.467,39,1.94,47,0.831,62,4.269,72,3.262,95,0.146,96,2.583,101,0.018,103,0.001,104,0.001,105,0.994,107,1.694,112,0.747,143,1.6,154,1.957,172,3.037,173,2.094,174,3.708,175,3.229,178,2.853,180,1.252,181,2.634,182,2.288,191,5.93,236,1.176,239,3.105,276,5.528,349,1.138,480,3.073,517,4.168,603,1.492,644,5.935,654,2.937,1732,3.791,2044,2.808,2130,5.272,2562,5.638,2670,3.313,3606,4.9,4266,2.445,4332,5.237,4342,3.197,4343,6.465,4346,8.676,5094,5.728,6770,4.458,6772,4.038,6793,4.36,7096,4.408,7133,4.754,10688,5.272,10689,5.272,11915,5.272,11916,5.522,12768,4.824,13379,8.676,13380,6.062,13381,9.017,13382,9.466,13383,5.673,13384,7.901,13385,6.062,13386,6.062,13387,6.062,13388,6.062,13389,6.062,13390,5.673,13391,6.062,13392,6.062]],["title/interfaces/ITeamUserProperties.html",[105,0.7,13384,5.563]],["body/interfaces/ITeamUserProperties.html",[0,0.328,3,0.016,4,0.016,5,0.008,7,0.103,30,0.001,31,0.555,32,0.143,39,1.923,47,0.681,62,4.232,72,3.233,95,0.146,96,2.567,101,0.018,103,0.001,104,0.001,105,0.988,107,1.68,112,0.742,143,1.586,154,1.945,172,3.019,173,2.076,174,3.686,175,3.201,178,2.828,180,1.241,181,2.618,182,2.268,191,5.903,236,1.165,239,3.25,276,5.931,349,1.133,480,3.059,517,4.149,603,1.479,644,6.158,654,3.708,1732,3.758,2044,2.784,2130,5.225,2562,5.613,2670,3.284,3606,4.857,4266,2.423,4332,5.205,4342,3.169,4343,6.436,4346,8.637,5094,5.711,6770,4.419,6772,4.002,6793,4.321,7096,4.369,7133,4.712,10688,5.225,10689,5.225,11915,5.225,11916,5.473,12768,4.782,13379,7.616,13380,6.009,13381,7.077,13382,9.081,13383,5.623,13384,8.906,13385,6.009,13386,6.009,13387,6.009,13388,6.009,13389,6.009,13390,5.623,13391,6.009,13392,6.009]],["title/interfaces/ITemporaryFileProperties.html",[105,0.7,12216,5.765]],["body/interfaces/ITemporaryFileProperties.html",[0,0.271,3,0.017,4,0.017,5,0.013,7,0.115,30,0.001,31,0.458,32,0.166,47,0.951,55,2.519,83,3.895,95,0.137,96,2.119,99,1.295,101,0.016,103,0.001,104,0.001,105,0.816,107,1.878,112,0.799,154,2.095,159,8.549,172,4.081,173,2.321,174,3.97,178,3.162,180,1.388,182,2.536,197,5.973,360,4.059,379,1.011,823,7.112,1105,4.006,1125,4.885,1147,2.437,2024,3.732,2424,4.732,3130,6.304,5826,8.338,5831,6.483,5883,4.597,6448,5.126,10507,8.203,10508,10.206,10522,6.288,10927,7.013,10951,6.12,12186,6.12,12216,9.757,12221,11.205,12223,7.408,12227,7.013,12228,7.408,12229,7.408,12232,9.15,12233,7.408,12234,7.408]],["title/interfaces/IToolFeatures.html",[105,0.7,9054,5.251]],["body/interfaces/IToolFeatures.html",[0,0.301,3,0.019,4,0.019,5,0.01,7,0.128,30,0.001,32,0.171,47,0.9,55,2.62,95,0.105,101,0.019,103,0.001,104,0.001,105,0.907,107,2.088,112,0.855,119,2.947,413,2.679,437,1.174,486,2.679,1650,5.018,2079,3.94,2080,4.397,2081,4.242,3940,5.018,9054,9.342,9056,8.544,9329,11.569,9362,11.569,12411,6.037,13393,12.219,13394,12.219,13395,12.219,13396,8.235,13397,7.469,13398,8.235,13399,8.235,13400,8.235,13401,8.235,13402,7.469]],["title/interfaces/IToolLaunchParams.html",[105,0.7,2606,5.563]],["body/interfaces/IToolLaunchParams.html",[3,0.021,4,0.021,5,0.011,7,0.138,30,0.001,32,0.164,95,0.149,101,0.015,103,0.001,104,0.001,105,0.98,107,2.256,112,0.897,131,3.654,564,3.961,654,2.895,1650,5.422,1898,7.534,1899,7.263,1901,6.291,2587,8.07,2606,9.496,2627,6.979,2651,6.422,13403,8.897,13404,9.616]],["title/interfaces/IToolLaunchStrategy.html",[105,0.7,13405,6.018]],["body/interfaces/IToolLaunchStrategy.html",[3,0.02,4,0.02,5,0.01,7,0.131,8,1.372,26,2.61,27,0.468,29,0.899,30,0.001,31,0.649,32,0.147,33,0.543,35,1.375,36,2.43,39,2.45,95,0.146,99,1.475,101,0.014,103,0.001,104,0.001,105,0.93,107,2.139,271,4.578,1650,6.968,1664,3.415,2548,3.077,2587,10.37,2601,9.942,2602,9.942,2606,10.472,2629,9.884,2634,7.989,2635,9.942,2639,9.018,2651,8.636,2652,7.989,13403,11.434,13405,9.942,13406,9.12,13407,9.12,13408,11.351,13409,9.12]],["title/interfaces/IUserConfig.html",[105,0.7,13061,5.563]],["body/interfaces/IUserConfig.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.928,101,0.016,103,0.001,104,0.001,105,1.085,107,2.498,112,0.954,12411,7.223,13061,10.093,13067,12.606,13410,10.649]],["title/interfaces/IUserProperties.html",[105,0.7,13411,5.563]],["body/interfaces/IUserProperties.html",[0,0.17,3,0.011,4,0.011,5,0.006,7,0.187,30,0.001,32,0.171,33,0.647,34,0.84,47,0.99,83,3.709,95,0.127,96,1.334,101,0.014,103,0,104,0,105,0.769,107,1.182,112,0.896,119,2.084,143,2.888,144,4.227,154,1.815,168,2.841,172,4.189,173,1.461,174,2.868,175,2.253,178,1.99,180,0.874,181,1.36,182,1.596,236,1.472,239,1.182,276,4.672,349,0.519,437,1.193,529,1.442,644,5.264,651,5.447,652,5.447,653,5.804,654,3.625,655,5.726,662,1.56,827,2.92,839,1.569,988,4.383,1108,6.425,1147,1.534,1717,2.416,1723,4.587,1724,4.414,2670,4.15,2673,2.77,2677,4.148,3122,2.178,3140,6.065,4119,2.978,4260,7.298,4266,1.705,4271,7.14,4354,3.957,4355,3.759,5094,3.499,5888,3.852,6760,4.605,6770,3.11,6792,3.147,6793,3.041,7119,3.009,7120,3.11,7549,5.63,10079,3.365,10080,3.677,10081,3.365,10082,3.677,10083,3.677,10084,4.081,10414,8.225,10475,4.081,10479,4.229,12634,4.081,12635,4.081,12636,4.081,12872,4.229,12989,4.229,12990,4.081,12991,4.229,12992,4.081,12994,4.229,12998,6.333,12999,4.081,13012,7.42,13038,3.957,13039,3.759,13383,3.957,13411,7.327,13412,4.662,13413,8.45,13414,8.225,13415,8.027,13416,8.45,13417,6.983,13418,6.983,13419,6.983,13420,4.229,13421,4.229,13422,4.662,13423,4.662,13424,4.229,13425,4.662,13426,4.229,13427,4.662,13428,4.229,13429,4.662,13430,4.662,13431,6.983]],["title/interfaces/IVideoConferenceSettings.html",[105,0.7,13432,6.018]],["body/interfaces/IVideoConferenceSettings.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,32,0.166,47,0.899,95,0.117,101,0.018,103,0.001,104,0.001,105,1.006,107,2.316,112,0.912,119,2.654,437,1.302,1181,8.109,1998,5.145,2014,8.21,2199,10.763,8542,5.567,12414,8.648,13432,10.438,13433,9.873,13434,11.642,13435,9.135,13436,9.873]],["title/classes/IdParams.html",[0,0.232,13437,6.018]],["body/classes/IdParams.html",[0,0.401,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.404,30,0.001,32,0.127,34,2.262,47,0.833,95,0.14,101,0.015,103,0.001,104,0.001,112,0.908,135,6.631,138,1.758,142,4.63,143,2.628,144,3.847,145,3.334,148,3.043,150,2.21,153,2.249,245,3.051,248,4.742,257,7.312,3601,4.781,5554,6.749,13437,10.392,13438,9.802,13439,9.802]],["title/interfaces/IdToken.html",[105,0.7,121,4.521]],["body/interfaces/IdToken.html",[3,0.02,4,0.02,5,0.01,7,0.131,30,0.001,31,0.739,32,0.176,33,0.675,39,3.471,47,1.016,101,0.017,103,0.001,104,0.001,105,1.155,107,2.134,112,0.867,121,7.459,123,7.636,135,5.086,653,6.64,4266,4.373,5866,9.068,5953,4.676,6722,7.637,11741,10.843,11742,8.419,11743,7.971]],["title/classes/IdTokenCreationLoggableException.html",[0,0.232,13440,6.018]],["body/classes/IdTokenCreationLoggableException.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,27,0.453,29,0.686,30,0.001,31,0.495,32,0.142,33,0.414,34,1.442,35,1.048,39,3.409,47,0.94,59,2.664,95,0.13,101,0.013,103,0.001,104,0.001,124,6.433,135,6.743,177,2.042,180,1.904,182,2.741,191,4.645,226,1.264,284,2.62,292,4.387,345,2.749,349,0.891,379,1.093,437,1.141,603,1.787,1025,4.783,1147,3.343,1226,5.818,1338,5.593,1341,2.781,1343,6.309,2548,2.92,3526,9.467,5640,8.007,5643,6.076,8024,6.615,8829,6.286,9283,5.064,9284,5.28,13167,5.968,13440,9.62,13441,12.065,13442,8.654,13443,8.654,13444,8.654,13445,8.654,13446,7.262,13447,8.007]],["title/injectables/IdTokenService.html",[539,0.921,13448,5.765]],["body/injectables/IdTokenService.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.02,27,0.446,29,0.856,30,0.001,31,0.703,32,0.14,33,0.517,34,0.978,35,1.197,36,2.314,39,2.267,47,0.956,95,0.151,99,0.949,101,0.009,103,0,104,0,105,0.598,121,3.862,124,4.279,135,6.401,177,2.01,226,0.857,227,2.435,236,0.955,239,1.98,262,2.63,349,1.113,379,1.066,437,1.62,528,4.337,529,1.679,539,1.131,541,1.408,556,2.798,603,2.684,608,2.76,653,3.015,1726,2.513,1810,8.472,1834,4.196,1901,2.918,2548,2.847,2617,7.555,2627,4.196,3526,4.378,3603,2.955,4266,1.986,4657,5.14,4659,5.14,4679,4.608,4822,7.261,4841,4.752,5554,3.338,5643,6.188,5866,6.936,5953,3.015,6722,5.842,7096,7.275,7322,6.099,7431,5.923,7521,3.664,7996,4.486,9077,4.924,9460,5.728,10188,8.472,10276,4.608,11741,9.609,11743,5.14,12006,4.378,12768,6.601,13440,5.14,13448,7.083,13449,10.595,13450,5.43,13451,8.44,13452,8.44,13453,8.44,13454,5.868,13455,9.656,13456,5.868,13457,8.44,13458,5.868,13459,8.44,13460,5.868,13461,8.44,13462,5.868,13463,5.868,13464,5.868,13465,5.868,13466,4.752,13467,5.14,13468,8.44,13469,5.43,13470,5.43,13471,5.868,13472,5.868,13473,5.868,13474,5.868,13475,8.44,13476,5.868,13477,5.868,13478,5.868,13479,5.868,13480,5.868,13481,7.809]],["title/modules/IdentityManagementModule.html",[201,1.845,616,5.395]],["body/modules/IdentityManagementModule.html",[0,0.273,3,0.018,4,0.018,5,0.009,30,0.001,95,0.162,101,0.012,103,0.001,104,0.001,201,3.138,203,2.933,204,3.144,205,3.232,206,3.219,207,3.206,208,3.881,209,4.423,218,4.202,219,3.168,220,3.096,225,4.185,226,1.181,568,5.177,583,10.988,600,6.565,616,11.011,636,6.152,964,4.686,2836,8.141,3998,7.021,8111,7.481,8112,8.823,8796,9.592,8913,8.036,12419,4.686,12832,6.35,13482,8.086,13483,8.086,13484,8.086,13485,10.323,13486,10.644,13487,10.656,13488,7.481,13489,8.823,13490,6.548,13491,7.083,13492,8.086,13493,8.823,13494,10.514,13495,8.823]],["title/classes/IdentityManagementOauthService.html",[0,0.232,13487,5.395]],["body/classes/IdentityManagementOauthService.html",[0,0.252,2,0.826,3,0.016,4,0.016,5,0.008,7,0.107,8,1.205,9,6.503,27,0.463,29,0.591,30,0.001,31,0.427,32,0.097,33,0.357,35,1.652,36,2.752,47,0.937,51,5.682,78,9.331,87,6.516,94,5.96,95,0.088,101,0.011,103,0.001,104,0.001,143,2.209,145,2.802,153,1.712,274,6.018,333,4.25,556,2.436,600,7.486,938,6.947,986,6.471,990,2.558,1461,6.998,1478,7.158,1971,6.294,2251,6.043,2417,7.709,5554,7.682,8244,7.439,11953,8.735,12419,6.947,12449,8.572,12832,9.414,13487,7.831,13496,6.905,13497,11.091,13498,11.091,13499,9.226,13500,7.463,13501,7.463,13502,9.226,13503,7.463,13504,5.704,13505,7.463]],["title/classes/IdentityManagementService.html",[0,0.232,583,5.563]],["body/classes/IdentityManagementService.html",[0,0.127,2,0.414,3,0.008,4,0.008,5,0.004,7,0.054,8,0.725,9,6.579,27,0.486,29,0.951,30,0.001,31,0.707,32,0.158,33,0.574,34,2.145,35,1.592,36,2.829,39,2.687,47,0.98,51,4.062,55,1.225,56,1.806,59,1.845,70,1.886,85,7.082,87,6.268,94,7.029,95,0.044,98,2.236,99,0.606,101,0.009,103,0,104,0,119,0.777,153,2.649,179,7.182,236,1.395,239,2.708,263,5.251,264,5.251,273,4.582,280,5.909,284,1.815,292,3.039,305,6.325,330,7.526,333,5.44,480,3.341,481,3.217,490,3.554,517,3.773,543,3.032,556,1.831,583,4.854,593,2.237,600,5.351,685,2.51,813,4.207,993,6.713,1270,4.92,1461,4.207,1731,6.393,1732,3.146,1821,7.403,2368,3.789,2830,5.117,2836,5.639,2837,7.659,2958,5.065,4119,6.451,4606,5.251,4751,4.708,8113,3.28,12419,6.96,12560,5.251,12576,7.191,12832,9.431,13506,5.546,13507,5.546,13508,5.546,13509,5.546,13510,7.929,13511,6.936,13512,6.936,13513,5.546,13514,5.546,13515,5.546,13516,9.718,13517,3.744,13518,10.915,13519,5.995,13520,3.744,13521,5.546,13522,3.744,13523,8.57,13524,5.546,13525,5.546,13526,3.744,13527,5.546,13528,5.995,13529,3.744,13530,5.546,13531,7.929,13532,3.744,13533,3.744,13534,3.464,13535,10.098,13536,3.744,13537,8.674,13538,11.698,13539,3.464,13540,7.929,13541,3.744,13542,5.995,13543,3.744,13544,5.995,13545,3.744,13546,2.94]],["title/entities/ImportUser.html",[154,1.378,12849,4.913]],["body/entities/ImportUser.html",[0,0.147,3,0.01,4,0.01,5,0.005,7,0.063,27,0.515,30,0.001,31,0.386,32,0.167,33,0.446,47,0.94,49,1.626,95,0.126,96,1.154,101,0.014,103,0,104,0,105,0.689,112,0.817,119,1.716,128,2.757,138,2.238,143,2.801,144,3.022,145,1.899,154,1.355,155,1.417,168,5.687,172,3.936,173,1.264,174,2.568,175,1.948,178,1.721,180,0.756,181,1.177,182,1.38,220,1.669,236,0.709,239,3,250,2.791,349,0.696,359,2.63,361,5.303,437,1.091,480,2.302,486,2.491,490,1.549,517,2.549,529,1.247,556,2.022,564,1.365,593,2.521,603,0.9,644,3.857,651,4.495,652,4.495,653,5.484,654,3.464,655,5.114,696,3.217,708,1.749,839,2.902,975,2.127,1147,1.327,1678,6.155,1726,1.866,1903,4.446,2207,2.63,2235,3.818,2418,7.361,2419,3.657,2668,5.231,2670,5.106,2671,7.125,2679,3.181,2747,3.818,2958,3.993,3134,4.298,3140,3.403,4266,2.287,4271,6.377,4354,3.423,4355,3.251,4370,4.832,4660,2.396,4856,3.251,5094,3.836,5662,6.541,6238,3.117,6748,3.818,6760,4.123,6770,2.69,6772,2.436,6792,2.722,7000,4.583,7112,4.384,7119,2.602,7120,2.69,7734,3.005,7825,4.742,9006,4.548,9007,3.251,9008,3.423,10079,2.911,10080,3.181,10081,2.911,10082,3.181,10083,3.181,10084,3.529,10258,2.911,10259,2.911,10931,3.331,11284,6.541,11285,5.706,11303,3.117,11304,2.659,11312,5.67,11911,3.423,11915,3.181,11958,4.033,12837,5.67,12838,11.699,12839,7.125,12840,8.794,12841,6.323,12842,8.168,12843,7.32,12844,3.331,12845,3.818,12846,3.818,12847,4.033,12848,3.657,12849,4.832,12850,4.033,12851,4.033,12852,4.033,12853,4.033,12854,4.033,12855,4.033,12856,4.033,12857,4.033,12858,5.67,12859,4.033,12860,5.67,12861,3.657,12862,7.548,12863,4.033,12864,4.033,12865,4.033,12866,3.529,12867,3.331,12868,4.033,12869,4.033,12870,4.033,12871,4.033,12872,5.67,12873,3.657,12874,7.125,12875,7.248,12876,4.033,12877,6.252,12878,4.033,12879,3.529,12880,5.67,12881,4.033,13547,4.359,13548,4.359,13549,4.359,13550,4.359,13551,4.359,13552,4.359,13553,4.359,13554,6.757,13555,4.359,13556,4.359,13557,4.359,13558,4.359,13559,4.359]],["title/controllers/ImportUserController.html",[259,2.631,13560,6.018]],["body/controllers/ImportUserController.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.063,8,0.823,10,1.788,27,0.476,29,0.914,30,0.001,31,0.66,32,0.15,33,0.552,35,1.398,36,2.795,56,4.518,59,1.355,70,4.719,95,0.14,99,0.712,100,1.499,101,0.007,103,0,104,0,119,1.727,138,2.07,150,0.992,177,1.266,223,1.834,226,0.643,236,1.108,239,1.032,247,1.893,259,1.685,261,2.11,262,3.011,270,6.728,271,3.969,294,6.924,310,5.255,324,4.221,333,3.994,334,2.856,337,2.293,338,2.344,343,2.362,345,1.398,349,1.043,437,1.747,490,3.33,603,0.909,608,2.671,739,3.598,816,3.712,824,4.301,836,7.84,1218,1.666,2941,7.05,2962,2.481,2963,2.31,4565,5.35,5558,4.371,6132,3.945,6861,7.304,7150,5.08,9687,6.742,11281,7.863,11318,7.863,12849,3.147,13560,5.963,13561,11.847,13562,4.401,13563,4.401,13564,6.808,13565,8.326,13566,8.326,13567,8.326,13568,6.808,13569,8.326,13570,8.326,13571,8.326,13572,4.401,13573,6.808,13574,4.401,13575,4.401,13576,7.863,13577,4.401,13578,4.401,13579,6.808,13580,4.401,13581,4.401,13582,10.602,13583,6.808,13584,4.401,13585,4.401,13586,6.299,13587,4.401,13588,4.401,13589,8.208,13590,6.808,13591,4.401,13592,4.401,13593,8.669,13594,6.808,13595,4.401,13596,4.401,13597,8.208,13598,6.808,13599,4.401,13600,3.855,13601,4.401,13602,4.401,13603,3.693,13604,4.072,13605,3.855,13606,8.669,13607,3.855,13608,4.072,13609,3.693,13610,3.564,13611,5.713,13612,4.401,13613,4.401,13614,3.564,13615,3.855,13616,4.401,13617,4.401,13618,4.401,13619,4.401,13620,5.713,13621,4.401,13622,4.401,13623,4.401,13624,4.401,13625,8.326,13626,4.401,13627,8.326,13628,4.401,13629,4.401,13630,4.401,13631,4.401,13632,4.401,13633,4.401,13634,4.401,13635,4.072,13636,4.401,13637,4.401,13638,4.401,13639,4.401,13640,4.401,13641,4.401,13642,4.401]],["title/classes/ImportUserFactory.html",[0,0.232,13643,6.357]],["body/classes/ImportUserFactory.html",[0,0.16,2,0.523,3,0.01,4,0.01,5,0.005,7,0.068,8,0.87,27,0.536,29,1.039,30,0.001,31,0.717,32,0.173,33,0.6,34,1.451,35,1.465,47,0.612,55,2.342,59,3.222,95,0.13,99,0.765,101,0.007,103,0,104,0,112,0.55,120,3.038,133,2.473,140,2.578,145,1.329,153,1.997,154,2.099,155,2.339,177,1.338,180,1.247,239,2.838,271,4.646,319,3.038,349,0.741,379,0.597,382,3.832,413,2.165,437,0.949,447,7.098,448,4.442,449,5.347,452,3.954,453,5.347,454,5.578,455,3.954,456,3.954,457,3.954,458,3.891,459,4.384,460,4.785,461,6.151,462,5.661,463,6.936,464,2.621,469,2.599,470,3.954,471,2.621,472,5.034,473,5.182,474,4.128,475,4.9,476,3.922,477,2.599,478,3.748,479,4.04,480,3.285,481,2.538,482,2.5,483,2.599,484,4.965,485,2.621,486,3.555,487,4.709,488,2.599,489,6.99,490,4.197,491,6.491,492,2.621,493,4.249,494,2.599,495,2.621,496,2.599,497,2.621,498,2.599,499,2.918,500,2.74,501,2.599,502,5.963,503,2.621,504,2.599,505,3.954,506,3.722,507,3.954,508,2.621,509,2.519,510,2.5,511,2.093,512,2.599,513,2.599,514,2.599,515,2.621,516,2.621,517,1.784,518,2.599,519,1.455,520,2.621,521,3.438,522,2.599,523,2.621,525,2.715,526,2.767,527,2.795,570,2.918,651,2.28,652,2.28,653,2.43,654,1.423,655,2.397,996,2.28,997,2.204,998,2.254,999,2.381,1000,2.599,1001,3.261,1218,1.79,3134,2.18,3927,6.301,4271,2.989,4660,2.599,6985,3.713,6986,3.829,6995,3.713,10259,3.158,10451,3.318,11284,3.318,12837,3.968,12839,3.614,12840,5.498,12841,3.207,12842,7.878,12843,5.649,12849,3.381,13643,8.055,13644,7.193,13645,4.729,13646,7.193,13647,4.729,13648,6.655,13649,4.142,13650,4.729,13651,4.729,13652,4.729,13653,4.729,13654,4.729,13655,4.729,13656,4.142,13657,4.729]],["title/classes/ImportUserListResponse.html",[0,0.232,13609,5.765]],["body/classes/ImportUserListResponse.html",[0,0.339,2,0.95,3,0.013,4,0.013,5,0.007,7,0.086,27,0.477,29,0.476,30,0.001,31,0.491,32,0.171,33,0.553,34,1.001,47,0.812,55,2.791,56,5.795,59,2.642,70,6.052,94,2.987,95,0.142,101,0.013,103,0,104,0,112,0.657,119,1.246,128,2.451,138,1.959,143,2.218,145,1.688,148,1.865,149,3.311,150,1.354,153,2.902,180,1.488,181,1.622,239,2.967,245,3.312,247,2.584,248,4.366,253,2.968,276,2.608,284,3.498,319,2.537,361,3.417,379,0.759,382,3.253,506,3.108,521,2.372,556,1.468,564,3.618,593,2.241,651,4.139,652,4.139,654,1.808,808,3.403,815,7.635,816,6.552,817,4.927,819,3.025,821,4.642,822,2.914,823,3.2,824,2.135,825,4.216,826,5.569,827,4.974,828,3.953,829,3.108,830,4.216,831,4.216,833,3.797,834,3.275,839,1.87,996,2.897,997,2.8,998,2.863,999,3.025,1000,3.302,1512,3.751,1664,2.25,1739,2.77,1824,4.296,1994,4.216,2918,3.224,2919,3.224,3134,5.037,3135,3.846,3136,3.417,3140,3.025,4381,3.625,4565,3.876,5126,3.665,5590,3.707,10079,4.012,10080,4.384,10081,4.012,10082,4.384,10926,4.882,11284,4.216,11285,4.142,11303,4.296,11304,3.665,11316,4.481,11918,4.864,12548,3.751,12839,4.592,12841,4.075,12860,5.041,12861,5.041,13609,7.202,13610,10.244,13658,7.518,13659,6.007,13660,6.007,13661,7.864,13662,5.558,13663,7.654,13664,5.558,13665,5.558,13666,5.041,13667,5.041,13668,5.041,13669,5.041,13670,5.558,13671,5.558,13672,7.941,13673,5.558,13674,4.864,13675,5.558,13676,5.558,13677,4.717,13678,5.558]],["title/classes/ImportUserMapper.html",[0,0.232,13600,6.018]],["body/classes/ImportUserMapper.html",[0,0.222,2,0.726,3,0.014,4,0.014,5,0.007,7,0.094,8,1.104,27,0.433,29,0.832,30,0.001,31,0.601,32,0.136,33,0.502,35,1.272,95,0.15,99,1.061,100,3.869,101,0.01,103,0,104,0,143,2.023,226,0.958,236,1.486,239,2.142,276,2.848,310,2.848,340,3.182,349,1.17,413,3.956,437,1.575,486,1.975,529,1.877,556,2.567,593,3.92,651,3.163,652,3.163,739,3.946,783,5.104,790,3.304,1309,5.292,1931,4.147,2680,5.292,3049,8.03,4565,5.13,5310,4.381,7312,5.504,9655,8.449,9684,8.449,9687,7.395,9688,8.921,9743,5.746,11281,9.532,11284,4.603,11285,4.523,12839,5.014,12841,4.449,12849,8.842,12882,9.199,13576,9.532,13600,7.999,13603,5.504,13605,7.999,13610,9.199,13635,6.069,13674,5.312,13679,11.36,13680,9.132,13681,9.132,13682,6.56,13683,6.56,13684,9.132,13685,6.56,13686,5.151,13687,6.069,13688,5.504,13689,5.746,13690,6.56,13691,6.56,13692,6.56,13693,6.56,13694,6.56,13695,6.56,13696,6.56,13697,6.56,13698,6.56,13699,6.56,13700,6.56,13701,6.56,13702,6.069,13703,9.132,13704,6.56,13705,6.56,13706,6.069,13707,6.56,13708,6.56,13709,6.069,13710,6.56,13711,6.56,13712,6.56,13713,6.56,13714,6.56,13715,6.56,13716,6.56,13717,6.56,13718,6.56,13719,6.56,13720,6.56,13721,6.56,13722,6.56,13723,6.56,13724,6.56,13725,6.56]],["title/classes/ImportUserMatchMapper.html",[0,0.232,13688,5.765]],["body/classes/ImportUserMatchMapper.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,8,1.331,27,0.454,29,0.872,30,0.001,31,0.63,32,0.143,33,0.527,35,1.334,95,0.13,99,1.406,101,0.013,103,0.001,104,0.001,310,3.774,349,1.35,361,7.46,413,4.033,486,2.616,529,2.487,790,4.377,1309,6.382,1931,5.494,4381,5.245,4565,5.459,11294,11.759,12842,10.849,12884,10.144,13688,9.241,13726,8.691,13727,11.012,13728,11.012,13729,11.012,13730,8.691,13731,11.012,13732,8.691,13733,10.589,13734,8.691,13735,8.041,13736,8.691,13737,8.041,13738,8.691,13739,8.041,13740,6.825,13741,8.691,13742,8.691,13743,8.691,13744,8.691]],["title/modules/ImportUserModule.html",[201,1.845,13745,5.563]],["body/modules/ImportUserModule.html",[0,0.257,3,0.017,4,0.017,5,0.008,30,0.001,52,3.673,94,3.787,95,0.158,101,0.012,103,0.001,104,0.001,201,3.246,203,2.763,204,2.961,205,3.044,206,3.032,207,3.02,208,4.188,209,3.827,213,9.245,214,6.026,217,7.802,218,4.04,219,2.984,220,2.916,223,4.214,225,4.024,226,1.113,227,3.161,239,1.787,564,2.385,622,9.435,636,4.457,654,2.293,1341,2.448,1427,9.073,1694,4.7,1752,7.355,1794,4.877,1963,4.294,2232,4.294,2668,4.815,2830,4.548,3122,3.291,4565,3.439,5434,8.278,8052,5.981,11545,5.981,13560,9.939,13606,11.962,13607,6.672,13608,7.047,13745,11.651,13746,7.617,13747,7.617,13748,7.617,13749,11.325,13750,7.617,13751,7.617,13752,7.617,13753,7.617,13754,5.252]],["title/injectables/ImportUserRepo.html",[539,0.921,13749,6.018]],["body/injectables/ImportUserRepo.html",[0,0.172,3,0.011,4,0.011,5,0.006,7,0.073,8,0.919,10,3.089,12,3.416,18,3.805,26,2.038,27,0.509,29,0.957,30,0.001,31,0.691,32,0.157,33,0.578,34,1.517,35,1.463,36,2.766,40,3.667,49,1.899,56,2.454,58,3.303,59,2.34,94,3.78,95,0.134,96,2.013,97,2.077,98,3.039,99,0.823,101,0.008,103,0,104,0,143,1.128,154,1.021,155,2.473,173,1.476,180,1.318,226,0.743,236,1.481,239,2.896,262,3.005,276,2.21,310,3.952,349,1.113,382,3.007,437,1.628,479,4.677,480,1.416,486,1.532,490,4.292,529,1.456,539,1.019,541,1.221,593,4.506,603,1.88,605,4.709,608,2.719,644,5.476,654,3.04,679,6.745,685,3.183,686,3.451,687,4.469,711,3.039,712,3.071,713,3.039,714,3.071,716,3.039,717,3.071,718,2.711,723,3.639,741,3.452,1512,4.748,1821,3.452,2093,4.287,2350,5.968,3122,2.199,3140,3.829,3452,3.51,3927,6.66,5126,3.105,5558,3.102,6132,4.406,6134,3.51,6861,3.071,7149,6.509,7150,7.168,7160,5.672,7178,6.66,7179,3.714,7180,3.714,12848,6.38,12849,8.106,12882,8.176,13702,4.709,13740,3.997,13749,6.66,13755,5.09,13756,7.604,13757,9.102,13758,9.102,13759,7.604,13760,7.604,13761,5.09,13762,5.09,13763,5.09,13764,5.09,13765,5.09,13766,5.09,13767,7.604,13768,5.09,13769,6.66,13770,5.09,13771,7.973,13772,5.09,13773,5.09,13774,5.09,13775,5.09,13776,5.09,13777,5.09,13778,5.09,13779,5.09,13780,5.09,13781,5.09,13782,5.09,13783,5.09,13784,5.09,13785,5.09,13786,5.09,13787,5.09,13788,5.09,13789,5.09,13790,5.09,13791,5.09,13792,7.604,13793,5.09,13794,7.604,13795,5.09,13796,5.09,13797,5.09,13798,5.09,13799,5.09,13800,5.09]],["title/classes/ImportUserResponse.html",[0,0.232,13610,5.563]],["body/classes/ImportUserResponse.html",[0,0.322,2,1.053,3,0.012,4,0.012,5,0.006,7,0.079,27,0.519,29,0.435,30,0.001,31,0.544,32,0.172,33,0.455,34,1.34,47,0.899,55,1.944,56,3.877,70,4.049,94,3.997,95,0.142,101,0.012,103,0,104,0,112,0.615,119,1.667,128,3.28,138,2.214,143,2.32,145,2.259,148,1.704,149,3.102,150,1.237,153,2.889,180,0.951,181,2.17,239,3.135,245,3.239,247,2.361,248,4.186,253,2.712,257,7.098,276,2.383,284,2.434,319,3.396,361,5.412,379,0.693,381,1.857,480,1.527,486,1.652,506,2.84,521,2.167,564,4.007,593,2.048,651,5.377,652,5.377,654,1.652,808,3.188,815,4.961,816,2.992,817,3.151,821,4.41,833,3.469,834,2.992,839,2.503,996,2.647,997,2.558,998,2.616,999,2.764,1000,3.016,1277,3.068,1512,5.02,1664,2.055,1739,3.707,1824,3.924,1994,3.851,2918,4.315,2919,4.315,3134,5.55,3135,5.148,3136,4.573,3140,4.049,4381,4.852,4565,5.78,5126,4.905,5590,4.961,7291,5.078,10079,3.665,10080,4.005,10081,3.665,10082,4.005,10926,5.959,11284,6.676,11285,6.56,11303,5.749,11304,4.905,11316,5.998,11918,4.444,12548,5.02,12839,7.272,12841,6.453,12860,4.605,12861,4.605,13609,4.605,13610,9.995,13658,11.212,13661,8.756,13662,5.078,13663,8.522,13664,5.078,13665,5.078,13666,4.605,13667,4.605,13668,4.605,13669,4.605,13670,5.078,13671,5.078,13672,7.438,13673,5.078,13674,7.704,13675,7.438,13676,7.438,13677,4.31,13678,5.078,13801,5.488,13802,5.488,13803,5.488,13804,5.488,13805,5.488,13806,5.488,13807,5.488,13808,5.488,13809,5.488]],["title/classes/ImportUserScope.html",[0,0.232,13771,6.018]],["body/classes/ImportUserScope.html",[0,0.148,2,0.751,3,0.01,4,0.01,5,0.005,7,0.063,8,0.821,27,0.528,29,0.975,30,0.001,31,0.732,32,0.164,33,0.589,34,1.132,35,1.491,39,1.178,47,0.878,49,1.637,95,0.126,96,1.798,97,1.79,99,0.71,101,0.007,103,0,104,0,112,0.52,119,1.723,128,2.771,143,2.554,173,1.272,180,1.177,236,1.352,239,2.617,250,4.348,276,1.905,310,1.905,340,2.128,349,1.304,361,5.756,382,3.013,437,1.472,480,1.889,486,2.501,490,3.324,519,1.35,529,2.377,574,6.978,593,3.1,603,2.21,644,4.36,651,3.275,652,3.275,654,2.501,696,1.705,982,6.826,1309,5.863,1726,4.581,1728,6.155,1813,4.765,1903,2.887,1931,2.773,2340,5.645,2350,5.98,4266,1.485,4271,2.773,4370,4.856,4381,4.098,4660,5.881,4743,3.59,5310,5.549,5515,4.013,5541,5.841,5558,4.934,6242,4.535,6243,4.535,6244,4.535,6249,4.535,6250,4.535,6251,2.975,6252,2.929,6253,2.975,6254,2.975,6263,2.929,6264,4.535,6265,2.975,6266,2.929,6267,2.975,6268,2.929,6269,8.221,7149,4.856,10258,4.535,10259,4.535,11284,5.831,11285,3.025,11304,2.676,12839,3.353,12840,6.351,12841,5.635,12844,5.19,12849,3.137,12884,7.849,13686,3.445,13735,4.059,13737,4.059,13739,4.059,13740,5.333,13771,11.429,13810,4.387,13811,6.791,13812,6.791,13813,6.791,13814,6.791,13815,6.791,13816,6.791,13817,6.791,13818,6.791,13819,6.791,13820,6.791,13821,4.387,13822,6.791,13823,4.387,13824,6.791,13825,4.387,13826,6.791,13827,4.387,13828,6.283,13829,6.791,13830,4.387,13831,6.791,13832,4.387,13833,6.791,13834,4.387,13835,6.791,13836,4.387,13837,6.791,13838,4.387,13839,3.681,13840,4.059,13841,4.387,13842,4.059,13843,4.387,13844,4.387,13845,6.791,13846,4.387,13847,8.193,13848,8.654,13849,4.387,13850,6.791,13851,6.791,13852,6.791,13853,6.791,13854,4.387,13855,4.387,13856,4.387,13857,4.387,13858,4.387,13859,4.387,13860,4.387,13861,6.791,13862,4.387,13863,4.387,13864,5.499,13865,4.387,13866,4.387,13867,4.059]],["title/classes/ImportUserUrlParams.html",[0,0.232,13582,6.018]],["body/classes/ImportUserUrlParams.html",[0,0.394,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,27,0.393,30,0.001,32,0.123,34,1.943,47,0.819,95,0.138,101,0.015,103,0.001,104,0.001,112,0.892,133,4.009,138,1.709,142,4.551,143,2.583,144,3.78,145,3.277,148,2.957,150,2.147,153,2.185,239,3.08,245,2.999,250,7.465,563,6.962,564,3.65,808,4.623,3876,5.63,4565,5.265,12849,8.338,13582,10.213,13658,10.213,13674,10.203,13868,9.526,13869,9.526]],["title/interfaces/InlineAttachment.html",[105,0.7,1362,5.125]],["body/interfaces/InlineAttachment.html",[3,0.019,4,0.019,5,0.01,7,0.128,30,0.001,31,0.511,32,0.116,47,1.012,77,5.724,101,0.014,103,0.001,104,0.001,105,1.396,107,2.097,112,0.858,180,2.293,1150,7.513,1356,8.363,1357,6.833,1358,9.579,1359,10.108,1360,6.833,1361,4.835,1362,9.136,1363,6.524,1364,6.524,1365,9.136,1366,6.833,1367,8.363,1368,8.568,1369,8.568,1370,8.363,1371,6.839,1372,6.669,1373,6.669,1374,6.833,1375,6.833]],["title/entities/InstalledLibrary.html",[154,1.378,10524,5.251]],["body/entities/InstalledLibrary.html",[0,0.257,3,0.007,4,0.007,5,0.003,7,0.044,27,0.539,29,0.243,30,0.001,31,0.292,32,0.174,33,0.649,47,0.89,55,2.657,72,2.303,83,1.467,95,0.09,96,0.813,99,0.497,101,0.012,103,0,104,0,112,0.39,119,2.096,120,3.849,138,2.344,142,1.99,143,3.019,144,4.005,145,0.863,153,1.5,154,1.023,155,0.999,157,1.918,160,6.846,172,4.262,173,0.89,174,1.938,178,1.213,180,0.532,182,0.973,238,3.655,250,1.966,319,3.216,349,0.784,360,4.895,413,0.925,517,1.924,662,1.579,696,3.929,708,4.209,739,3.938,823,3.483,997,1.431,1105,6.571,1109,6.965,1110,7.38,1111,7.38,1125,4.646,1134,3.647,1147,2.318,1271,2.042,1288,2.78,1664,2.449,1823,3.898,2024,3.048,2044,1.194,2171,2.78,2255,2.916,2427,3.184,2494,3.406,2723,3.517,2784,1.456,2882,1.464,3122,2.204,3130,3.078,3625,2.412,3671,3.356,4745,3.309,5126,3.112,5384,3.647,5515,3.014,5541,3.184,5840,4.999,5841,4.999,5842,4.879,5843,4.999,5844,4.244,5850,4.879,5851,4.999,5863,4.999,5866,3.579,5867,3.898,5883,2.928,5884,2.347,5886,2.347,5894,2.155,5897,2.347,5899,2.347,5901,2.347,5903,2.347,5909,2.347,6441,3.959,6448,1.966,6679,3.647,6791,1.895,8555,2.118,10505,6.166,10506,2.577,10507,4.005,10508,4.999,10509,2.577,10513,4.279,10514,4.279,10515,4.279,10516,2.577,10517,7.819,10518,2.577,10519,4.279,10520,4.279,10521,4.279,10522,2.412,10523,2.577,10524,3.898,10525,6.166,10526,6.39,10527,6.167,10528,5.488,10529,5.488,10530,6.527,10531,4.13,10532,4.005,10533,4.279,10534,4.005,10535,4.279,10536,3.721,10537,4.279,10538,4.005,10539,4.279,10540,4.13,10541,4.279,10542,4.279,10543,4.005,10544,4.279,10545,6.457,10546,5.136,10547,3.579,10548,5.488,10549,5.488,10550,5.488,10551,5.488,10552,2.577,10553,5.488,10554,5.488,10555,5.488,10556,5.488,10557,2.577,10558,2.577,10559,2.577,10560,2.577,10561,2.577,10562,2.577,10563,2.577,10564,2.577,10565,2.577,10566,2.577,10567,2.577,10568,2.577,10569,2.577,10570,2.577,10571,2.577,10572,2.577,10573,2.577,10574,2.577,10575,2.577,10576,2.577,10577,2.577,10578,2.577,10579,2.577,10580,2.577,10581,2.577,10582,2.577,10583,2.577,10584,2.577,10585,2.577,10586,2.577,10587,2.577,10588,2.577,10589,2.577,10590,2.577,10591,2.577,10592,2.577,10593,2.577,10594,2.577,10595,2.577,10596,2.577,10597,2.577,10598,2.577,10599,2.577,10600,2.577,10601,2.577,10602,2.577,10603,2.577,10604,2.577,10605,2.577,10606,2.577,10607,2.577,10608,2.577,13870,3.071,13871,3.071,13872,3.071,13873,3.071,13874,3.071,13875,3.071,13876,3.071,13877,3.071,13878,3.071,13879,3.071,13880,3.071,13881,3.071,13882,3.071,13883,3.071,13884,3.071,13885,3.071,13886,3.071,13887,3.071,13888,3.071,13889,3.071,13890,3.071,13891,3.071,13892,3.071,13893,3.071,13894,3.071,13895,3.071]],["title/modules/InterceptorModule.html",[201,1.845,6676,5.765]],["body/modules/InterceptorModule.html",[0,0.295,3,0.019,4,0.019,5,0.01,30,0.001,95,0.15,101,0.013,103,0.001,104,0.001,153,2.002,201,2.966,203,3.166,208,3.222,226,1.275,236,1.42,284,3.342,340,4.234,349,0.899,437,1.151,493,6.212,517,4.165,584,8.376,598,5.058,636,6.461,637,6.242,639,4.114,1123,7.165,1726,3.737,1832,4.798,2220,6.339,2427,6.895,3519,7.266,4018,9.036,6676,9.266,6688,7.749,6689,10.61,6693,8.942,8909,6.672,8913,6.672,12095,6.242,12548,6.895,12760,7.325,13896,8.729,13897,8.942,13898,12.729,13899,9.266,13900,10.61,13901,8.076,13902,8.729]],["title/interfaces/IntrospectResponse.html",[105,0.7,13903,6.018]],["body/interfaces/IntrospectResponse.html",[3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,32,0.182,33,0.694,47,1.02,51,5.767,55,2.78,101,0.012,103,0.001,104,0.001,105,0.79,107,1.817,108,5.437,112,0.782,119,2.373,133,3.934,1391,8.701,5558,4.964,6410,8.701,7240,9.555,7242,9.555,7264,9.555,7265,9.555,12447,8.007,13903,8.955,13904,7.747,13905,11.257,13906,12.167,13907,12.167,13908,12.167,13909,12.167]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.232,13910,6.018]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.283,2,0.928,3,0.018,4,0.018,5,0.009,7,0.12,8,1.301,27,0.444,29,0.664,30,0.001,31,0.48,32,0.14,33,0.401,35,1.016,47,0.932,72,3.787,95,0.127,101,0.013,103,0.001,104,0.001,141,3.93,177,2.002,180,1.866,182,2.656,226,1.225,236,1.365,284,2.539,345,2.664,349,0.864,379,1.059,556,2.904,603,1.732,1025,3.325,1147,3.276,1338,5.511,1339,6.151,1341,2.695,1343,6.236,1778,3.286,1998,6.195,2021,7.714,2023,10.93,2680,6.889,3172,6.41,3308,5.601,8024,6.41,8829,6.195,8830,6.43,9276,5.301,9283,4.907,9284,5.117,9292,6.791,9293,6.791,11419,5.688,12776,8.869,13910,9.429,13911,11.888,13912,11.888,13913,8.387,13914,8.387,13915,7.346,13916,8.387,13917,8.387]],["title/classes/IservMapper.html",[0,0.232,13918,6.018]],["body/classes/IservMapper.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,27,0.453,29,0.87,30,0.001,31,0.69,32,0.142,33,0.525,35,1.33,95,0.13,99,1.4,100,2.947,101,0.013,103,0.001,104,0.001,236,1.787,349,1.131,413,4.029,651,4.173,652,4.173,653,4.447,655,5.568,1964,7.155,3140,4.358,4660,6.975,7322,6.976,8987,9.467,8989,5.471,10075,9.26,12841,8.607,13918,9.62,13919,12.065,13920,8.654,13921,10.161,13922,10.161,13923,10.983,13924,8.654,13925,7.008,13926,10.983,13927,8.654,13928,8.654,13929,8.007,13930,8.007,13931,8.654,13932,8.654,13933,8.654,13934,8.007]],["title/injectables/IservProvisioningStrategy.html",[539,0.921,13935,5.765]],["body/injectables/IservProvisioningStrategy.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.019,27,0.472,29,0.856,30,0.001,31,0.618,32,0.14,33,0.517,34,0.976,35,1.308,36,2.551,47,0.837,95,0.153,99,0.948,100,1.996,101,0.009,103,0,104,0,121,5.548,143,1.298,177,1.568,180,1.462,182,1.856,226,0.856,236,1.607,239,2.684,262,2.629,284,1.774,345,1.861,349,1.179,379,0.74,382,2.941,437,1.714,529,2.413,539,1.13,541,1.406,556,2.639,570,3.616,593,3.146,595,3.616,603,1.21,608,2.5,653,4.332,654,1.764,696,2.278,1443,4.372,1478,3.499,1503,4.276,1612,6.153,1958,4.745,1959,6.828,1961,5.548,1963,3.304,1964,4.754,2088,5.471,2220,3.364,3134,2.702,3603,2.951,4266,1.983,4660,5.428,4743,3.098,4822,7.258,6238,4.19,7322,4.491,7328,5.719,8980,3.913,8987,6.29,10075,6.153,11602,8.482,12266,6.029,12548,5.265,12841,5.719,12866,4.745,13161,7.534,13163,6.499,13164,3.913,13165,3.913,13918,5.133,13935,7.075,13936,5.86,13937,8.432,13938,6.445,13939,5.86,13940,6.827,13941,8.364,13942,5.86,13943,8.432,13944,5.86,13945,6.827,13946,8.058,13947,5.86,13948,5.86,13949,5.133,13950,6.445,13951,5.133,13952,5.422,13953,5.86,13954,5.86,13955,5.422,13956,9.876,13957,5.133,13958,5.422,13959,8.432,13960,5.86,13961,5.422,13962,5.86,13963,5.86,13964,5.86,13965,5.86,13966,5.86,13967,5.86,13968,5.86,13969,5.86,13970,6.827,13971,5.86,13972,7.075,13973,5.86,13974,6.827,13975,5.133,13976,5.422,13977,5.86,13978,5.86,13979,5.86,13980,5.86,13981,5.86,13982,5.86,13983,5.133]],["title/injectables/JwtAuthGuard.html",[539,0.921,13984,6.018]],["body/injectables/JwtAuthGuard.html",[0,0.358,3,0.023,4,0.023,5,0.012,30,0.001,95,0.147,101,0.016,103,0.001,104,0.001,180,2.154,226,1.547,539,1.665,541,2.541,1435,7.903,13984,10.884,13985,10.594,13986,10.594,13987,12.426,13988,9.801]],["title/interfaces/JwtConstants.html",[105,0.7,1444,5.765]],["body/interfaces/JwtConstants.html",[3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,32,0.167,39,2.417,47,0.982,85,7.304,95,0.106,101,0.017,103,0.001,104,0.001,105,0.917,107,2.111,112,0.861,120,4.754,143,1.994,437,1.485,567,9.86,1441,7.067,1444,10.8,1482,6.878,1484,8.326,1486,5.619,1488,7.552,1491,7.753,1623,6.713,1726,3.853,1779,5.491,2405,6.104,2830,5.373,6410,6.435,7240,7.067,7242,7.067,7264,7.067,7265,7.067,13989,8.999,13990,13.25,13991,11.256,13992,8.999,13993,8.999,13994,7.287,13995,7.552,13996,7.552,13997,8.999,13998,8.999,13999,8.999,14000,7.883,14001,8.999,14002,8.999]],["title/classes/JwtExtractor.html",[0,0.232,14003,6.018]],["body/classes/JwtExtractor.html",[0,0.296,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,27,0.362,29,0.694,30,0.001,31,0.633,32,0.114,33,0.419,35,1.062,47,0.896,95,0.143,101,0.013,103,0.001,104,0.001,124,6.153,141,5.688,316,5.989,349,1.14,413,3.654,437,1.156,521,4.372,593,4.131,996,5.339,997,5.161,998,5.278,999,6.112,1000,6.671,1001,8.369,1002,7.51,1013,6.884,1478,5.234,6865,5.234,12290,9.291,12364,9.291,14003,9.699,14004,10.244,14005,8.766,14006,11.072,14007,11.072,14008,8.766,14009,12.137,14010,6.884,14011,8.766,14012,11.072]],["title/interfaces/JwtPayload.html",[105,0.7,1612,5.013]],["body/interfaces/JwtPayload.html",[3,0.018,4,0.018,5,0.009,7,0.119,30,0.001,32,0.172,39,2.876,47,1.008,48,3.988,55,2.707,85,5.397,101,0.016,103,0.001,104,0.001,105,1.091,107,1.951,112,0.819,119,2.221,128,3.394,180,1.856,239,1.951,359,5.02,511,3.682,765,5.397,1482,8.184,1486,6.686,1592,9.299,1612,7.814,1623,9.328,1726,5.354,1820,5.02,2405,7.263,3140,4.189,4266,2.815,5160,5.474,6410,8.941,7240,9.819,7242,9.819,7264,9.819,7265,9.819,7271,7.696,7272,7.696,7273,6.735,7274,6.98,7275,5.194,7276,7.696,7277,7.286,7278,9.379]],["title/injectables/JwtStrategy.html",[539,0.921,1423,6.018]],["body/injectables/JwtStrategy.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.227,27,0.419,29,0.804,30,0.001,31,0.58,32,0.132,33,0.485,35,0.928,36,2.172,85,4.97,95,0.16,101,0.012,103,0.001,104,0.001,105,0.781,145,2.153,177,1.424,180,1.759,182,2.426,226,1.119,236,1.246,239,1.797,262,2.51,270,3.761,276,3.326,294,5.11,345,2.433,349,0.789,379,0.967,437,1.338,472,3.963,529,2.192,539,1.359,541,1.838,579,4.111,608,1.773,631,3.883,938,6.594,990,2.625,1123,6.584,1242,4.143,1243,6.776,1423,8.888,1424,10.486,1435,5.714,1444,6.428,1445,6.709,1449,6.709,1478,7.233,1492,7.087,1612,8.839,1615,6.428,1616,6.415,1623,7.569,1726,3.28,1877,5.115,2837,5.375,3918,6.015,4608,5.195,5539,6.202,7310,5.714,10144,4.904,11550,6.709,12447,5.04,14003,6.709,14010,6.015,14013,7.66,14014,8.514,14015,7.66,14016,7.66,14017,10.147,14018,7.66,14019,6.428,14020,7.66,14021,6.202,14022,7.66,14023,7.66,14024,7.66,14025,7.66,14026,7.66,14027,7.66,14028,7.66,14029,7.66,14030,7.66,14031,7.66,14032,7.66,14033,7.66]],["title/classes/JwtTestFactory.html",[0,0.232,7255,6.018]],["body/classes/JwtTestFactory.html",[0,0.262,2,0.859,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,27,0.422,29,0.615,30,0.001,31,0.444,32,0.148,33,0.371,35,1.24,47,0.979,59,2.389,85,7.432,95,0.121,101,0.012,103,0.001,104,0.001,105,0.791,271,2.875,348,5.155,349,1.054,413,3.913,437,1.606,662,3.168,1441,6.095,1443,5.791,1466,6.513,1478,4.635,1482,5.933,1486,4.847,1611,7.469,1623,7.636,4597,7.824,6410,7.319,7238,10.666,7239,7.181,7240,8.038,7241,8.589,7242,8.038,7243,10.596,7244,10.62,7245,9.47,7246,7.181,7247,7.181,7248,7.181,7249,7.181,7250,8.966,7251,7.181,7252,9.47,7253,9.47,7254,7.181,7255,8.966,7256,10.666,7257,9.47,7258,9.47,7259,7.181,7260,7.181,7261,7.181,7262,7.181,7263,7.181,7264,6.095,7265,6.095,7266,6.799,7267,7.181,7268,7.181,7269,7.181,7270,7.181,14034,10.236,14035,7.762,14036,7.762]],["title/injectables/JwtValidationAdapter.html",[539,0.921,1424,5.563]],["body/injectables/JwtValidationAdapter.html",[0,0.215,3,0.014,4,0.014,5,0.007,7,0.091,8,1.082,27,0.463,29,0.889,30,0.001,31,0.642,32,0.145,33,0.537,34,1.869,35,1.253,36,2.623,47,0.985,85,7.668,94,4.45,95,0.145,101,0.01,103,0,104,0,142,3.493,145,1.791,153,1.462,177,1.665,226,0.931,262,2.88,333,3.815,379,1.13,437,1.181,478,5.846,521,3.535,539,1.199,541,1.529,603,1.849,608,2.394,639,3.004,938,5.187,996,4.317,997,4.172,998,4.267,999,4.508,1000,4.92,1001,6.172,1136,7.841,1403,4.756,1424,7.248,1436,5.584,1478,7.67,1623,10.149,1643,5.238,1728,5.89,1779,3.889,1880,7.248,2427,7.005,3122,3.868,3893,7.029,3935,10.561,3939,5.584,3942,4.872,3944,5.584,3952,5.584,3953,9.28,3954,7.029,7278,7.841,10527,5.461,11550,7.841,12845,7.841,14004,10.934,14037,6.375,14038,8.951,14039,8.951,14040,8.951,14041,6.375,14042,6.375,14043,8.951,14044,8.951,14045,6.375,14046,8.951,14047,6.375,14048,8.951,14049,8.951,14050,8.951,14051,6.375,14052,6.375,14053,6.375,14054,6.375,14055,6.375,14056,8.951,14057,6.375,14058,6.375,14059,6.375,14060,8.951,14061,8.951,14062,6.375,14063,6.375,14064,6.375]],["title/classes/KeycloakAdministration.html",[0,0.232,14065,6.357]],["body/classes/KeycloakAdministration.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,27,0.358,30,0.001,47,0.995,51,5.219,87,6.443,95,0.13,101,0.013,103,0.001,104,0.001,112,0.843,119,2.284,413,3.639,480,2.418,486,3.315,2079,3.847,2080,4.294,2081,4.143,2195,6.264,2246,7.293,3940,4.9,5643,6.401,8244,8.215,12394,7.354,12411,5.895,12419,6.382,12420,6.796,12901,11.004,12903,9.241,12904,10.144,13074,9.241,13490,8.917,14065,10.189,14066,11.012,14067,11.012,14068,11.012,14069,11.012,14070,11.012,14071,11.012,14072,8.691,14073,6.825]],["title/modules/KeycloakAdministrationModule.html",[201,1.845,13485,5.395]],["body/modules/KeycloakAdministrationModule.html",[0,0.305,3,0.02,4,0.02,5,0.01,7,0.129,30,0.001,95,0.157,101,0.014,103,0.001,104,0.001,201,3.303,203,3.271,204,3.506,205,3.605,206,3.59,207,3.576,208,4.539,209,4.655,218,4.505,219,3.534,220,3.453,223,3.759,226,1.317,568,5.775,636,5.278,1180,6.449,1971,4.204,2246,7.568,3601,4.542,11304,6.877,12419,5.227,12420,5.566,12904,9.459,13485,10.774,13490,7.303,14073,7.083,14074,9.019,14075,9.019,14076,9.019,14077,10.388,14078,9.019,14079,10.429,14080,6.728,14081,8.345,14082,8.345,14083,7.568,14084,7.568,14085,6.894,14086,9.019]],["title/injectables/KeycloakAdministrationService.html",[539,0.921,14077,5.013]],["body/injectables/KeycloakAdministrationService.html",[0,0.184,3,0.012,4,0.012,5,0.006,7,0.115,8,0.966,27,0.54,29,0.431,30,0.001,31,0.311,32,0.104,33,0.26,34,0.907,35,1.522,36,2.487,47,0.816,55,1.113,95,0.112,101,0.008,103,0,104,0,112,0.612,143,1.206,145,1.53,177,1.486,226,0.795,236,1.301,262,2.966,349,1.268,379,1.009,413,2.851,437,1.466,480,2.223,486,2.406,519,2.46,539,1.071,541,1.306,579,2.922,603,2.675,608,2.85,639,2.566,662,4.356,696,3.682,1242,2.945,1243,3.636,1634,7.394,1636,5.715,2079,2.41,2195,3.097,2246,4.568,3601,3.22,5643,2.742,7528,3.322,11304,4.876,12419,7.669,12420,8.166,12901,8.756,12903,4.568,12904,4.568,14073,4.275,14077,5.832,14079,9.654,14080,4.061,14081,5.037,14082,5.037,14087,10.115,14088,5.444,14089,9.47,14090,9.47,14091,10.434,14092,10.434,14093,10.434,14094,10.434,14095,10.434,14096,10.434,14097,10.434,14098,10.434,14099,10.434,14100,5.037,14101,9.47,14102,7.992,14103,7.394,14104,5.444,14105,5.444,14106,5.444,14107,5.444,14108,5.444,14109,5.444,14110,5.444,14111,5.444,14112,5.444,14113,7.992,14114,5.444,14115,5.444,14116,5.444,14117,5.444,14118,5.444,14119,5.444,14120,5.444,14121,7.992,14122,5.444,14123,5.444,14124,5.444,14125,7.992,14126,6.472,14127,7.992,14128,9.47,14129,5.037,14130,5.037,14131,5.444,14132,5.444,14133,5.037,14134,4.769,14135,5.444,14136,5.444,14137,5.444,14138,9.47,14139,7.992,14140,5.444]],["title/classes/KeycloakConfiguration.html",[0,0.232,14083,5.765]],["body/classes/KeycloakConfiguration.html",[0,0.331,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.404,30,0.001,32,0.127,95,0.116,101,0.015,103,0.001,104,0.001,112,0.908,413,3.841,480,2.727,486,3.572,2079,4.338,2220,5.627,12411,6.648,12419,6.875,12420,7.321,12894,10.706,12897,10.977,12898,10.977,14073,7.697,14083,9.956,14141,10.392,14142,12.759,14143,11.864,14144,11.864,14145,9.802,14146,8.586]],["title/modules/KeycloakConfigurationModule.html",[201,1.845,14147,5.765]],["body/modules/KeycloakConfigurationModule.html",[0,0.229,3,0.015,4,0.015,5,0.008,30,0.001,95,0.165,101,0.01,103,0,104,0,201,2.871,203,2.459,204,2.635,205,2.709,206,2.698,207,2.687,208,3.946,209,4.047,213,8.933,214,5.822,218,3.734,219,2.656,220,2.595,223,3.894,225,3.719,226,0.99,568,5.982,636,3.966,1180,4.847,1341,2.178,1421,8.766,1437,5.181,1440,4.757,1971,3.159,2079,3,2220,3.891,3513,4.674,3590,9.548,8796,9.116,9382,4.757,12419,3.928,12420,4.183,12425,9.319,12426,5.323,12427,5.323,12438,10.241,12899,8.183,13485,9.81,13490,5.489,13491,5.937,14073,5.323,14083,5.688,14084,8.97,14141,5.937,14146,5.937,14147,12.023,14148,6.778,14149,6.778,14150,6.778,14151,6.778,14152,11.447,14153,10.944,14154,10.482,14155,6.778,14156,9.364,14157,6.778,14158,6.778,14159,7.839,14160,6.271,14161,6.271,14162,6.271,14163,6.271,14164,6.778,14165,6.778,14166,5.688,14167,6.778]],["title/injectables/KeycloakConfigurationService.html",[539,0.921,14152,5.765]],["body/injectables/KeycloakConfigurationService.html",[0,0.09,3,0.006,4,0.006,5,0.003,7,0.038,8,0.549,10,1.846,27,0.466,29,0.787,30,0.001,31,0.605,32,0.129,33,0.475,34,1.808,35,1.369,36,2.419,47,0.858,59,0.824,74,2.168,95,0.131,101,0.004,103,0,104,0,128,1.092,143,1.882,145,2.196,153,0.614,168,1.509,177,1.298,179,1.761,226,0.391,239,1.389,262,2.872,280,3.133,305,2.633,333,1.937,349,0.805,359,1.615,360,3.962,379,0.574,437,1.757,521,3.763,539,0.609,541,0.642,564,0.838,568,3.791,584,5.96,591,4.406,598,1.551,601,2.102,602,2.168,603,2.701,608,3.133,631,3.537,662,3.075,685,2.479,696,1.041,708,2.376,739,1.964,839,0.833,996,4.595,997,4.442,998,4.542,1107,4.631,1181,1.633,1191,2.345,1820,2.742,1903,1.761,1971,3.959,2205,1.914,2232,1.509,2341,1.652,2406,2.54,2958,2.686,2962,2.562,3134,2.095,4081,1.692,4653,2.168,4677,1.375,5643,2.288,6132,4.529,6410,3.249,7241,4.968,7282,2.102,7530,3.316,7533,1.997,8177,2.477,9048,2.477,9428,2.046,10527,2.772,10545,4.525,11304,5.183,12293,6.558,12402,2.804,12419,6.659,12420,7.091,12773,4.794,12903,8.628,13158,6.634,13160,4.897,13236,1.997,13538,5.478,14077,5.092,14080,6.337,14085,2.046,14087,2.046,14126,8.326,14129,2.477,14130,2.477,14133,2.477,14134,2.345,14152,3.813,14159,7.6,14160,2.477,14161,2.477,14168,10.065,14169,4.544,14170,6.978,14171,6.978,14172,6.978,14173,6.978,14174,4.544,14175,4.544,14176,4.544,14177,6.978,14178,4.544,14179,4.544,14180,4.544,14181,4.544,14182,2.246,14183,7.6,14184,2.677,14185,3.813,14186,4.544,14187,2.677,14188,9.53,14189,2.677,14190,2.677,14191,2.677,14192,2.677,14193,4.544,14194,8.523,14195,2.677,14196,4.544,14197,2.677,14198,9.057,14199,4.544,14200,2.677,14201,2.677,14202,5.921,14203,4.544,14204,2.677,14205,5.921,14206,4.544,14207,8.494,14208,6.456,14209,2.677,14210,4.544,14211,5.921,14212,4.544,14213,2.677,14214,4.544,14215,2.677,14216,2.677,14217,2.677,14218,2.677,14219,2.677,14220,4.544,14221,2.677,14222,2.677,14223,2.477,14224,2.677,14225,2.168,14226,2.677,14227,2.477,14228,4.544,14229,9.794,14230,2.345,14231,3.98,14232,6.112,14233,5.921,14234,4.794,14235,5.921,14236,9.006,14237,4.544,14238,4.544,14239,7.815,14240,4.544,14241,7.815,14242,2.677,14243,8.494,14244,2.677,14245,2.677,14246,2.677,14247,4.544,14248,4.544,14249,4.544,14250,4.544,14251,2.677,14252,4.544,14253,2.477,14254,2.345,14255,2.677,14256,2.677,14257,5.186,14258,4.544,14259,4.544,14260,2.345,14261,2.677,14262,2.345,14263,2.477,14264,4.204,14265,2.477,14266,2.677,14267,2.677,14268,4.544,14269,4.544,14270,4.544,14271,3.473,14272,2.677,14273,2.677,14274,2.677,14275,2.677,14276,2.677,14277,2.677,14278,4.544,14279,2.677,14280,5.921,14281,5.921,14282,2.677,14283,5.921,14284,2.677,14285,5.921,14286,2.677,14287,2.677,14288,4.544,14289,2.677,14290,4.544,14291,4.544,14292,4.544,14293,6.978,14294,2.677,14295,2.677,14296,4.544,14297,2.677,14298,4.204,14299,2.677,14300,2.677,14301,5.921,14302,4.544,14303,5.921,14304,4.544,14305,2.677,14306,2.677,14307,4.544,14308,2.677,14309,4.544,14310,2.677,14311,2.677,14312,2.677,14313,2.677,14314,2.677,14315,2.677,14316,4.544,14317,4.544,14318,2.677,14319,2.677,14320,4.544,14321,2.677,14322,2.477,14323,2.677,14324,2.477,14325,4.544,14326,2.677,14327,2.677,14328,2.677,14329,2.677,14330,2.677,14331,2.677,14332,2.677,14333,2.677]],["title/injectables/KeycloakConfigurationUc.html",[539,0.921,12425,5.125]],["body/injectables/KeycloakConfigurationUc.html",[0,0.229,3,0.015,4,0.015,5,0.008,7,0.097,8,1.129,27,0.515,29,0.847,30,0.001,31,0.611,32,0.139,33,0.511,35,1.464,36,2.867,55,2.553,59,3.29,70,3.414,95,0.143,101,0.01,103,0,104,0,119,2.217,177,2.142,226,0.99,262,3.066,349,1.244,379,1.18,539,1.252,541,1.626,568,4.34,603,2.379,608,2.666,662,4.223,938,6.676,8050,8.085,9098,6.271,9115,6.271,10777,6.556,12419,7.418,12420,7.899,12423,5.323,12425,6.969,12435,8.806,12471,8.407,12477,6.68,14077,8.407,14084,8.97,14085,5.181,14087,5.181,14152,9.668,14153,10.741,14154,10.741,14162,6.271,14163,6.271,14166,5.688,14182,5.688,14185,7.839,14334,12.8,14335,10.69,14336,6.778,14337,6.778,14338,8.643,14339,6.778,14340,6.778,14341,9.342,14342,6.778,14343,6.778,14344,6.778,14345,6.778,14346,6.778,14347,6.778,14348,6.778,14349,6.778,14350,6.778,14351,6.778]],["title/classes/KeycloakConsole.html",[0,0.232,12438,5.395]],["body/classes/KeycloakConsole.html",[0,0.118,2,0.386,3,0.008,4,0.008,5,0.004,7,0.05,8,0.685,10,1.418,27,0.453,29,0.842,30,0.001,31,0.584,32,0.132,33,0.488,35,1.236,36,2.564,47,0.578,52,3.448,53,4.134,55,2.408,70,3.601,72,3.715,78,8.86,95,0.097,101,0.005,103,0,104,0,105,0.729,112,0.433,118,2.235,119,0.724,138,1.622,142,3.983,145,3.174,153,2.912,177,1.33,179,4.705,208,2.091,236,0.922,239,1.329,262,2.881,310,1.515,333,3.047,349,0.736,359,2.106,379,0.715,413,2.152,437,1.193,474,1.481,479,1.279,480,1.576,486,3.308,490,4.375,519,1.074,529,0.999,556,2.367,562,3.906,568,5.792,595,2.154,600,2.179,603,2.196,608,2.544,696,2.202,697,5.217,708,3.302,710,6.681,845,2.668,934,3.419,938,5.615,990,1.196,1288,1.903,1341,1.122,1512,6.05,1519,4.68,1645,4.448,1794,2.235,1822,4.913,1832,3.114,2079,2.507,2096,4.448,2312,2.967,2313,3.754,2406,3.166,2836,5.414,3122,5.091,3505,5.494,3510,7.325,3513,2.407,3514,8.674,3515,6.124,3516,2.084,5564,4.226,6132,7.29,6680,4.448,7275,2.179,7292,2.235,7576,7.801,8050,7.162,8059,7.801,8384,2.407,8794,2.668,10777,6.348,11952,2.741,12418,4.587,12419,6.544,12420,6.969,12421,9.476,12422,2.929,12423,2.741,12424,5.999,12425,7.614,12426,2.741,12427,2.741,12428,4.754,12429,2.929,12430,2.929,12431,8.899,12432,2.929,12433,2.929,12434,4.587,12435,4.33,12436,2.929,12437,2.668,12438,4.448,12439,2.929,12440,5.999,12441,4.754,12442,9.476,12443,4.134,12444,4.754,12445,4.754,12446,9.222,12447,3.728,12448,6.571,12449,4.051,12450,5.673,12451,4.226,12452,2.929,12453,2.929,12454,4.754,12455,6.904,12456,2.929,12457,2.929,12458,4.754,12459,6.904,12460,2.929,12461,2.929,12462,2.929,12463,6.904,12464,6.904,12465,4.448,12466,4.754,12467,2.929,12468,2.929,12469,4.134,12470,4.587,12471,6.601,12472,4.754,12473,2.929,12474,2.929,12475,2.929,12476,4.754,12477,6.469,12478,2.741,12479,2.741,12480,4.754,12481,2.929,12482,2.929,12483,2.929,12484,2.929,12485,2.929,12486,2.929,12487,4.754,12488,2.929,12489,2.929,12490,2.929,12491,4.587,14352,5.665,14353,3.49,14354,3.49,14355,3.49,14356,3.49,14357,3.49,14358,3.49,14359,3.49,14360,3.49,14361,3.49,14362,3.49,14363,3.49,14364,3.49]],["title/injectables/KeycloakIdentityManagementOauthService.html",[539,0.921,13493,5.765]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.191,3,0.012,4,0.012,5,0.006,7,0.081,8,0.994,27,0.486,29,0.652,30,0.001,31,0.471,32,0.138,33,0.393,35,1.288,36,2.522,47,0.918,51,3.899,87,5.725,95,0.15,101,0.009,103,0,104,0,112,0.629,143,1.255,177,1.977,180,1.426,182,1.794,226,0.827,236,0.922,262,2.8,284,2.49,349,1.213,379,1.039,382,2.885,437,1.603,519,2.532,539,1.102,541,1.359,556,2.597,568,3.627,579,3.04,584,7.999,591,3.193,598,3.282,600,7.051,603,2.51,608,2.242,639,2.669,653,2.91,824,2.923,951,2.655,963,8.53,964,3.282,965,6.288,966,3.727,1079,3.347,1191,4.961,1242,3.064,1243,3.783,1262,1.98,1391,4.05,1392,4.586,1393,4.961,1486,3.537,2255,2.169,2836,7.431,2962,3.193,4677,2.91,5554,3.222,5558,2.311,5643,4.879,7528,5.019,7530,4.133,8800,4.225,9343,3.842,9382,3.975,9825,7.758,9854,4.586,12323,8.486,12341,6.903,12391,3.906,12394,3.783,12395,4.753,12396,3.906,12399,3.906,12402,5.077,12406,6.571,12419,6.161,13487,9.251,13489,4.753,13493,6.903,13496,5.24,13497,9.837,13498,9.837,13499,7.611,13502,7.611,13504,8.126,14077,7.758,14085,4.329,14087,4.329,14225,4.586,14264,7.611,14265,5.24,14365,9.313,14366,9.688,14367,10.632,14368,5.664,14369,8.227,14370,8.227,14371,5.664,14372,5.664,14373,5.664,14374,5.664,14375,11.78,14376,5.664,14377,5.664,14378,5.664,14379,5.664,14380,5.664,14381,5.664,14382,5.664,14383,5.664,14384,5.664,14385,5.664,14386,5.664,14387,5.664,14388,5.664,14389,5.664,14390,5.664,14391,5.664,14392,5.664,14393,5.664,14394,5.24,14395,5.24,14396,4.961,14397,5.24,14398,5.664,14399,5.664]],["title/injectables/KeycloakIdentityManagementService.html",[539,0.921,13495,5.765]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.672,27,0.499,29,0.97,30,0.001,31,0.681,32,0.161,33,0.569,34,2.154,35,1.442,36,2.785,39,2.928,47,0.978,51,4.543,59,1.711,87,5.817,94,4.035,95,0.113,98,2.037,99,0.552,101,0.005,103,0,104,0,143,1.232,145,1.563,177,0.634,179,5.341,180,0.964,182,1.08,226,0.498,236,1.715,239,2.248,262,3.004,263,4.87,264,4.87,291,2.489,292,4.531,302,4.366,340,1.655,345,1.083,349,1.245,359,2.059,379,0.431,382,3.417,429,3.976,437,1.634,480,2.667,490,2.501,528,1.753,529,3.016,539,0.745,541,0.818,543,8.185,549,2.988,551,3.156,552,2.988,553,2.988,556,0.833,568,2.184,579,1.831,583,9.787,593,2.075,603,1.98,608,3.075,651,3.394,652,3.394,653,3.616,662,1.721,696,2.162,708,2.231,816,3.031,1181,3.392,1218,1.292,1242,1.845,1243,3.713,2207,3.355,2836,5.882,3174,2.278,3175,2.214,3550,2.762,3987,2.762,8112,2.863,8113,2.988,11304,2.081,12006,2.545,12419,4.704,13495,4.666,13506,5.144,13507,5.144,13508,5.144,13509,5.144,13510,7.51,13511,6.512,13512,6.512,13513,5.144,13514,5.144,13515,5.144,13516,7.51,13521,5.144,13524,5.144,13525,5.144,13527,5.144,13530,5.144,13531,7.51,13534,3.156,13535,9.352,13537,8.869,13539,3.156,13540,8.27,13546,2.679,14077,5.923,14080,2.545,14085,2.607,14087,2.607,14100,3.156,14103,5.144,14126,6.572,14365,7.11,14400,5.56,14401,5.56,14402,3.411,14403,3.411,14404,5.56,14405,3.411,14406,5.56,14407,7.83,14408,3.411,14409,5.56,14410,3.411,14411,3.411,14412,3.411,14413,5.56,14414,3.411,14415,3.411,14416,3.411,14417,3.411,14418,3.411,14419,5.56,14420,3.411,14421,5.56,14422,3.411,14423,2.988,14424,10.54,14425,3.411,14426,5.56,14427,5.56,14428,5.56,14429,2.988,14430,2.988,14431,2.988,14432,3.411,14433,5.56,14434,5.56,14435,3.411,14436,3.411,14437,3.411,14438,5.56,14439,3.411,14440,7.038,14441,3.411,14442,7.038,14443,5.56,14444,5.56,14445,3.411,14446,8.117,14447,5.144,14448,5.56,14449,3.411,14450,3.411,14451,2.988,14452,3.411,14453,3.411,14454,3.411,14455,3.411,14456,3.411,14457,3.411,14458,3.411,14459,3.411,14460,3.411,14461,5.56,14462,5.56,14463,7.038,14464,7.038,14465,3.411,14466,2.988,14467,5.144,14468,3.156,14469,3.411,14470,3.411,14471,3.411,14472,3.411,14473,3.411,14474,3.411,14475,3.411,14476,3.411,14477,3.411,14478,3.411]],["title/controllers/KeycloakManagementController.html",[259,2.631,14156,6.018]],["body/controllers/KeycloakManagementController.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.117,8,1.274,27,0.335,30,0.001,35,1.277,36,2.256,55,2.154,72,4.76,78,7.94,95,0.138,101,0.012,103,0.001,104,0.001,138,1.456,177,1.96,208,3.891,223,3.384,226,1.186,236,1.321,259,3.108,261,3.892,262,2.582,345,2.579,349,1.086,529,2.323,579,4.357,603,1.677,608,2.709,708,3.258,934,6.361,1242,4.391,1243,5.422,1341,2.609,1903,6.937,2251,6.574,2312,3.369,2313,4.809,2836,6.937,2962,4.577,3122,5.354,6403,7.04,12419,6.109,12420,6.505,12425,7.864,12426,6.375,12427,6.375,12465,9.73,14156,9.233,14479,10.541,14480,7.511,14481,8.119,14482,12.39,14483,10.541,14484,8.119,14485,10.541,14486,10.541,14487,8.536,14488,8.536,14489,10.541,14490,9.753,14491,10.541,14492,11.706,14493,8.119,14494,8.119,14495,8.119,14496,8.119,14497,8.119,14498,8.119,14499,8.119,14500,8.119]],["title/injectables/KeycloakMigrationService.html",[539,0.921,14154,5.765]],["body/injectables/KeycloakMigrationService.html",[0,0.196,3,0.013,4,0.013,5,0.006,7,0.083,8,1.012,27,0.405,29,0.778,30,0.001,31,0.562,32,0.139,33,0.47,34,1.395,35,1.014,36,2.301,51,4.654,55,1.711,66,7.397,70,4.946,87,2.941,94,5.345,95,0.14,101,0.009,103,0,104,0,143,1.854,145,2.352,177,1.826,179,7.075,226,0.847,236,0.944,262,2.62,349,1.011,379,1.057,425,7.166,429,7.022,434,4.868,437,1.653,438,9.947,480,2.329,486,1.746,521,3.306,529,1.66,539,1.122,541,1.392,568,3.715,579,3.114,595,3.58,603,2.453,608,2.901,617,9.359,696,4.432,697,4.233,708,3.941,710,4,791,4.868,826,5.432,829,4.331,876,4.868,891,4.698,996,4.037,997,3.902,998,3.99,1181,3.54,1242,3.138,1243,5.59,1341,1.864,1441,4.556,1605,4.328,2196,4.698,2312,4.076,2313,4.905,2958,3.429,3987,4.698,8244,4.328,8262,3.935,8852,4.328,11304,3.54,12293,7.024,12419,6.231,12420,6.635,12435,8.713,12477,5.986,13546,4.556,14077,7.846,14080,4.328,14085,4.434,14087,4.434,14126,4.698,14154,7.024,14168,9.418,14182,4.868,14185,7.024,14236,5.082,14407,7.332,14423,5.082,14429,5.082,14430,5.082,14431,5.082,14451,5.082,14466,5.082,14501,4.868,14502,7.745,14503,5.801,14504,7.745,14505,5.801,14506,8.371,14507,5.801,14508,4.868,14509,5.801,14510,9.821,14511,5.801,14512,5.801,14513,8.371,14514,5.368,14515,5.801,14516,5.801,14517,5.801,14518,7.745,14519,5.368,14520,7.745,14521,5.368,14522,5.368,14523,5.368,14524,7.745,14525,7.745,14526,9.821,14527,5.801,14528,5.368,14529,5.801,14530,5.801,14531,5.801]],["title/modules/KeycloakModule.html",[201,1.845,13486,5.563]],["body/modules/KeycloakModule.html",[0,0.279,3,0.018,4,0.018,5,0.009,30,0.001,95,0.159,101,0.013,103,0.001,104,0.001,201,3.169,203,2.992,204,3.207,205,3.297,206,3.284,207,3.271,208,4.354,209,4.466,214,6.16,218,4.257,219,3.232,220,3.159,225,4.24,226,1.205,568,5.282,600,5.152,964,4.781,1341,2.651,2836,7.009,3998,7.113,8112,6.923,8796,9.644,9382,5.79,12419,4.781,13485,10.379,13486,11.572,13489,6.923,13490,6.681,13491,7.227,13493,11.8,13495,11.8,14084,8.938,14532,8.25,14533,8.25,14534,8.25,14535,8.25,14536,8.25]],["title/classes/KeycloakSeedService.html",[0,0.232,14153,5.765]],["body/classes/KeycloakSeedService.html",[0,0.161,2,0.528,3,0.01,4,0.01,5,0.005,7,0.069,8,0.876,10,1.939,27,0.456,29,0.694,30,0.001,31,0.501,32,0.127,33,0.419,34,1.207,35,1.273,36,2.648,51,4.15,55,1.481,87,2.42,94,4.353,95,0.14,101,0.007,103,0,104,0,143,2.166,145,1.341,168,2.691,177,1.628,179,4.767,226,0.697,239,2.595,262,2.899,284,2.193,292,2.42,349,1.184,379,0.915,429,5.18,434,4.005,437,1.681,480,2.015,486,1.437,521,4.15,528,2.453,568,3.056,603,2.632,608,3.087,639,2.249,651,2.302,652,2.302,653,2.453,662,2.71,676,5.18,696,4.086,697,5.287,708,3.514,710,3.291,876,4.005,891,3.865,932,9.724,939,4.416,996,5.068,997,4.899,998,5.01,1181,2.912,1341,1.534,1441,3.748,2079,2.113,2095,3.237,2196,3.865,2207,2.88,2220,2.74,2312,3.634,2313,4.46,3122,4.968,3174,3.187,3175,3.097,3550,3.865,3987,3.865,6822,3.865,8050,6.86,8244,3.561,10545,3.648,10777,5.084,10910,6.346,10943,6.703,10944,6.703,10959,4.005,11304,2.912,12006,3.561,12293,8.203,12419,6.663,12420,7.095,12423,5.689,12888,9.206,12892,9.206,12894,8.203,12899,4.181,13546,3.748,14073,3.748,14077,7.133,14080,3.561,14085,3.648,14087,3.648,14126,7.09,14146,4.181,14153,6.079,14168,10.071,14182,4.005,14185,6.079,14236,7.67,14257,4.181,14338,6.703,14407,6.346,14423,4.181,14429,4.181,14430,4.181,14431,4.181,14451,6.346,14466,4.181,14468,4.416,14502,6.703,14504,6.703,14514,4.416,14518,6.703,14519,4.416,14520,6.703,14521,4.416,14522,4.416,14523,4.416,14524,6.703,14525,6.703,14528,4.416,14537,4.773,14538,9.776,14539,9.776,14540,8.756,14541,4.773,14542,4.773,14543,4.773,14544,4.773,14545,4.773,14546,4.773,14547,4.773,14548,7.245,14549,4.773,14550,4.773,14551,4.773,14552,8.756,14553,4.773,14554,4.773,14555,4.773,14556,4.773,14557,4.773,14558,9.776,14559,4.773,14560,4.773,14561,4.416,14562,4.773,14563,4.773,14564,4.773,14565,4.773,14566,4.773,14567,4.773,14568,4.773,14569,7.245,14570,4.773]],["title/classes/LdapAlreadyPersistedException.html",[0,0.232,14571,5.563]],["body/classes/LdapAlreadyPersistedException.html",[0,0.409,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.418,29,0.606,30,0.001,31,0.437,32,0.099,33,0.366,35,0.926,47,0.885,52,5.482,55,1.562,59,2.353,95,0.12,101,0.019,103,0.001,104,0.001,157,4.774,180,2.183,226,1.117,239,2.666,349,1.171,379,0.965,590,6.254,654,3.422,936,4.895,1025,4.507,1147,3.684,1338,5.838,1339,6.516,1341,2.457,1343,6.435,2680,5.873,4541,6.051,4565,5.133,8829,6.562,8830,6.812,8928,10.48,13754,5.272,14571,8.206,14572,9.539,14573,5.703,14574,10.198,14575,10.157,14576,7.645,14577,10.157,14578,7.645,14579,6.415,14580,6.415,14581,6.191,14582,8.504,14583,5.579,14584,6.191]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.232,14585,5.765]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.383,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.533,30,0.001,32,0.167,47,0.976,48,5.913,51,5.845,87,6.252,95,0.134,101,0.014,103,0.001,104,0.001,112,0.866,138,2.316,148,2.818,150,2.047,245,3.417,248,4.929,808,4.89,809,6.779,4266,4.174,6061,8.26,7579,9.166,14585,9.498,14586,13.285,14587,7.953,14588,8.4,14589,9.08,14590,9.08,14591,9.08]],["title/classes/LdapConfig.html",[0,0.232,13159,5.013]],["body/classes/LdapConfig.html",[0,0.303,2,0.449,3,0.009,4,0.009,5,0.005,7,0.058,26,1.594,27,0.513,29,0.321,30,0.001,31,0.232,32,0.167,33,0.643,47,1.011,83,2.979,95,0.106,96,1.073,101,0.015,103,0,104,0,105,0.413,112,0.489,119,1.324,120,1.712,133,1.394,138,2.199,143,3.076,144,4.338,145,1.139,153,0.93,154,1.584,160,6.683,172,4.4,173,1.175,174,2.427,175,1.812,177,1.469,178,1.601,180,0.703,181,1.094,182,1.284,276,1.76,379,0.512,511,1.794,570,2.502,578,2.474,839,2.459,950,2.502,1262,3.407,1371,2.474,1454,2.899,1486,2.532,1664,1.518,2021,2.631,2046,3.025,2562,3.259,2566,1.812,4332,3.427,4370,4.566,4404,2.447,4677,4.605,5558,1.654,5643,3.216,5953,3.281,5973,2.596,5974,2.796,6446,3.454,7385,2.563,7472,2.75,7528,3.896,9006,2.228,9343,2.75,10327,5.198,10926,2.306,12263,6.719,12344,3.025,12345,3.025,12346,3.025,12347,3.099,12391,2.796,12394,2.707,12396,2.796,12399,2.796,12402,2.502,12406,2.75,12447,5.198,12867,3.099,13048,2.899,13156,4.881,13157,3.283,13158,4.264,13159,8.193,13160,7.267,13161,4.036,13162,4.481,13163,5.198,13164,2.707,13165,2.707,13166,3.283,13167,4.403,13168,4.764,13169,3.184,13170,4.764,13171,3.099,13172,3.099,13173,3.099,13174,3.099,13175,3.184,13176,3.099,13177,3.099,13178,3.099,13179,3.184,13180,4.764,13181,3.184,13182,3.099,13183,3.184,13184,3.099,13185,3.099,13186,3.099,13187,3.184,13188,4.403,13189,5.171,13190,3.283,13191,3.283,13192,3.283,13193,3.283,13194,3.283,13195,3.283,13196,3.283,13197,3.283,13198,3.283,13199,3.283,13200,3.283,13201,3.184,13202,3.283,13203,3.283,13204,3.283,13205,3.283,13206,3.283,13207,3.283,13208,3.283,13209,3.283,13210,3.283,13211,6.397,13212,6.397,13213,6.397,13214,6.397,13215,6.397,13216,6.397,13217,6.397,13218,6.397,13219,3.025,13220,3.283,13221,3.283,13222,3.283,13223,3.283,13224,3.283,13225,3.283,13226,3.283,13227,3.283,13228,3.283,13229,3.283,13230,3.283,13231,3.283,13232,3.283,13233,3.283,13234,3.099,13235,3.283,13236,3.025,13237,3.184,13238,3.099,13239,3.184,13240,3.099,13241,3.099,13242,3.184,13243,3.099,13244,3.184,13245,3.099,13246,2.958,13247,2.958,13248,2.958,13249,3.025,13250,3.099,13251,3.283,13252,3.099,13253,3.283,13254,3.283,13255,3.283,13256,3.283,13257,3.283,13258,3.099,13259,3.184,13260,3.099,13261,3.184,14592,4.054,14593,4.054,14594,4.054,14595,4.054,14596,4.054,14597,4.054,14598,4.054,14599,4.054,14600,4.054,14601,4.054,14602,4.054,14603,4.054,14604,4.054]],["title/classes/LdapConnectionError.html",[0,0.232,14605,6.018]],["body/classes/LdapConnectionError.html",[0,0.266,2,0.872,3,0.017,4,0.017,5,0.009,7,0.113,8,1.25,27,0.549,29,0.624,30,0.001,31,0.451,32,0.179,33,0.552,35,0.955,47,0.811,55,1.611,59,2.426,95,0.122,101,0.012,103,0.001,104,0.001,112,0.791,138,2.281,177,2.562,180,1.793,182,2.496,226,1.151,340,3.824,347,2.849,379,0.995,382,3.887,595,6.381,821,5.679,824,2.801,951,5.408,988,5.344,990,4.199,1025,4.575,1269,8.424,1270,7.302,1271,3.824,1272,7.388,1276,5.115,1277,4.406,1278,5.115,1279,5.115,1280,5.115,1281,5.115,1282,5.115,1283,4.757,1284,4.484,1290,4.983,12450,7.13,13754,7.13,14605,9.057,14606,10.34,14607,7.882,14608,8.677,14609,7.882,14610,7.882,14611,7.882]],["title/injectables/LdapService.html",[539,0.921,1425,5.765]],["body/injectables/LdapService.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.098,8,1.138,27,0.444,29,0.852,30,0.001,31,0.615,32,0.139,33,0.514,35,1.141,36,2.478,47,0.96,51,6.086,87,6.63,95,0.148,99,1.109,101,0.011,103,0,104,0,177,1.275,226,1.002,236,1.75,239,1.609,262,2.373,292,3.477,338,5.016,345,2.178,349,0.97,379,0.866,437,1.419,529,2.695,539,1.262,541,1.645,603,2.221,608,1.587,697,5.005,990,2.351,1227,4.904,1228,5.386,1243,7.732,1244,6.008,1262,2.397,1341,2.204,1425,7.903,1877,6.289,1971,3.197,2312,3.909,2313,5.282,3002,4.652,3134,5.339,3565,5.554,3601,4.334,3962,6.008,3964,6.008,8188,8.249,9006,7.058,12450,4.729,13159,6.872,13201,5.386,13754,4.729,14271,7.198,14605,8.249,14612,6.859,14613,9.418,14614,6.859,14615,9.418,14616,6.859,14617,9.418,14618,6.859,14619,6.346,14620,6.859,14621,6.859,14622,6.859,14623,6.859,14624,6.859,14625,6.859,14626,6.859,14627,6.859,14628,4.904,14629,6.859,14630,6.859,14631,6.859,14632,6.859,14633,6.859,14634,6.859,14635,8.713,14636,6.859,14637,6.859,14638,6.859,14639,6.859,14640,6.346,14641,5.755,14642,6.859,14643,6.859]],["title/injectables/LdapStrategy.html",[539,0.921,1426,6.018]],["body/injectables/LdapStrategy.html",[0,0.148,3,0.01,4,0.01,5,0.005,7,0.063,8,0.818,27,0.441,29,0.883,30,0.001,31,0.676,32,0.159,33,0.511,34,0.728,35,1.223,36,2.286,39,1.173,47,0.899,48,5.79,51,5.062,66,6.931,72,1.972,87,5.992,94,5.877,95,0.149,99,0.707,101,0.007,103,0,104,0,105,0.445,120,3.942,128,2.761,141,3.172,142,2.641,177,1.986,179,4.454,180,1.173,182,1.383,217,6.724,226,0.638,227,1.813,236,1.519,239,2.368,253,2.158,262,2.607,270,3.323,292,2.214,294,3.409,324,3.431,349,0.961,358,1.952,379,0.855,437,1.593,479,3.915,480,2.596,521,1.725,529,2.67,539,0.907,541,1.048,556,2.28,579,3.632,593,3.482,603,2.732,604,1.797,608,2.736,622,7.794,631,2.214,654,3.215,938,2.531,990,3.199,1123,4.392,1130,2.485,1218,1.654,1242,3.661,1243,4.52,1312,5.377,1341,1.404,1422,8.312,1425,9.349,1426,5.928,1427,6.549,1435,3.258,1446,3.665,1447,4.041,1454,3.123,1582,6.262,1594,6.262,1605,3.258,1726,1.87,1877,5.533,1891,3.43,1964,5.693,2093,2.463,2312,4.624,2460,3.339,3134,5.309,3624,3.43,3671,2.874,4208,4.041,4266,3.158,4271,6.752,4608,2.963,4743,3.578,5662,3.065,5837,3.065,6835,2.963,7310,3.258,8580,4.939,8816,5.481,8844,3.339,9006,5.55,10973,3.43,12217,3.665,12954,6.71,13012,3.012,13754,6.435,14010,3.43,14014,5.679,14019,3.665,14585,6.953,14628,3.123,14644,4.368,14645,7.666,14646,6.768,14647,6.768,14648,3.826,14649,4.368,14650,4.368,14651,4.368,14652,6.768,14653,4.368,14654,6.768,14655,4.368,14656,4.368,14657,6.262,14658,4.368,14659,4.368,14660,4.041,14661,4.368,14662,4.368,14663,4.041,14664,3.665,14665,4.041,14666,4.368,14667,3.826,14668,4.368,14669,4.368,14670,4.041,14671,4.368,14672,4.368,14673,4.041,14674,6.262,14675,4.041,14676,4.041,14677,4.368,14678,4.041,14679,7.666,14680,4.368,14681,4.368,14682,4.368,14683,4.041,14684,6.768,14685,3.826,14686,4.368,14687,4.368,14688,6.768,14689,4.368,14690,4.368,14691,4.368]],["title/classes/LdapUserMigrationException.html",[0,0.232,14574,5.563]],["body/classes/LdapUserMigrationException.html",[0,0.422,2,0.915,3,0.018,4,0.018,5,0.009,30,0.001,47,0.829,52,5.694,55,1.69,95,0.126,101,0.019,103,0.001,104,0.001,157,5.162,180,2.239,226,1.208,239,1.939,349,1.216,590,6.582,654,3.555,936,5.293,1025,4.681,1147,3.594,1338,5.783,1339,6.455,1341,2.657,1343,5.87,2680,6.843,4541,6.369,4565,3.733,8829,6.501,8830,6.748,8928,10.102,13754,5.701,14571,6.694,14572,6.937,14573,6.167,14574,10.457,14575,9.908,14577,9.908,14579,6.937,14580,6.937,14581,6.694,14582,8.95,14583,6.033,14584,6.694]],["title/modules/LearnroomApiModule.html",[201,1.845,14692,5.563]],["body/modules/LearnroomApiModule.html",[0,0.214,3,0.014,4,0.014,5,0.007,30,0.001,95,0.159,101,0.01,103,0,104,0,201,2.767,203,2.294,204,2.459,205,2.528,206,2.518,207,2.508,208,3.803,209,2.395,217,7.376,218,3.558,219,2.478,220,2.422,222,3.949,223,3.711,225,4.101,226,0.924,227,2.625,358,2.827,636,3.701,1752,6.953,1797,8.74,1804,7.457,1805,8.043,1832,3.476,1944,2.672,2531,2.932,2764,2.998,3003,9.118,3043,3.859,3044,3.566,3731,4.224,4500,4.616,4729,4.224,6587,8.919,6852,9.024,6866,10.257,6868,10.257,6944,10.257,7612,9.024,7629,10.257,7891,9.598,7976,6.991,7996,4.834,8587,9.598,8678,9.897,8913,4.834,11057,4.834,11058,4.834,14692,11.781,14693,6.325,14694,6.325,14695,6.325,14696,8.74,14697,9.118,14698,10.257,14699,10.257,14700,10.257,14701,6.325,14702,9.024,14703,5.54,14704,6.325,14705,6.325,14706,6.325,14707,6.325,14708,5.852,14709,6.325,14710,5.852]],["title/modules/LearnroomModule.html",[201,1.845,14696,4.913]],["body/modules/LearnroomModule.html",[0,0.225,3,0.014,4,0.014,5,0.007,30,0.001,95,0.153,101,0.01,103,0,104,0,201,2.842,203,2.41,204,2.584,205,2.656,206,2.645,207,2.635,208,3.905,209,4.005,214,5.787,217,7.493,218,3.683,219,2.604,220,2.544,225,3.668,226,0.971,227,2.758,560,2.734,636,3.889,1341,2.136,1804,7.575,1805,8.17,1829,9.262,1830,4.849,1911,9.222,2991,10.418,3003,9.262,3043,4.055,3044,3.747,4977,10.418,5096,11.409,6587,9.06,6889,11.01,6896,11.01,7891,9.75,7976,7.237,8913,5.079,14696,10.415,14697,9.262,14703,5.821,14710,6.148,14711,6.645,14712,6.645,14713,6.645,14714,6.645,14715,9.262,14716,6.645,14717,6.148]],["title/injectables/LegacyLogger.html",[539,0.921,2313,3.135]],["body/injectables/LegacyLogger.html",[0,0.309,3,0.011,4,0.011,5,0.006,7,0.074,8,1.226,27,0.52,29,0.98,30,0.001,31,0.731,32,0.16,33,0.592,35,1.467,47,0.974,59,3.627,72,2.319,95,0.134,101,0.008,102,2.603,103,0,104,0,107,1.204,112,0.586,131,5.365,177,0.955,226,0.75,236,0.836,284,3.07,349,0.788,358,3.421,379,0.648,437,1.009,462,2.777,472,2.657,480,1.428,486,2.304,519,3.935,539,1.025,541,1.232,556,2.235,560,3.149,572,6.01,603,2.602,639,2.42,739,2.219,990,2.623,1025,4.995,1122,3.288,1130,2.921,1147,2.785,1218,4.461,1295,5.585,2024,2.393,2312,5.136,2313,3.492,2368,3.246,3002,3.483,3308,3.429,3916,3.288,4603,5.585,5284,3.246,5558,3.123,5573,5.191,8384,8.35,8871,8.883,8881,4.498,8882,6.01,8885,4.498,10162,7.409,10527,4.67,10973,4.032,11504,6.423,12907,9.501,12910,4.498,12911,6.704,12912,7.081,12914,7.081,12915,9.383,12917,7.081,12918,8.883,12920,7.081,12922,7.081,14718,12.786,14719,5.135,14720,7.654,14721,9.383,14722,9.383,14723,7.654,14724,7.654,14725,5.135,14726,5.135,14727,5.135,14728,5.135,14729,5.135,14730,7.081,14731,5.135,14732,7.654,14733,5.135,14734,5.135,14735,7.654,14736,7.654,14737,6.704,14738,6.01,14739,7.654,14740,5.135,14741,5.135,14742,4.751,14743,4.158,14744,5.135,14745,4.158,14746,4.751,14747,4.158,14748,5.135,14749,5.135,14750,5.135,14751,5.135,14752,5.135,14753,6.704,14754,5.135,14755,4.751,14756,4.751]],["title/modules/LegacySchoolApiModule.html",[201,1.845,14757,5.563]],["body/modules/LegacySchoolApiModule.html",[0,0.275,3,0.018,4,0.018,5,0.009,30,0.001,52,3.923,95,0.16,101,0.013,102,6.286,103,0.001,104,0.001,128,3.319,201,3.147,203,2.95,204,3.163,205,3.251,206,3.238,207,3.225,208,4.325,209,3.08,214,6.137,218,4.219,219,3.187,220,3.115,222,5.08,223,4.399,225,4.202,226,1.188,654,2.449,950,5.02,1341,2.614,1752,7.49,1964,5.951,2531,3.771,2764,3.855,3603,4.097,5434,8.43,10317,5.353,14757,11.555,14758,8.135,14759,8.135,14760,8.135,14761,10.063,14762,11.048,14763,11.048,14764,6.826,14765,7.407,14766,10.263,14767,8.135,14768,8.135,14769,8.135,14770,7.526]],["title/controllers/LegacySchoolController.html",[259,2.631,14766,6.018]],["body/controllers/LegacySchoolController.html",[0,0.227,3,0.015,4,0.015,5,0.007,7,0.096,8,1.123,27,0.383,29,0.736,30,0.001,31,0.531,32,0.162,33,0.444,35,1.125,36,2.457,95,0.151,100,2.289,101,0.01,102,5.82,103,0,104,0,138,1.666,150,1.515,153,2.442,177,1.727,223,2.802,226,0.982,236,1.512,259,2.574,261,3.223,262,2.748,270,6.271,274,5.606,292,5.82,294,6.654,324,4.709,333,4.536,337,3.503,338,3.581,343,5.712,345,2.135,349,0.957,437,1.514,517,3.504,603,1.388,608,2.15,654,3.204,739,4.961,1964,5.237,2764,3.186,2963,3.528,3779,5.49,4081,4.249,10317,7.004,14762,7.795,14763,8.931,14765,6.518,14766,8.136,14770,6.22,14771,10.643,14772,6.22,14773,9.847,14774,9.323,14775,6.722,14776,11.832,14777,6.722,14778,11.48,14779,6.722,14780,9.289,14781,6.722,14782,6.722,14783,11.187,14784,6.722,14785,6.722,14786,6.722,14787,7.522,14788,8.136,14789,6.778,14790,7.767,14791,8.618,14792,5.641,14793,5.888,14794,9.756,14795,6.722,14796,6.722,14797,6.722,14798,6.722,14799,6.642,14800,6.722,14801,6.722,14802,6.722,14803,6.722,14804,6.722,14805,9.289,14806,6.722,14807,6.722]],["title/classes/LegacySchoolDo.html",[0,0.232,1964,3.874]],["body/classes/LegacySchoolDo.html",[0,0.222,2,0.728,3,0.014,4,0.014,5,0.007,7,0.094,26,2.413,27,0.564,29,0.521,30,0.001,31,0.651,32,0.177,33,0.677,34,1.525,47,0.924,83,2.633,95,0.124,101,0.01,102,5.767,103,0,104,0,112,0.7,119,1.898,180,1.972,182,2.084,271,2.438,379,0.831,382,1.96,404,2.63,655,5.335,685,3.832,1718,3.971,1726,3.919,1746,7.243,1778,3.586,1834,6.545,1964,6.741,2044,2.558,2501,3.137,3894,6.311,4392,7.985,4409,5.03,5963,4.802,6713,7.257,6721,7.028,6806,4.909,7119,3.93,7429,5.03,8989,6.652,8993,4.909,9745,5.764,10325,7.681,10326,6.996,10327,7.868,10926,5.987,11376,7.028,12118,5.764,13010,8.044,13011,7.679,13012,7.257,13013,7.525,13037,7.385,13039,4.909,13040,5.329,13043,5.03,13048,4.706,14808,13.675,14809,6.581,14810,8.017,14811,9.153,14812,6.581,14813,6.581,14814,6.581,14815,6.581,14816,6.581,14817,6.581,14818,6.581,14819,6.581,14820,6.581,14821,6.581,14822,6.581,14823,6.581,14824,6.581,14825,6.581,14826,6.581,14827,6.581,14828,6.581,14829,6.581,14830,6.581,14831,5.168,14832,6.581,14833,6.581]],["title/classes/LegacySchoolFactory.html",[0,0.232,14834,6.357]],["body/classes/LegacySchoolFactory.html",[0,0.171,2,0.559,3,0.011,4,0.011,5,0.006,7,0.073,8,0.914,27,0.538,29,1.043,30,0.001,31,0.729,32,0.173,33,0.6,34,1.26,35,1.492,47,0.531,55,2.395,59,3.315,95,0.119,99,0.817,101,0.008,103,0,104,0,112,0.579,120,3.194,133,2.6,140,2.754,143,1.119,153,2.079,154,1.818,155,2.459,177,1.406,180,1.311,236,1.637,271,4.648,319,3.194,349,0.52,379,0.638,382,3.884,413,2.276,437,0.666,447,7.001,448,4.555,449,5.529,452,4.156,453,5.529,454,5.556,455,4.156,456,4.156,457,4.156,458,4.09,459,4.564,460,4.981,461,6.468,462,5.826,463,6.962,464,2.8,469,2.777,470,4.156,471,2.8,472,5.205,473,5.358,474,4.268,475,5.066,476,4.122,477,2.777,478,2.632,479,4.143,480,3.352,481,2.711,482,2.671,483,2.777,484,5.134,485,2.8,486,3.628,487,4.901,488,2.777,489,6.897,490,4.282,491,6.624,492,2.8,493,3.69,494,2.777,495,2.8,496,2.777,497,2.8,498,2.777,501,2.777,502,6.115,503,2.8,504,2.777,505,4.156,506,3.912,507,4.156,508,2.8,509,2.691,510,2.671,511,2.236,512,2.777,513,2.777,514,2.777,515,2.8,516,2.8,517,1.906,518,2.777,519,1.555,520,2.8,521,2.986,522,2.777,523,2.8,526,2.956,655,2.561,708,4.037,1964,2.848,4374,6.359,4376,3.612,4392,3.374,6721,3.374,8989,3.193,10327,3.324,10926,2.874,13010,3.861,13011,3.686,13012,3.483,13018,4.091,13219,3.769,14834,6.996,14835,5.052,14836,5.052,14837,5.052,14838,5.052,14839,5.052,14840,5.052,14841,5.052,14842,5.052,14843,5.052,14844,10.06,14845,3.861,14846,3.861,14847,3.861,14848,5.052,14849,5.052,14850,5.052,14851,5.052]],["title/modules/LegacySchoolModule.html",[201,1.845,5434,4.399]],["body/modules/LegacySchoolModule.html",[0,0.262,3,0.017,4,0.017,5,0.009,30,0.001,95,0.149,101,0.012,102,6.168,103,0.001,104,0.001,201,3.073,203,2.81,204,3.012,205,3.096,206,3.084,207,3.072,208,4.223,209,4.332,214,6.055,218,4.086,219,3.035,220,2.966,225,4.069,226,1.132,227,3.215,560,3.188,1341,2.49,1427,9.116,1959,8.808,1964,5.764,2487,4.037,5434,9.242,10310,10.901,10316,11.693,10317,5.098,14764,6.501,14765,7.174,14852,7.747,14853,7.747,14854,7.747,14855,7.747,14856,11.693,14857,10.901,14858,10.901,14859,7.747]],["title/injectables/LegacySchoolRepo.html",[539,0.921,1427,4.821]],["body/injectables/LegacySchoolRepo.html",[0,0.147,3,0.009,4,0.009,5,0.005,7,0.062,8,0.814,10,2.736,12,3.026,18,3.37,26,2.433,27,0.541,29,1.031,30,0.001,31,0.756,32,0.169,33,0.623,34,1.55,35,1.563,36,2.628,40,2.093,47,0.829,48,4.826,95,0.126,96,1.783,97,1.771,99,0.702,101,0.007,102,4.715,103,0,104,0,112,0.332,133,2.316,154,1.865,173,1.258,177,1.252,180,1.168,226,0.634,236,1.343,262,2.915,292,2.2,349,1.097,379,0.548,381,1.469,382,3.762,437,1.227,448,3.325,519,1.336,529,1.242,539,0.902,541,1.041,556,1.06,593,3.756,603,2.373,608,1.559,644,5.355,654,2.027,655,4.715,680,4.568,686,3.057,687,4.943,708,1.742,718,2.312,1226,2.093,1341,1.395,1427,4.726,1665,3.396,1964,6.922,2000,2.491,2299,8.979,2301,4.816,2302,4.816,2303,4.816,2304,4.816,2305,4.726,2306,4.726,2307,4.816,2308,4.726,2309,4.816,2310,3.167,2311,5.244,2312,3.86,2313,4.243,2315,4.914,2316,3.103,2318,5.39,2319,3.103,2321,3.103,2323,2.816,2324,4.726,2325,3.103,2327,3.103,2329,4.816,2333,4.816,2335,4.568,2336,4.726,2338,3.103,2340,2.619,2341,2.678,2342,3.103,2344,3.103,2346,3.046,2347,3.103,2353,2.944,4392,4.497,4446,2.678,4447,3.408,4580,2.71,6114,3.167,6115,3.167,6116,3.167,6117,3.167,6118,3.167,6119,3.167,6120,3.167,6121,3.167,6122,3.167,6130,3.317,6132,3.903,6721,4.497,8989,6.734,9006,3.701,9547,3.317,9630,3.801,10327,4.432,10669,4.257,10926,4.694,11710,3.642,13008,8.366,13010,5.147,13011,4.914,13012,4.644,13014,3.238,13037,3.046,13925,7.531,14628,3.103,14765,4.726,14860,10.068,14861,4.34,14862,5.899,14863,6.735,14864,4.34,14865,4.34,14866,5.899,14867,4.34,14868,6.735,14869,4.34,14870,4.34,14871,4.34,14872,4.34,14873,4.015,14874,4.34,14875,4.34,14876,4.34,14877,4.34,14878,4.34,14879,4.34,14880,4.34,14881,4.015,14882,4.34,14883,4.34,14884,4.015,14885,4.34,14886,4.34,14887,4.34,14888,4.34,14889,4.34,14890,4.34,14891,4.015,14892,4.34,14893,4.34,14894,4.34,14895,4.015,14896,4.34,14897,4.34,14898,4.34,14899,4.34,14900,4.015,14901,6.735,14902,4.34,14903,4.34]],["title/injectables/LegacySchoolRule.html",[539,0.921,1766,5.765]],["body/injectables/LegacySchoolRule.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.227,27,0.469,29,0.901,30,0.001,31,0.651,32,0.157,33,0.544,35,1.229,95,0.153,99,1.239,101,0.012,102,6.141,103,0.001,104,0.001,119,2.512,131,4.324,133,4.333,154,2.282,177,1.424,226,1.119,239,3.184,345,2.433,349,1.045,379,0.967,437,1.338,539,1.359,541,1.838,604,3.152,662,4.008,1147,2.331,1661,6.713,1670,6.604,1697,8.086,1718,4.622,1735,7.391,1746,7.088,1747,4.482,1766,8.514,1875,6.584,1879,6.336,1886,5.115,1964,7.448,3411,6.776,3412,5.195,3415,6.677,3418,5.195,3419,6.882,3420,5.714,4446,4.727,6238,5.477,14765,7.12,14904,12.113,14905,7.66,14906,7.66,14907,7.66,14908,7.66]],["title/injectables/LegacySchoolService.html",[539,0.921,1959,4.343]],["body/injectables/LegacySchoolService.html",[0,0.198,3,0.013,4,0.013,5,0.007,7,0.084,8,1.019,18,4.219,26,2.479,27,0.507,29,0.973,30,0.001,31,0.702,32,0.159,33,0.587,34,0.976,35,1.444,36,2.845,47,0.934,48,5.178,95,0.128,99,0.948,101,0.009,102,5.476,103,0,104,0,145,2.775,154,1.175,177,1.568,226,0.856,227,2.432,262,3.049,349,1.179,379,1.065,437,1.572,480,1.63,486,1.764,502,3.17,539,1.13,541,1.406,593,3.146,603,1.741,608,2.909,654,2.538,655,2.971,1123,7.009,1289,3.616,1427,7.58,1959,5.33,1964,7.494,4266,2.853,6961,7.969,10317,8.27,12954,6.827,13013,8.987,13925,9.651,14467,7.801,14663,7.801,14765,5.917,14857,10.305,14881,5.422,14909,12.568,14910,5.86,14911,8.432,14912,8.432,14913,8.432,14914,8.432,14915,8.432,14916,5.422,14917,5.86,14918,8.432,14919,5.86,14920,8.432,14921,5.86,14922,8.432,14923,5.86,14924,5.86,14925,8.432,14926,5.86,14927,8.432,14928,5.86,14929,8.432,14930,5.86,14931,5.86,14932,8.432,14933,5.86,14934,5.86,14935,8.432,14936,5.86,14937,5.86,14938,5.86,14939,5.86]],["title/injectables/LegacySchoolUc.html",[539,0.921,14762,5.765]],["body/injectables/LegacySchoolUc.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.078,8,0.96,27,0.429,29,0.823,30,0.001,31,0.595,32,0.135,33,0.497,35,1.142,36,2.225,39,3.112,47,0.919,52,2.604,95,0.137,99,0.874,101,0.008,102,5.269,103,0,104,0,119,2.601,128,2.203,131,3.019,177,2.06,226,0.789,236,1.293,239,2.717,262,2.555,349,0.818,379,1.003,437,1.654,519,2.446,539,1.065,541,1.296,556,2.706,560,2.222,593,2.965,603,2.538,608,2.903,643,2.426,654,3.699,933,4.403,1675,3.295,1726,2.312,1758,5.536,1958,4.373,1959,6.571,1961,5.228,1964,6.928,1966,6.434,2531,2.504,3603,2.72,4266,3.749,4571,8.564,4572,8.934,4573,9.698,4578,6.745,4580,6.917,4584,4.241,4587,4.241,4590,5.927,4591,4.731,4593,6.96,4594,4.997,4595,4.997,4596,4.997,4736,8.256,7996,4.128,10317,7.289,14762,6.667,14765,5.576,14773,7.351,14774,8.256,14791,8.97,14793,4.731,14799,7.433,14845,8.854,14846,8.854,14847,8.854,14940,11.077,14941,5.401,14942,7.945,14943,5.401,14944,7.945,14945,5.401,14946,7.402,14947,7.945,14948,5.401,14949,4.997,14950,5.401,14951,4.997,14952,4.731,14953,5.401,14954,4.997,14955,4.029,14956,7.945,14957,6.434,14958,7.945,14959,7.351,14960,5.401,14961,5.401,14962,5.401,14963,7.945,14964,10.394,14965,4.997,14966,5.401,14967,5.401,14968,6.667,14969,5.401,14970,6.667,14971,4.532,14972,4.997,14973,5.401,14974,5.401]],["title/modules/LessonApiModule.html",[201,1.845,14975,5.563]],["body/modules/LessonApiModule.html",[0,0.31,3,0.02,4,0.02,5,0.01,30,0.001,95,0.157,101,0.014,103,0.001,104,0.001,201,3.326,203,3.323,204,3.562,205,3.662,206,3.647,207,3.632,208,4.571,209,3.469,218,4.549,219,3.589,220,3.508,222,5.721,223,4.744,225,4.531,226,1.338,259,3.508,1752,7.723,2531,4.247,2764,4.342,14697,10.128,14975,11.435,14976,9.161,14977,9.161,14978,9.161,14979,11.393,14980,9.161,14981,10.847,14982,9.161]],["title/entities/LessonBoardElement.html",[154,1.378,2695,5.563]],["body/entities/LessonBoardElement.html",[0,0.324,3,0.021,4,0.021,5,0.011,7,0.138,27,0.396,30,0.001,32,0.124,95,0.149,96,2.539,101,0.015,103,0.001,104,0.001,112,0.896,138,1.721,154,2.349,155,3.12,173,2.781,180,1.663,181,2.59,403,5.362,2565,5.458,2666,9.196,2684,7.011,2685,6.732,2688,8.374,2690,8.05,2695,9.482,2739,5.974,3034,7.333,3075,9.826,5094,4.447,5095,8.404,13284,9.826,14983,11.71,14984,8.876,14985,9.594]],["title/controllers/LessonController.html",[259,2.631,14981,6.018]],["body/controllers/LessonController.html",[0,0.302,3,0.019,4,0.019,5,0.01,7,0.128,8,1.355,10,4.976,27,0.369,29,0.708,30,0.001,31,0.511,32,0.116,33,0.428,35,1.083,36,2.4,95,0.156,100,3.045,101,0.014,103,0.001,104,0.001,138,1.603,150,2.015,177,1.662,223,3.726,226,1.306,259,3.423,261,4.286,262,2.701,270,6.305,294,6.66,333,3.81,337,4.658,338,4.762,343,4.798,345,2.839,349,0.921,437,1.179,608,2.069,739,4.844,2764,4.237,2941,7.376,2963,4.692,5146,4.954,14979,10.276,14981,9.819,14986,8.94,14987,7.502,14988,10.083,14989,11.21,14990,8.94,14991,8.94,14992,8.94,14993,7.502,14994,8.94,14995,8.271]],["title/classes/LessonCopyApiParams.html",[0,0.232,6640,5.765]],["body/classes/LessonCopyApiParams.html",[0,0.39,2,1.035,3,0.02,4,0.02,5,0.01,7,0.134,27,0.386,30,0.001,32,0.121,33,0.551,34,1.921,47,0.81,95,0.136,100,3.926,101,0.014,103,0.001,104,0.001,112,0.882,138,1.677,148,2.903,149,4.447,150,2.108,153,2.867,249,4.517,253,4.62,808,4.57,1455,9.053,1920,6.026,1926,4.332,2480,6.813,2686,5.205,2696,5.373,2918,6.187,2919,6.187,3366,5.695,6406,10.097,6640,9.673,7282,9.053,11310,8.191,14996,11.528,14997,8.652,14998,8.652]],["title/injectables/LessonCopyUC.html",[539,0.921,14698,5.765]],["body/injectables/LessonCopyUC.html",[0,0.196,3,0.013,4,0.013,5,0.006,7,0.083,8,1.01,26,2.469,27,0.47,29,0.85,30,0.001,31,0.614,32,0.139,33,0.514,35,1.301,36,1.788,39,1.554,95,0.151,99,0.936,101,0.009,103,0,104,0,119,1.2,177,2.118,226,0.845,227,2.401,236,1.359,239,3.11,262,2.163,349,0.596,379,1.055,437,1.683,519,3.505,529,2.39,539,1.119,541,1.388,591,4.71,603,2.821,608,2.485,643,2.599,933,3.206,990,1.983,1025,2.294,1181,5.982,1226,2.79,1675,3.53,1730,4.684,1758,5.719,1804,7.464,1805,8.05,1926,4.035,1931,3.657,2079,2.56,2080,2.858,2081,2.757,2082,3.704,2480,3.419,2530,3.454,2531,2.682,2684,6.065,2696,2.696,2997,7.01,3005,10.266,3007,8.927,3013,9.607,3020,10.978,3025,6.362,3043,3.53,3044,3.262,3047,4.684,3089,5.067,3090,5.067,3091,5.352,3608,6.56,4702,4.422,4743,3.058,5121,5.982,6604,7.01,6642,9.934,6908,6.764,6946,5.067,6947,9.01,6953,5.067,6959,5.067,6960,5.067,6961,3.754,11994,8.227,14698,7.01,14703,5.067,14999,11.866,15000,8.354,15001,8.354,15002,5.785,15003,5.785,15004,8.354,15005,5.785,15006,5.785,15007,8.354,15008,5.785,15009,7.729,15010,5.352,15011,5.785,15012,5.352,15013,5.067,15014,5.785,15015,6.56,15016,5.352,15017,5.785,15018,5.785,15019,5.785,15020,5.785,15021,5.785,15022,5.785,15023,5.785,15024,5.785,15025,8.354,15026,5.785,15027,5.785,15028,5.785,15029,5.785,15030,5.785,15031,8.354,15032,4.854,15033,5.785]],["title/entities/LessonEntity.html",[154,1.378,2684,3.659]],["body/entities/LessonEntity.html",[0,0.142,3,0.009,4,0.009,5,0.005,7,0.131,26,2.003,27,0.469,30,0.001,31,0.523,32,0.147,33,0.315,47,0.935,55,2.15,95,0.141,96,1.114,101,0.019,103,0,104,0,105,1.159,112,0.503,119,1.364,138,2.04,143,2.199,144,2.132,145,2.274,153,1.857,154,1.319,155,1.369,172,3.54,173,1.22,174,2.499,175,1.882,178,1.662,180,0.73,181,1.136,182,1.333,226,0.615,236,1.712,239,0.987,316,3.557,349,1.274,437,1.632,474,1.786,480,2.251,486,2.436,529,1.882,556,1.977,563,3.927,603,1.358,604,1.732,662,1.303,696,1.637,742,2.314,839,1.31,1147,1.281,1218,1.594,1226,2.03,1262,3.197,1271,2.856,1664,1.576,1717,2.018,1739,3.032,1920,3.171,1926,4.274,1944,1.778,2044,1.637,2255,4.028,2670,4.825,2673,5.028,2677,2.314,2682,4.211,2683,2.488,2684,4.873,2686,3.655,2687,4.107,2696,3.065,2700,4.328,2804,4.873,2882,3.858,3366,3.999,3476,6.274,3495,5.787,3601,1.696,3629,2.954,3630,2.954,4119,3.887,4278,2.661,4342,1.863,4969,2.598,4973,2.661,4974,2.732,5094,1.951,5119,6.844,5130,3.01,5146,2.333,5153,4.211,5158,7.058,5170,3.01,5176,3.01,5181,3.01,5758,7.254,6614,5.405,6617,5.787,6735,4.267,6757,2.629,6767,6.721,6768,2.811,6769,4.328,6771,4.157,6809,4.211,6810,4.392,6835,4.461,6997,3.687,7006,2.629,7007,2.811,8955,4.703,11385,6.205,12695,4.703,12696,3.072,12697,5.182,12698,3.072,12699,4.615,12700,7.232,12701,4.703,12702,3.01,12703,4.703,12704,4.703,12705,4.703,12706,3.072,12707,4.703,12708,2.811,12709,4.703,12710,4.703,12711,3.072,12712,3.072,12713,3.072,12714,4.615,12715,4.615,12716,4.799,12717,4.799,12718,4.799,12719,4.799,12720,5.68,12721,2.954,12722,4.799,12723,3.072,12724,3.072,12725,3.072,12726,2.903,12727,3.072,12728,3.072,12729,4.799,12730,3.072,12731,3.072,12732,6.676,12733,5.906,12734,3.01,12735,3.072,12736,3.072,12737,3.072,12738,3.072,12739,3.072,12740,3.072,12741,3.072,12742,3.072,12743,3.072,12744,3.072,12745,3.072,12746,2.903,12747,3.072,12748,3.072,15034,4.21,15035,4.21,15036,4.21,15037,4.21,15038,4.21,15039,4.21,15040,4.21,15041,4.21,15042,4.21]],["title/classes/LessonFactory.html",[0,0.232,15043,6.357]],["body/classes/LessonFactory.html",[0,0.168,2,0.551,3,0.011,4,0.011,5,0.006,7,0.071,8,0.904,27,0.536,29,1.04,30,0.001,31,0.726,32,0.173,33,0.598,34,1.497,35,1.486,47,0.525,55,2.383,59,3.294,95,0.106,99,0.805,101,0.008,103,0,104,0,112,0.572,120,3.158,133,2.571,140,2.714,145,1.399,153,2.06,154,2.147,155,2.432,177,1.391,180,1.296,271,4.703,319,3.158,349,0.513,379,0.629,382,3.873,413,2.251,437,1.185,447,7.16,448,4.53,449,5.488,452,4.11,453,5.488,454,5.659,455,4.11,456,4.11,457,4.11,458,4.045,459,4.523,460,4.937,461,6.439,462,5.789,463,7.001,464,2.759,469,2.736,470,4.11,471,2.759,472,5.167,473,5.319,474,4.237,475,5.029,476,4.077,477,2.736,478,2.594,479,4.121,480,3.337,481,2.671,482,2.631,483,2.736,484,5.096,485,2.759,486,3.612,487,4.858,488,2.736,489,6.871,490,4.263,491,6.594,492,2.759,493,4.383,494,2.736,495,2.759,496,2.736,497,2.759,498,2.736,499,3.072,500,2.885,501,2.736,502,6.081,503,2.759,504,2.736,505,4.11,506,3.869,507,4.11,508,2.759,509,2.651,510,2.631,511,2.203,512,2.736,513,2.736,514,2.736,515,2.759,516,2.759,517,1.878,518,2.736,519,1.532,520,2.759,521,2.953,522,2.736,523,2.759,526,2.913,1926,4.383,2684,3.983,2696,2.32,3476,4.727,5119,5.156,6972,4.177,7020,4.605,7022,4.605,11385,5.072,12699,3.493,12700,3.275,15043,8.31,15044,4.978,15045,4.978,15046,7.478,15047,4.978,15048,4.978,15049,4.978,15050,4.978]],["title/modules/LessonModule.html",[201,1.845,14697,5.125]],["body/modules/LessonModule.html",[0,0.257,3,0.017,4,0.017,5,0.008,30,0.001,95,0.158,101,0.012,103,0.001,104,0.001,201,3.045,203,2.757,204,2.956,205,3.038,206,3.026,207,3.014,208,4.184,209,4.292,214,6.023,218,4.035,219,2.979,220,2.911,225,4.019,226,1.11,227,3.155,560,3.128,1231,4.806,1341,2.443,1776,6.379,1805,8.503,3005,11.659,3043,4.638,3044,4.286,3592,9.64,3600,3.78,3601,3.063,5106,10.911,6587,9.43,8939,11.319,8943,9.43,14697,10.803,14715,9.64,14717,7.034,15051,7.602,15052,7.602,15053,7.602,15054,7.602,15055,11.319,15056,7.602]],["title/injectables/LessonRepo.html",[539,0.921,1805,4.521]],["body/injectables/LessonRepo.html",[0,0.2,3,0.013,4,0.013,5,0.007,7,0.085,8,1.028,10,3.454,12,3.82,13,5.966,18,4.254,26,2.629,27,0.52,29,0.976,30,0.001,31,0.705,32,0.166,33,0.589,34,0.988,35,1.493,36,2.788,39,2.284,40,4.1,42,5.966,59,1.825,95,0.136,96,1.569,98,3.54,99,0.959,101,0.009,103,0,104,0,119,1.229,120,3.591,154,1.189,155,2.765,173,1.719,180,1.474,226,0.866,236,0.965,239,1.391,262,3.024,349,1.184,361,3.372,382,3.234,437,1.625,479,4.833,539,1.139,541,1.422,556,1.448,608,2.661,662,3.077,679,7.075,685,3.559,686,3.859,687,4.881,711,3.54,712,3.578,713,3.54,714,3.578,716,3.54,717,3.578,718,3.158,721,3.702,741,4.021,743,4.021,1805,5.595,1926,3.195,2093,4.794,2684,6.124,2696,5.061,2804,3.158,3476,3.748,3697,4.088,5146,6.018,5158,4.927,5558,3.469,6132,4.927,6134,4.088,7027,4.531,7031,4.531,7149,7.108,11007,7.866,11012,7.447,11013,5.485,11385,4.021,12700,5.595,15057,5.928,15058,8.502,15059,8.502,15060,8.502,15061,5.928,15062,8.502,15063,5.928,15064,5.928,15065,5.928,15066,5.928,15067,7.447,15068,5.928,15069,5.928,15070,5.928,15071,5.928,15072,5.928,15073,5.928,15074,5.928,15075,5.928,15076,5.928,15077,5.928,15078,5.928,15079,5.928,15080,5.928]],["title/injectables/LessonRule.html",[539,0.921,1767,5.563]],["body/injectables/LessonRule.html",[0,0.166,3,0.011,4,0.011,5,0.005,7,0.07,8,0.894,27,0.493,29,0.946,30,0.001,31,0.683,32,0.158,33,0.571,35,1.406,95,0.132,101,0.008,103,0,104,0,119,2.739,131,3.767,145,2.502,154,2.814,177,1.656,226,0.717,236,0.798,239,3.29,349,1.195,379,0.934,437,1.575,529,1.404,539,0.991,541,1.177,603,2.784,604,2.018,662,3.461,739,5.468,1107,7.589,1147,1.493,1515,3.508,1670,5.404,1673,6.117,1678,2.993,1679,3.276,1687,6.139,1688,4.867,1697,6.982,1718,2.96,1735,4.513,1762,9.397,1763,8.657,1767,5.989,1875,4.799,1879,4.618,1886,3.276,1926,4.202,2684,7.137,3135,4.736,3136,2.791,3255,3.101,3411,4.939,3412,3.327,3415,4.867,3418,3.327,3419,5.017,6410,3.508,6767,5.858,7039,4.297,7041,4.116,7042,6.479,15081,4.905,15082,7.396,15083,7.396,15084,7.396,15085,7.396,15086,7.396,15087,4.905,15088,7.396,15089,4.905,15090,7.396,15091,4.905,15092,4.905,15093,4.905,15094,7.396,15095,4.905,15096,7.396,15097,4.905,15098,6.843,15099,4.905,15100,4.905,15101,9.171,15102,4.905,15103,4.905,15104,4.539,15105,7.396,15106,7.396,15107,4.905,15108,9.913,15109,8.237,15110,7.396,15111,7.396,15112,4.905,15113,4.905,15114,4.539,15115,4.905]],["title/classes/LessonScope.html",[0,0.232,15067,6.018]],["body/classes/LessonScope.html",[0,0.261,2,0.856,3,0.017,4,0.017,5,0.009,7,0.111,8,1.234,26,2.454,27,0.546,29,0.963,30,0.001,31,0.695,32,0.172,33,0.582,35,1.473,95,0.121,99,1.251,101,0.012,103,0.001,104,0.001,112,0.781,119,2.693,180,1.77,310,3.357,349,1.051,382,3.764,480,2.151,486,2.328,519,2.38,603,2.681,1926,2.906,2350,6.756,2684,4.119,3476,4.888,5558,5.602,6242,6.819,6243,6.819,6244,6.819,6249,6.819,6250,6.819,6251,5.245,6252,5.164,6253,5.245,6254,5.245,6263,5.164,6264,6.819,6265,5.245,6266,5.164,6267,5.245,6268,5.164,6269,6.819,7027,7.804,7384,6.162,8499,6.072,9795,9.447,9799,9.447,15067,11.373,15116,11.431,15117,9.447,15118,9.447,15119,7.154,15120,7.154,15121,6.773]],["title/injectables/LessonService.html",[539,0.921,5106,5.395]],["body/injectables/LessonService.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.098,8,1.137,12,4.226,26,2.777,27,0.517,29,0.993,30,0.001,31,0.717,32,0.162,33,0.599,35,1.469,36,2.873,39,2.887,95,0.137,98,4.088,99,1.108,101,0.011,103,0,104,0,177,1.749,226,1,227,2.842,262,3.07,349,1.29,379,1.188,437,1.417,510,3.62,539,1.26,541,1.643,603,1.943,608,2.807,1231,4.328,1805,8.246,2684,6.46,2696,4.384,3600,3.404,3601,2.759,5106,7.387,5119,6.487,5121,4.178,5146,5.956,6547,9.178,7024,8.703,7025,8.703,7027,5.233,15013,5.997,15122,6.847,15123,9.407,15124,9.407,15125,9.407,15126,6.847,15127,6.847,15128,9.407,15129,6.847,15130,9.407,15131,6.847,15132,9.407,15133,6.847,15134,6.847,15135,9.407,15136,6.847,15137,6.847,15138,6.847,15139,6.847,15140,9.407,15141,6.847,15142,6.847,15143,6.847,15144,9.407,15145,6.847,15146,6.847]],["title/injectables/LessonUC.html",[539,0.921,14979,5.765]],["body/injectables/LessonUC.html",[0,0.288,3,0.019,4,0.019,5,0.009,7,0.122,8,1.315,10,4.42,26,2.735,27,0.449,29,0.862,30,0.001,31,0.622,32,0.141,33,0.52,35,1.033,39,2.291,95,0.149,99,1.379,101,0.013,103,0.001,104,0.001,142,3.328,143,1.889,177,2.023,226,1.246,239,2,262,2.643,349,0.878,379,1.374,437,1.125,539,1.458,541,2.046,560,3.509,603,2.247,608,2.518,643,3.831,933,4.726,938,4.942,1218,3.229,1675,5.203,1758,7.101,1855,5.203,2517,6.223,2531,3.953,2535,5.984,2696,5.071,3136,4.851,5106,10.641,5121,7.31,5146,4.726,6767,5.04,14979,9.13,15147,8.527,15148,8.527,15149,9.53,15150,8.527,15151,8.527,15152,8.527,15153,6.905,15154,8.527,15155,8.527,15156,8.527]],["title/classes/LessonUrlParams.html",[0,0.232,14988,5.395]],["body/classes/LessonUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2696,5.562,3876,5.849,5121,7.817,14988,9.371,15157,9.897,15158,9.897]],["title/classes/LessonUrlParams-1.html",[0,0.193,708,2.292,14988,4.486]],["body/classes/LessonUrlParams-1.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2696,5.562,3876,5.849,5121,7.817,14988,9.371,15159,9.897,15160,9.897]],["title/classes/LibrariesBodyParams.html",[0,0.232,1143,5.563]],["body/classes/LibrariesBodyParams.html",[0,0.439,2,1.021,3,0.02,4,0.02,5,0.01,7,0.132,27,0.38,30,0.001,32,0.148,47,0.937,95,0.135,101,0.02,103,0.001,104,0.001,112,0.875,138,1.654,143,2.532,148,2.863,150,2.079,245,3.432,248,5.189,249,4.478,556,2.253,808,4.532,1105,5.719,1138,7.469,1143,10.058,1144,9.256,1145,9.256,1148,9.494,1150,5.397,1152,7.74,2406,5.155,5590,7.054,5661,8.079,5662,6.473,15161,9.224,15162,9.224]],["title/classes/LibraryFileUrlParams.html",[0,0.232,12059,6.018]],["body/classes/LibraryFileUrlParams.html",[0,0.398,2,1.072,3,0.021,4,0.021,5,0.015,7,0.139,27,0.486,30,0.001,32,0.153,47,0.928,95,0.139,101,0.015,103,0.001,104,0.001,112,0.901,138,2.112,148,3.006,150,2.183,245,3.264,248,5.073,809,6.976,1105,6.351,5825,8.961,5827,9.883,12059,10.317,15163,12.692,15164,12.692,15165,9.685,15166,9.685]],["title/classes/LibraryName.html",[0,0.232,10517,5.563]],["body/classes/LibraryName.html",[0,0.302,2,0.445,3,0.009,4,0.009,5,0.004,7,0.058,27,0.368,29,0.503,30,0.001,31,0.45,32,0.116,33,0.193,47,0.923,55,2.779,72,1.818,83,1.827,95,0.105,96,1.066,99,0.651,101,0.014,103,0,104,0,112,0.486,119,2.141,138,1.41,142,1.571,143,2.91,144,4.23,145,1.131,153,0.924,154,1.274,157,2.514,172,4.338,173,1.167,174,2.413,178,1.59,180,0.698,182,1.275,238,2.25,250,2.578,319,3.771,349,0.919,360,4.926,379,0.508,413,1.212,517,1.519,662,1.966,696,4.014,708,4.337,739,4.462,823,4.189,997,1.877,1105,4.862,1109,8.26,1110,8.81,1111,8.81,1125,5.447,1134,4.541,1147,2.957,1271,1.257,1288,2.195,1664,2.378,1823,4.854,2024,3.665,2044,1.565,2171,3.462,2255,3.011,2427,3.965,2494,4.241,2723,4.379,2784,1.908,2882,1.919,3122,1.74,3130,3.832,3625,3.162,3671,4.179,4745,4.121,5126,3.875,5384,4.541,5515,3.753,5541,3.965,5840,3.077,5841,3.077,5842,3.004,5843,3.077,5844,2.613,5850,3.004,5851,3.077,5863,6.824,5866,2.825,5867,3.077,5883,3.646,5884,3.077,5886,3.077,5894,2.825,5897,3.077,5899,3.077,5901,3.077,5903,3.077,5909,3.077,6441,3.685,6448,2.578,6679,2.879,6791,2.485,8555,2.776,10505,6.368,10506,3.378,10507,4.987,10508,6.011,10509,3.378,10513,5.329,10514,5.329,10515,5.329,10516,3.378,10517,7.868,10518,5.329,10519,5.329,10520,5.329,10521,5.329,10522,3.162,10523,3.378,10524,3.077,10525,5.142,10526,6.599,10527,6.594,10528,3.378,10529,6.599,10530,6.759,10531,5.142,10532,4.987,10533,5.329,10534,4.987,10535,5.329,10536,4.634,10537,5.329,10538,4.987,10539,5.329,10540,5.142,10541,5.329,10542,5.329,10543,3.162,10544,3.378,10545,6.011,10546,3.162,10547,2.825,10548,3.378,10549,3.378,10550,3.378,10551,3.378,10552,3.378,10553,3.378,10554,3.378,10555,3.378,10556,3.378,10557,3.378,10558,3.378,10559,3.378,10560,3.378,10561,3.378,10562,3.378,10563,3.378,10564,3.378,10565,3.378,10566,3.378,10567,3.378,10568,3.378,10569,3.378,10570,3.378,10571,3.378,10572,3.378,10573,3.378,10574,3.378,10575,3.378,10576,3.378,10577,3.378,10578,3.378,10579,3.378,10580,3.378,10581,3.378,10582,3.378,10583,3.378,10584,3.378,10585,3.378,10586,3.378,10587,3.378,10588,3.378,10589,3.378,10590,3.378,10591,3.378,10592,3.378,10593,3.378,10594,3.378,10595,3.378,10596,3.378,10597,3.378,10598,3.378,10599,3.378,10600,3.378,10601,3.378,10602,3.378,10603,3.378,10604,3.378,10605,3.378,10606,3.378,10607,3.378,10608,3.378,15167,6.351,15168,4.026,15169,4.026]],["title/classes/LibraryParametersBodyParams.html",[0,0.232,1145,5.563]],["body/classes/LibraryParametersBodyParams.html",[0,0.439,2,1.023,3,0.02,4,0.02,5,0.01,7,0.133,27,0.381,30,0.001,32,0.148,47,0.938,95,0.135,101,0.02,103,0.001,104,0.001,112,0.876,138,1.658,143,2.048,148,2.87,150,2.084,245,3.434,248,5.193,249,4.485,556,2.259,808,4.538,1105,5.727,1138,7.486,1143,9.269,1144,9.269,1145,10.068,1148,7.066,1150,5.41,1152,10.433,2406,5.167,5590,7.064,5661,8.098,5662,6.487,6470,7.758,15170,9.245]],["title/injectables/LibraryRepo.html",[539,0.921,12178,5.765]],["body/injectables/LibraryRepo.html",[0,0.171,3,0.011,4,0.011,5,0.006,7,0.073,8,0.917,10,3.081,12,3.406,18,3.794,26,1.53,27,0.526,29,0.977,30,0.001,31,0.729,32,0.16,33,0.59,34,0.845,35,1.521,36,2.844,40,2.445,47,0.907,49,2.829,55,2.808,95,0.107,101,0.008,103,0,104,0,154,1.822,155,2.466,180,1.315,226,0.741,236,1.478,262,3.064,292,3.844,349,1.208,382,3.001,437,1.423,479,4.673,529,2.599,539,1.016,541,1.216,593,3.76,608,2.333,679,6.736,685,3.174,686,3.441,687,4.459,696,1.971,708,3.645,711,3.028,712,3.06,713,3.028,714,3.06,715,3.496,716,3.028,717,3.06,718,2.701,723,3.626,740,7.703,1105,6.037,1109,9.745,1110,9.869,1111,9.869,1148,5.795,2207,4.576,5111,4.101,6132,5.263,9534,6.14,10524,8.653,10525,8.161,10530,3.06,12178,6.363,14447,4.691,15171,5.071,15172,7.582,15173,9.082,15174,9.082,15175,9.082,15176,10.079,15177,7.582,15178,5.071,15179,7.582,15180,5.071,15181,5.071,15182,5.071,15183,5.071,15184,5.071,15185,5.071,15186,5.071,15187,5.071,15188,5.071,15189,5.071,15190,5.071,15191,10.079,15192,7.582,15193,7.582,15194,5.071,15195,8.457,15196,7.582,15197,5.071,15198,5.071,15199,4.691,15200,5.071,15201,3.982]],["title/classes/LinkContentBody.html",[0,0.232,5773,4.588]],["body/classes/LinkContentBody.html",[0,0.452,2,0.608,3,0.012,4,0.012,5,0.006,7,0.079,9,2.619,27,0.432,30,0.001,31,0.638,32,0.179,33,0.558,47,0.922,83,1.581,95,0.132,99,0.889,101,0.02,103,0,104,0,112,0.616,138,1.88,143,1.217,148,1.706,149,3.673,150,1.239,153,2.559,172,1.711,180,1.934,245,3.569,248,4.813,249,4.567,284,1.664,305,3.185,480,3.103,807,5.153,808,3.191,839,1.711,852,2.561,1142,3.432,1262,3.328,1271,2.972,1643,3.216,1942,4.88,2255,4.271,2501,2.619,2882,2.619,2883,2.444,2922,2.635,3278,3.281,3280,3.281,3283,5.627,3286,4.961,3289,2.843,3294,3.098,3767,3.432,3788,3.432,3789,6.807,4163,5.583,5681,6.096,5683,6.178,5685,6.096,5687,6.178,5689,6.178,5734,3.616,5771,6.359,5772,6.359,5773,6.999,5774,6.359,5775,6.359,6088,6.789,7227,3.67,7287,3.248,8699,8.168,8700,7.692,8701,3.789,8704,5.296,8705,6.359,8706,6.359,8707,3.789,8708,6.359,8709,3.391,8710,3.728,8711,6.359,8712,6.359,8713,3.67,8714,3.67,8715,3.67,8716,3.67,8717,3.789,8718,3.789,8719,3.789,8720,3.789,8721,3.789,15202,9.521,15203,5.496,15204,5.496,15205,5.496,15206,5.496,15207,5.496]],["title/classes/LinkElement.html",[0,0.232,2867,4.521]],["body/classes/LinkElement.html",[0,0.19,2,0.623,3,0.012,4,0.012,5,0.006,7,0.081,8,0.99,27,0.561,29,1.004,30,0.001,31,0.725,32,0.169,33,0.606,35,1.58,36,1.754,47,0.974,55,1.675,59,1.734,95,0.097,101,0.015,103,0,104,0,105,0.574,112,0.627,119,2.003,137,5.116,145,1.583,153,2.433,180,1.674,262,2.13,349,1.211,381,2.773,382,3.702,448,3.302,474,2.39,479,3.003,480,3.459,517,4,519,3.827,604,2.318,608,1.304,662,2.536,686,3.719,1208,4.727,1218,2.133,1262,3.706,1271,3.31,1664,2.109,1665,3.371,1668,6.03,1739,3.778,1944,2.379,2512,5.637,2786,7.734,2789,5.859,2790,5.859,2791,5.859,2792,7.082,2793,5.859,2795,3.606,2796,5.056,2797,6.267,2799,5.75,2800,5.056,2801,6.145,2803,3.953,2804,4.364,2806,6.105,2807,3.953,2811,3.953,2813,3.606,2840,4.999,2867,6.978,3283,6.267,4026,4.11,4027,4.11,4028,4.11,4029,4.727,4037,3.561,4038,5.65,5287,7.177,5289,6.876,9173,4.028,9178,4.934,9180,4.934,10376,5.211,10378,5.211,15208,11.728,15209,5.633,15210,5.633,15211,5.633,15212,5.633,15213,5.633,15214,5.633,15215,5.633,15216,5.633,15217,5.633,15218,5.633,15219,5.633,15220,5.633,15221,5.633,15222,5.211,15223,5.211,15224,5.211,15225,7.581,15226,5.211,15227,5.211,15228,5.211,15229,4.934,15230,5.211]],["title/classes/LinkElementContent.html",[0,0.232,15231,5.765]],["body/classes/LinkElementContent.html",[0,0.344,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,27,0.52,29,0.609,30,0.001,31,0.44,32,0.174,33,0.603,34,1.899,47,0.954,95,0.135,99,1.244,101,0.016,103,0.001,104,0.001,112,0.778,138,2.176,149,4.868,150,1.733,153,2.894,245,3.494,253,3.799,379,1.44,404,3.073,774,3.924,839,2.393,1262,4.409,1271,3.939,2255,4.365,2566,3.437,2784,3.644,2918,4.127,2919,4.127,2922,3.686,3283,7.457,3461,5.396,3468,7.114,3473,4.591,3716,6.807,3720,5.952,3724,5.135,3726,5.135,4055,7.775,4163,6.072,5683,4.989,6446,4.159,6791,4.745,9189,6.226,9205,7.114,9207,7.114,15231,10.878,15232,11.994,15233,7.689,15234,6.226]],["title/classes/LinkElementContentBody.html",[0,0.232,8706,4.588]],["body/classes/LinkElementContentBody.html",[0,0.455,2,0.631,3,0.012,4,0.012,5,0.006,7,0.082,9,2.719,27,0.341,30,0.001,31,0.648,32,0.18,47,0.876,83,1.641,95,0.134,99,0.923,101,0.021,103,0,104,0,112,0.633,138,1.483,143,1.264,148,1.771,149,3.752,150,1.286,153,2.231,172,1.776,180,2.047,245,3.585,248,4.868,249,4.627,284,1.727,305,3.305,382,1.698,480,3.15,556,1.393,807,5.294,808,3.278,819,2.873,839,1.776,852,2.658,1142,3.562,1262,1.993,1271,1.781,1643,3.338,1942,4.072,2255,4.664,2501,2.719,2882,2.719,2883,2.537,2922,2.734,3278,3.406,3280,3.406,3283,3.371,3286,5.068,3289,2.951,3294,3.216,3767,3.562,3788,3.562,3789,6.909,4163,5.682,5681,6.228,5683,6.922,5685,6.228,5687,6.311,5689,6.311,5734,3.753,5771,6.495,5772,6.495,5773,7.123,5774,6.495,5775,6.495,6088,6.868,7227,3.809,7287,3.371,8699,8.625,8700,5.702,8701,3.933,8704,5.441,8705,6.495,8706,7.123,8707,3.933,8708,6.495,8709,3.52,8710,3.869,8711,6.495,8712,6.495,8713,3.809,8714,3.809,8715,3.809,8716,3.809,8717,3.933,8718,3.933,8719,3.933,8720,3.933,8721,3.933,9194,4.479,15235,5.704,15236,5.704]],["title/entities/LinkElementNode.html",[154,1.378,3210,5.395]],["body/entities/LinkElementNode.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.119,27,0.487,30,0.001,32,0.153,33,0.51,47,0.967,95,0.147,96,2.188,101,0.016,103,0.001,104,0.001,105,0.843,112,0.816,138,2.118,154,2.139,155,2.688,172,4.188,173,2.397,180,1.849,181,2.232,349,0.851,403,4.621,437,1.09,1262,4.36,1271,3.895,1664,3.096,1665,4.858,1942,5.223,2512,5.113,2565,4.703,2566,3.696,2784,3.918,3171,5.639,3182,6.436,3210,8.376,3249,5.102,3271,9.342,3283,7.373,3620,6.582,3631,5.293,3641,5.162,4126,5.293,4128,5.293,6446,4.472,7385,5.226,10396,7.649,10397,7.241,15234,6.694,15237,11.542,15238,8.267,15239,9.342,15240,7.649,15241,7.649]],["title/interfaces/LinkElementNodeProps.html",[105,0.7,15239,6.018]],["body/interfaces/LinkElementNodeProps.html",[0,0.287,3,0.019,4,0.019,5,0.009,7,0.122,30,0.001,32,0.155,33,0.519,47,0.992,95,0.149,96,2.248,101,0.017,103,0.001,104,0.001,105,0.865,107,1.992,112,0.83,154,2.176,172,3.923,173,2.462,180,2.073,181,2.292,349,0.874,403,4.746,437,1.12,1262,4.551,1271,4.065,1664,3.18,1665,4.92,1942,3.555,2512,5.202,2565,4.831,2566,3.796,2784,4.024,3171,5.737,3182,6.548,3210,6.668,3249,5.24,3271,9.505,3283,7.696,3620,7.379,3631,5.437,3641,5.302,4126,5.437,4128,5.437,6446,4.593,7385,5.368,15234,6.876,15237,7.856,15239,10.474,15240,7.856,15241,7.856]],["title/interfaces/LinkElementProps.html",[105,0.7,15229,6.018]],["body/interfaces/LinkElementProps.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,30,0.001,32,0.163,33,0.577,36,1.624,47,1.006,95,0.119,101,0.017,103,0.001,104,0.001,105,0.773,107,1.78,112,0.772,119,1.574,145,2.132,153,2.882,180,1.963,262,1.674,349,1.33,474,3.22,480,3.357,517,4.552,519,2.336,604,3.122,608,1.756,1218,2.873,1262,4.39,1271,3.922,1664,2.842,1739,4.649,1944,3.205,2786,6.152,2792,5.067,2796,4.683,2797,5.959,2800,4.683,2801,5.844,2840,6.91,2867,7.452,3283,7.424,4037,4.797,4038,6.953,5287,8.833,5289,8.462,9173,5.426,15208,7.021,15222,7.021,15223,7.021,15224,7.021,15225,9.329,15226,7.021,15227,7.021,15228,7.021,15229,8.833,15230,7.021]],["title/classes/LinkElementResponse.html",[0,0.232,4055,5.251]],["body/classes/LinkElementResponse.html",[0,0.343,2,0.849,3,0.017,4,0.017,5,0.009,7,0.11,27,0.52,29,0.608,30,0.001,31,0.439,32,0.178,33,0.367,34,2.101,47,0.91,95,0.135,99,1.241,101,0.016,103,0.001,104,0.001,112,0.777,138,2.174,149,4.394,150,1.73,153,2.613,245,3.492,253,3.792,379,1.438,404,3.067,774,3.916,839,2.389,1262,3.98,1271,3.555,2255,4.828,2566,3.43,2784,3.637,2917,5.05,2918,5.452,2919,5.452,2921,4.535,2922,4.87,3283,6.731,3461,5.385,3473,4.582,3716,7.529,3720,6.664,3724,5.125,3726,5.125,4055,9.638,4163,6.716,5683,6.592,6446,4.151,6791,4.736,9209,7.1,15231,10.172,15232,11.987,15234,6.214,15242,7.674,15243,7.674,15244,7.674,15245,7.674]],["title/classes/LinkElementResponseMapper.html",[0,0.232,5709,6.018]],["body/classes/LinkElementResponseMapper.html",[0,0.262,2,0.857,3,0.017,4,0.017,5,0.009,7,0.111,8,1.236,27,0.502,29,0.81,30,0.001,31,0.585,32,0.158,33,0.489,34,1.291,35,1.386,95,0.135,99,1.253,100,2.639,101,0.012,103,0.001,104,0.001,112,0.782,119,2.12,153,1.777,236,1.98,349,1.178,376,3.148,413,3.911,437,1.022,603,2.363,604,3.188,662,2.398,739,4.418,782,4.626,783,5.714,786,6.084,788,5.78,1147,3.112,1262,2.708,1271,2.419,1942,5.629,2000,4.448,2255,2.966,2503,8.536,2506,8.028,2507,8.028,2509,7.814,2867,8.848,3283,4.579,3716,4.626,3720,5.982,3737,5.54,4055,9.3,4163,4.126,5284,7.233,5683,5.027,5706,6.084,5709,11.604,9211,9.3,9213,6.084,9215,6.273,9216,6.273,9217,6.273,15231,8.579,15246,12.648,15247,6.786,15248,11.442,15249,7.747,15250,7.747,15251,7.747,15252,7.747]],["title/interfaces/ListFiles.html",[105,0.7,6523,5.013]],["body/interfaces/ListFiles.html",[3,0.018,4,0.018,5,0.012,7,0.12,30,0.001,32,0.162,33,0.634,47,1.021,55,2.648,95,0.099,101,0.02,103,0.001,104,0.001,105,1.351,107,1.959,112,0.821,284,3.25,360,6.567,556,2.623,1215,6.521,1217,4.709,1361,4.518,2094,5.154,5838,4.795,6441,6.071,6508,6.231,6509,6.231,6510,6.559,6511,6.384,6512,6.384,6513,5.215,6514,6.231,6515,5.665,6516,5.665,6517,5.665,6518,5.665,6519,5.861,6520,5.154,6521,5.04,6522,5.04,6523,7.834,6524,9.902,6525,9.902,6526,6.231]],["title/classes/ListOauthClientsParams.html",[0,0.232,15253,6.018]],["body/classes/ListOauthClientsParams.html",[0,0.331,2,0.805,3,0.016,4,0.016,5,0.008,7,0.104,27,0.489,30,0.001,31,0.561,32,0.154,33,0.634,47,0.833,55,2.425,56,5.347,58,8.037,95,0.116,101,0.011,103,0.001,104,0.001,112,0.75,135,6.923,138,2.128,142,5.175,144,4.299,145,3.959,148,2.258,150,1.64,153,2.722,245,3.185,248,4.432,249,4.853,482,5.183,696,4.613,826,6.362,829,5.073,844,9.957,845,9.069,3493,7.929,3494,5.203,3499,7.154,3550,5.892,4381,7.161,5554,7.046,5567,7.699,5639,8.708,8239,11.127,8902,9.069,10426,9.24,15253,8.588,15254,12.386,15255,7.276,15256,7.276,15257,7.276,15258,9.804,15259,9.804,15260,7.276,15261,7.276,15262,9.804,15263,7.276,15264,7.276,15265,7.276]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.232,15266,6.018]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.488,30,0.001,32,0.153,47,0.93,51,6.034,87,6.454,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,138,2.122,148,3.028,150,2.199,245,3.274,248,5.089,809,6.998,7579,9.579,14587,8.545,15266,10.362,15267,12.732,15268,9.025,15269,9.025]],["title/injectables/LocalStrategy.html",[539,0.921,1428,6.018]],["body/injectables/LocalStrategy.html",[0,0.2,3,0.013,4,0.013,5,0.007,7,0.085,8,1.025,27,0.447,29,0.858,30,0.001,31,0.62,32,0.149,33,0.518,35,1.201,36,2.32,39,1.586,47,0.98,51,5.833,59,3.336,66,7.032,87,6.807,94,5.94,95,0.157,101,0.009,103,0,104,0,105,0.602,120,2.493,143,1.308,177,2.015,180,1.469,182,1.869,217,7.427,226,0.862,227,2.45,236,1.944,239,1.988,262,2.635,270,2.898,294,4.268,349,0.873,379,1.07,425,4.307,437,1.576,529,1.689,539,1.136,541,1.416,584,8.099,598,3.421,599,4.307,600,3.686,603,2.687,608,2.765,631,2.992,791,4.953,876,4.953,877,5.17,1123,5.5,1422,8.913,1428,7.424,1435,4.403,1446,4.953,1478,3.524,1512,3.686,1605,4.403,1877,7.979,4608,4.004,7310,4.403,11943,5.17,11951,4.512,12831,4.953,13487,8.511,14010,4.635,14014,7.112,14019,4.953,14645,9.175,14670,5.461,14673,5.461,14675,5.461,14676,5.461,14678,5.461,15270,5.903,15271,8.475,15272,5.903,15273,9.175,15274,5.903,15275,5.903,15276,10.838,15277,5.903,15278,8.475,15279,8.475,15280,5.903,15281,8.475,15282,5.903,15283,5.903,15284,5.903,15285,5.903,15286,5.903,15287,5.903,15288,5.903,15289,8.475,15290,5.903,15291,5.903,15292,5.903,15293,5.903,15294,5.903,15295,5.17,15296,5.903,15297,5.903,15298,5.903,15299,5.903]],["title/interfaces/Loggable.html",[105,0.7,1338,3.185]],["body/interfaces/Loggable.html",[3,0.022,4,0.022,5,0.011,7,0.147,8,1.473,27,0.423,30,0.001,35,1.241,95,0.121,101,0.016,103,0.001,104,0.001,105,1.044,107,2.403,1338,5.648,1339,6.728,1343,6.69,1664,3.837,8829,6.776,8830,7.033,15300,10.247,15301,10.247]],["title/injectables/Logger.html",[539,0.921,2312,2.851]],["body/injectables/Logger.html",[0,0.234,3,0.024,4,0.015,5,0.008,7,0.099,8,1.145,27,0.531,29,0.996,30,0.001,31,0.75,32,0.167,33,0.601,35,1.474,47,0.816,95,0.144,101,0.011,103,0.001,104,0.001,107,1.622,112,0.725,131,4.106,177,1.286,226,1.01,379,0.873,437,1.533,480,1.924,486,2.082,519,4.092,539,1.269,541,1.659,603,2.4,639,3.26,662,4.314,1025,4.607,1122,4.429,1338,6.516,2312,5.051,3002,4.692,5558,3.865,5573,6.425,8871,10.178,8881,6.059,8882,7.439,8883,5.601,8884,6.399,8885,6.059,8886,10.751,14721,8.764,14730,8.764,14742,6.399,14753,10.661,15302,6.917,15303,8.298,15304,9.473,15305,9.473,15306,9.473,15307,6.917,15308,9.473,15309,6.917,15310,9.473,15311,6.917,15312,6.917,15313,9.473,15314,6.917,15315,6.917,15316,6.917,15317,6.917,15318,6.399]],["title/modules/LoggerModule.html",[201,1.845,214,3.202]],["body/modules/LoggerModule.html",[0,0.262,3,0.017,4,0.017,5,0.009,30,0.001,95,0.159,101,0.012,103,0.001,104,0.001,107,1.821,143,2.268,145,2.181,201,3.076,203,2.815,204,3.018,205,3.102,206,3.09,207,3.077,208,4.227,209,4.336,214,6.533,218,4.091,219,3.041,220,2.972,225,3.09,226,1.134,236,1.263,348,5.155,349,0.799,584,8.013,598,4.498,637,5.55,639,3.658,950,4.79,990,2.66,1122,4.97,2312,5.845,2313,6.359,3610,5.791,8865,11.696,8882,8.994,12761,6.513,15319,7.762,15320,7.762,15321,7.762,15322,7.762,15323,7.181,15324,7.762,15325,7.762,15326,7.762,15327,6.513,15328,7.762,15329,7.762,15330,7.762,15331,7.762,15332,7.762,15333,7.762,15334,7.762,15335,7.762,15336,7.762,15337,7.762,15338,7.762,15339,7.762,15340,7.762,15341,7.762,15342,7.762]],["title/classes/LoggingUtils.html",[0,0.232,8883,5.563]],["body/classes/LoggingUtils.html",[0,0.277,2,0.905,3,0.018,4,0.018,5,0.009,7,0.117,8,1.281,27,0.485,29,0.931,30,0.001,31,0.672,32,0.137,33,0.562,35,1.423,47,0.904,59,2.519,95,0.139,101,0.013,103,0.001,104,0.001,107,1.92,131,4.723,133,4.041,349,1.21,413,4.139,437,1.639,556,2.871,603,2.427,1025,4.659,1218,3.099,1338,6.222,1343,4.069,1664,3.065,8883,8.58,11504,8.892,14722,11.498,14755,7.572,14756,7.572,15343,8.184,15344,10.596,15345,10.596,15346,10.596,15347,10.596,15348,8.184,15349,11.751,15350,10.596,15351,8.184,15352,10.596,15353,8.184,15354,8.184,15355,8.184,15356,10.596]],["title/controllers/LoginController.html",[259,2.631,1383,6.018]],["body/controllers/LoginController.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.891,27,0.366,29,0.703,30,0.001,31,0.508,32,0.178,33,0.425,35,1.075,36,2.389,95,0.147,100,1.663,101,0.008,103,0,104,0,105,0.498,128,5.225,138,1.592,141,5.23,150,1.1,153,3.09,177,0.908,223,2.035,226,0.713,239,3.004,259,1.869,261,2.34,262,2.693,270,5.689,278,7.57,282,6.969,283,7.15,284,3.378,285,8.428,286,8.213,287,7.344,288,9.722,294,3.711,303,7.765,324,5.013,335,5.967,336,7.768,337,2.544,340,2.368,345,1.551,346,5.301,347,4.412,348,4.471,349,0.914,437,1.472,521,3.506,608,2.055,645,8.908,996,4.281,997,4.137,998,4.231,999,4.471,1000,4.879,1284,2.777,1381,7.449,1383,6.455,1386,4.517,1435,3.642,1617,9.098,1618,3.426,1794,3.126,1953,6.478,1954,6.348,2961,3.491,2962,2.752,3122,4.823,3731,3.26,4544,6.407,5554,4.192,6403,6.604,7082,6.969,7325,7.377,7734,3.366,8244,8.326,8853,4.097,11237,5.633,13754,3.366,13988,4.517,14585,8.298,14641,7.449,15266,8.662,15357,4.882,15358,7.369,15359,7.369,15360,8.877,15361,4.882,15362,4.882,15363,10.325,15364,4.882,15365,8.729,15366,8.877,15367,4.882,15368,4.882,15369,4.882,15370,4.882,15371,4.882,15372,4.882,15373,8.298,15374,4.882,15375,4.882,15376,4.882,15377,4.882,15378,6.184,15379,4.276,15380,4.882,15381,4.882,15382,4.882,15383,4.882,15384,8.213,15385,4.882,15386,4.882,15387,8.877,15388,7.369,15389,4.882,15390,4.882,15391,4.882,15392,4.882,15393,4.882,15394,4.882,15395,4.882,15396,4.882]],["title/classes/LoginDto.html",[0,0.232,1617,5.395]],["body/classes/LoginDto.html",[0,0.344,2,1.125,3,0.022,4,0.022,5,0.011,7,0.146,27,0.5,29,0.806,30,0.001,31,0.582,32,0.157,33,0.486,47,0.852,101,0.016,103,0.001,104,0.001,112,0.928,181,3.274,379,1.284,381,3.442,1498,8.656,1617,10.77,15397,10.17,15398,12.129,15399,8.534,15400,8.534]],["title/classes/LoginRequestBody.html",[0,0.232,15401,5.563]],["body/classes/LoginRequestBody.html",[0,0.3,2,0.697,3,0.014,4,0.014,5,0.007,7,0.09,27,0.517,30,0.001,32,0.163,33,0.654,47,0.784,55,2.1,95,0.121,101,0.01,103,0,104,0,110,8.323,111,5.098,112,0.679,116,9.848,117,8.069,119,1.84,135,5.743,138,2.249,142,5.081,143,1.966,144,4.221,145,3.92,147,4.799,148,1.954,150,1.419,153,2.357,180,1.538,239,2.081,245,2.643,249,4.026,282,3.931,287,4.143,347,2.276,348,4.469,382,3.503,517,4.209,662,1.949,696,3.45,843,6.227,951,2.95,990,4.298,1215,3.46,1295,4.594,1306,3.885,1694,7.531,1783,6.968,2024,2.934,2207,7.365,2424,5.244,3601,3.575,4677,4.559,4751,6.968,5515,3.721,5544,10.369,5545,7.446,5546,7.446,5547,6.968,5550,4.143,5552,5.283,5553,7.772,5554,5.845,5555,7.772,5556,8.21,5557,7.772,5558,3.62,5560,5.825,5561,8.21,5562,6.475,5563,10.323,5564,6.62,5565,8.21,5567,8.762,5568,4.812,5569,5.515,5570,5.515,5571,5.515,5572,5.825,5573,4.27,5574,6.782,5575,6.227,5576,4.812,5577,5.098,5578,4.812,5579,5.283,5580,5.098,5581,5.825,5582,5.283,5583,5.825,5584,4.812,5585,5.825,5586,5.515,5587,5.283,5588,5.283,5589,5.825,5591,7.185,5592,5.825,15401,7.185,15402,10.276,15403,6.296,15404,6.296]],["title/classes/LoginResponse.html",[0,0.232,15365,4.913]],["body/classes/LoginResponse.html",[0,0.336,2,1.1,3,0.022,4,0.022,5,0.011,7,0.143,27,0.494,29,0.788,30,0.001,31,0.569,32,0.155,33,0.476,47,0.841,95,0.117,101,0.015,103,0.001,104,0.001,112,0.916,138,1.784,150,2.242,181,3.231,245,3.302,379,1.256,381,3.366,1498,8.574,15365,9.748,15399,8.346,15400,8.346,15405,9.946,15406,11.969]],["title/classes/LoginResponse-1.html",[0,0.193,708,2.292,15365,4.085]],["body/classes/LoginResponse-1.html",[0,0.282,2,0.638,3,0.013,4,0.013,5,0.006,7,0.083,27,0.541,29,0.457,30,0.001,31,0.33,32,0.17,33,0.64,34,1.975,47,0.947,70,5.728,72,3.764,77,6.268,95,0.127,101,0.009,103,0,104,0,110,6.219,112,0.638,118,5.338,119,1.729,122,5.654,128,4.837,135,7.407,138,2.322,141,5.865,142,3.254,143,2.169,144,2.703,145,3.013,148,1.791,150,1.3,153,2.804,239,2.781,245,3.408,248,3.332,249,4.789,303,6.547,363,4.7,379,0.728,556,3.057,821,4.538,1262,2.913,1391,7,1694,5.144,2190,5.27,2207,6.471,2406,3.224,2617,8.196,3330,5.961,3458,4.048,3601,5.138,4118,4.671,4256,7,5590,5.144,5597,8.214,5598,8.214,5599,8.214,5600,7.927,5603,8.574,5605,5.053,5611,8.214,5612,7.713,5620,8.214,5624,5.654,5628,7.713,5629,7.713,5632,5.053,5633,5.337,5634,5.337,5635,5.337,5644,7.713,12776,6.219,14234,6.75,15365,8.74,15407,5.769,15408,9.057,15409,8.336,15410,5.769,15411,5.769,15412,5.769,15413,7.302,15414,5.769,15415,5.769,15416,8.336,15417,5.769,15418,5.769,15419,5.769,15420,8.336,15421,8.336,15422,8.336,15423,5.769,15424,5.769,15425,5.769]],["title/classes/LoginResponseMapper.html",[0,0.232,15379,6.018]],["body/classes/LoginResponseMapper.html",[0,0.296,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,27,0.457,29,0.877,30,0.001,31,0.633,32,0.144,33,0.53,35,1.341,47,0.852,59,2.698,95,0.131,100,2.986,101,0.013,103,0.001,104,0.001,236,1.802,349,1.14,413,4.042,437,1.46,782,5.234,824,4.53,1498,7.394,1617,10.932,1618,6.152,7323,10.324,15365,9.401,15378,11.033,15379,9.699,15426,12.137,15427,11.072,15428,11.072,15429,11.072,15430,7.679,15431,11.072,15432,8.766,15433,11.072]],["title/injectables/LoginUc.html",[539,0.921,1381,5.765]],["body/injectables/LoginUc.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,8,1.333,27,0.455,29,0.873,30,0.001,31,0.631,32,0.143,33,0.527,35,1.055,36,2.36,95,0.158,100,2.966,101,0.013,103,0.001,104,0.001,105,0.888,177,1.62,226,1.272,236,1.417,262,2.669,270,6.245,345,2.766,349,0.897,379,1.1,437,1.596,539,1.477,541,2.089,608,2.016,631,4.415,1381,9.253,1422,9.489,1446,7.309,1498,5.817,1592,9.502,1615,7.309,1616,4.911,1617,10.527,4736,9.659,7310,6.498,15434,8.71,15435,11.027,15436,8.71,15437,8.71,15438,11.027,15439,8.71,15440,8.058,15441,8.71,15442,8.71,15443,8.71,15444,8.71]],["title/injectables/Lti11EncryptionService.html",[539,0.921,15445,6.018]],["body/injectables/Lti11EncryptionService.html",[0,0.288,3,0.019,4,0.019,5,0.009,7,0.122,8,1.315,27,0.352,29,0.675,30,0.001,31,0.488,32,0.111,33,0.408,35,1.033,47,0.987,95,0.142,101,0.013,103,0.001,104,0.001,226,1.246,236,1.388,284,2.581,349,0.878,437,1.58,539,1.458,541,2.046,591,4.808,662,3.709,988,5.227,1262,4.411,1491,7.385,1611,6.223,1616,7.116,1650,6.134,1694,8.227,1984,5.932,2217,7.889,2962,4.808,5554,7.179,6777,6.098,15445,9.53,15446,10.88,15447,8.527,15448,10.066,15449,10.88,15450,8.527,15451,7.156,15452,10.88,15453,7.889,15454,8.527,15455,7.939,15456,8.527,15457,8.527,15458,8.527,15459,8.527,15460,8.527,15461,8.527,15462,8.527,15463,8.527]],["title/classes/Lti11ToolConfig.html",[0,0.232,7519,5.013]],["body/classes/Lti11ToolConfig.html",[0,0.26,2,0.852,3,0.017,4,0.017,5,0.009,7,0.111,27,0.561,29,0.61,30,0.001,31,0.441,32,0.18,33,0.546,47,0.955,95,0.12,101,0.012,103,0.001,104,0.001,112,0.779,180,1.766,181,2.749,182,2.44,379,0.973,381,2.607,382,3.033,564,2.412,1491,6.676,1929,3.782,1984,6.221,2195,6.491,2546,6.159,2548,4.585,2549,6.464,2550,9.418,2552,6.748,2553,5.693,2554,6.748,2555,6.748,2557,5.508,7360,7.508,7366,7.404,7368,7.404,7370,7.404,7386,5.621,7387,6.238,7388,6.049,7389,6.464,7392,5.888,7393,6.238,7396,5.888,7397,6.238,7400,5.888,7401,6.238,7516,8.326,7519,9.213,7543,5.312,7548,8.159,15464,13.429,15465,9.423,15466,7.127,15467,7.127,15468,7.127,15469,7.127,15470,7.127,15471,6.748,15472,6.748]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.232,9156,5.765]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.334,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,27,0.548,30,0.001,32,0.178,33,0.473,47,0.956,95,0.141,101,0.011,103,0.001,104,0.001,112,0.757,138,2.385,148,2.287,149,3.815,150,1.661,180,1.714,245,3.42,248,4.972,249,3.874,382,2.944,564,2.307,852,3.434,1491,6.53,1929,3.618,1971,6.098,1984,6.084,2195,6.348,2546,6,2548,4.486,2553,6.237,2571,9.077,2572,7.98,2573,5.966,2574,5.966,2575,5.966,2576,5.966,2577,5.966,6078,5.377,7360,7.343,7366,7.241,7368,7.241,7370,7.241,7516,8.143,7548,7.98,9155,5.966,9156,8.297,9163,6.454,15473,12.104,15474,6.817,15475,7.368,15476,6.817,15477,6.817,15478,6.817,15479,7.368,15480,7.368,15481,6.817,15482,9.148,15483,6.817,15484,6.817]],["title/classes/Lti11ToolConfigEntity.html",[0,0.232,9223,5.563]],["body/classes/Lti11ToolConfigEntity.html",[0,0.25,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,27,0.54,29,0.586,30,0.001,31,0.423,32,0.17,33,0.535,47,0.935,95,0.141,96,1.957,101,0.011,103,0.001,104,0.001,112,0.758,138,2.299,143,2.196,144,2.398,160,4.098,172,4.143,173,2.144,180,1.282,181,2.676,379,0.934,381,2.503,403,4.133,564,2.315,839,3.877,1491,6.542,1929,3.631,1984,6.095,2546,6.104,2548,4.548,2553,4.133,2560,6.205,2562,5.058,2563,8.026,2564,6.477,2565,4.207,2566,3.306,7360,7.357,7366,7.254,7368,7.254,7370,7.254,7386,5.396,7387,5.988,7388,5.807,7389,6.205,7392,5.652,7393,5.988,7396,5.652,7397,5.988,7400,5.652,7401,5.988,7428,6.477,7516,8.158,7543,6.834,7548,7.994,9223,10.085,15471,6.477,15472,6.477,15485,13.308,15486,9.912,15487,7.395,15488,7.395,15489,7.395,15490,7.395,15491,7.395]],["title/classes/Lti11ToolConfigResponse.html",[0,0.232,9751,5.765]],["body/classes/Lti11ToolConfigResponse.html",[0,0.249,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,27,0.548,29,0.584,30,0.001,31,0.421,32,0.178,33,0.534,47,0.934,95,0.132,101,0.011,103,0.001,104,0.001,112,0.757,138,2.346,149,4.305,150,1.661,180,1.714,181,2.669,182,2.333,245,3.578,379,0.93,381,2.494,382,2.944,564,2.307,1929,3.618,1984,6.084,2195,6.348,2546,6,2548,4.486,2553,6.237,2557,5.269,2566,3.294,2567,5.269,2580,5.966,2581,10.073,2583,6.454,2584,6.454,2585,5.966,7360,7.343,7366,7.241,7368,7.241,7370,7.241,7386,5.377,7387,5.966,7392,5.632,7393,5.966,7396,5.632,7397,5.966,7400,5.632,7401,5.966,7516,8.143,7543,5.081,7548,7.98,9751,10.438,15471,6.454,15472,6.454,15492,13.083,15493,9.148,15494,6.817,15495,6.817,15496,6.817,15497,6.454]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.232,9674,5.765]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.333,2,0.811,3,0.016,4,0.016,5,0.008,7,0.105,27,0.548,30,0.001,32,0.178,33,0.569,47,0.955,95,0.141,101,0.011,103,0.001,104,0.001,112,0.754,138,2.382,148,2.275,149,4.293,150,1.652,180,1.708,245,3.36,248,4.963,249,4.36,382,2.934,564,2.294,852,3.416,1491,6.512,1929,3.598,1971,6.089,1984,6.067,2195,6.331,2546,5.992,2548,4.481,2553,6.22,2571,9.061,2572,7.045,2573,5.934,2574,5.934,2575,5.934,2576,5.934,2577,5.934,6078,7.189,7360,7.323,7366,7.221,7368,7.221,7370,7.221,7516,8.121,7548,7.958,9674,8.267,9959,6.149,9961,6.419,9963,6.419,15473,12.087,15474,6.78,15476,6.78,15478,6.78,15482,9.115,15483,6.78,15484,6.78,15498,7.328,15499,7.328,15500,7.328,15501,6.78]],["title/classes/LtiRoleMapper.html",[0,0.232,15502,6.357]],["body/classes/LtiRoleMapper.html",[0,0.302,2,0.989,3,0.019,4,0.019,5,0.01,7,0.128,8,1.355,27,0.369,29,0.708,30,0.001,31,0.511,32,0.116,33,0.428,35,1.083,95,0.132,99,1.446,101,0.014,103,0.001,104,0.001,349,0.921,413,3.687,437,1.615,484,4.562,556,2.992,662,2.767,1650,6.32,1929,4.39,4660,7.269,10258,5.97,10259,5.97,12841,6.064,12844,6.833,15502,10.371,15503,11.21,15504,8.94,15505,11.21,15506,11.21,15507,8.94,15508,14.067,15509,8.271,15510,8.94,15511,11.21,15512,8.94,15513,11.21,15514,8.94,15515,8.94,15516,8.94,15517,8.94,15518,11.21,15519,8.94]],["title/entities/LtiTool.html",[154,1.378,7364,5.125]],["body/entities/LtiTool.html",[0,0.141,3,0.009,4,0.009,5,0.005,7,0.06,26,1.316,27,0.548,30,0.001,31,0.565,32,0.173,33,0.642,47,0.952,49,2.998,95,0.107,96,1.725,97,1.698,101,0.015,103,0,104,0,105,0.424,112,0.499,119,2.471,138,2.384,143,3.035,144,4.333,145,3.837,154,1.307,155,1.354,160,7.272,168,3.675,172,4.16,173,1.207,174,2.477,175,1.861,177,0.774,178,1.644,180,0.722,181,1.124,182,1.318,236,0.677,321,4.757,349,0.429,480,1.158,486,3.587,490,1.479,556,2.221,653,2.139,662,2.018,827,4.656,839,3.073,1262,2.808,1371,2.539,1475,6.381,1491,4.702,1732,2.184,1984,4.957,2044,1.618,2318,2.412,2501,1.984,2670,2.99,3140,4.046,4342,1.842,6446,2.251,6748,3.646,6776,3.37,6789,3.37,7349,7.038,7350,3.851,7351,5.47,7352,7.363,7353,6.031,7354,6.031,7355,3.851,7356,3.851,7357,6.031,7358,3.851,7359,3.851,7360,6.496,7361,6.031,7362,6.031,7363,3.851,7364,4.863,7365,6.31,7366,5.214,7367,6.31,7368,5.214,7369,5.47,7370,5.214,7371,6.31,7372,6.31,7373,5.994,7374,6.031,7375,7.434,7376,3.37,7377,3.269,7378,3.851,7379,5.745,7380,6.31,7381,5.145,7382,4.798,7383,5.994,7384,4.849,7385,2.631,7386,3.037,7387,3.37,7388,3.269,7389,3.493,7390,3.493,7391,3.851,7392,3.181,7393,3.37,7394,3.493,7395,3.851,7396,3.181,7397,3.37,7398,3.269,7399,3.37,7400,3.181,7401,3.37,7402,3.493,7403,3.851,7404,3.493,7405,3.851,7406,3.493,7407,3.851,7408,3.851,7409,3.851,7410,3.851,7411,3.493,7412,3.851,7413,3.493,7414,3.851,7415,3.181,7416,3.37,7417,2.921,7418,3.105,7419,3.493,7420,3.851,7421,3.105,7422,3.37,15520,4.162,15521,4.162,15522,4.162,15523,4.162,15524,4.162,15525,4.162,15526,4.162,15527,4.162,15528,4.162,15529,4.162,15530,4.162,15531,4.162,15532,4.162,15533,4.162,15534,4.162,15535,4.162,15536,4.162,15537,4.162,15538,4.162,15539,4.162,15540,4.162,15541,4.162,15542,4.162]],["title/classes/LtiToolDO.html",[0,0.232,7431,4.821]],["body/classes/LtiToolDO.html",[0,0.283,2,0.642,3,0.013,4,0.013,5,0.006,7,0.083,26,1.982,27,0.578,29,0.46,30,0.001,31,0.615,32,0.182,33,0.672,34,1.395,47,0.997,95,0.116,101,0.013,103,0,104,0,112,0.64,119,2.688,180,1.451,379,0.733,382,1.728,480,2.732,1262,3.432,1491,5.746,1665,2.387,1746,6.291,1984,6.215,2044,2.255,2501,2.765,3140,4.946,4462,5.082,5963,4.233,6446,3.138,7352,7.952,7360,6.462,7365,7.712,7366,6.372,7367,7.712,7368,6.372,7370,6.372,7371,7.712,7372,7.712,7373,7.326,7377,7.712,7379,7.022,7380,7.712,7381,6.288,7382,5.864,7383,7.326,7384,5.926,7386,6.108,7388,4.556,7390,4.868,7392,4.434,7394,4.868,7396,4.434,7398,4.556,7400,4.434,7402,4.868,7404,4.868,7406,4.868,7411,4.868,7413,4.868,7415,4.434,7417,4.071,7419,4.868,7421,4.328,7423,8.241,7424,5.368,7425,5.368,7428,5.082,7429,4.434,7430,4.556,7431,8,7432,6.573,7433,4.556,7434,5.368,7435,5.368,7436,5.368,7437,5.368,7438,5.368,7439,5.368,7440,5.368,7441,5.082,7442,5.368,7443,5.368,7444,5.368,7445,5.368,7446,5.368,7447,5.368,7448,5.368,7449,5.368,7450,5.368,7451,5.368,7452,5.368,7453,5.368,15543,8.371,15544,5.801,15545,5.801,15546,5.801,15547,5.801,15548,5.801,15549,5.801,15550,5.801,15551,5.801,15552,5.801,15553,5.801,15554,5.801,15555,5.801,15556,5.801,15557,5.801,15558,5.801,15559,5.801,15560,5.801,15561,5.801,15562,5.801]],["title/classes/LtiToolFactory.html",[0,0.232,15563,6.357]],["body/classes/LtiToolFactory.html",[0,0.157,2,0.514,3,0.01,4,0.01,5,0.005,7,0.067,8,0.858,27,0.539,29,1.044,30,0.001,31,0.748,32,0.173,33,0.606,34,1.435,35,1.458,47,0.825,55,2.328,59,3.197,95,0.114,99,0.752,101,0.007,103,0,104,0,112,0.543,120,2.999,133,2.441,140,2.534,143,1.573,145,2.421,153,1.976,154,2.083,155,2.309,177,1.32,180,1.231,236,0.756,271,4.693,319,2.999,349,0.887,379,0.587,382,3.818,413,2.137,437,1.136,447,7.076,448,4.412,449,5.3,452,3.902,453,5.3,454,5.551,455,3.902,456,3.902,457,3.902,458,3.84,459,4.338,460,4.734,461,6.304,462,5.618,463,6.914,464,2.576,469,2.554,470,3.902,471,2.576,472,4.989,473,5.136,474,4.091,475,4.856,476,3.87,477,2.554,478,2.422,479,4.013,480,3.349,481,2.494,482,2.457,483,2.554,484,4.921,485,2.576,486,3.536,487,4.659,488,2.554,489,7.048,490,4.174,491,6.456,492,2.576,493,4.204,494,2.554,495,2.576,496,2.554,497,2.576,498,2.554,499,2.868,500,2.693,501,2.554,502,5.923,503,2.576,504,2.554,505,3.902,506,3.673,507,3.902,508,2.576,509,2.475,510,2.457,511,2.057,512,2.554,513,2.554,514,2.554,515,2.576,516,2.576,517,1.753,518,2.554,519,1.43,520,2.576,521,2.803,522,2.554,523,2.576,525,2.668,527,4.196,1262,2.481,1491,4.154,1984,3.87,3140,2.341,4367,3.9,5643,2.341,7351,3.9,7352,3.763,7360,3.058,7364,5.296,7365,5.575,7366,4.607,7367,5.575,7368,4.607,7370,3.016,7371,3.65,7372,3.65,7373,3.467,7377,5.575,7379,6.159,7380,5.575,7381,2.976,7382,2.775,7383,5.296,7384,2.805,7423,3.9,9243,6.568,9248,6.568,12338,3.552,15563,7.969,15564,4.647,15565,7.099,15566,4.647,15567,7.099,15568,4.647,15569,4.647,15570,4.647,15571,4.647,15572,4.647,15573,4.647]],["title/modules/LtiToolModule.html",[201,1.845,15574,5.765]],["body/modules/LtiToolModule.html",[0,0.31,3,0.02,4,0.02,5,0.01,30,0.001,95,0.153,101,0.014,103,0.001,104,0.001,201,3.326,203,3.323,204,3.562,205,3.662,206,3.647,207,3.632,208,4.571,209,4.688,218,4.549,219,3.589,220,3.508,226,1.338,227,3.802,560,3.77,1341,2.944,2313,6.194,4673,9.907,5439,7.418,15574,11.915,15575,9.161,15576,9.161,15577,9.161,15578,11.969,15579,8.476,15580,9.161]],["title/injectables/LtiToolRepo.html",[539,0.921,4673,5.013]],["body/injectables/LtiToolRepo.html",[0,0.147,3,0.009,4,0.009,5,0.005,7,0.062,8,0.815,10,2.738,12,3.028,18,3.372,26,2.32,27,0.541,29,1.032,30,0.001,31,0.769,32,0.169,33,0.623,34,1.551,35,1.577,36,2.705,40,2.095,47,0.829,95,0.119,96,1.15,99,0.703,101,0.007,103,0,104,0,112,0.332,119,1.713,133,2.318,154,2.23,155,1.413,173,1.26,180,1.169,226,0.635,236,1.344,262,2.967,292,2.202,349,1.184,381,1.47,382,3.763,437,1.328,448,4.631,519,1.337,529,1.243,539,0.903,541,1.042,593,2.515,603,2.373,608,1.911,680,4.572,686,3.059,687,4.946,696,1.689,718,2.314,1262,2.356,1491,3.944,1665,4.144,1984,3.675,2000,2.494,2299,8.98,2301,4.82,2302,4.82,2303,4.82,2304,4.82,2305,4.73,2306,4.73,2307,4.82,2308,4.73,2309,4.82,2316,3.107,2318,5.393,2319,3.107,2321,3.107,2323,2.819,2324,4.73,2325,3.107,2327,3.107,2329,4.82,2333,4.82,2335,4.572,2336,4.73,2338,3.107,2340,2.622,2341,2.681,2342,3.107,2344,3.107,2346,3.049,2347,3.107,2364,2.996,2365,6.16,2387,5.656,3140,3.394,4446,2.681,4447,3.412,4673,4.918,6114,3.17,6115,3.17,6116,3.17,6117,3.17,6118,3.17,6119,3.17,6120,3.17,6121,3.17,6122,3.17,7351,8.943,7360,2.859,7364,8.804,7365,5.293,7366,4.374,7367,5.293,7368,4.374,7369,3.646,7370,4.374,7371,5.293,7372,5.293,7373,7.951,7377,5.293,7379,7.621,7380,5.293,7381,4.316,7382,4.025,7383,5.028,7384,4.067,7431,8.282,9534,5.458,9542,5.656,9547,3.321,9607,3.806,9611,4.02,9612,4.02,9630,3.806,9631,4.02,9635,4.02,9636,4.02,11036,4.02,12338,3.321,15581,4.345,15582,6.236,15583,6.74,15584,4.02,15585,6.74,15586,4.345,15587,4.345,15588,6.74,15589,4.345,15590,4.345,15591,4.345,15592,4.345,15593,4.345,15594,3.646,15595,4.345,15596,4.345,15597,4.345,15598,4.345,15599,4.345,15600,4.345,15601,4.345,15602,4.345,15603,4.345,15604,4.345,15605,4.345,15606,4.02,15607,4.345,15608,4.345,15609,4.345,15610,4.345,15611,4.345,15612,4.345,15613,4.345,15614,4.345,15615,4.345,15616,4.345,15617,4.345,15618,4.345,15619,4.345,15620,4.345,15621,4.345,15622,4.345,15623,4.345,15624,4.345,15625,4.345,15626,4.345,15627,4.345,15628,4.345,15629,4.345,15630,4.345,15631,4.345]],["title/injectables/LtiToolService.html",[539,0.921,15578,5.765]],["body/injectables/LtiToolService.html",[0,0.304,3,0.02,4,0.02,5,0.01,7,0.129,8,1.361,27,0.464,29,0.892,30,0.001,31,0.644,32,0.146,33,0.538,35,1.09,36,2.629,47,0.863,95,0.145,101,0.014,103,0.001,104,0.001,119,2.547,177,1.674,226,1.314,227,3.735,262,2.709,345,2.858,349,0.927,379,1.136,437,1.187,539,1.508,541,2.159,662,3.802,4673,9.863,5446,7.287,5643,4.532,7364,8.397,7373,9.601,7431,6.315,12338,6.878,15578,9.446,15579,11.364,15582,10.414,15632,12.283,15633,8.999,15634,8.999,15635,11.256,15636,8.999,15637,8.999]],["title/classes/LumiUserWithContentData.html",[0,0.232,11988,6.018]],["body/classes/LumiUserWithContentData.html",[0,0.24,2,0.785,3,0.015,4,0.015,5,0.008,7,0.102,26,2.698,27,0.563,29,0.562,30,0.001,31,0.672,32,0.18,33,0.339,34,1.824,47,0.89,95,0.129,99,1.148,101,0.015,103,0.001,104,0.001,105,0.723,112,0.738,119,2.627,154,1.424,239,1.665,379,0.896,404,2.837,528,3.647,653,5.626,1105,6.878,1147,2.935,1512,6.02,2024,3.308,2044,2.759,2566,3.173,3632,3.273,4266,3.975,4343,4.153,5883,4.075,5930,7.967,5933,3.29,10083,5.18,11919,8.09,11984,10.288,11985,12.717,11986,6.567,11987,11.096,11988,8.445,11989,10.13,11990,10.13,11991,10.13,11992,10.13,11993,10.13,11994,9.188,11995,6.567,11996,6.567,11997,6.567,11998,6.567,11999,6.567,12000,6.567,12001,6.567,12002,6.567,12003,6.567,12004,6.567,12005,6.567,12006,5.295,12007,6.567,12008,6.567,15638,9.641,15639,7.098,15640,7.098,15641,7.098,15642,7.098,15643,7.098,15644,7.098,15645,7.098,15646,7.098,15647,7.098]],["title/interfaces/Mail.html",[105,0.7,1371,4.192]],["body/interfaces/Mail.html",[3,0.018,4,0.018,5,0.009,7,0.118,30,0.001,31,0.471,32,0.171,33,0.651,47,1.02,77,5.272,101,0.013,103,0.001,104,0.001,105,1.37,107,1.931,112,0.814,180,2.159,1150,4.818,1356,7.936,1357,6.293,1358,8.792,1359,8.131,1360,6.293,1361,4.453,1362,7.936,1363,6.008,1364,6.008,1365,8.792,1366,6.293,1367,9.293,1368,8.131,1369,8.131,1370,9.293,1371,8.059,1372,9.293,1373,9.293,1374,9.521,1375,9.521]],["title/interfaces/MailAttachment.html",[105,0.7,1358,5.125]],["body/interfaces/MailAttachment.html",[3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,31,0.729,32,0.157,47,1.019,77,5.613,101,0.013,103,0.001,104,0.001,105,1.39,107,2.056,112,0.847,180,2.21,1150,5.13,1356,8.26,1357,6.7,1358,9.511,1359,8.463,1360,9.745,1361,6.896,1362,8.26,1363,6.397,1364,6.397,1365,9.054,1366,6.7,1367,8.26,1368,8.463,1369,8.463,1370,8.26,1371,6.756,1372,6.54,1373,6.54,1374,6.7,1375,6.7]],["title/interfaces/MailContent.html",[105,0.7,1365,5.125]],["body/interfaces/MailContent.html",[3,0.019,4,0.019,5,0.01,7,0.126,30,0.001,31,0.502,32,0.144,33,0.53,47,1.011,77,8.169,101,0.014,103,0.001,104,0.001,105,1.39,107,2.061,112,0.848,180,2.212,1150,5.141,1356,9.519,1357,6.715,1358,9.063,1359,8.475,1360,6.715,1361,4.752,1362,9.519,1363,6.411,1364,6.411,1365,9.519,1366,9.752,1367,8.271,1368,8.475,1369,8.475,1370,8.271,1371,6.765,1372,6.554,1373,6.554,1374,6.715,1375,6.715]],["title/modules/MailModule.html",[201,1.845,15648,5.395]],["body/modules/MailModule.html",[0,0.317,3,0.02,4,0.02,5,0.01,8,1.133,27,0.387,29,0.742,30,0.001,31,0.536,32,0.121,33,0.448,35,1.135,47,0.811,95,0.136,101,0.014,103,0.001,104,0.001,105,0.955,201,3.36,203,3.399,208,3.46,209,3.549,226,1.369,349,0.965,413,3.475,490,3.33,636,5.484,1170,6.839,1171,7.96,1174,8.354,1180,6.702,1185,7.208,1186,8.21,1187,7.491,1188,8.21,15648,9.824,15649,8.672,15650,11.437,15651,9.373,15652,10.13,15653,8.672,15654,8.672]],["title/interfaces/MailModuleOptions.html",[105,0.7,15650,6.018]],["body/interfaces/MailModuleOptions.html",[0,0.317,3,0.02,4,0.02,5,0.01,7,0.135,30,0.001,32,0.15,47,0.959,95,0.136,101,0.014,103,0.001,104,0.001,105,0.955,107,2.198,112,0.883,201,3.36,208,3.46,209,3.549,226,1.369,349,0.965,413,2.822,636,5.484,1171,6.463,1174,7.709,1180,6.702,1185,8.372,1186,8.21,1187,8.7,1188,8.21,15648,9.065,15649,8.672,15650,10.958,15652,10.13,15653,8.672,15654,8.672]],["title/injectables/MailService.html",[539,0.921,15652,5.563]],["body/injectables/MailService.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.127,8,1.344,27,0.459,29,0.881,30,0.001,31,0.636,32,0.144,33,0.532,35,1.069,36,2.38,47,0.781,95,0.144,101,0.014,103,0.001,104,0.001,105,0.899,143,1.955,177,2.068,226,1.289,262,2.685,284,3.365,379,1.404,490,4.326,539,1.49,541,2.117,603,2.296,608,2.042,639,4.158,662,3.768,1185,5.51,1187,5.725,1209,9.738,1210,7.145,1211,10.033,1224,6.192,1225,5.725,1253,7.729,1256,7.729,1371,7.797,1540,9.329,15652,9.003,15655,8.163,15656,11.194,15657,8.823,15658,8.823,15659,8.163,15660,8.163,15661,8.163]],["title/interfaces/MailServiceOptions.html",[105,0.7,15656,6.018]],["body/interfaces/MailServiceOptions.html",[0,0.313,3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.149,36,1.983,47,0.956,95,0.147,101,0.014,103,0.001,104,0.001,105,0.944,107,2.173,112,0.877,143,2.053,177,2.132,226,1.353,262,2.044,284,2.805,379,1.17,490,3.293,539,1.536,603,2.367,608,2.145,639,4.367,662,2.868,1185,8.12,1187,8.438,1211,9.285,1224,6.502,1225,6.012,1253,8.116,1256,8.116,1371,6.994,1540,7.775,15652,7.503,15655,8.573,15656,10.902,15659,8.573,15660,8.573,15661,8.573]],["title/modules/ManagementModule.html",[201,1.845,15662,5.395]],["body/modules/ManagementModule.html",[0,0.243,3,0.016,4,0.016,5,0.008,30,0.001,95,0.167,101,0.011,103,0.001,104,0.001,119,1.49,201,2.96,203,2.606,204,2.794,205,2.872,206,2.86,207,2.849,208,4.553,209,2.721,214,4.531,218,3.886,219,2.815,220,2.751,223,4.593,225,4.386,226,1.05,437,1.557,598,4.164,599,5.244,1341,2.309,1609,6.294,2079,3.181,2080,3.55,2081,3.425,3134,3.313,3500,8.516,3505,8.49,3506,10.668,3513,4.955,3515,4.542,3517,6.648,3518,7.635,3885,10.668,3940,4.051,4729,4.799,8038,8.158,8043,9.984,8057,6.03,8075,9.651,8105,8.158,8109,10.295,8796,7.094,9382,5.043,10977,8.158,11212,5.138,11220,5.138,11221,4.955,11278,5.244,12420,4.434,12503,6.648,12504,6.648,13074,6.03,13077,4.955,14141,6.294,14147,8.158,15662,10.946,15663,7.186,15664,7.186,15665,7.186,15666,7.186,15667,7.186,15668,9.722,15669,7.186,15670,7.186,15671,7.186,15672,11.018,15673,6.03,15674,7.186]],["title/modules/ManagementServerModule.html",[201,1.845,15675,5.765]],["body/modules/ManagementServerModule.html",[0,0.346,3,0.017,4,0.017,5,0.009,30,0.001,32,0.101,47,0.546,87,3.942,95,0.159,96,2.713,99,1.258,101,0.018,103,0.001,104,0.001,155,2.529,173,2.255,201,3.493,203,2.821,204,3.023,205,3.108,206,3.096,207,3.083,208,2.871,209,2.944,218,4.096,219,3.047,220,2.978,225,4.851,226,1.136,236,1.265,239,1.824,292,3.942,349,0.801,413,2.341,437,1.026,490,2.763,521,3.071,573,5.275,687,5.032,762,5.118,996,3.75,997,3.625,998,3.707,999,3.917,1076,5.193,1077,4.799,1171,5.362,1174,6.844,1726,3.33,2024,3.625,2681,4.174,4956,5.362,5624,5.275,11207,7.646,11208,7.646,11209,5.675,11210,7.834,11211,5.561,11213,7.329,11217,7.479,11218,7.479,11219,7.479,11221,5.362,11232,9.314,11233,5.802,11234,5.802,11235,5.675,11273,5.457,11276,7.646,11278,5.675,11280,7.646,11387,6.812,11388,5.944,11389,6.812,12617,5.802,15662,10.568,15675,10.913,15676,7.777,15677,7.777,15678,7.195,15679,7.195,15680,6.812,15681,6.812,15682,6.526]],["title/modules/ManagementServerTestModule.html",[201,1.845,15682,5.765]],["body/modules/ManagementServerTestModule.html",[0,0.335,3,0.016,4,0.016,5,0.008,8,0.896,27,0.306,29,0.587,30,0.001,31,0.424,32,0.129,33,0.354,35,0.897,47,0.52,59,2.28,87,3.756,95,0.157,96,2.627,99,1.198,101,0.017,103,0.001,104,0.001,155,2.409,173,2.148,201,3.445,203,2.687,204,2.88,205,2.961,206,2.949,207,2.937,208,2.735,209,2.805,218,3.966,219,2.903,220,2.837,225,4.758,226,1.082,236,1.206,239,1.738,292,3.756,349,0.763,413,2.987,437,0.977,490,3.526,521,2.926,573,5.025,687,4.873,762,4.875,996,3.573,997,3.453,998,3.531,999,3.731,1076,4.947,1077,4.572,1170,5.406,1171,6.843,1174,7.473,1726,3.172,2024,3.453,2681,3.976,4956,5.108,5624,5.025,11207,7.403,11208,7.403,11209,5.406,11210,7.585,11211,5.298,11213,7.096,11217,7.242,11218,7.242,11219,7.242,11221,5.108,11232,9.136,11233,5.527,11234,5.527,11235,5.406,11273,8.745,11276,8.917,11278,5.406,11280,7.403,11387,6.489,11388,5.663,11389,6.489,12617,5.527,15662,10.455,15675,6.217,15678,9.181,15679,6.854,15680,6.489,15681,6.489,15682,11.172,15683,7.408,15684,7.408,15685,7.408]],["title/entities/Material.html",[154,1.378,12697,4.399]],["body/entities/Material.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.094,27,0.549,30,0.001,32,0.172,33,0.543,47,1.01,95,0.108,96,1.736,101,0.017,103,0,104,0,105,1.071,112,0.699,138,2.387,153,2.606,154,1.832,155,2.133,172,4.406,173,1.902,174,3.47,175,2.932,180,1.137,181,1.771,182,2.077,238,3.666,1262,3.97,1271,3.546,1717,3.145,2784,3.109,3601,4.577,3631,4.2,5844,7.371,5894,4.603,6446,3.548,6790,4.449,6791,4.048,7385,4.147,12697,5.847,12700,4.317,12708,7.586,12926,7.172,12927,5.504,12928,9.199,12929,9.199,12930,8.921,12931,9.199,12932,9.199,12933,9.199,12934,5.504,12935,4.787,12936,5.504,12937,5.504,12938,5.312,12939,5.504,12940,5.504,12941,5.504,12942,5.504,12943,5.504,12944,5.504,12945,5.504,12946,5.504,12947,5.504,12948,5.504,12949,5.504,12950,5.504,15686,6.56,15687,6.56,15688,6.56,15689,6.56,15690,6.56,15691,6.56,15692,6.56,15693,6.56,15694,6.56,15695,6.56]],["title/classes/MaterialFactory.html",[0,0.232,15696,6.357]],["body/classes/MaterialFactory.html",[0,0.173,2,0.567,3,0.011,4,0.011,5,0.006,7,0.074,8,0.924,27,0.54,29,1.046,30,0.001,31,0.72,32,0.174,33,0.602,34,1.523,35,1.499,47,0.537,55,2.407,59,3.337,95,0.09,101,0.008,103,0,104,0,112,0.585,120,3.23,133,2.629,140,2.796,153,2.487,154,2.174,155,2.487,177,1.422,180,1.326,271,4.665,319,3.23,349,0.528,379,0.648,382,3.896,413,2.302,437,0.676,447,7.196,448,4.581,449,5.571,452,4.203,453,5.571,454,5.704,455,4.203,456,4.203,457,4.203,458,4.136,459,4.605,460,5.025,461,6.497,462,5.864,463,7.038,464,2.842,469,2.819,470,4.203,471,2.842,472,5.244,473,5.398,474,4.3,475,5.104,476,4.169,477,2.819,478,2.672,479,4.167,480,3.367,481,2.752,482,2.711,483,2.819,484,5.172,485,2.842,486,3.644,487,4.945,488,2.819,489,6.922,490,4.301,491,6.653,492,2.842,493,4.462,494,2.819,495,2.842,496,2.819,497,2.842,498,2.819,499,3.165,500,2.972,501,2.819,502,6.149,503,2.842,504,2.819,505,4.203,506,3.956,507,4.203,508,2.842,509,2.731,510,2.711,511,2.27,512,2.819,513,2.819,514,2.819,515,2.842,516,2.842,517,1.934,518,2.819,519,1.578,520,2.842,521,3.02,522,2.819,523,2.842,526,3.001,934,5.518,1262,2.672,1271,1.601,3601,3.081,5844,3.328,12697,6.941,12708,3.425,12926,4.027,12928,4.153,12929,4.153,12930,4.027,12931,4.153,15696,8.459,15697,5.128,15698,4.745,15699,5.128]],["title/injectables/MaterialsRepo.html",[539,0.921,15700,6.357]],["body/injectables/MaterialsRepo.html",[0,0.278,3,0.018,4,0.018,5,0.009,7,0.118,8,1.286,10,4.322,12,4.779,18,5.323,26,2.147,27,0.532,29,0.987,30,0.001,31,0.712,32,0.161,33,0.596,34,1.372,35,1.509,36,2.523,40,3.97,49,3.969,95,0.139,101,0.013,103,0.001,104,0.001,154,1.652,155,3.459,180,1.844,226,1.203,262,2.914,349,0.848,382,3.709,479,5.123,539,1.425,541,1.975,679,7.716,685,4.453,686,4.828,687,5.786,711,4.916,712,4.969,713,4.916,714,4.969,715,5.677,716,4.916,717,4.969,718,4.386,3697,5.677,12697,6.811,15698,7.618,15700,9.842,15701,8.234,15702,8.234]],["title/interfaces/Meta.html",[105,0.7,11930,4.737]],["body/interfaces/Meta.html",[3,0.019,4,0.019,5,0.01,7,0.125,30,0.001,32,0.17,34,1.448,47,1.003,55,2.68,101,0.021,103,0.001,104,0.001,105,1.387,107,2.039,112,0.843,119,1.802,284,2.631,347,4.594,479,3.186,986,5.64,991,8.62,1025,5.039,3122,3.756,4600,5.895,6722,5.137,11925,6.484,11926,6.643,11927,6.484,11928,6.484,11929,6.643,11930,8.764,11931,9.714,11932,9.714,11933,6.484,11934,6.643,11935,6.342,11936,6.484,11937,6.643,11938,6.484]],["title/modules/MetaTagExtractorApiModule.html",[201,1.845,15703,5.563]],["body/modules/MetaTagExtractorApiModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.159,101,0.014,103,0.001,104,0.001,201,3.276,203,3.214,204,3.445,205,3.542,206,3.528,207,3.513,208,4.502,209,3.355,214,6.275,218,4.456,219,3.472,220,3.393,222,5.534,223,4.647,225,4.438,226,1.294,259,3.393,1341,2.848,1752,6.342,1826,7.445,2764,4.2,11465,6.773,11466,8.901,11930,6.111,14021,7.176,15703,11.375,15704,8.862,15705,8.862,15706,8.862,15707,10.573,15708,11.298,15709,8.199,15710,10.684,15711,8.199,15712,8.862]],["title/controllers/MetaTagExtractorController.html",[259,2.631,15710,6.018]],["body/controllers/MetaTagExtractorController.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.219,27,0.313,29,0.601,30,0.001,31,0.434,32,0.171,33,0.363,35,0.919,36,2.159,95,0.156,100,2.584,101,0.012,103,0.001,104,0.001,138,1.361,150,1.711,177,1.411,223,3.163,226,1.108,236,1.235,259,2.905,261,3.638,262,2.498,270,5.926,294,6.078,324,5.112,335,6.085,336,7.536,337,3.954,338,4.042,339,7.021,341,7.021,343,4.073,345,2.41,346,4.531,347,4.093,349,1.166,437,1.494,608,1.756,739,4.358,824,3.583,1226,4.863,1877,6.734,2232,4.278,2764,3.596,2933,5.537,2935,7.523,2956,8.894,2962,6.385,3283,5.959,5588,8.462,8902,7.707,11464,10.571,11465,7.707,11466,9.617,11930,7.809,12866,8.165,12930,5.959,13938,8.656,14021,9.171,15708,9.503,15710,8.833,15713,10.084,15714,7.588,15715,7.588,15716,7.588,15717,7.588,15718,7.588,15719,7.021,15720,7.588,15721,9.92,15722,7.588,15723,7.588,15724,7.588,15725,7.588,15726,7.588,15727,7.588]],["title/modules/MetaTagExtractorModule.html",[201,1.845,15707,5.395]],["body/modules/MetaTagExtractorModule.html",[0,0.276,3,0.018,4,0.018,5,0.009,30,0.001,95,0.164,101,0.013,103,0.001,104,0.001,201,3.15,203,2.956,204,3.169,205,3.258,206,3.245,207,3.232,208,4.329,209,4.44,214,6.14,218,4.224,219,3.194,220,3.121,225,4.207,226,1.191,239,1.912,560,3.354,598,4.724,964,4.724,1341,2.619,1380,8.935,3513,5.621,3590,10.069,3593,8.037,3998,7.058,11212,5.829,11220,5.829,11221,5.621,11377,7.541,11465,6.23,11466,8.558,11930,5.621,15707,11.171,15709,7.541,15728,8.151,15729,8.151,15730,8.151,15731,8.151,15732,11.78,15733,8.151,15734,8.151,15735,8.151,15736,8.151]],["title/classes/MetaTagExtractorResponse.html",[0,0.232,15721,6.018]],["body/classes/MetaTagExtractorResponse.html",[0,0.354,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,27,0.528,29,0.635,30,0.001,31,0.459,32,0.166,33,0.639,47,0.952,95,0.137,101,0.012,103,0.001,104,0.001,112,0.8,138,2.212,148,2.49,150,1.808,153,2.935,245,3.29,247,3.451,248,4.181,379,1.321,774,4.094,1262,4.471,1271,3.993,2779,7.48,2782,7.357,2784,3.802,3283,7.56,6446,4.339,6470,6.732,6791,4.951,8704,6.883,11465,10.026,11466,10.221,15234,6.496,15721,11.205,15737,13.117,15738,8.022,15739,8.022,15740,8.022,15741,8.022,15742,8.022,15743,8.022,15744,8.022]],["title/injectables/MetaTagExtractorService.html",[539,0.921,15732,5.765]],["body/injectables/MetaTagExtractorService.html",[0,0.197,3,0.013,4,0.013,5,0.006,7,0.084,8,1.016,27,0.445,29,0.854,30,0.001,31,0.617,32,0.148,33,0.516,35,1.306,36,2.308,47,0.933,55,1.718,95,0.127,101,0.013,103,0,104,0,153,2.621,226,0.852,236,1.368,239,1.369,262,2.625,274,3.521,282,5.249,284,1.766,349,1.226,360,2.958,437,1.712,480,1.623,486,1.757,529,1.67,539,1.126,541,1.4,556,3.124,578,3.56,579,4.511,603,2.641,608,1.945,696,3.268,990,2.881,1079,3.448,1242,4.546,1262,4.593,1271,3.715,2171,6.229,2723,4.023,5797,5.398,9425,4.258,11465,8.733,11466,9.472,15732,7.053,15745,11.426,15746,5.835,15747,7.777,15748,8.405,15749,8.405,15750,8.405,15751,8.405,15752,5.835,15753,8.405,15754,12.265,15755,10.78,15756,5.835,15757,8.405,15758,8.405,15759,5.835,15760,8.405,15761,5.835,15762,8.405,15763,8.267,15764,8.267,15765,7.777,15766,5.835,15767,5.835,15768,9.852,15769,5.835,15770,5.835,15771,5.835,15772,5.835,15773,5.835,15774,5.835,15775,5.835,15776,5.835,15777,5.835,15778,5.835,15779,5.835,15780,5.835,15781,5.835,15782,5.835,15783,5.835,15784,5.835,15785,5.835,15786,5.835,15787,8.405,15788,5.835,15789,8.405,15790,8.405,15791,8.405,15792,5.835]],["title/injectables/MetaTagExtractorUc.html",[539,0.921,15708,5.765]],["body/injectables/MetaTagExtractorUc.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.305,26,2.535,27,0.445,29,0.855,30,0.001,31,0.617,32,0.14,33,0.516,35,1.02,36,2.31,39,2.262,47,0.837,95,0.148,99,1.362,101,0.013,103,0.001,104,0.001,177,2.007,226,1.23,236,1.37,262,2.627,349,0.867,379,1.363,437,1.111,529,2.41,539,1.446,541,2.02,560,3.465,579,4.52,603,2.229,608,2.498,739,4.664,990,2.886,1242,4.555,1262,4.163,1758,7.078,1855,5.138,1877,7.208,2171,4.591,2517,6.145,11465,9.104,11466,9.697,15708,9.057,15711,7.791,15732,11.338,15747,9.986,15793,11.911,15794,8.421,15795,8.421,15796,10.793,15797,8.421,15798,8.421]],["title/classes/MetadataTypeMapper.html",[0,0.232,15799,6.357]],["body/classes/MetadataTypeMapper.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,8,1.395,27,0.387,29,0.742,30,0.001,31,0.536,32,0.15,33,0.448,35,1.135,95,0.148,99,1.516,101,0.014,103,0.001,104,0.001,226,1.369,236,1.878,349,0.965,413,3.766,437,1.523,529,2.682,1664,3.51,2647,6.398,3255,7.297,6766,10.13,6844,7.589,6863,8.118,11193,7.589,13082,9.003,13085,6.259,13086,6.168,15799,10.68,15800,11.544,15801,8.21,15802,11.544,15803,11.544,15804,8.21,15805,8.672]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.232,14584,5.563]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.409,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.418,29,0.606,30,0.001,31,0.437,32,0.099,33,0.366,35,0.926,47,0.885,52,5.482,55,1.562,59,2.353,95,0.12,101,0.019,103,0.001,104,0.001,157,4.774,180,2.183,226,1.117,239,2.666,349,1.171,379,0.965,590,6.254,654,3.422,936,4.895,1025,4.507,1147,3.684,1338,5.838,1339,6.516,1341,2.457,1343,6.435,2680,5.873,4541,6.051,4565,5.133,8829,6.562,8830,6.812,8928,10.48,13754,5.272,14571,6.191,14572,9.539,14573,5.703,14574,10.198,14575,10.157,14577,10.157,14579,6.415,14580,6.415,14581,6.191,14582,8.504,14583,5.579,14584,8.206,15806,7.645,15807,7.645]],["title/classes/MigrationBody.html",[0,0.232,14783,6.018]],["body/classes/MigrationBody.html",[0,0.36,2,0.913,3,0.018,4,0.018,5,0.009,7,0.118,27,0.487,30,0.001,32,0.153,33,0.632,52,6.373,95,0.126,101,0.013,103,0.001,104,0.001,112,0.815,119,2.741,138,2.116,142,5.158,143,2.928,144,4.285,145,3.714,147,6.743,148,2.561,150,1.86,153,2.706,245,3.206,249,4.884,517,4.985,654,3.979,2493,7.009,5552,9.899,8184,6.82,10317,8.203,12675,7.946,14783,9.33,14845,9.016,14846,9.016,14847,9.016,15808,8.25,15809,8.25,15810,8.25,15811,8.25]],["title/injectables/MigrationCheckService.html",[539,0.921,15812,5.765]],["body/injectables/MigrationCheckService.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.219,26,2.436,27,0.416,29,0.799,30,0.001,31,0.577,32,0.131,33,0.482,35,0.919,36,2.159,47,0.907,48,5.786,95,0.148,99,1.228,101,0.012,103,0.001,104,0.001,119,1.574,128,4.621,145,2.132,177,2.106,226,1.108,227,3.149,239,1.78,262,2.498,349,1.166,379,1.273,437,1.592,539,1.351,541,1.82,593,4.226,603,2.339,608,2.621,654,3.409,1959,7.629,1961,7.452,1963,4.278,1964,5.685,3603,3.822,4565,5.114,4578,6.543,4580,7.072,4590,7.523,4822,7.633,7322,5.371,8980,5.067,8989,7.159,10187,6.145,14971,6.368,15812,8.462,15813,11.325,15814,7.588,15815,9.329,15816,10.35,15817,7.588,15818,10.084,15819,7.588,15820,6.647,15821,8.165,15822,7.021,15823,6.647,15824,7.588,15825,10.084,15826,7.021]],["title/classes/MigrationDto.html",[0,0.232,14799,4.913]],["body/classes/MigrationDto.html",[0,0.339,2,1.109,3,0.022,4,0.022,5,0.011,7,0.144,27,0.496,29,0.794,30,0.001,31,0.573,32,0.156,33,0.479,47,0.844,101,0.015,103,0.001,104,0.001,112,0.92,128,5.255,379,1.265,2119,8.358,2135,8.408,4565,5.816,14799,9.768,15827,10.019,15828,12.022,15829,12.022,15830,9.27,15831,10.019]],["title/injectables/MigrationMapper.html",[539,0.921,14763,5.765]],["body/injectables/MigrationMapper.html",[0,0.317,3,0.02,4,0.02,5,0.01,7,0.135,8,1.395,27,0.387,29,0.742,30,0.001,31,0.536,32,0.121,33,0.448,35,1.135,95,0.148,100,3.192,101,0.014,103,0.001,104,0.001,226,1.369,236,1.525,349,0.965,437,1.236,539,1.547,541,2.248,662,3.872,790,4.72,824,4.102,10317,7.596,14763,9.687,14791,10.572,14792,7.865,14793,8.21,14794,10.857,14845,7.164,14846,7.164,14847,7.164,14968,7.865,14970,7.865,15832,9.373,15833,10.112,15834,10.112,15835,9.373,15836,9.373,15837,9.373,15838,9.373,15839,9.373,15840,9.373]],["title/classes/MigrationMayBeCompleted.html",[0,0.232,15841,6.357]],["body/classes/MigrationMayBeCompleted.html",[0,0.31,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,8,1.378,27,0.47,29,0.727,30,0.001,31,0.525,32,0.119,33,0.439,35,1.112,52,4.428,59,2.826,95,0.108,101,0.014,103,0.001,104,0.001,119,2.571,177,1.708,284,2.779,345,2.916,349,0.946,379,1.16,590,5.666,654,2.764,1025,3.64,1147,3.469,1338,5.746,1339,6.414,1341,2.951,1343,6.445,3291,5.602,4565,5.597,8829,6.459,8830,6.705,13011,9.045,13043,7.018,15841,10.546,15842,11.468,15843,8.495,15844,8.495,15845,8.495,15846,8.495,15847,8.495,15848,7.435]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.232,15849,6.357]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.311,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,8,1.38,27,0.471,29,0.729,30,0.001,31,0.526,32,0.119,33,0.44,35,1.115,52,4.438,59,2.833,95,0.109,101,0.014,103,0.001,104,0.001,119,2.573,177,1.711,284,2.786,345,2.923,349,0.948,379,1.162,654,2.77,1025,3.649,1147,3.474,1338,5.752,1339,6.42,1341,2.957,1343,6.45,4565,5.603,8829,6.466,8830,6.711,13011,9.055,13043,7.034,15842,11.48,15843,8.515,15844,8.515,15845,8.515,15846,8.515,15847,8.515,15848,7.452,15849,10.561,15850,7.452]],["title/classes/MigrationResponse.html",[0,0.232,14794,5.563]],["body/classes/MigrationResponse.html",[0,0.25,2,0.82,3,0.016,4,0.016,5,0.008,7,0.106,27,0.529,29,0.587,30,0.001,31,0.424,32,0.181,33,0.645,52,6.57,83,4.144,95,0.088,101,0.011,103,0.001,104,0.001,112,0.759,119,2.058,138,2.235,149,4.808,150,1.67,153,2.859,245,2.552,271,2.744,379,0.936,821,3.434,1277,6.681,2493,6.53,6497,6.627,8184,7.653,10317,8.621,11545,7.793,12675,7.403,14794,10.091,14810,8.692,14845,8.553,14846,8.553,14847,8.553,14968,9.39,14970,9.39,15851,7.408,15852,9.924,15853,9.181,15854,8.692,15855,7.408,15856,7.408,15857,7.408,15858,7.408,15859,6.854,15860,6.854,15861,6.854,15862,6.854,15863,6.854,15864,6.854,15865,6.854,15866,6.854,15867,6.854,15868,6.854]],["title/classes/MissingSchoolNumberException.html",[0,0.232,14581,5.563]],["body/classes/MissingSchoolNumberException.html",[0,0.409,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.418,29,0.606,30,0.001,31,0.437,32,0.099,33,0.366,35,0.926,47,0.885,52,5.482,55,1.562,59,2.353,95,0.12,101,0.019,103,0.001,104,0.001,157,4.774,180,2.183,226,1.117,239,2.666,349,1.171,379,0.965,590,6.254,654,3.422,936,4.895,1025,4.507,1147,3.684,1338,5.838,1339,6.516,1341,2.457,1343,6.435,2680,5.873,4541,6.051,4565,5.133,8829,6.562,8830,6.812,8928,10.48,13754,5.272,14571,6.191,14572,9.539,14573,5.703,14574,10.198,14575,10.157,14577,10.157,14579,6.415,14580,6.415,14581,8.206,14582,8.504,14583,5.579,14584,6.191,15869,7.645,15870,7.645]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.232,15871,6.357]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.22,2,0.721,3,0.014,4,0.014,5,0.007,7,0.094,8,1.099,27,0.533,29,0.897,30,0.001,31,0.373,32,0.174,33,0.501,35,1.101,47,0.89,55,1.332,95,0.141,101,0.01,103,0,104,0,112,0.696,131,2.477,138,2.137,177,2.52,180,1.576,182,2.064,226,0.952,284,1.973,340,3.162,347,2.356,349,0.671,363,6.718,379,1.148,382,3.675,437,0.86,480,1.813,564,2.846,603,1.878,821,5.251,824,2.316,936,4.173,951,4.907,988,2.843,990,3.883,1025,4.491,1147,2.767,1269,8.097,1270,6.011,1271,3.536,1272,6.703,1276,4.229,1277,3.643,1278,4.229,1279,4.229,1280,4.229,1281,4.229,1282,4.229,1283,3.933,1284,3.708,1290,4.12,1338,4.853,1339,5.417,1341,2.095,1343,5.632,1650,5.903,1899,6.385,1901,3.24,2548,4.02,2566,2.913,2616,7.351,2651,4.353,3294,3.675,3736,5.709,3930,4.982,5530,7.362,5966,4.353,8829,5.455,8830,5.663,9276,4.12,9283,3.814,9284,3.977,9438,5.709,11322,6.03,15871,8.411,15872,10.47,15873,10.47,15874,6.518,15875,6.518,15876,6.518,15877,6.518,15878,5.469,15879,6.518,15880,9.091,15881,10.47,15882,6.518,15883,6.518,15884,6.518]],["title/modules/MongoMemoryDatabaseModule.html",[201,1.845,11273,4.821]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.256,3,0.016,4,0.016,5,0.008,8,0.914,27,0.415,29,0.599,30,0.001,31,0.432,32,0.13,33,0.362,35,1.218,36,2.153,59,2.327,95,0.152,96,2.663,99,1.223,101,0.012,103,0.001,104,0.001,143,1.675,155,2.459,173,2.192,201,3.036,203,2.742,209,2.862,225,3.009,226,1.104,262,2.219,349,1.164,413,3.028,437,1.655,490,4.458,521,2.985,573,5.128,603,1.561,608,1.75,637,5.406,639,3.563,645,5.517,646,5.406,762,4.975,996,3.646,997,3.524,998,3.603,999,3.807,1076,5.049,1077,4.665,1147,2.301,1170,5.517,1171,6.936,1174,8.047,1664,2.831,4956,6.936,7082,4.721,7133,4.975,8054,7.688,11209,8.793,11211,5.406,11213,7.193,11273,7.933,11276,8.99,11388,9.861,15885,11.304,15886,11.304,15887,7.56,15888,7.56,15889,10.99,15890,7.56,15891,10.059,15892,7.56,15893,7.56,15894,7.56,15895,10.059,15896,7.56,15897,6.122,15898,7.56,15899,6.995,15900,7.56,15901,7.56,15902,10.059,15903,7.56]],["title/classes/MongoPatterns.html",[0,0.232,13839,5.765]],["body/classes/MongoPatterns.html",[0,0.321,2,1.052,3,0.021,4,0.021,5,0.011,7,0.136,27,0.392,30,0.001,72,5.258,101,0.015,103,0.001,104,0.001,112,0.891,355,7.36,358,5.205,413,3.789,480,2.644,486,2.861,572,9.143,1108,6.952,1822,6.952,1832,6.399,5541,8.192,8786,9.428,10930,10.199,11951,8.899,13839,9.77,15904,9.504,15905,12.587,15906,11.643,15907,11.643,15908,9.504,15909,11.643,15910,9.77,15911,11.643,15912,11.643,15913,10.772]],["title/classes/MoveCardBodyParams.html",[0,0.232,4071,6.018]],["body/classes/MoveCardBodyParams.html",[0,0.391,2,1.039,3,0.02,4,0.02,5,0.01,7,0.135,27,0.477,30,0.001,32,0.15,47,0.812,55,2.363,95,0.137,101,0.014,103,0.001,104,0.001,112,0.885,138,2.073,142,4.512,143,2.895,144,4.237,145,3.672,148,2.916,150,2.118,245,3.221,808,4.583,3493,8.266,3494,6.718,3499,6.855,4071,10.126,4112,9.572,7226,8.692,15914,11.586,15915,12.523,15916,8.692,15917,9.394,15918,8.229,15919,9.394]],["title/classes/MoveColumnBodyParams.html",[0,0.232,5016,6.018]],["body/classes/MoveColumnBodyParams.html",[0,0.386,2,1.021,3,0.02,4,0.02,5,0.01,7,0.132,27,0.471,30,0.001,32,0.148,34,1.905,47,0.803,55,2.336,95,0.135,101,0.014,103,0.001,104,0.001,112,0.875,138,2.05,142,4.848,143,2.876,144,4.21,145,3.649,148,2.863,150,2.079,153,2.116,245,3.194,808,4.532,1944,4.828,2739,5.188,3493,8.174,3494,6.596,3499,6.731,3876,5.451,4112,9.494,5016,10.012,15914,11.492,15918,8.079,15920,9.224,15921,12.421,15922,9.224,15923,9.224]],["title/classes/MoveContentElementBody.html",[0,0.232,8736,6.018]],["body/classes/MoveContentElementBody.html",[0,0.389,2,1.032,3,0.02,4,0.02,5,0.01,7,0.134,27,0.475,30,0.001,32,0.149,47,0.809,55,2.353,95,0.136,101,0.014,103,0.001,104,0.001,112,0.881,138,2.065,142,4.493,143,2.888,144,4.226,145,3.663,148,2.896,150,2.103,245,3.211,808,4.564,2255,4.78,3493,8.231,3494,6.671,3499,6.808,4112,9.542,7231,7.829,8736,10.083,15916,8.632,15918,8.172,15924,12.484,15925,12.484,15926,9.33,15927,9.33]],["title/classes/MoveElementParams.html",[0,0.232,7619,5.765]],["body/classes/MoveElementParams.html",[0,0.417,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.467,30,0.001,32,0.147,55,2.52,72,4.1,95,0.134,100,3.092,101,0.017,103,0.001,104,0.001,112,0.866,138,2.03,148,2.818,149,4.367,150,2.047,153,2.083,245,3.417,249,4.435,975,4.431,1080,5.813,1942,3.801,2341,5.603,2804,6.029,3493,9.232,3494,6.493,3499,9,3914,6.261,5609,7.619,6088,6.953,7231,7.619,7614,5.74,7619,9.498,7623,6.493,7740,7.352,9194,8.889,15928,11.41,15929,11.637,15930,9.08,15931,9.08]],["title/classes/MoveElementPositionParams.html",[0,0.232,15929,6.018]],["body/classes/MoveElementPositionParams.html",[0,0.405,2,0.945,3,0.019,4,0.019,5,0.01,7,0.123,27,0.495,30,0.001,32,0.155,33,0.521,55,2.726,72,4.919,95,0.129,100,3.71,101,0.017,103,0.001,104,0.001,112,0.834,138,2.151,148,2.652,149,4.203,150,1.926,153,2.499,245,3.355,249,4.268,975,5.317,1080,7.679,1942,4.561,2341,6.723,2804,6.727,3490,10.079,3493,9.032,3494,6.11,3499,8.752,3914,7.512,5609,9.142,6088,6.762,7231,7.171,7614,6.887,7619,7.171,7623,8.576,7740,9.712,15928,11.686,15929,11.063,15932,8.545,15933,8.545,15934,8.545,15935,8.545]],["title/entities/News.html",[154,1.378,7106,3.944]],["body/entities/News.html",[0,0.315,3,0.01,4,0.022,5,0.005,7,0.153,9,3.221,26,1.881,27,0.515,30,0.001,31,0.533,32,0.167,33,0.55,34,1.126,47,0.898,83,2.38,95,0.136,96,2.19,101,0.016,103,0,104,0,105,0.444,112,0.772,138,2.165,143,2.674,144,3.61,154,2.023,155,1.417,160,4.586,170,3.251,172,3.677,173,1.264,174,2.568,175,1.948,180,1.616,181,2.516,182,1.38,236,1.346,239,2.611,349,0.449,355,5.231,358,3.699,381,1.475,403,4.625,413,1.312,459,4.167,480,1.212,486,1.312,521,3.268,563,4.941,643,3.036,644,5.189,654,3.351,655,4.726,839,2.576,996,3.99,997,4.345,998,3.944,999,4.167,1000,4.548,1271,3.332,1289,4.17,1664,1.632,1717,4.469,1723,4.195,1739,3.815,1815,4.446,1832,2.396,1926,2.539,2255,4.086,2565,4.707,2670,4.895,2683,2.576,2739,5.739,2784,2.066,3452,4.659,3454,4.326,3455,4.742,3457,3.117,3458,3.059,3459,3.251,3473,2.602,3606,2.956,3631,2.791,4266,2.287,4358,3.331,4359,3.005,4500,3.181,5094,3.836,5174,4.931,5747,7.361,5932,3.655,5935,5.373,6683,3.059,6770,2.69,6772,2.436,6793,2.63,7000,2.956,7006,2.722,7093,3.251,7094,3.529,7096,4.123,7097,3.529,7098,6.954,7099,6.049,7100,3.529,7101,8.381,7102,6.225,7103,6.173,7104,6.954,7105,6.87,7106,7.685,7107,5.471,7108,6.666,7109,5.471,7110,5.165,7111,5.165,7112,6.049,7113,5.471,7114,3.331,7115,3.331,7116,3.529,7117,3.251,7118,3.529,7119,2.602,7120,2.69,7121,3.331,7122,3.529,7123,3.529,7124,6.498,7125,3.529,7126,6.7,7127,3.529,7128,3.529,7129,5.165,7130,3.331,7131,5.807,7132,3.423,7133,4.446,7134,3.331,7135,3.181,7136,3.331,7137,3.529,15936,4.359,15937,4.359,15938,4.359,15939,4.359,15940,4.359,15941,4.359,15942,4.359,15943,4.359,15944,4.359,15945,4.359,15946,4.359,15947,4.359]],["title/controllers/NewsController.html",[259,2.631,15948,6.018]],["body/controllers/NewsController.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.933,10,4.428,27,0.45,29,0.863,30,0.001,31,0.623,32,0.141,33,0.521,34,1.286,35,1.32,36,2.704,95,0.14,100,4.028,101,0.008,103,0,104,0,112,0.591,138,1.955,150,1.171,154,1.548,177,0.966,223,2.165,226,0.759,236,0.845,239,2.85,247,2.234,259,1.989,261,2.49,262,2.943,270,6.597,271,4.231,274,4.658,294,6.847,310,4,324,4.67,333,3.29,334,3.37,337,2.706,338,2.766,343,2.787,345,1.65,349,1.122,437,1.666,608,2.522,643,3.468,654,3.07,685,4.27,824,2.743,836,7.157,993,4.314,1678,6.222,2617,5.9,2941,7.516,2958,6.441,2962,5.194,2963,2.726,3454,4.942,3779,6.441,4622,4.82,5126,4.71,5539,6.251,5558,4.447,6132,4.473,6861,6.155,7106,7.805,7146,7.142,7279,8.258,7336,3.97,11307,8.258,13620,4.358,14987,4.358,14993,4.358,15948,6.761,15949,5.194,15950,7.234,15951,5.194,15952,5.194,15953,11.066,15954,7.719,15955,5.194,15956,4.805,15957,5.194,15958,7.142,15959,5.194,15960,7.719,15961,5.194,15962,7.719,15963,5.194,15964,8.558,15965,7.719,15966,5.194,15967,4.206,15968,4.549,15969,7.46,15970,4.805,15971,4.206,15972,4.206,15973,4.805,15974,5.194,15975,4.805,15976,4.805,15977,4.805,15978,8.933,15979,4.549,15980,4.805,15981,4.805,15982,4.805,15983,4.805,15984,5.194,15985,5.194,15986,5.194,15987,5.194,15988,5.194,15989,7.719,15990,5.194]],["title/classes/NewsCrudOperationLoggable.html",[0,0.232,15991,6.018]],["body/classes/NewsCrudOperationLoggable.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,8,1.331,26,2.565,27,0.454,29,0.688,30,0.001,31,0.497,32,0.113,33,0.416,35,1.053,39,3.414,95,0.15,99,1.406,101,0.013,103,0.001,104,0.001,177,2.248,191,4.665,284,2.631,349,0.895,379,1.391,603,2.496,1025,3.446,1147,3.352,1338,5.604,1339,6.255,1341,2.793,1343,6.319,2407,10.291,7106,7.979,8262,8.62,8301,7.613,15967,7.038,15968,7.613,15991,9.646,15992,12.088,15993,8.691,15994,8.691,15995,11.759,15996,8.691,15997,8.691,15998,8.041,15999,8.041,16000,8.691]],["title/classes/NewsListResponse.html",[0,0.232,15971,5.563]],["body/classes/NewsListResponse.html",[0,0.265,2,0.588,3,0.012,4,0.025,5,0.006,7,0.076,27,0.454,29,0.421,30,0.001,31,0.534,32,0.169,33,0.526,34,1.919,47,0.859,55,2.737,56,5.555,59,2.417,70,5.801,83,2.686,95,0.136,99,0.86,101,0.012,103,0,104,0,112,0.601,133,1.828,138,1.85,149,3.979,150,1.198,153,3.094,154,2.585,180,1.361,239,2.419,245,3.418,247,2.287,253,3.88,284,3.331,305,3.081,319,2.245,376,3.794,377,3.945,379,0.992,382,3.072,404,2.125,406,3.208,408,3.208,437,1.232,556,1.299,563,3.174,654,3.468,815,7.353,816,6.28,817,4.509,819,2.677,821,4.329,822,2.579,823,2.831,824,1.889,825,3.73,826,5.096,827,4.551,828,3.498,829,2.751,830,3.73,831,3.73,833,3.36,834,2.898,839,2.445,993,2.971,1271,3.22,1568,3.404,1643,3.111,1723,5.229,1739,3.621,1926,1.998,2255,3.949,2368,3.36,2739,5.408,2784,2.519,2918,4.215,2919,4.215,2922,2.549,2958,3.142,3473,3.174,3526,3.966,4359,3.666,4430,7.837,4622,3.319,4706,3.666,5747,6.815,5935,4.974,6792,3.319,7099,5.096,7102,6.237,7103,3.966,7104,6.967,7105,5.577,7106,7.397,7115,4.063,7121,4.063,7131,3.73,7283,6.554,7287,3.142,7288,4.461,7289,4.063,7292,5.028,7295,3.879,10471,3.966,13295,4.305,15971,6.359,15972,9.905,16001,4.918,16002,5.316,16003,5.316,16004,6.359,16005,6.359,16006,7.562,16007,7.266,16008,7.266,16009,4.656,16010,7.266,16011,4.918,16012,4.918,16013,4.175,16014,4.918,16015,4.656,16016,6.879]],["title/classes/NewsMapper.html",[0,0.232,15967,5.563]],["body/classes/NewsMapper.html",[0,0.209,2,0.684,3,0.013,4,0.019,5,0.007,7,0.089,8,1.059,27,0.482,29,0.925,30,0.001,31,0.668,32,0.151,33,0.559,34,1.459,35,1.415,95,0.143,99,1,100,4.341,101,0.01,103,0,104,0,236,1.006,239,1.45,271,3.244,284,2.651,310,3.803,349,1.203,376,2.511,377,2.611,413,4.129,437,1.681,654,3.062,783,4.895,790,3.113,1271,3.176,1340,8.911,1341,1.986,1723,3.133,2255,3.895,2739,5.023,5935,4.665,7099,6.601,7102,6.793,7104,4.611,7105,6.608,7106,7.546,7279,8.961,7283,7.766,7645,8.103,11307,8.961,11309,5.005,12762,8.237,12769,8.536,12770,8.961,15964,9.286,15967,7.092,15972,8.961,16017,6.181,16018,8.759,16019,8.759,16020,8.759,16021,8.759,16022,8.759,16023,6.181,16024,8.759,16025,6.181,16026,8.759,16027,6.181,16028,8.759,16029,6.181,16030,8.759,16031,6.181,16032,5.414,16033,10.173,16034,5.414,16035,5.414,16036,6.181,16037,6.181,16038,6.181,16039,8.759,16040,6.181,16041,6.181,16042,5.718,16043,6.181,16044,6.181,16045,8.103,16046,8.103,16047,6.181,16048,6.181,16049,5.718,16050,6.181,16051,6.181,16052,6.181,16053,8.759,16054,6.181,16055,6.181,16056,6.181,16057,6.181,16058,8.759,16059,8.759,16060,6.181,16061,6.181,16062,6.181]],["title/modules/NewsModule.html",[201,1.845,16063,5.563]],["body/modules/NewsModule.html",[0,0.289,3,0.019,4,0.019,5,0.01,30,0.001,95,0.16,101,0.013,103,0.001,104,0.001,201,3.225,203,3.106,204,3.329,205,3.422,206,3.409,207,3.395,208,4.431,209,4.545,214,6.221,218,4.36,219,3.355,220,3.279,223,4.547,225,4.342,226,1.251,227,3.554,1341,2.752,1752,7.592,2531,3.97,15948,10.516,15969,11.447,15970,7.923,16063,11.499,16064,8.563,16065,8.563,16066,8.563,16067,8.563,16068,10.807,16069,8.563,16070,10.516,16071,8.563,16072,8.563,16073,8.563]],["title/injectables/NewsRepo.html",[539,0.921,16068,5.563]],["body/injectables/NewsRepo.html",[0,0.159,3,0.01,4,0.01,5,0.005,7,0.068,8,0.867,10,2.915,12,3.223,18,3.59,26,2.439,27,0.508,29,0.934,30,0.001,31,0.675,32,0.157,33,0.564,34,1.448,35,1.429,36,2.682,40,2.272,49,2.677,59,2.674,95,0.13,96,1.247,98,2.814,99,0.762,101,0.007,103,0,104,0,112,0.549,153,1.081,154,0.945,155,2.333,173,1.366,180,1.244,226,0.688,236,1.167,262,2.955,310,3.115,319,3.669,333,4.454,349,1.076,382,2.892,437,1.653,479,4.593,480,1.311,486,1.419,490,4.617,539,0.961,541,1.13,590,5.993,603,1.794,604,3.574,608,2.797,654,3.314,679,6.571,685,3.003,686,3.256,687,4.266,711,2.814,712,2.844,713,2.814,714,2.844,715,3.249,716,2.814,717,2.844,718,2.51,723,3.37,741,3.196,849,5.382,1128,3.058,1664,1.765,2093,4.045,2350,5.739,2739,5.486,3454,6.218,3457,6.944,3892,5.809,4381,2.844,4741,3.147,4743,5.134,5515,2.785,5558,3.544,5747,5.235,5932,5.955,5935,3.821,6132,4.158,6402,4.947,6861,4.329,7093,6.481,7106,7.588,7130,6.64,7136,6.64,7150,7.521,7160,5.352,8580,5.235,10114,8.769,10797,6.638,10811,6.638,11311,3.7,13769,8.507,16068,5.809,16074,4.712,16075,8.687,16076,7.174,16077,8.687,16078,7.174,16079,7.174,16080,9.269,16081,4.712,16082,4.712,16083,4.712,16084,7.174,16085,4.712,16086,9.711,16087,4.712,16088,4.712,16089,4.712,16090,7.61,16091,7.174,16092,4.712,16093,9.711,16094,7.174,16095,4.712,16096,4.712,16097,7.174,16098,4.712,16099,4.712,16100,7.174,16101,7.174,16102,4.712,16103,4.712,16104,4.712,16105,8.687,16106,4.712,16107,4.712,16108,4.712]],["title/classes/NewsResponse.html",[0,0.232,15972,5.563]],["body/classes/NewsResponse.html",[0,0.232,2,0.493,3,0.01,4,0.026,5,0.005,7,0.064,27,0.54,29,0.353,30,0.001,31,0.583,32,0.175,33,0.537,34,2.059,47,0.919,55,1.714,56,3.313,70,3.46,83,3.097,95,0.127,99,0.721,101,0.011,103,0,104,0,112,0.526,133,2.363,138,2.327,149,3.638,150,1.004,153,3.081,154,2.72,180,0.772,239,2.632,245,3.304,247,1.916,253,4.144,284,2.08,305,3.982,319,2.902,376,4.14,377,4.303,379,0.868,404,1.78,406,2.688,408,2.688,437,1.106,563,2.66,654,3.655,774,2.273,815,4.24,816,2.428,817,2.557,821,5.629,833,2.816,834,2.428,839,2.611,993,3.84,1271,3.503,1277,3.84,1568,2.852,1643,4.021,1723,5.688,1739,4.348,1926,2.582,2255,4.296,2368,4.343,2739,5.693,2784,2.111,2917,2.931,2918,5.061,2919,5.061,2921,2.632,2922,3.294,2958,4.061,3473,2.66,3526,5.126,4359,3.071,4430,7.039,4622,4.291,4706,4.738,5747,7.435,5935,5.427,6408,4.121,6792,2.781,7099,5.443,7102,6.804,7103,3.323,7104,7.601,7105,6.084,7106,7.786,7115,3.404,7121,3.404,7131,3.126,7283,7.15,7287,4.061,7288,5.766,7289,5.252,7292,6.038,7295,5.014,10471,3.323,13295,3.607,15971,3.607,15972,9.383,16001,4.121,16004,6.793,16005,6.793,16006,8.25,16007,7.761,16008,7.761,16009,3.901,16010,7.761,16011,4.121,16012,4.121,16013,3.498,16014,4.121,16015,6.019,16016,8.26,16109,4.454,16110,4.454,16111,4.454,16112,4.454,16113,4.454,16114,4.454,16115,4.454,16116,4.454,16117,4.454,16118,4.454,16119,4.454,16120,4.454,16121,4.454,16122,4.454,16123,4.454,16124,4.454]],["title/classes/NewsScope.html",[0,0.232,16090,6.018]],["body/classes/NewsScope.html",[0,0.216,2,0.708,3,0.014,4,0.014,5,0.007,7,0.092,8,1.084,26,2.267,27,0.539,29,0.89,30,0.001,31,0.643,32,0.163,33,0.537,35,1.486,83,2.581,95,0.14,96,1.693,99,1.034,101,0.01,103,0,104,0,112,0.686,119,2.149,173,1.854,180,1.555,236,1.46,310,4.878,349,1.218,382,3.523,437,1.367,480,1.779,486,1.925,519,1.968,556,1.562,603,2.533,696,2.486,708,2.566,739,2.763,1731,4.77,1818,7.502,2350,6.992,2739,2.902,3657,5.916,3659,5.178,4381,3.859,5558,5.401,5932,5.605,5935,3.406,6242,5.991,6243,5.991,6244,5.991,6249,5.991,6250,5.991,6251,4.337,6252,4.27,6253,4.337,6254,4.337,6263,4.27,6264,5.991,6265,4.337,6266,4.27,6267,4.337,6268,4.27,6269,7.502,7102,5.991,7105,3.818,7106,5.15,8499,5.022,10114,5.366,10119,5.916,10130,4.888,10851,5.601,10858,5.601,13864,7.264,13867,8.3,16080,9.097,16090,11.596,16125,10.946,16126,8.971,16127,11.234,16128,8.971,16129,11.234,16130,8.971,16131,6.395,16132,8.971,16133,6.395,16134,5.916,16135,6.395,16136,6.395,16137,6.395,16138,6.395,16139,6.395,16140,6.395,16141,6.395]],["title/interfaces/NewsTargetFilter.html",[105,0.7,16080,5.563]],["body/interfaces/NewsTargetFilter.html",[3,0.022,4,0.022,5,0.011,7,0.147,26,2.714,30,0.001,32,0.158,95,0.121,99,1.653,101,0.016,103,0.001,104,0.001,105,1.042,107,2.397,112,0.931,2739,4.639,7099,8.724,7105,8.028,10118,11.777,16080,9.851,16125,9.456,16142,10.221]],["title/injectables/NewsUc.html",[539,0.921,15969,5.563]],["body/injectables/NewsUc.html",[0,0.113,3,0.007,4,0.007,5,0.004,7,0.048,8,0.659,10,2.215,25,4.776,26,2.77,27,0.459,29,0.881,30,0.001,31,0.636,32,0.148,33,0.532,34,1.667,35,1.455,36,2.571,39,3.571,47,0.486,59,1.678,83,2.301,95,0.118,98,1.989,99,0.539,101,0.005,103,0,104,0,119,1.436,153,0.764,226,0.486,227,1.382,236,0.887,239,1.279,262,2.891,271,4.004,333,5.12,349,1.145,359,4.177,379,0.688,381,1.845,413,2.084,437,1.658,480,1.926,486,2.657,490,3.555,517,2.611,521,1.315,539,0.73,541,0.799,556,1.691,593,2.583,603,2.514,608,2.999,643,3.11,654,1.003,662,3.768,685,2.283,696,1.295,721,2.08,933,3.022,993,1.861,996,1.606,997,1.552,998,1.587,1218,1.261,1341,1.07,1673,3.364,1723,5.997,1758,3.687,1759,6.714,1815,3.588,1984,1.816,2312,4.152,2407,2.697,2531,1.544,2739,4.006,2773,5.265,2958,3.222,3122,2.356,3309,2.105,4266,2.987,4603,3.978,5558,4.26,5935,1.774,6861,2.01,7099,5.192,7102,6.973,7105,6.64,7106,7.748,7150,4.882,7222,2.545,7283,7.021,7295,2.43,9345,5.436,10088,5.044,10095,5.044,10114,8.396,10118,4.776,10545,2.545,11309,7.147,12762,6.479,12769,6.714,12770,8.102,13329,2.615,13615,4.776,14257,2.917,15195,5.809,15969,4.415,15979,4.776,15991,2.917,15995,3.081,15998,3.081,16009,2.917,16042,3.081,16045,7.402,16046,7.402,16049,5.044,16068,7.675,16080,4.415,16143,3.33,16144,6.922,16145,5.452,16146,5.452,16147,5.452,16148,6.922,16149,3.33,16150,3.33,16151,5.044,16152,3.33,16153,3.33,16154,3.33,16155,3.33,16156,5.452,16157,6.063,16158,5.452,16159,3.33,16160,5.452,16161,3.33,16162,9.478,16163,3.33,16164,5.452,16165,3.33,16166,5.044,16167,3.33,16168,5.605,16169,3.33,16170,5.452,16171,3.33,16172,3.33,16173,3.33,16174,5.452,16175,6.922,16176,3.33,16177,3.33,16178,8.001,16179,3.33,16180,5.452,16181,3.33,16182,5.452,16183,3.33,16184,3.33,16185,3.33,16186,3.33,16187,5.452,16188,3.33,16189,3.33,16190,3.33,16191,5.452,16192,6.922,16193,3.33,16194,3.33,16195,3.33,16196,3.33,16197,3.33,16198,3.33,16199,3.33,16200,3.33,16201,3.33,16202,3.33,16203,5.452,16204,3.33,16205,3.33,16206,3.33,16207,5.452,16208,3.33,16209,3.33,16210,3.33,16211,3.33,16212,3.33]],["title/classes/NewsUrlParams.html",[0,0.232,15953,6.018]],["body/classes/NewsUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,3876,5.849,7106,6.851,15953,10.453,16213,9.897,16214,12.812,16215,9.897]],["title/injectables/NexboardService.html",[539,0.921,15055,6.018]],["body/injectables/NexboardService.html",[0,0.27,3,0.017,4,0.017,5,0.009,7,0.114,8,1.26,26,2.484,27,0.43,29,0.825,30,0.001,31,0.596,32,0.15,33,0.498,34,1.329,35,0.966,36,2.23,39,3.117,47,0.95,94,3.965,95,0.145,101,0.016,103,0.001,104,0.001,145,2.241,153,2.823,177,1.483,226,1.165,236,1.298,262,2.56,284,2.414,345,2.533,349,1.073,379,1.007,437,1.531,539,1.396,541,1.913,560,3.282,579,4.28,603,1.647,608,1.846,685,3.339,990,3.571,1242,4.314,1262,2.787,1271,3.841,1341,2.563,1944,3.369,2312,4.816,2313,5.614,2501,3.801,8942,6.986,8943,9.556,8952,7.379,8954,7.379,10167,7.379,12703,7.451,15055,9.127,16216,7.975,16217,11.605,16218,7.975,16219,7.975,16220,7.975,16221,7.975,16222,10.42,16223,7.975,16224,7.975,16225,7.975,16226,7.975]],["title/interfaces/NextcloudGroups.html",[105,0.7,11927,5.125]],["body/interfaces/NextcloudGroups.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.54,47,0.979,55,2.541,101,0.021,103,0.001,104,0.001,105,1.406,107,2.168,112,0.876,119,1.917,284,2.798,347,3.341,479,3.388,986,5.999,991,6.27,1025,3.665,3122,3.995,4600,6.27,6722,7.679,11925,6.897,11926,7.066,11927,8.539,11928,6.897,11929,7.066,11930,8.573,11931,7.066,11932,7.066,11933,6.897,11934,7.066,11935,6.746,11936,6.897,11937,7.066,11938,6.897]],["title/injectables/NextcloudStrategy.html",[539,0.921,4675,6.018]],["body/injectables/NextcloudStrategy.html",[0,0.104,3,0.007,4,0.007,5,0.003,7,0.044,8,0.617,27,0.446,29,0.801,30,0.001,31,0.662,32,0.131,33,0.484,34,1.749,35,1.271,36,2.588,39,1.372,47,0.918,55,1.728,62,3.018,72,1.389,95,0.137,99,0.498,100,2.596,101,0.005,103,0,104,0,112,0.391,153,2.092,177,1.696,226,0.449,236,0.501,239,1.983,262,2.797,273,3.903,276,1.335,280,3.521,301,3.41,305,1.782,333,4.473,349,0.995,379,0.645,413,2.745,437,1.645,448,4.574,473,2.72,517,1.16,529,0.88,539,0.684,541,0.738,562,5.256,564,0.963,579,1.651,593,1.148,603,2.344,608,2.975,654,1.537,696,1.196,708,1.234,765,1.996,933,2.83,936,1.969,938,1.782,975,5.645,1057,3.903,1147,1.554,1242,2.762,1312,1.996,1341,0.988,1461,2.158,1520,3.726,1723,1.559,1726,1.317,1794,1.969,1820,1.856,1834,2.199,1901,1.529,1953,3.726,2205,3.651,2232,5.142,2312,2.119,2313,3.477,2318,1.782,2341,3.151,2368,3.228,2395,1.818,2427,3.188,2494,3.41,2548,2.571,2627,3.255,2830,1.837,2958,1.818,3002,2.086,3122,3.294,3430,2.121,3526,4.884,3600,3.255,3601,2.638,3603,1.549,3606,2.086,3970,6.974,3976,4.724,4600,7.531,4605,4.285,4608,3.463,4610,4.135,4611,4.135,4613,4.135,4614,4.135,4616,5.301,4619,4.135,4620,7.504,4622,8.12,4623,4.135,4627,4.135,4633,2.351,4635,2.415,4655,8.498,4656,2.491,4657,2.694,4658,8.464,4659,7.406,4673,7.051,4674,7.052,4675,4.473,4678,2.846,4679,2.415,4822,5.71,5265,2.581,5554,1.75,5703,1.921,5935,2.72,5953,2.624,6315,1.969,6324,1.898,6349,5.963,7282,2.415,7292,4.88,7322,2.72,7431,4.594,7521,3.188,7715,8.903,8052,4.01,8070,2.121,8176,2.415,8785,2.846,9460,4.9,10144,3.269,10188,6.663,10527,3.115,10926,1.75,12338,2.351,12360,9.08,12405,10.028,12498,4.724,12768,3.41,13381,6.655,15878,2.581,16227,3.076,16228,7.622,16229,7.622,16230,5.106,16231,5.106,16232,5.106,16233,3.076,16234,3.076,16235,7.653,16236,9.12,16237,3.076,16238,3.903,16239,3.076,16240,3.076,16241,5.106,16242,3.076,16243,8.455,16244,7.622,16245,5.106,16246,3.076,16247,3.076,16248,5.494,16249,3.076,16250,4.473,16251,5.106,16252,7.824,16253,3.076,16254,4.285,16255,4.724,16256,4.724,16257,5.106,16258,3.076,16259,3.076,16260,3.076,16261,3.076,16262,10.114,16263,7.622,16264,3.076,16265,2.846,16266,3.076,16267,3.076,16268,3.076,16269,5.106,16270,3.076,16271,5.106,16272,6.547,16273,7.622,16274,5.106,16275,3.076,16276,2.694,16277,2.491,16278,3.076,16279,5.106,16280,3.076,16281,3.076,16282,3.076,16283,3.076,16284,3.076,16285,3.076,16286,5.106,16287,3.076,16288,5.106,16289,3.076,16290,3.076,16291,3.076,16292,2.846,16293,3.076,16294,3.076,16295,3.076,16296,3.076,16297,3.076,16298,3.076,16299,3.076,16300,3.076,16301,3.076,16302,3.076,16303,3.076,16304,3.076,16305,3.076,16306,3.076,16307,3.076,16308,3.076,16309,3.076,16310,3.076,16311,5.106,16312,5.106,16313,3.076,16314,3.076,16315,3.076,16316,3.076,16317,3.076,16318,3.076,16319,3.076,16320,3.076,16321,3.076]],["title/classes/NotFoundLoggableException.html",[0,0.232,4539,4.66]],["body/classes/NotFoundLoggableException.html",[0,0.291,2,0.953,3,0.019,4,0.019,5,0.01,7,0.124,8,1.324,27,0.452,29,0.683,30,0.001,31,0.493,32,0.142,33,0.412,35,1.044,47,0.975,95,0.142,101,0.013,103,0.001,104,0.001,177,2.239,180,1.899,182,2.729,226,1.259,284,2.609,349,0.887,379,1.383,437,1.137,603,2.487,1025,4.343,1147,3.334,1338,5.582,1343,6.299,2681,6.462,4539,7.429,8829,6.602,9276,5.448,9278,6.162,9283,5.043,9284,5.258,11324,7.231,11325,7.231,16322,12.041,16323,12.041,16324,11.14,16325,8.618,16326,12.041,16327,12.041,16328,12.041,16329,8.618,16330,8.618,16331,8.618,16332,8.618,16333,8.618]],["title/injectables/OAuth2ToolLaunchStrategy.html",[539,0.921,16334,5.765]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.162,3,0.01,4,0.01,5,0.005,7,0.069,8,0.877,9,2.28,26,2.235,27,0.538,29,1.022,30,0.001,31,0.738,32,0.172,33,0.617,35,1.563,36,2.463,39,2.355,47,0.869,95,0.124,99,0.774,101,0.007,103,0,104,0,112,0.847,120,3.065,177,1.35,180,1.258,226,0.699,262,2.73,271,2.688,284,3.352,349,0.903,382,3.881,480,2.019,519,2.234,521,3.865,539,0.972,541,1.148,556,2.391,593,3.272,603,2.773,662,3.993,996,4.72,997,4.562,998,4.665,999,4.929,1000,5.379,1262,3.421,1650,2.697,1664,1.792,1898,6.843,1899,6.597,1953,7.142,1954,6.999,2088,5.69,2548,2.448,2587,4.015,2589,4.426,2590,12.346,2591,6.715,2592,8.113,2593,6.715,2594,6.715,2595,6.715,2596,6.715,2597,6.715,2598,6.715,2599,6.715,2600,6.715,2601,6.357,2602,6.357,2603,6.715,2604,6.715,2605,4.426,2606,9.598,2607,4.426,2608,6.715,2609,10.873,2611,6.715,2613,7.358,2614,4.426,2615,6.715,2616,7.466,2617,5.547,2618,4.426,2619,4.426,2620,6.715,2621,6.868,2622,4.426,2623,4.426,2624,6.715,2625,4.426,2626,4.426,2627,4.36,2628,4.426,2629,8.464,2630,4.426,2631,4.426,2632,4.426,2633,4.426,2634,4.191,2635,4.191,2636,4.426,2637,4.426,2638,4.426,2639,3.491,2640,4.426,2641,6.715,2642,6.44,2643,4.426,2644,4.426,2645,6.715,2646,4.426,2647,2.651,2648,6.715,2650,4.426,2651,3.195,2652,4.191,2653,3.757,2665,4.191,16334,6.09,16335,4.784,16336,4.784]],["title/classes/OAuthMigrationError.html",[0,0.232,16337,5.563]],["body/classes/OAuthMigrationError.html",[0,0.249,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,27,0.54,29,0.584,30,0.001,31,0.421,32,0.17,33,0.595,47,1.012,52,4.768,59,3.671,95,0.087,101,0.011,103,0.001,104,0.001,112,0.757,128,4.866,177,2.642,180,1.714,379,1.249,382,3.551,480,2.75,486,2.977,990,3.389,1025,5.078,1691,5.786,3930,5.632,4565,5.385,5554,5.625,7082,6.174,12266,9.355,13949,6.454,14573,5.497,16337,8.006,16338,11.034,16339,9.775,16340,9.775,16341,10.978,16342,13.083,16343,13.083,16344,9.887,16345,9.887,16346,7.368,16347,7.368,16348,7.368,16349,7.368,16350,7.368,16351,6.817,16352,6.817,16353,6.817,16354,6.817,16355,7.368,16356,7.368]],["title/classes/OAuthProcessDto.html",[0,0.232,16357,5.765]],["body/classes/OAuthProcessDto.html",[0,0.329,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.525,29,0.771,30,0.001,31,0.557,32,0.165,33,0.608,47,0.929,101,0.015,103,0.001,104,0.001,112,0.904,379,1.229,824,3.458,1478,7.594,2119,8.253,2135,8.166,6182,9.565,16357,11.371,16358,12.237,16359,9.732,16360,11.812,16361,9.732,16362,9.732,16363,9.732,16364,9.732]],["title/classes/OAuthRejectableBody.html",[0,0.232,5544,5.563]],["body/classes/OAuthRejectableBody.html",[0,0.311,2,0.733,3,0.014,4,0.014,5,0.007,7,0.095,27,0.494,30,0.001,32,0.155,33,0.638,47,0.911,55,1.879,95,0.109,101,0.01,103,0,104,0,112,0.703,135,6.932,138,2.149,142,5.204,144,4.323,145,3.971,148,2.056,150,1.493,153,2.918,245,3.19,248,4.79,249,4.859,282,5.741,287,6.05,347,3.323,348,5.745,662,2.846,843,8.005,951,4.309,990,4.692,1215,5.053,1295,6.709,1306,5.674,1783,8.293,2024,4.285,2424,6.742,3493,6.575,5515,5.434,5544,7.445,5545,8.862,5546,8.862,5547,8.293,5550,6.05,5567,8.958,5568,7.028,5569,8.054,5570,8.054,5571,8.054,5573,6.236,5574,8.719,5575,8.005,5576,7.028,5577,7.445,5578,7.028,5579,7.715,5580,7.445,5582,7.715,5584,7.028,5586,5.802,5587,7.715,5588,7.715,16365,11.475,16366,6.624,16367,6.624,16368,6.624,16369,6.624,16370,6.624,16371,6.624]],["title/classes/OAuthSSOError.html",[0,0.232,12266,4.913]],["body/classes/OAuthSSOError.html",[0,0.278,2,0.909,3,0.018,4,0.018,5,0.009,7,0.118,27,0.532,29,0.651,30,0.001,31,0.47,32,0.167,33,0.393,47,0.996,59,3.27,95,0.125,101,0.013,103,0.001,104,0.001,112,0.813,177,2.614,180,1.842,226,1.2,379,1.038,480,2.955,486,3.198,990,4.035,1025,5.11,1226,5.677,1691,8.343,3930,6.281,5554,6.043,7082,6.634,12266,7.597,16339,10.313,16340,10.313,16341,11.274,16351,7.602,16352,7.602,16353,7.602,16354,7.602,16372,13.202,16373,8.217,16374,10.624,16375,9.829,16376,9.879,16377,8.217,16378,8.217,16379,8.217,16380,7.602,16381,8.217]],["title/injectables/OAuthService.html",[539,0.921,12249,5.251]],["body/injectables/OAuthService.html",[0,0.103,3,0.007,4,0.007,5,0.003,7,0.044,8,0.615,26,1.533,27,0.457,29,0.878,30,0.001,31,0.634,32,0.144,33,0.53,35,1.308,36,2.514,47,1.004,48,5.917,52,4.386,59,2.595,95,0.147,99,0.495,100,1.042,101,0.005,103,0,104,0,105,0.312,119,1.999,121,6.892,128,1.248,133,1.052,143,1.126,177,1.948,226,0.447,236,1.642,238,4.246,239,2.134,262,2.794,284,0.926,310,1.328,349,1.167,360,1.551,379,0.642,437,1.739,529,2.174,539,0.681,541,0.734,556,1.593,593,2.434,603,2.461,608,2.794,639,1.442,654,2.287,951,3.951,990,1.049,1123,1.985,1223,3.635,1262,2.655,1338,1.418,1341,0.983,1387,6.827,1440,2.147,1443,2.282,1462,2.831,1466,2.567,1478,1.827,1482,2.339,1486,1.91,1498,5.073,1568,1.959,1612,3.71,1616,2.866,1628,6.034,1694,3.137,1726,2.177,1959,4.802,1961,4.292,1963,1.725,1964,2.866,2079,1.354,2080,1.512,2081,1.458,2082,1.959,2119,7.009,2312,2.707,2313,3.466,2431,2.11,3134,3.503,3430,3.506,3601,2.049,3603,2.56,4581,2.282,4822,5.376,4956,3.506,4957,2.403,5550,3.345,5554,2.892,6961,1.985,7250,4.453,7322,4.046,8479,2.68,8800,2.282,8980,5.073,8989,6.828,9382,2.147,9825,5.544,9854,2.477,10187,2.477,10669,1.934,11419,3.448,11837,6.152,11880,4.356,12249,3.886,12263,8.516,12266,3.635,12269,4.76,12273,2.68,12276,4.704,12323,5.713,12344,2.282,12345,2.282,12346,4.866,12402,7.354,12661,2.282,13013,2.188,13140,3.71,13171,3.886,13173,2.339,13185,2.339,13402,2.567,13941,3.568,13952,2.831,13957,2.68,14225,2.477,14952,4.453,15153,2.477,15812,8.089,15815,4.704,15820,2.68,15823,4.453,15878,2.567,16277,2.477,16341,7.075,16380,2.831,16382,3.06,16383,6.522,16384,6.522,16385,6.522,16386,4.704,16387,5.084,16388,5.084,16389,5.084,16390,6.522,16391,5.084,16392,8.089,16393,7.57,16394,7.034,16395,7.57,16396,3.06,16397,3.06,16398,7.597,16399,3.06,16400,3.06,16401,3.06,16402,3.06,16403,3.06,16404,5.084,16405,3.06,16406,5.084,16407,8.746,16408,3.06,16409,5.084,16410,3.06,16411,5.084,16412,3.06,16413,3.06,16414,3.06,16415,5.084,16416,3.06,16417,5.084,16418,3.06,16419,2.403,16420,2.68,16421,2.68,16422,2.68,16423,3.06,16424,4.117,16425,2.831,16426,3.06,16427,4.453,16428,3.06,16429,3.06,16430,3.06,16431,3.06,16432,2.831,16433,2.477,16434,3.06,16435,7.597,16436,3.06,16437,3.06,16438,4.704,16439,3.06,16440,4.704,16441,3.06,16442,3.06,16443,3.06,16444,2.831,16445,4.453,16446,3.06,16447,3.06,16448,3.06,16449,2.831,16450,3.06,16451,4.266,16452,3.06,16453,3.06,16454,3.06,16455,3.06,16456,2.831,16457,3.06,16458,3.06,16459,3.06,16460,3.06,16461,3.06,16462,3.06,16463,3.06,16464,5.084,16465,3.06,16466,3.06,16467,2.831,16468,3.06,16469,3.06,16470,3.06,16471,3.06,16472,3.06,16473,3.06,16474,3.06,16475,3.06,16476,4.704,16477,2.831,16478,3.06,16479,3.06,16480,3.06,16481,4.704,16482,3.06,16483,5.084,16484,3.06]],["title/classes/OAuthTokenDto.html",[0,0.232,12269,5.013]],["body/classes/OAuthTokenDto.html",[0,0.321,2,1.049,3,0.021,4,0.021,5,0.011,7,0.136,27,0.541,29,0.751,30,0.001,31,0.542,32,0.17,33,0.454,47,0.962,101,0.015,103,0.001,104,0.001,112,0.89,121,8.275,181,3.138,379,1.197,381,3.209,1498,8.397,12269,9.816,15399,7.957,15400,7.957,16485,13.452,16486,9.482,16487,11.634,16488,11.626,16489,9.482,16490,9.482,16491,8.773,16492,8.773,16493,9.482,16494,9.482]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.232,15373,5.765]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.391,2,1.039,3,0.02,4,0.02,5,0.01,7,0.135,27,0.517,30,0.001,32,0.162,47,0.96,48,6.004,95,0.137,101,0.014,103,0.001,104,0.001,112,0.885,138,2.246,148,2.916,150,2.118,245,3.36,248,5.005,808,4.583,809,6.883,951,5.869,6061,6.855,7579,9.361,12402,7.728,14587,8.229,14588,8.692,15268,8.692,15269,8.692,15373,9.701,16495,13.067]],["title/classes/Oauth2MigrationParams.html",[0,0.232,16496,6.018]],["body/classes/Oauth2MigrationParams.html",[0,0.386,2,1.021,3,0.02,4,0.02,5,0.01,7,0.132,27,0.512,30,0.001,32,0.161,47,0.955,48,5.955,95,0.135,101,0.014,103,0.001,104,0.001,112,0.875,128,5.297,138,2.228,148,2.863,150,2.079,245,3.339,248,4.964,808,4.532,809,6.827,951,5.821,4565,5.863,6061,6.731,7579,9.256,12402,7.665,16496,10.012,16497,12.983,16498,9.224,16499,9.224,16500,9.224,16501,9.224]],["title/injectables/Oauth2Strategy.html",[539,0.921,1429,6.018]],["body/injectables/Oauth2Strategy.html",[0,0.242,3,0.016,4,0.016,5,0.008,7,0.103,8,1.172,27,0.4,29,0.768,30,0.001,31,0.555,32,0.153,33,0.464,35,0.867,36,2.076,47,0.503,48,5.273,66,6.293,94,5.468,95,0.163,101,0.011,103,0.001,104,0.001,105,0.73,120,4.097,122,4.857,141,3.356,177,1.804,180,1.681,182,2.268,226,1.046,236,1.578,239,2.765,262,2.426,270,3.516,292,3.63,294,4.884,324,3.63,345,2.274,349,0.737,379,0.904,425,5.225,437,1.625,528,3.679,529,2.775,539,1.299,541,1.718,593,2.672,603,1.479,608,2.546,617,9.927,631,3.63,951,4.545,1123,6.293,1130,4.073,1429,8.495,1435,5.342,1605,5.342,1877,4.782,2119,4.646,4608,4.857,5550,6.382,7310,5.342,7322,5.166,7325,7.235,7329,5.798,12248,6.272,12249,9.707,12269,7.077,12402,5.985,14010,5.623,14014,8.139,14019,6.009,14508,6.009,14657,8.973,14660,6.625,14674,6.625,15373,8.139,16451,6.009,16502,7.161,16503,7.161,16504,7.161,16505,6.625,16506,8.495,16507,7.161,16508,6.625,16509,6.625,16510,6.625,16511,8.495,16512,6.272,16513,7.161,16514,7.161,16515,7.161]],["title/classes/Oauth2ToolConfig.html",[0,0.232,7520,4.737]],["body/classes/Oauth2ToolConfig.html",[0,0.25,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,27,0.562,29,0.586,30,0.001,31,0.423,32,0.18,33,0.657,47,0.965,95,0.117,101,0.011,103,0.001,104,0.001,112,0.758,119,2.055,180,1.718,181,2.676,182,2.342,379,0.934,381,2.503,382,2.951,564,2.315,1929,3.631,2195,6.36,2546,6.182,2548,4.595,2549,6.205,2550,9.291,2552,6.477,2553,5.54,2554,6.477,2555,6.477,2557,5.288,5558,4.561,5643,5.63,7381,7.158,7415,5.652,7416,5.988,7472,5.016,7473,5.988,7517,9.564,7520,8.588,7528,6.821,7531,8.545,7533,8.34,7539,5.016,13167,5.099,13168,5.517,15465,6.842,15466,6.842,15467,6.842,15468,6.842,15469,6.842,15470,6.842,16516,13.479,16517,9.912,16518,6.477,16519,7.395,16520,6.842,16521,6.842,16522,6.842,16523,6.842,16524,6.842,16525,6.842]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.232,9157,5.765]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.326,2,0.785,3,0.015,4,0.015,5,0.008,7,0.102,27,0.551,30,0.001,32,0.178,33,0.562,47,0.966,95,0.139,101,0.011,103,0.001,104,0.001,112,0.738,119,1.999,138,2.397,147,5.215,148,2.203,149,4.224,150,1.6,180,1.671,245,3.391,248,5.063,249,4.29,382,2.871,564,2.222,852,3.308,1929,3.485,1971,6.145,2195,6.228,2546,6.047,2548,4.509,2553,6.12,2571,8.962,2572,7.829,2573,5.748,2574,5.748,2575,5.748,2576,5.748,2577,5.748,5558,4.467,5590,5.95,5643,5.514,6078,7.035,7381,7.01,7517,9.45,7528,6.68,7531,8.369,7533,8.168,7581,5.425,9155,5.748,9157,8.09,9163,6.217,15477,6.567,15481,6.567,16526,12.198,16527,6.567,16528,7.098,16529,7.098,16530,6.567,16531,6.567,16532,7.098,16533,6.567]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.232,9222,5.563]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.298,2,0.976,3,0.019,4,0.019,5,0.01,7,0.127,27,0.502,29,0.699,30,0.001,31,0.505,32,0.158,33,0.422,47,0.781,95,0.144,96,2.336,101,0.014,103,0.001,104,0.001,112,0.851,119,2.306,138,1.994,172,4.101,173,2.558,180,1.53,181,3.001,379,1.114,381,2.986,403,4.932,564,2.762,1929,4.332,2546,5.861,2548,4.444,2553,4.932,2560,7.404,2562,5.674,2563,9.003,2564,7.729,2565,5.019,2566,3.944,5643,6.13,7381,7.794,7415,6.744,7416,7.145,7539,7.541,9222,10.667,13167,6.084,16518,7.729,16534,12.779,16535,11.118,16536,8.823]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.232,7526,5.765]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.26,2,0.431,3,0.008,4,0.008,5,0.004,7,0.056,8,0.748,27,0.515,29,1.01,30,0.001,31,0.714,32,0.171,33,0.57,34,1.031,35,1.381,47,0.435,55,2.262,59,3.133,95,0.113,101,0.015,103,0,104,0,112,0.473,120,2.613,133,2.127,140,2.124,145,2.463,153,1.765,154,1.544,155,2.012,177,1.15,180,1.519,239,0.914,249,1.526,271,4.838,319,2.613,349,1.228,363,2.196,379,0.492,382,3.668,413,1.862,437,1.625,447,6.611,448,4.101,449,4.817,452,3.4,453,4.817,454,5.104,455,3.4,456,3.4,457,3.4,458,3.346,459,3.875,460,4.23,461,6.272,462,5.171,463,6.597,464,2.159,469,2.141,470,3.4,471,2.159,472,4.535,473,4.668,474,3.718,475,4.414,476,3.373,477,2.141,478,2.03,479,3.73,480,3.08,481,2.09,482,2.059,483,2.141,484,4.473,485,2.159,486,3.333,487,4.162,488,2.141,489,7.345,490,3.934,491,6.085,492,2.159,493,3.019,494,2.141,495,2.159,496,2.141,497,2.159,498,2.141,501,2.141,502,5.505,503,2.159,504,2.141,505,3.4,506,3.201,507,3.4,508,2.159,509,2.075,510,2.059,511,1.724,512,2.141,513,2.141,514,2.141,515,2.159,516,2.159,517,1.469,518,2.141,519,1.199,520,2.159,521,2.443,522,2.141,523,2.159,525,2.236,526,2.279,527,5.18,564,1.219,708,1.563,1130,2.216,1262,1.361,1491,3.62,1901,1.937,1927,2.785,1971,3.587,1984,3.373,2195,4.377,2545,2.842,2548,1.314,2553,2.177,2556,2.733,2616,4.014,2621,2.733,2627,1.937,4374,6.709,4376,2.785,5111,2.107,5493,2.977,5503,2.686,5521,4.615,5523,2.977,5558,3.901,5643,3.116,5953,2.001,5992,2.216,6049,3.154,6054,3.059,6055,2.642,7360,2.563,7366,2.527,7368,2.527,7370,2.527,7381,2.494,7382,2.326,7384,2.351,7456,2.527,7511,5.191,7512,5.419,7514,3.412,7516,2.842,7517,4.615,7518,3.059,7519,2.842,7520,2.686,7521,2.432,7522,3.412,7523,3.412,7524,3.412,7525,6.74,7526,6.457,7527,5.419,7528,3.774,7529,3.154,7530,2.842,7531,2.977,7532,3.412,7533,2.906,7534,3.412,7535,3.412,7536,2.733,7537,5.419,7538,3.412,7539,2.642,7540,3.412,7541,3.412,7542,3.412,7543,2.686,7544,3.412,7545,3.412,7546,3.268,7547,3.412,7548,2.785,7549,4.615,7550,5.419,7551,6.74,7552,3.059,7553,5.419,7554,5.419,7555,3.412,7556,3.268,7557,3.059,7558,5.191,7559,3.412,7560,3.412,7561,3.412,7562,3.412,7563,3.412,7564,5.419,7565,3.412,7566,3.268,7567,2.563,7568,3.268,7569,3.412,7570,3.412,7571,3.412,7572,3.412,16537,6.186,16538,3.895]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.232,9750,5.765]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.239,2,0.781,3,0.015,4,0.015,5,0.008,7,0.101,27,0.551,29,0.559,30,0.001,31,0.404,32,0.178,33,0.639,47,0.948,95,0.129,101,0.011,103,0.001,104,0.001,112,0.735,119,1.992,138,2.362,149,5.151,150,1.592,180,1.666,181,2.593,182,2.236,245,3.434,379,0.892,381,2.39,382,2.861,564,2.211,1929,3.467,2195,6.212,2546,6.04,2548,4.504,2553,6.103,2557,5.049,2566,3.156,2567,5.049,2580,5.718,2581,9.927,2583,6.185,2584,6.185,2585,5.718,5558,4.455,5643,5.499,7381,6.991,7415,5.397,7416,5.718,7472,4.789,7473,5.718,7517,9.435,7531,8.346,7533,8.146,7539,4.789,9750,10.287,13167,4.869,15493,6.533,15494,6.533,15495,6.533,15496,6.533,15497,6.185,16518,6.185,16520,6.533,16521,6.533,16522,6.533,16523,6.533,16524,6.533,16525,6.533,16539,13.168,16540,9.607]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.232,9681,5.765]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.325,2,0.781,3,0.015,4,0.015,5,0.008,7,0.101,27,0.551,30,0.001,32,0.178,33,0.605,47,0.965,95,0.138,101,0.011,103,0.001,104,0.001,112,0.735,119,1.992,138,2.395,147,5.196,148,2.192,149,4.522,150,1.592,180,1.666,245,3.328,248,5.055,249,4.592,382,2.861,564,2.211,852,3.291,1929,3.467,1971,6.138,2195,6.212,2546,6.04,2548,4.504,2553,6.103,2571,8.946,2572,6.87,2573,5.718,2574,5.718,2575,5.718,2576,5.718,2577,5.718,5558,4.455,5590,5.929,5643,5.499,6078,7.968,7381,6.991,7517,9.435,7528,6.662,7531,8.346,7533,8.146,7581,5.397,9681,8.062,9959,5.925,9961,6.185,9963,6.185,9967,6.533,15501,6.533,16526,12.183,16527,6.533,16531,6.533,16533,6.533,16541,7.061,16542,7.061,16543,7.061]],["title/injectables/OauthAdapterService.html",[539,0.921,16392,5.765]],["body/injectables/OauthAdapterService.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,8,1.149,27,0.48,29,0.922,30,0.001,31,0.666,32,0.158,33,0.557,35,1.312,36,2.759,47,0.905,95,0.155,100,2.368,101,0.011,103,0.001,104,0.001,124,3.524,143,1.54,177,1.293,236,1.131,262,2.777,345,2.208,349,1.116,379,0.878,437,1.608,529,1.989,539,1.274,541,1.668,579,3.731,595,4.29,603,2.237,608,2.2,662,3.353,963,8.834,964,4.029,965,5.314,966,4.575,990,2.383,1079,4.109,1242,3.76,1338,3.223,1387,9.429,1616,6.107,1970,6.797,1982,4.879,1984,3.79,2244,9.622,2255,2.662,2279,6.09,3601,2.801,3953,5.46,4004,6.432,7256,8.327,12266,4.971,12273,6.09,12341,5.834,12406,6.448,14394,6.432,14395,6.432,14396,6.09,14397,6.432,16392,7.977,16424,5.63,16449,8.795,16544,12.193,16545,6.952,16546,10.832,16547,10.832,16548,6.952,16549,9.506,16550,6.952,16551,9.506,16552,6.952,16553,6.952,16554,6.952,16555,6.952,16556,6.952,16557,9.506,16558,6.09,16559,6.432,16560,6.952,16561,6.952,16562,6.952,16563,6.952,16564,9.506,16565,6.952,16566,6.952,16567,6.952,16568,9.506,16569,6.952,16570,6.952,16571,6.952,16572,6.952]],["title/modules/OauthApiModule.html",[201,1.845,16573,5.563]],["body/modules/OauthApiModule.html",[0,0.25,3,0.016,4,0.016,5,0.008,30,0.001,52,3.566,95,0.163,101,0.011,103,0.001,104,0.001,128,3.017,201,3.003,203,2.682,204,2.875,205,2.956,206,2.944,207,2.932,208,4.127,209,2.8,214,5.975,218,3.961,219,2.897,220,2.831,222,4.618,223,4.131,225,3.945,226,1.08,654,2.226,1341,2.376,1380,8.696,1419,10.068,1421,8.997,1440,5.189,1752,7.293,1963,4.169,2531,3.428,2764,3.505,3593,7.822,3603,4.992,5434,8.208,11056,6.205,12239,10.758,14761,9.799,16419,5.807,16573,11.702,16574,7.395,16575,7.395,16576,7.395,16577,10.068,16578,10.758,16579,7.395,16580,9.793,16581,6.842,16582,7.395,16583,7.395]],["title/classes/OauthClientBody.html",[0,0.232,16584,6.018]],["body/classes/OauthClientBody.html",[0,0.244,2,0.526,3,0.01,4,0.01,5,0.005,7,0.068,27,0.51,30,0.001,31,0.413,32,0.16,33,0.648,34,1.203,47,0.942,95,0.115,101,0.007,103,0,104,0,112,0.552,122,4.896,124,3.66,135,7.018,138,2.216,142,5.292,143,1.934,144,4.396,145,4.006,148,1.475,150,1.071,153,2.834,245,3.229,248,4.842,249,4.92,316,3.905,319,4.119,358,3.227,363,4.07,490,2.565,536,6.679,578,4.404,591,4.07,662,2.234,824,2.565,852,2.214,970,4.978,1081,3.631,1389,5.845,1391,6.243,1392,7.07,1403,3.544,1454,6.973,1475,5.066,1491,4.224,1515,5.162,1664,4.136,1794,4.622,2024,3.365,2094,4.455,2119,4.684,2406,4.88,2420,5.845,2421,6.058,3601,5.405,4042,4.404,4118,7.07,5515,4.266,5550,8.377,5554,4.107,5558,4.683,5567,8.236,5590,6.018,5605,7.648,5623,6.323,5624,6.615,5639,6.856,7383,6.513,9910,8.078,9912,7.648,9915,9.704,9916,6.679,11419,4.896,11935,5.268,12776,5.385,16365,11.617,16584,6.323,16585,4.751,16586,8.078,16587,8.078,16588,4.751,16589,4.751,16590,4.751,16591,7.219,16592,7.219,16593,4.751,16594,4.751,16595,4.751,16596,4.751,16597,6.058,16598,5.845,16599,6.679,16600,6.058,16601,7.219,16602,7.219,16603,7.219,16604,7.219,16605,4.751,16606,8.731,16607,4.751,16608,7.219,16609,7.219,16610,4.751,16611,8.731,16612,4.751,16613,6.679,16614,7.219,16615,7.219,16616,4.751,16617,4.751,16618,4.751,16619,4.751,16620,4.751,16621,4.751]],["title/classes/OauthConfig.html",[0,0.232,12263,4.458]],["body/classes/OauthConfig.html",[0,0.306,2,0.457,3,0.009,4,0.009,5,0.005,7,0.059,26,1.307,27,0.521,29,0.327,30,0.001,31,0.236,32,0.167,33,0.47,47,1.016,83,2.299,95,0.107,96,1.093,101,0.015,103,0,104,0,105,0.421,112,0.496,119,0.856,133,1.42,138,2.24,143,2.999,144,4.35,145,1.16,153,0.947,154,1.603,160,3.59,172,4.455,173,1.197,174,2.461,175,1.845,177,0.768,178,1.63,180,0.716,181,1.114,182,1.307,276,1.792,379,0.521,511,1.827,570,2.548,578,2.519,839,2.488,950,2.548,1262,2.793,1371,2.519,1454,2.952,1486,4.991,1664,1.546,2021,2.679,2046,3.08,2562,3.306,2566,1.845,4332,3.476,4370,4.632,4404,2.491,4677,4.651,5558,3.261,5643,4.559,5953,3.328,5973,2.643,5974,2.847,6446,3.503,7385,2.61,7472,2.8,7528,5.523,9006,2.269,9343,5.421,10327,2.717,10926,2.348,12263,7.713,12344,3.08,12345,3.08,12346,3.08,12347,3.155,12391,5.511,12394,5.338,12396,5.511,12399,5.511,12402,4.932,12406,5.421,12447,2.717,12867,3.155,13048,2.952,13156,4.951,13157,3.343,13158,4.325,13159,7.614,13160,7.322,13161,4.094,13162,4.545,13163,5.26,13164,2.757,13165,2.757,13166,5.245,13167,4.466,13168,4.832,13169,3.242,13170,4.832,13171,3.155,13172,3.155,13173,3.155,13174,3.155,13175,3.242,13176,3.155,13177,3.155,13178,3.155,13179,3.242,13180,4.832,13181,3.242,13182,3.155,13183,3.242,13184,3.155,13185,3.155,13186,3.155,13187,3.242,13188,6.242,13189,3.343,13190,3.343,13191,3.343,13192,3.343,13193,3.343,13194,3.343,13195,3.343,13196,3.343,13197,3.343,13198,3.343,13199,3.343,13200,3.343,13201,3.242,13202,3.343,13203,3.343,13204,3.343,13205,3.343,13206,3.343,13207,3.343,13208,3.343,13209,3.343,13210,3.343,13211,3.343,13212,3.343,13213,3.343,13214,3.343,13215,3.343,13216,3.343,13217,3.343,13218,3.343,13219,3.08,13220,3.343,13221,3.343,13222,3.343,13223,3.343,13224,3.343,13225,3.343,13226,3.343,13227,3.343,13228,3.343,13229,3.343,13230,3.343,13231,3.343,13232,3.343,13233,3.343,13234,3.155,13235,3.343,13236,3.08,13237,3.242,13238,3.155,13239,3.242,13240,3.155,13241,3.155,13242,3.242,13243,3.155,13244,3.242,13245,3.155,13246,3.013,13247,3.013,13248,3.013,13249,3.08,13250,3.155,13251,3.343,13252,3.155,13253,3.343,13254,3.343,13255,3.343,13256,3.343,13257,3.343,13258,3.155,13259,3.242,13260,3.155,13261,3.242,16622,4.128,16623,4.128,16624,4.128,16625,4.128,16626,4.128,16627,4.128,16628,4.128,16629,4.128,16630,4.128,16631,4.128,16632,4.128,16633,4.128,16634,4.128,16635,4.128]],["title/classes/OauthConfigDto.html",[0,0.232,13504,5.251]],["body/classes/OauthConfigDto.html",[0,0.235,2,0.771,3,0.015,4,0.015,5,0.008,7,0.1,27,0.572,29,0.552,30,0.001,31,0.398,32,0.18,33,0.584,47,1.01,72,4.298,101,0.011,103,0.001,104,0.001,112,0.728,128,3.883,239,2.232,379,0.879,517,3.59,1486,6.77,2094,5.873,2119,6.176,2836,6.263,4677,6.269,5558,4.423,5643,5.46,7472,4.724,7528,6.615,9343,7.354,12391,7.476,12394,7.24,12396,7.476,12399,7.476,12402,6.691,12406,7.354,12776,7.1,13167,4.802,13168,5.195,13170,5.195,13172,5.323,13174,5.323,13176,5.323,13177,5.323,13178,5.323,13180,5.195,13182,5.323,13184,5.323,13186,5.323,13188,7.476,13504,9.627,16636,13.948,16637,6.443,16638,9.517,16639,9.517,16640,6.443,16641,6.964,16642,6.964,16643,6.964,16644,6.964,16645,6.964,16646,6.964,16647,6.443,16648,6.964,16649,6.443,16650,6.443,16651,6.964,16652,6.443,16653,6.964,16654,6.443,16655,6.443,16656,6.443,16657,6.443,16658,6.443,16659,6.443,16660,6.443,16661,6.443,16662,6.443,16663,6.443,16664,6.443]],["title/classes/OauthConfigResponse.html",[0,0.232,16665,5.765]],["body/classes/OauthConfigResponse.html",[0,0.173,2,0.565,3,0.011,4,0.011,5,0.006,7,0.073,27,0.539,29,0.405,30,0.001,31,0.292,32,0.177,33,0.563,34,1.271,47,1.001,95,0.06,101,0.008,103,0,104,0,112,0.583,120,3.221,124,3.865,138,2.32,142,5.425,143,3.059,144,4.507,145,3.929,150,1.152,153,2.967,245,3.362,379,0.645,821,5.995,824,2.709,970,5.258,1081,5.828,1389,6.174,1486,7.089,2094,7.462,2119,4.948,2580,4.137,3601,3.072,4677,5.833,5558,4.632,5584,5.828,5643,5.095,7472,3.465,9343,6.861,12391,6.975,12394,6.756,12396,6.975,12399,6.975,12402,6.243,12406,6.861,12773,6.174,12776,5.688,13167,3.523,13170,3.811,13172,3.905,13174,3.905,13176,3.905,13177,3.905,13178,3.905,13180,3.811,13182,3.905,13184,3.905,13186,3.905,13188,6.975,15497,4.475,16558,6.679,16665,7.655,16666,13.195,16667,7.625,16668,7.625,16669,5.109,16670,5.109,16671,5.109,16672,7.055,16673,5.109,16674,5.109,16675,5.109,16676,5.109,16677,5.109,16678,5.109,16679,5.109,16680,5.109,16681,5.109,16682,5.109,16683,5.109,16684,5.109,16685,5.109,16686,5.109,16687,5.109,16688,5.109,16689,5.109,16690,5.109,16691,5.109]],["title/interfaces/OauthCurrentUser.html",[105,0.7,7325,5.125]],["body/interfaces/OauthCurrentUser.html",[3,0.018,4,0.018,5,0.009,7,0.12,26,2.786,30,0.001,32,0.108,33,0.514,34,1.791,39,2.248,47,0.834,48,4.012,72,4.854,85,5.431,94,4.161,95,0.099,99,1.354,101,0.017,103,0.001,104,0.001,105,1.096,107,1.963,112,0.823,119,2.229,121,7.074,128,4.846,143,2.631,180,1.864,239,3.041,270,5.832,276,3.634,303,6.572,359,5.051,517,4.055,564,3.924,565,4.997,1002,5.677,2405,5.677,2424,4.946,3122,5.132,3134,3.859,3140,4.215,3308,5.589,4266,3.638,5160,5.507,5515,6.353,5550,7.074,5554,4.761,7273,6.777,7274,7.023,7275,6.713,7323,10.149,7325,8.02,7346,7.331,12771,7.743,12772,7.743,12773,8.705,12774,9.946,12775,9.946,12776,8.02]],["title/classes/OauthDataDto.html",[0,0.232,13941,4.821]],["body/classes/OauthDataDto.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.54,29,0.686,30,0.001,31,0.495,32,0.17,33,0.626,95,0.15,101,0.013,103,0.001,104,0.001,112,0.84,181,2.965,379,1.093,381,2.929,564,3.777,3134,5.563,8956,9.221,8970,8.007,8987,9,9008,6.796,9009,7.262,10075,8.804,11837,6.315,13941,9.191,13970,9.769,13972,10.124,16692,12.382,16693,8.654,16694,10.568,16695,10.983,16696,8.654,16697,8.654,16698,9.474,16699,8.654,16700,8.654,16701,8.007,16702,8.654,16703,8.654,16704,8.654,16705,8.654,16706,8.654,16707,8.654,16708,8.654]],["title/classes/OauthDataStrategyInputDto.html",[0,0.232,13946,5.125]],["body/classes/OauthDataStrategyInputDto.html",[0,0.309,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,27,0.534,29,0.724,30,0.001,31,0.523,32,0.168,33,0.437,47,0.909,95,0.108,101,0.014,103,0.001,104,0.001,112,0.87,121,8.14,181,3.068,284,4.029,379,1.154,381,3.094,1498,8.261,3134,5.704,4608,9.029,9008,7.178,9009,7.67,11837,6.67,13946,9.93,15399,7.67,15400,7.67,16491,8.457,16492,8.457,16692,12.315,16698,9.714,16701,8.457,16709,9.141,16710,11.366,16711,9.141,16712,9.141]],["title/classes/OauthLoginResponse.html",[0,0.232,15378,5.765]],["body/classes/OauthLoginResponse.html",[0,0.3,2,0.983,3,0.019,4,0.019,5,0.01,7,0.127,27,0.504,29,0.703,30,0.001,31,0.508,32,0.158,33,0.584,34,1.86,47,0.858,95,0.132,101,0.014,103,0.001,104,0.001,112,0.854,124,5.659,138,2.002,149,4.307,150,2.002,153,2.037,180,1.935,181,3.014,245,2.284,379,1.122,381,3.006,382,2.645,403,4.964,517,4.211,564,4.01,1277,4.964,1498,7.455,2417,6.889,3134,5.147,5554,6.351,5558,4.555,7323,9.887,7530,8.146,15365,9.16,15378,11.076,16713,12.209,16714,8.881,16715,11.164,16716,8.881,16717,8.881,16718,8.881,16719,8.881]],["title/classes/OauthLoginStateDto.html",[0,0.232,16720,5.563]],["body/classes/OauthLoginStateDto.html",[0,0.293,2,0.96,3,0.019,4,0.019,5,0.01,7,0.124,26,2.437,27,0.552,29,0.687,30,0.001,31,0.496,32,0.174,33,0.578,47,0.941,48,5.79,95,0.102,99,1.403,101,0.013,103,0.001,104,0.001,112,0.841,119,2.281,128,5.549,181,2.969,193,6.329,194,6.811,238,6.75,379,1.095,381,2.935,4580,7.541,4677,6.205,8555,5.98,13046,7.023,13047,7.023,13180,6.47,16407,9.779,16720,10.612,16721,13.602,16722,8.673,16723,10.997,16724,8.673,16725,8.673,16726,8.673,16727,8.673,16728,8.673,16729,8.673,16730,8.673,16731,8.673]],["title/classes/OauthLoginStateMapper.html",[0,0.232,16732,6.018]],["body/classes/OauthLoginStateMapper.html",[0,0.327,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,8,1.424,27,0.399,29,0.767,30,0.001,31,0.554,32,0.126,33,0.463,35,1.173,95,0.139,100,4.011,101,0.015,103,0.001,104,0.001,118,6.201,128,5.178,236,1.576,349,0.997,413,3.821,437,1.277,14792,8.127,16720,10.693,16732,10.317,16733,11.778,16734,9.685,16735,11.778,16736,11.778,16737,11.567,16738,9.685,16739,8.484,16740,8.484,16741,9.685]],["title/classes/OauthMigrationDto.html",[0,0.232,14791,5.563]],["body/classes/OauthMigrationDto.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.552,29,0.686,30,0.001,31,0.495,32,0.173,33,0.664,83,3.958,101,0.013,103,0.001,104,0.001,112,0.84,119,2.278,271,3.206,379,1.093,10317,8.946,14791,10.605,14810,9.62,14845,9.221,14846,9.221,14847,9.221,14968,10.124,14970,10.124,15859,8.007,15860,8.007,15861,8.007,15862,8.007,15863,8.007,15864,8.007,15865,8.007,15866,8.007,15867,8.007,15868,8.007,16742,13.595,16743,8.654,16744,10.983,16745,8.654,16746,8.654,16747,8.654,16748,8.654]],["title/modules/OauthModule.html",[201,1.845,1419,5.395]],["body/modules/OauthModule.html",[0,0.231,3,0.015,4,0.015,5,0.008,30,0.001,52,3.296,95,0.164,101,0.011,103,0,104,0,128,2.789,201,2.884,203,2.479,204,2.657,205,2.732,206,2.721,207,2.71,208,3.963,209,4.065,214,5.837,218,3.755,219,2.678,220,2.617,225,3.74,226,0.998,227,2.837,654,2.058,964,3.961,1341,2.197,1418,10.141,1419,11.373,1421,8.789,1436,5.987,1440,4.797,1752,7.124,1963,3.854,2531,3.169,3593,7.641,3603,4.732,3998,6.275,4673,9.139,5434,8.019,8796,9.139,9382,4.797,12249,10.442,12250,11.463,12270,6.324,12271,5.987,14761,9.573,16392,10.509,16419,5.368,16425,6.324,16577,9.835,16749,6.835,16750,6.835,16751,6.835,16752,6.835,16753,6.835,16754,5.987]],["title/modules/OauthProviderApiModule.html",[201,1.845,16755,5.563]],["body/modules/OauthProviderApiModule.html",[0,0.247,3,0.016,4,0.016,5,0.008,30,0.001,95,0.161,101,0.011,103,0.001,104,0.001,135,4.089,201,2.987,203,2.653,204,2.844,205,2.924,206,2.912,207,2.9,208,4.104,209,2.77,214,5.957,218,3.933,219,2.866,220,2.801,222,4.568,223,4.101,225,3.917,226,1.068,1341,2.351,1752,7.27,2531,3.391,2764,3.467,3593,7.797,3603,3.684,3731,4.885,4672,9.534,4677,5.713,4679,5.745,5554,4.161,9373,10.036,9381,4.962,16581,6.768,16755,11.725,16756,7.315,16757,7.315,16758,7.315,16759,10.724,16760,10.724,16761,10.724,16762,10.724,16763,10.724,16764,10.724,16765,10.724,16766,6.138,16767,9.739,16768,7.315,16769,6.408,16770,7.315]],["title/injectables/OauthProviderClientCrudUc.html",[539,0.921,16760,5.765]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.932,27,0.488,29,0.904,30,0.001,31,0.653,32,0.153,33,0.546,34,2.068,35,1.319,36,2.703,47,0.937,55,2.333,56,4.915,58,6.614,59,3.137,95,0.135,101,0.008,103,0,104,0,112,0.59,124,3.909,126,6.245,135,6.788,177,2.026,226,0.758,239,3.006,262,2.942,270,6.596,284,3.676,294,5.954,349,1.122,379,0.974,437,1.69,480,1.443,486,1.562,539,1.033,541,1.244,603,2.25,608,2.872,643,2.33,951,3.614,1758,6.297,2531,2.405,2963,2.722,3601,4.894,5558,3.146,5639,8.004,7529,6.245,7530,5.627,9381,5.231,9823,8.331,9847,9.951,9851,3.709,9912,6.755,9958,9.141,10426,7.604,12395,6.471,16586,7.135,16587,7.135,16760,6.471,16771,9.835,16772,11.237,16773,5.187,16774,9.205,16775,6.755,16776,6.755,16777,6.755,16778,8.063,16779,8.063,16780,4.2,16781,5.187,16782,7.135,16783,5.187,16784,7.135,16785,5.187,16786,7.135,16787,5.187,16788,4.799,16789,5.187,16790,4.799,16791,5.187,16792,7.135,16793,5.187,16794,5.187,16795,5.187,16796,10.893,16797,7.712,16798,5.187,16799,5.187,16800,9.205,16801,9.205,16802,7.712,16803,5.187,16804,5.187,16805,5.187]],["title/injectables/OauthProviderConsentFlowUc.html",[539,0.921,16761,5.765]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.183,3,0.012,4,0.012,5,0.006,7,0.078,8,0.96,27,0.478,29,0.918,30,0.001,31,0.663,32,0.15,33,0.554,35,1.342,36,2.73,39,2.532,47,0.973,95,0.141,101,0.008,103,0,104,0,106,8.722,110,4.029,121,7.289,122,6.393,123,4.532,124,2.738,126,4.373,134,8.417,135,6.694,177,1.478,226,0.789,236,0.879,262,2.766,270,5.88,294,5.235,310,4.093,324,6.698,334,3.504,349,1.07,379,1.003,437,1.461,519,2.446,529,1.545,539,1.065,541,1.296,556,2.83,603,2.67,608,2.406,824,4.256,1391,7.433,2530,3.225,2963,2.834,3779,4.696,4256,8.968,4677,2.775,4745,3.504,5542,8.722,5593,8.417,5600,8.417,9381,5.389,9823,8.453,9851,3.862,13448,10.05,13449,4.997,16761,6.667,16771,9.698,16780,4.373,16806,11.08,16807,4.731,16808,8.721,16809,6.96,16810,8.721,16811,7.351,16812,7.945,16813,4.997,16814,4.997,16815,5.401,16816,7.351,16817,5.401,16818,5.401,16819,5.401,16820,7.351,16821,8.417,16822,5.401,16823,7.945,16824,8.467,16825,5.401,16826,5.927,16827,4.532,16828,4.997,16829,7.945,16830,5.401,16831,4.997,16832,5.401,16833,5.401,16834,5.401,16835,5.401,16836,8.162,16837,5.401,16838,5.401,16839,5.401,16840,5.401,16841,5.401,16842,5.401,16843,4.241,16844,5.401]],["title/controllers/OauthProviderController.html",[259,2.631,16767,6.018]],["body/controllers/OauthProviderController.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.67,10,1.38,27,0.491,29,0.926,30,0.001,31,0.669,32,0.152,33,0.559,35,1.441,36,2.905,47,0.239,95,0.145,100,1.157,101,0.005,103,0,104,0,118,2.175,134,8.171,135,6.748,138,2.133,150,0.766,177,1.779,223,1.416,226,0.496,259,1.301,261,1.629,262,2.975,270,6.574,271,4.895,294,6.768,310,4.975,324,6.549,333,4.485,334,2.204,337,1.77,338,1.809,343,6.15,349,1.225,379,0.429,437,1.715,603,1.976,608,2.591,824,1.969,1208,6.794,2079,1.504,2080,1.678,2081,1.619,2082,2.175,2119,2.204,2962,1.915,2963,1.783,3601,3.262,3731,2.269,3779,3.275,4081,2.147,4254,10.841,4544,7.247,4677,2.847,5542,6.794,5550,2.235,5593,4.487,5611,8.028,5636,5.889,8239,2.851,9381,3.758,9847,7.137,9851,2.429,12118,6.147,13437,9.805,13466,2.751,15253,7.092,15365,5.018,15401,6.556,16584,8.839,16760,4.65,16761,4.65,16762,5.889,16763,4.65,16764,5.889,16765,5.889,16767,4.854,16769,2.976,16772,3.143,16775,6.147,16776,4.854,16777,6.147,16778,6.147,16779,6.147,16782,3.143,16784,3.143,16786,3.143,16788,3.143,16790,3.143,16806,3.143,16809,4.854,16810,6.493,16824,4.235,16826,6.04,16836,7.513,16845,12.073,16846,3.397,16847,5.127,16848,4.854,16849,4.854,16850,6.493,16851,4.854,16852,3.397,16853,3.397,16854,3.397,16855,3.397,16856,3.397,16857,3.397,16858,3.397,16859,3.397,16860,3.397,16861,3.397,16862,3.397,16863,5.541,16864,3.397,16865,3.397,16866,3.397,16867,5.541,16868,3.397,16869,3.397,16870,3.397,16871,3.397,16872,3.397,16873,3.397,16874,3.397,16875,3.397,16876,3.397,16877,3.397,16878,3.397,16879,3.397,16880,3.397,16881,7.092,16882,3.397,16883,3.397,16884,3.397,16885,3.397,16886,4.351,16887,5.511,16888,8.919,16889,3.143,16890,7.018,16891,3.397,16892,3.397,16893,3.397,16894,3.397,16895,3.397,16896,3.397,16897,3.397,16898,3.397,16899,3.397,16900,3.397,16901,3.397,16902,8.096,16903,3.397,16904,3.397,16905,3.397,16906,3.397,16907,3.397,16908,3.397,16909,3.397,16910,3.397,16911,3.397,16912,3.397,16913,3.397,16914,3.397,16915,3.397,16916,3.397,16917,3.397,16918,3.397,16919,3.397,16920,3.397,16921,3.397,16922,5.541,16923,5.541,16924,3.397,16925,3.397,16926,3.397,16927,3.397,16928,3.397,16929,3.397,16930,3.397,16931,3.397,16932,3.397,16933,3.397,16934,3.397,16935,3.397,16936,3.397,16937,2.851,16938,3.397,16939,3.397,16940,3.397,16941,3.397,16942,3.397,16943,3.397,16944,3.397,16945,3.397]],["title/injectables/OauthProviderLoginFlowService.html",[539,0.921,13455,5.563]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.237,3,0.015,4,0.015,5,0.008,7,0.101,8,1.156,27,0.449,29,0.862,30,0.001,31,0.622,32,0.141,33,0.52,35,1.158,36,2.047,47,0.764,95,0.155,101,0.011,103,0.001,104,0.001,119,2.256,135,6.532,143,1.553,177,2.023,226,1.024,236,1.141,262,2.4,349,1.12,379,1.207,437,1.435,529,2.007,539,1.281,541,1.682,572,5.507,593,3.568,603,2.247,608,2.213,639,3.305,662,3.907,1726,3.002,1834,5.014,1901,3.486,1971,3.268,2548,2.366,2627,6.628,2681,3.764,4581,5.231,4743,3.707,5643,5.885,6324,5.901,6349,7.971,7364,8.718,7431,8.582,7521,5.971,9054,8.932,9056,8.932,9120,6.488,9121,6.488,9328,6.142,9877,6.142,10267,5.507,12338,5.36,13455,7.743,13466,9.463,15578,10.591,16946,11.686,16947,7.012,16948,9.562,16949,9.562,16950,7.012,16951,7.012,16952,9.562,16953,7.012,16954,9.562,16955,7.012,16956,6.488,16957,5.884,16958,7.012,16959,7.012,16960,7.012,16961,7.012,16962,7.012,16963,7.012,16964,9.562,16965,7.012]],["title/injectables/OauthProviderLoginFlowUc.html",[539,0.921,16762,5.765]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.162,3,0.01,4,0.01,5,0.005,7,0.069,8,0.879,27,0.457,29,0.878,30,0.001,31,0.634,32,0.144,33,0.53,34,0.799,35,1.276,36,2.651,47,0.944,95,0.151,99,0.776,101,0.007,103,0,104,0,119,1.821,122,4.931,127,7.935,128,2.966,134,7.935,135,6.436,177,1.959,226,0.7,236,1.429,239,2.298,262,2.814,310,3.813,324,5.339,349,1.141,358,2.144,379,0.918,437,1.633,529,2.513,539,0.974,541,1.15,603,2.693,604,2.992,608,2.745,643,2.154,824,1.704,1226,2.313,1758,6.134,1901,2.384,2531,2.223,2548,3.553,2627,5.511,3603,2.415,4256,9.229,4677,3.736,4743,2.535,4753,7.143,4822,6.806,5544,7.935,5550,4.784,5703,4.54,7322,3.873,7364,3.578,7379,3.429,7381,4.655,7431,7.778,7520,5.013,7521,2.994,8479,4.201,9077,4.024,9381,4.931,9460,5.089,9823,8.088,9851,3.429,9877,4.201,9958,4.024,10188,7.94,10256,3.766,10275,3.766,12338,3.665,13455,9.325,13466,9.605,13467,4.201,15365,6.279,15401,10.19,16754,4.201,16762,6.101,16771,9.325,16780,3.883,16807,4.201,16813,4.437,16821,7.935,16826,6.551,16827,4.024,16831,4.437,16836,9.315,16848,6.368,16850,8.124,16886,5.709,16966,8.124,16967,8.124,16968,7.27,16969,4.796,16970,4.796,16971,6.727,16972,4.796,16973,4.796,16974,4.796,16975,4.437,16976,4.796,16977,7.27,16978,4.796,16979,4.201,16980,4.201,16981,4.796,16982,7.27,16983,4.796,16984,4.796,16985,7.27,16986,4.796,16987,4.796,16988,4.796,16989,4.796,16990,4.796,16991,4.796,16992,3.665,16993,4.796,16994,4.796,16995,4.796,16996,4.796,16997,4.796,16998,4.796,16999,4.796,17000,4.796]],["title/injectables/OauthProviderLogoutFlowUc.html",[539,0.921,16763,5.765]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.31,3,0.02,4,0.02,5,0.01,7,0.131,8,1.376,27,0.469,29,0.902,30,0.001,31,0.651,32,0.148,33,0.544,35,1.11,36,2.651,47,0.87,95,0.146,101,0.014,103,0.001,104,0.001,135,6.921,177,1.704,226,1.338,345,2.91,349,0.943,379,1.157,437,1.208,539,1.525,541,2.198,4256,6.551,4677,4.707,9381,7.72,9823,9.907,9851,6.551,16763,9.551,16771,10.027,16780,7.418,16807,8.025,16826,6.834,16889,11.457,17001,11.382,17002,9.161,17003,11.382,17004,9.161,17005,11.382,17006,9.161]],["title/modules/OauthProviderModule.html",[201,1.845,16759,5.765]],["body/modules/OauthProviderModule.html",[0,0.248,3,0.016,4,0.016,5,0.008,30,0.001,95,0.162,101,0.011,103,0.001,104,0.001,135,4.103,201,2.992,203,2.663,204,2.854,205,2.934,206,2.922,207,2.911,208,4.112,209,4.217,214,5.963,218,3.942,219,2.876,220,2.811,225,3.926,226,1.072,227,3.047,1341,2.359,1810,8.821,1827,9.544,1828,6.161,2548,2.477,3593,7.806,3603,3.697,4672,9.544,4677,3.772,4679,5.765,9373,10.046,9374,9.778,9381,4.98,9383,6.161,13448,11.596,13455,11.19,13466,5.945,13467,6.431,15574,10.735,16754,6.431,16759,12.12,16766,6.161,16828,6.792,16956,6.792,16957,6.161,17007,7.342,17008,7.342,17009,7.342,17010,7.342,17011,7.342,17012,7.342]],["title/classes/OauthProviderRequestMapper.html",[0,0.232,16979,6.018]],["body/classes/OauthProviderRequestMapper.html",[0,0.308,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,8,1.37,27,0.375,29,0.721,30,0.001,31,0.52,32,0.118,33,0.435,35,1.102,47,0.952,59,2.801,77,5.826,95,0.134,101,0.014,103,0.001,104,0.001,116,7.146,117,7.146,122,6.172,127,9.997,131,4.91,132,8.419,133,4.245,135,6.335,349,0.937,413,3.716,4677,5.824,4753,8.764,6161,7.146,8449,8.419,9381,6.172,9460,7.488,9851,6.507,15401,10.975,16827,7.636,16979,9.928,16980,9.928,17013,12.345,17014,9.1,17015,9.1,17016,9.1]],["title/injectables/OauthProviderResponseMapper.html",[539,0.921,16764,5.765]],["body/injectables/OauthProviderResponseMapper.html",[0,0.25,3,0.016,4,0.016,5,0.008,7,0.106,8,1.198,10,3.005,27,0.514,29,0.987,30,0.001,31,0.712,32,0.161,33,0.596,35,1.509,95,0.132,101,0.011,103,0.001,104,0.001,110,7.394,118,4.735,122,5.016,135,7.166,226,1.08,236,2.027,349,1.283,539,1.328,541,1.774,782,4.416,2119,6.432,4677,6.587,5593,9.672,5611,10.023,5636,10.023,9212,6.205,9381,5.016,9847,8.91,9851,5.288,9859,9.17,15247,6.477,15365,8.541,16764,8.317,16824,9.129,16826,8.91,16827,6.205,16836,9.379,16886,10.068,16887,9.379,16980,11.23,17017,9.912,17018,9.912,17019,9.912,17020,9.912,17021,9.912,17022,9.912,17023,7.395,17024,9.912,17025,9.912,17026,7.395,17027,9.912,17028,9.912,17029,7.395,17030,7.395,17031,7.395,17032,7.395,17033,7.395]],["title/classes/OauthProviderService.html",[0,0.232,9823,5.013]],["body/classes/OauthProviderService.html",[0,0.166,2,0.542,3,0.011,4,0.011,5,0.005,7,0.07,8,0.893,9,6.872,27,0.549,29,1.046,30,0.001,31,0.755,32,0.171,33,0.632,34,1.482,35,1.612,36,3.021,47,1.014,55,2.284,56,3.563,58,5.773,59,3.272,95,0.058,100,1.669,101,0.008,103,0,104,0,106,8.313,108,9.401,124,2.484,127,8.022,239,1.733,284,2.999,324,6.498,3601,3.585,4256,8.295,5558,3.63,5639,6.986,9823,5.392,9847,8.654,10426,6.637,13903,4.292,16766,11.241,16775,6.473,16776,6.473,16777,6.473,16778,7.793,16779,6.473,16808,6.837,16809,6.473,16811,6.837,16814,6.837,16816,6.837,16820,6.837,16821,9.393,16824,3.745,16826,3.655,16847,6.837,16848,6.473,16849,6.473,16851,6.473,16886,3.848,16887,3.848,16966,6.837,16967,6.837,16971,6.837,16975,6.837,17034,4.9,17035,7.389,17036,9.907,17037,4.9,17038,7.389,17039,4.9,17040,7.389,17041,4.9,17042,7.389,17043,4.9,17044,7.389,17045,4.9,17046,4.9,17047,4.9,17048,7.389,17049,4.9,17050,7.389,17051,4.9,17052,4.9,17053,7.389,17054,4.9,17055,4.9,17056,4.9,17057,4.9,17058,4.9,17059,7.389,17060,4.9,17061,7.389,17062,4.9]],["title/modules/OauthProviderServiceModule.html",[201,1.845,9373,5.395]],["body/modules/OauthProviderServiceModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.155,101,0.015,103,0.001,104,0.001,108,6.669,201,3.381,203,3.447,204,3.695,205,3.799,206,3.783,207,3.768,208,4.298,209,4.766,218,4.653,219,3.724,220,3.639,225,3.783,226,1.388,636,5.561,964,5.508,3998,7.775,4677,4.884,5554,5.406,8913,7.264,9373,10.571,9823,10.222,16766,7.975,17063,9.504,17064,9.504,17065,9.504,17066,9.504,17067,11.643,17068,9.504]],["title/injectables/OauthProviderUc.html",[539,0.921,16765,5.765]],["body/injectables/OauthProviderUc.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.305,26,2.727,27,0.491,29,0.943,30,0.001,31,0.681,32,0.154,33,0.57,35,1.307,36,2.929,39,2.899,47,0.837,95,0.148,99,1.362,101,0.013,103,0.001,104,0.001,135,7.021,177,1.566,226,1.23,345,2.675,349,1.111,379,1.063,437,1.423,539,1.446,541,2.02,4677,4.327,5643,6.326,9381,7.321,9823,9.697,9851,6.022,16765,9.057,16771,10.172,16780,6.819,16849,9.454,16851,9.454,16887,6.613,16937,9.057,17069,8.421,17070,8.421,17071,10.793,17072,8.421,17073,10.793,17074,8.421,17075,8.421,17076,8.421]],["title/controllers/OauthSSOController.html",[259,2.631,16580,6.018]],["body/controllers/OauthSSOController.html",[0,0.117,3,0.008,4,0.008,5,0.004,7,0.05,8,0.68,27,0.437,29,0.839,30,0.001,31,0.606,32,0.142,33,0.507,35,1.283,36,2.41,47,0.882,52,3.426,55,0.707,59,1.064,95,0.152,100,1.178,101,0.005,103,0,104,0,105,0.352,118,8.398,119,1.166,124,1.753,128,3.338,138,1.614,141,3.835,145,0.972,150,0.779,153,1.63,177,1.522,223,1.441,226,0.505,236,1.782,238,1.933,239,2.263,259,1.324,261,1.658,262,2.71,270,4.992,271,2.631,292,1.753,294,5.336,310,5.662,333,2.396,336,3.51,337,1.802,338,1.842,343,3.813,349,0.732,379,0.437,437,1.599,519,1.73,529,2.341,556,0.845,579,3.813,603,2.468,604,2.313,608,1.644,824,4.461,990,3.754,1218,2.128,1226,3.426,1242,3.842,1262,1.965,1341,1.111,1475,2.426,1478,6.07,1488,2.901,1506,2.901,1694,2.134,1781,8.841,1877,3.754,2079,1.53,2080,1.708,2081,1.648,2119,2.244,2312,1.435,2313,2.565,2493,3.699,2764,1.639,2963,1.815,3134,2.592,3172,2.643,3603,2.831,3779,3.322,3940,1.949,4677,4.626,4956,2.384,4957,2.715,5554,1.967,5703,2.159,6863,8.463,6865,2.065,6990,2.643,7082,2.159,7338,3.199,7379,7.576,8251,3.199,10825,3.199,10886,6.569,12239,4.717,12266,5.851,12267,3.199,12268,3.029,12269,2.523,13604,3.199,14789,4.102,14792,2.901,14799,4.02,16277,2.8,16337,6.625,16338,3.199,16357,5.961,16376,2.901,16386,6.572,16508,3.199,16578,5.961,16580,4.924,16720,7.811,16732,3.029,16737,11.19,16739,3.029,16740,3.029,16769,3.029,17077,10.953,17078,3.458,17079,5.622,17080,7.104,17081,6.572,17082,5.622,17083,7.104,17084,5.622,17085,7.104,17086,5.622,17087,3.458,17088,3.458,17089,6.425,17090,7.167,17091,5.622,17092,3.458,17093,3.458,17094,7.167,17095,3.458,17096,3.458,17097,3.458,17098,3.458,17099,5.622,17100,3.458,17101,3.458,17102,5.622,17103,3.458,17104,3.458,17105,3.458,17106,3.458,17107,5.622,17108,3.458,17109,3.458,17110,5.622,17111,3.458,17112,3.029,17113,5.622,17114,3.458,17115,3.458,17116,4.717,17117,3.458,17118,3.199,17119,3.458,17120,3.029,17121,3.458,17122,2.8,17123,3.458,17124,3.458,17125,3.458,17126,3.458,17127,3.458,17128,3.458,17129,7.104,17130,3.458,17131,5.622,17132,5.622,17133,5.622,17134,3.458,17135,3.458,17136,3.458,17137,3.458,17138,5.622,17139,3.458,17140,3.458,17141,5.622,17142,5.622,17143,3.458,17144,3.458,17145,3.199,17146,3.458,17147,9.646,17148,3.458,17149,5.622,17150,5.201,17151,3.199,17152,3.458,17153,3.458,17154,3.458,17155,3.458,17156,3.458,17157,5.622,17158,5.622,17159,3.458,17160,5.201,17161,5.201,17162,5.622,17163,5.622,17164,3.029,17165,3.458,17166,3.029,17167,3.458,17168,3.029,17169,3.029,17170,3.029,17171,3.458,17172,3.458,17173,3.458,17174,3.458,17175,3.458,17176,3.458,17177,5.622,17178,5.622,17179,3.458,17180,3.458,17181,5.622,17182,3.458,17183,3.458,17184,3.458,17185,3.458,17186,3.458,17187,3.458,17188,3.458,17189,3.458,17190,3.458,17191,3.458]],["title/interfaces/OauthTokenResponse.html",[105,0.7,16424,5.563]],["body/interfaces/OauthTokenResponse.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.168,47,1.002,101,0.016,103,0.001,104,0.001,105,1.036,107,2.385,112,0.928,125,11.757,126,10.869,16358,9.409,16424,9.822,16792,12.419,17192,9.409]],["title/injectables/OauthUc.html",[539,0.921,16578,5.765]],["body/injectables/OauthUc.html",[0,0.145,3,0.009,4,0.009,5,0.005,7,0.061,8,0.805,26,2.231,27,0.412,29,0.792,30,0.001,31,0.572,32,0.13,33,0.478,35,1.118,36,2.447,39,1.149,47,0.938,48,6.036,52,5.106,59,2.516,95,0.158,99,0.692,101,0.007,102,3.375,103,0,104,0,105,0.436,118,4.263,119,1.695,128,4.51,177,2.126,201,1.788,226,0.625,236,1.501,238,6.943,239,2.164,262,2.74,284,1.294,310,3.549,349,0.95,379,0.841,437,1.713,528,2.197,529,1.905,539,0.892,541,1.026,556,1.045,593,1.595,603,2.526,608,2.875,790,2.153,824,2.366,951,4.324,990,3.162,1341,1.374,1351,2.775,1422,8.247,1440,3.001,1478,5.509,1498,4.446,1781,7.245,1794,4.263,1832,3.659,1877,2.856,1964,3.753,2119,5.305,2312,3.393,2313,4.209,3134,4.254,3172,3.268,3603,4.647,4572,8.247,4580,5.105,4677,2.197,4753,6.781,4822,6.533,5554,4.65,5703,2.67,6403,4.446,7082,2.67,7322,3.546,7325,6.099,11880,4.446,12248,3.745,12249,8.093,12269,5.965,12271,3.745,12340,5.586,12402,5.694,12477,5.846,12661,3.19,13941,4.672,14799,6.598,14951,3.956,15878,3.588,16357,5.586,16393,8.681,16394,8.067,16395,8.681,16407,8.574,16419,3.358,16420,3.745,16427,3.745,16432,3.956,16433,3.462,16451,5.586,16467,6.159,16509,3.956,16510,3.956,16511,5.831,16512,5.831,16578,5.586,16720,9.257,16737,8.082,16739,3.745,16740,3.745,17112,3.745,17122,3.462,17145,3.956,17150,6.159,17151,3.956,17160,3.956,17161,3.956,17193,4.276,17194,5.831,17195,6.657,17196,6.657,17197,8.175,17198,4.276,17199,6.657,17200,4.276,17201,3.956,17202,10.589,17203,4.276,17204,6.159,17205,6.657,17206,4.276,17207,4.276,17208,4.276,17209,3.956,17210,3.268,17211,4.276,17212,3.956,17213,4.276,17214,4.276,17215,4.276,17216,4.276,17217,4.276,17218,4.276,17219,6.657,17220,4.276,17221,4.276,17222,4.276,17223,3.745,17224,7.161,17225,3.956,17226,3.956,17227,3.956,17228,4.276,17229,3.956,17230,3.956,17231,4.276,17232,4.276]],["title/interfaces/ObjectKeysRecursive.html",[105,0.7,6526,5.125]],["body/interfaces/ObjectKeysRecursive.html",[3,0.018,4,0.018,5,0.012,7,0.119,30,0.001,32,0.162,47,1.021,55,2.644,95,0.098,101,0.02,103,0.001,104,0.001,105,1.35,107,1.951,112,0.819,284,3.241,360,6.559,556,3.236,1215,6.509,1217,4.69,1361,4.499,2094,5.133,5838,4.775,6441,6.064,6508,6.205,6509,6.205,6510,6.532,6511,6.358,6512,6.358,6513,5.194,6514,6.205,6515,5.642,6516,5.642,6517,5.642,6518,5.642,6519,5.837,6520,5.133,6521,5.02,6522,5.02,6523,6.07,6524,9.889,6525,9.889,6526,7.988]],["title/interfaces/OcsResponse.html",[105,0.7,11928,5.125]],["body/interfaces/OcsResponse.html",[3,0.02,4,0.02,5,0.01,7,0.132,30,0.001,32,0.161,34,1.533,47,0.955,55,2.536,101,0.021,103,0.001,104,0.001,105,1.404,107,2.159,112,0.873,119,1.909,120,4.821,284,2.786,347,3.326,479,3.373,986,5.972,991,6.242,1025,3.649,3122,3.977,4600,6.242,6722,5.439,11925,6.865,11926,7.034,11927,6.865,11928,8.515,11929,9.916,11930,8.556,11931,7.034,11932,7.034,11933,6.865,11934,7.034,11935,6.716,11936,6.865,11937,7.034,11938,6.865]],["title/classes/OidcConfig.html",[0,0.232,13160,4.821]],["body/classes/OidcConfig.html",[0,0.316,2,0.484,3,0.01,4,0.01,5,0.005,7,0.063,26,1.368,27,0.488,29,0.347,30,0.001,31,0.25,32,0.159,33,0.209,47,1.016,83,2.387,95,0.11,96,1.159,101,0.016,103,0,104,0,105,0.446,112,0.519,119,0.908,133,1.505,138,2.066,143,2.997,144,4.386,145,1.23,153,1.004,154,1.664,172,4.46,173,1.269,174,2.576,175,1.957,177,0.814,178,1.729,180,0.759,181,1.182,182,1.386,276,1.901,379,0.553,511,1.937,570,2.701,578,2.671,839,2.583,950,2.701,1262,2.9,1371,2.671,1454,3.13,1486,2.733,1664,1.639,2021,5.384,2046,3.265,2562,3.46,2566,1.957,4332,3.639,4370,4.848,4404,2.642,4677,3.484,5558,1.786,5643,4.705,5953,3.484,5973,2.803,5974,3.018,6446,3.667,7385,2.767,7472,2.969,7528,5.701,9006,2.406,9343,2.969,10327,2.88,10926,2.49,12263,6.937,12344,3.265,12345,3.265,12346,3.265,12347,3.346,12391,3.018,12394,2.923,12396,3.018,12399,3.018,12402,2.701,12406,2.969,12447,2.88,12867,3.346,13048,3.13,13156,5.182,13157,3.545,13158,4.527,13159,7.801,13160,8.481,13161,4.286,13162,4.757,13163,5.46,13164,2.923,13165,2.923,13166,3.545,13167,4.675,13168,5.058,13169,3.437,13170,5.058,13171,3.346,13172,3.346,13173,3.346,13174,3.346,13175,3.437,13176,3.346,13177,3.346,13178,3.346,13179,3.437,13180,5.058,13181,3.437,13182,3.346,13183,3.437,13184,3.346,13185,3.346,13186,3.346,13187,3.437,13188,6.442,13189,3.545,13190,3.545,13191,3.545,13192,3.545,13193,3.545,13194,3.545,13195,3.545,13196,3.545,13197,3.545,13198,3.545,13199,3.545,13200,3.545,13201,3.437,13202,3.545,13203,3.545,13204,3.545,13205,3.545,13206,3.545,13207,3.545,13208,3.545,13209,3.545,13210,3.545,13211,3.545,13212,3.545,13213,3.545,13214,3.545,13215,3.545,13216,3.545,13217,3.545,13218,3.545,13219,3.265,13220,3.545,13221,3.545,13222,3.545,13223,3.545,13224,3.545,13225,3.545,13226,3.545,13227,3.545,13228,3.545,13229,3.545,13230,3.545,13231,3.545,13232,3.545,13233,5.49,13234,3.346,13235,3.545,13236,3.265,13237,3.437,13238,3.346,13239,3.437,13240,3.346,13241,3.346,13242,3.437,13243,3.346,13244,3.437,13245,3.346,13246,6.055,13247,6.055,13248,6.055,13249,6.19,13250,3.346,13251,3.545,13252,3.346,13253,3.545,13254,3.545,13255,3.545,13256,3.545,13257,3.545,13258,3.346,13259,3.437,13260,3.346,13261,3.437,17233,4.377,17234,4.377,17235,4.377,17236,4.377,17237,4.377,17238,4.377,17239,4.377,17240,4.377,17241,4.377]],["title/classes/OidcConfigDto.html",[0,0.232,14194,5.395]],["body/classes/OidcConfigDto.html",[0,0.271,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,27,0.57,29,0.635,30,0.001,31,0.459,32,0.179,33,0.384,47,1.007,101,0.012,103,0.001,104,0.001,112,0.8,379,1.013,2021,7.552,2046,5.985,5643,5.861,7528,7.101,13167,5.532,13168,5.985,13170,5.985,13188,8.025,13237,6.3,13239,6.3,13242,6.3,13244,6.3,13246,8.493,13247,8.493,13248,8.493,13249,8.682,14194,10.3,16637,7.422,16640,7.422,16647,7.422,16649,7.422,16650,7.422,17242,13.92,17243,10.768,17244,10.46,17245,8.022,17246,8.022,17247,8.022,17248,8.022,17249,8.022,17250,8.022,17251,8.022,17252,8.022,17253,8.022,17254,8.022,17255,8.022,17256,8.022,17257,8.022,17258,8.022,17259,8.022,17260,8.022]],["title/classes/OidcContextResponse.html",[0,0.232,5620,5.765]],["body/classes/OidcContextResponse.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.54,30,0.001,32,0.17,33,0.677,47,0.966,95,0.13,101,0.013,103,0.001,104,0.001,112,0.84,133,3.776,135,7.48,138,2.349,150,1.951,226,1.264,245,3.599,5620,9.216,5632,11.723,10174,8.627,17261,8.654,17262,11.162,17263,11.162,17264,11.162,17265,11.162,17266,8.654,17267,8.654,17268,8.654,17269,8.654,17270,8.654,17271,8.654]],["title/classes/OidcIdentityProviderMapper.html",[0,0.232,14159,5.765]],["body/classes/OidcIdentityProviderMapper.html",[0,0.281,2,0.918,3,0.018,4,0.018,5,0.009,7,0.119,8,1.293,27,0.441,29,0.847,30,0.001,31,0.612,32,0.139,33,0.511,35,1.005,47,0.831,95,0.156,101,0.013,103,0.001,104,0.001,128,3.387,143,2.369,177,1.544,226,1.212,349,0.855,379,1.048,603,1.714,639,3.912,662,3.662,1181,5.065,1971,3.869,2021,5.386,5643,4.18,5953,4.265,7528,5.065,8800,8.826,9382,5.825,9825,9.118,11304,5.065,12419,6.856,12420,7.301,13158,5.543,13160,5.825,13234,6.345,13236,7.978,13238,6.345,13240,6.345,13241,6.345,13243,6.345,13245,6.345,13246,6.057,13247,6.057,13248,6.057,14080,6.193,14159,8.973,14194,9.812,14208,10.946,14223,7.68,14225,6.722,14229,11.56,14234,6.722,14253,7.68,14322,7.68,16613,7.68,17272,11.83,17273,8.301,17274,10.694,17275,8.301,17276,8.301,17277,10.694,17278,8.301,17279,8.301,17280,8.301,17281,8.301,17282,8.301,17283,8.301,17284,8.301,17285,8.301,17286,8.301]],["title/injectables/OidcMockProvisioningStrategy.html",[539,0.921,17287,5.765]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.22,27,0.468,29,0.8,30,0.001,31,0.577,32,0.131,33,0.483,35,1.373,36,2.585,47,0.534,95,0.153,100,2.589,101,0.012,103,0.001,104,0.001,121,6.644,143,1.684,180,1.75,226,1.11,236,1.845,262,2.5,284,2.301,349,1.167,382,3.375,437,1.495,529,2.175,539,1.353,541,1.824,593,2.837,655,3.854,1443,5.671,1478,4.539,1503,5.548,1612,7.367,2088,6.551,2220,4.364,3134,3.505,7241,8.472,8980,5.077,10075,8.272,11602,9.484,12266,5.436,12548,6.304,12866,6.156,13161,8.169,13163,7.459,13164,5.077,13165,5.077,13938,7.717,13940,8.175,13941,9.068,13945,8.175,13946,9.01,13949,6.659,13950,7.717,13951,6.659,13955,7.034,13957,6.659,13958,7.034,13970,8.175,13974,6.156,13975,6.659,13976,7.034,16433,6.156,17287,8.472,17288,7.602,17289,7.602,17290,7.602,17291,7.602,17292,6.659,17293,7.602,17294,7.034,17295,10.096,17296,7.602]],["title/injectables/OidcProvisioningService.html",[539,0.921,17297,5.563]],["body/injectables/OidcProvisioningService.html",[0,0.115,3,0.007,4,0.007,5,0.004,7,0.049,8,0.671,26,2.499,27,0.395,29,0.758,30,0.001,31,0.623,32,0.131,33,0.458,34,0.925,35,1.081,36,2.454,39,1.49,47,0.709,48,6.394,49,1.27,51,1.613,59,1.047,64,4.357,95,0.148,99,0.55,100,1.159,101,0.005,103,0,104,0,143,1.556,145,0.956,157,2.125,177,1.958,226,0.497,236,1.866,239,2.369,262,2.699,349,1.084,379,0.701,437,1.704,524,1.936,528,1.748,529,1.588,539,0.743,541,0.816,556,1.356,564,1.065,593,4.064,603,2.368,608,2.97,617,7.718,651,1.641,652,1.641,653,1.748,654,2.687,655,4.109,685,2.323,708,1.366,765,2.208,933,3.075,975,5.708,1338,1.577,1341,1.093,1439,2.755,1605,2.538,1611,2.483,1726,1.457,1778,1.333,1834,2.433,1959,5.123,1961,4.623,1963,3.128,1964,5.398,1966,2.755,2312,4.191,3083,2.433,3122,3.036,3140,3.538,3174,2.272,3175,2.208,3417,2.308,3603,1.714,3894,2.346,4188,2.1,4266,3.24,4392,4.692,4539,2.308,4540,2.388,4541,2.032,4630,5.795,4637,2.601,4661,2.433,4734,7.718,4748,2.538,4822,5.659,4841,2.755,5703,3.465,6713,3.826,6721,2.272,6777,2.433,6822,2.755,7322,5.378,7328,5.497,7331,2.755,8956,8.763,8967,4.357,8969,2.855,8980,4.692,8987,6.046,8989,2.151,8995,4.765,9345,4.357,10075,5.914,10187,2.755,10316,8.473,10325,2.855,10326,2.601,10327,4.623,10926,1.936,11376,3.706,11589,5.37,11591,8.94,11605,2.855,11606,2.855,11738,8.473,12006,2.538,13013,2.433,13970,2.755,13972,2.855,14508,2.855,14664,4.656,14665,3.148,14856,8.473,15451,2.855,15823,2.981,16440,6.5,16694,6.154,17297,4.493,17298,10.098,17299,3.403,17300,5.549,17301,5.549,17302,5.549,17303,5.549,17304,7.026,17305,3.403,17306,5.549,17307,3.403,17308,7.026,17309,5.549,17310,3.403,17311,5.549,17312,3.403,17313,5.549,17314,3.403,17315,3.403,17316,3.403,17317,3.403,17318,3.403,17319,2.981,17320,2.981,17321,8.259,17322,5.549,17323,5.549,17324,3.148,17325,5.549,17326,5.549,17327,3.148,17328,3.403,17329,3.403,17330,3.403,17331,3.403,17332,2.981,17333,5.549,17334,3.148,17335,8.105,17336,3.148,17337,3.403,17338,3.148,17339,3.403,17340,7.026,17341,5.549,17342,3.403,17343,5.549,17344,3.403,17345,5.549,17346,3.403,17347,3.148,17348,3.403,17349,3.403,17350,5.549,17351,5.134,17352,3.403,17353,3.403,17354,3.403,17355,3.403,17356,3.403,17357,8.105,17358,3.403,17359,7.026,17360,5.549,17361,5.549,17362,3.403,17363,3.403,17364,3.403,17365,3.403,17366,3.403,17367,3.403,17368,3.403,17369,3.403,17370,3.403,17371,3.403,17372,5.549,17373,3.403,17374,3.403,17375,3.403,17376,3.403,17377,3.403,17378,3.403,17379,5.549,17380,3.403,17381,5.549,17382,3.403,17383,3.403,17384,3.403,17385,3.403,17386,3.403,17387,3.403,17388,3.403,17389,3.403,17390,3.403,17391,5.549,17392,3.403,17393,3.403,17394,3.403,17395,3.403,17396,3.403,17397,3.403]],["title/injectables/OidcProvisioningStrategy.html",[539,0.921,17398,6.018]],["body/injectables/OidcProvisioningStrategy.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.108,8,1.208,9,5.962,27,0.495,29,0.891,30,0.001,31,0.644,32,0.146,33,0.538,35,1.363,36,2.409,95,0.152,99,1.212,100,2.551,101,0.012,103,0.001,104,0.001,177,1.393,180,1.733,182,2.372,226,1.094,236,1.219,239,1.757,262,2.482,284,2.267,349,0.771,379,0.946,382,3.351,437,0.988,539,1.339,541,1.797,556,1.83,608,2.779,654,3.009,933,4.151,1964,5.636,2079,3.315,2080,3.701,2081,3.57,2088,4.86,2220,4.3,2353,5.08,3940,4.223,7322,5.325,8980,5.002,11602,8.836,12548,6.242,13161,8.134,13163,4.929,13938,7.641,13940,8.095,13941,8.425,13945,6.065,13946,7.458,13950,7.641,13951,6.561,13983,6.561,16433,8.095,17223,6.561,17292,6.561,17297,10.42,17398,8.757,17399,7.49,17400,7.49,17401,7.49,17402,7.49,17403,7.49,17404,7.49,17405,6.561,17406,7.49,17407,11.108,17408,7.49,17409,7.49,17410,7.49,17411,6.93,17412,7.49,17413,9.997,17414,7.49,17415,7.49]],["title/interfaces/Options.html",[105,0.7,490,2.441]],["body/interfaces/Options.html",[0,0.222,3,0.014,4,0.014,5,0.007,7,0.094,30,0.001,32,0.136,33,0.607,36,2.251,47,0.739,95,0.124,101,0.017,103,0,104,0,105,0.67,107,1.541,112,0.7,119,2.566,142,4.437,143,1.456,145,3.195,153,2.969,219,2.574,262,2.319,284,1.989,345,2.087,349,1.083,437,1.707,490,4.51,510,4.833,556,2.569,603,1.357,608,2.631,1122,4.207,1717,5.931,1822,6.788,2088,8.028,2830,3.923,3291,4.009,3309,5.779,3502,5.755,3505,6.105,3508,5.32,3514,8.925,3515,7.186,3516,3.923,3518,5.16,3519,6.016,4381,6.86,5654,5.32,5656,5.755,6441,3.079,8038,5.513,8039,6.079,8042,5.32,8043,8.257,8045,6.079,8046,9.967,8047,7.672,8049,6.079,8050,7.379,8052,8.257,8053,7.844,8054,5.022,8056,5.755,8057,5.513,8058,11.056,8059,8.689,8060,8.459,8061,5.755,8062,8.459,8063,8.459,8064,6.079,8065,6.079,8066,6.079,8067,9.539,8068,8.459,8069,9.728,8070,4.53,8071,8.008,8072,6.079,8073,6.079,8074,5.755]],["title/classes/Page.html",[0,0.232,822,3.333]],["body/classes/Page.html",[0,0.329,2,1.077,3,0.021,4,0.021,5,0.011,7,0.14,27,0.525,29,0.771,30,0.001,31,0.557,32,0.165,33,0.465,55,2.769,101,0.015,103,0.001,104,0.001,112,0.904,284,4.102,379,1.229,479,4.967,816,7.601,817,6.781,822,5.73,834,5.306,17416,9.732,17417,11.812,17418,9.732,17419,9.004]],["title/classes/PageContentDto.html",[0,0.232,17420,5.395]],["body/classes/PageContentDto.html",[0,0.324,2,1.061,3,0.021,4,0.021,5,0.011,7,0.138,27,0.521,29,0.76,30,0.001,31,0.549,32,0.164,33,0.459,47,0.925,101,0.015,103,0.001,104,0.001,112,0.896,128,5.37,181,3.161,379,1.212,381,3.247,4565,5.943,17420,10.599,17421,13.162,17422,9.594,17423,10.606,17424,10.606,17425,11.71,17426,9.594,17427,8.876,17428,8.876,17429,8.876,17430,8.876]],["title/injectables/PageContentMapper.html",[539,0.921,17431,5.765]],["body/injectables/PageContentMapper.html",[0,0.321,3,0.021,4,0.021,5,0.011,7,0.136,8,1.405,27,0.391,29,0.751,30,0.001,31,0.542,32,0.123,33,0.454,35,1.148,95,0.149,100,3.229,101,0.015,103,0.001,104,0.001,128,4.744,226,1.385,236,1.543,349,0.976,437,1.251,539,1.558,541,2.275,790,4.775,824,4.131,4565,5.25,11977,8.773,15833,10.184,15834,10.184,17420,10.294,17423,7.957,17424,7.957,17431,9.756,17432,11.626,17433,9.482,17434,11.288,17435,9.482,17436,8.773,17437,9.482,17438,9.482]],["title/classes/PageContentQueryParams.html",[0,0.232,17439,6.018]],["body/classes/PageContentQueryParams.html",[0,0.372,2,0.962,3,0.019,4,0.026,5,0.01,7,0.125,27,0.499,30,0.001,32,0.176,47,0.893,95,0.143,101,0.013,103,0.001,104,0.001,112,0.843,128,5.185,138,2.168,148,2.698,150,1.959,153,2.773,245,3.269,808,4.793,821,5.604,822,5.342,852,4.051,2739,4.998,3134,5.078,4565,5.739,7289,8.417,10665,6.484,17439,9.646,17440,12.709,17441,8.691,17442,10.589,17443,9.789,17444,9.789,17445,11.133,17446,8.691,17447,8.691,17448,11.012,17449,8.691,17450,8.691,17451,7.613,17452,8.691]],["title/classes/PageContentResponse.html",[0,0.232,17434,5.765]],["body/classes/PageContentResponse.html",[0,0.304,2,0.993,3,0.02,4,0.02,5,0.01,7,0.129,27,0.506,29,0.711,30,0.001,31,0.514,32,0.159,33,0.429,47,0.903,95,0.106,101,0.014,103,0.001,104,0.001,112,0.86,128,5.247,138,2.016,150,2.024,153,2.579,181,3.034,245,3.156,379,1.134,381,3.039,821,5.211,1262,4.494,4565,5.807,17423,10.297,17424,10.297,17427,8.308,17428,8.308,17429,8.308,17430,8.308,17434,11.112,17453,12.86,17454,8.979,17455,11.241,17456,11.241,17457,11.898,17458,11.241,17459,8.979]],["title/classes/PaginationParams.html",[0,0.232,836,4.821]],["body/classes/PaginationParams.html",[0,0.376,2,0.978,3,0.019,4,0.019,5,0.01,7,0.127,27,0.459,30,0.001,32,0.144,33,0.612,55,2.75,56,6.356,70,6.137,95,0.132,101,0.014,103,0.001,104,0.001,112,0.852,138,1.997,148,2.745,149,4.701,150,1.993,153,2.554,480,3.097,486,3.351,696,4.328,708,4.468,710,8.819,822,5.401,828,7.326,836,7.813,842,8.181,843,7.813,844,9.342,845,8.509,846,10.3,848,8.181,849,6.17,850,9.342,3494,6.323,3499,6.453,3550,7.16,5591,9.867,17460,8.843,17461,8.843,17462,8.843,17463,8.843,17464,8.843]],["title/classes/PaginationResponse.html",[0,0.232,815,4.24]],["body/classes/PaginationResponse.html",[0,0.263,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,9,5.813,27,0.523,29,0.617,30,0.001,31,0.446,32,0.18,33,0.606,55,2.941,56,6.397,59,3.159,70,6.681,95,0.092,101,0.012,103,0.001,104,0.001,112,0.785,138,2.187,150,1.756,153,2.798,245,3.259,284,3.473,379,0.984,479,3.761,815,6.333,816,7.232,821,5.653,822,5.916,823,5.466,824,3.646,826,7.913,827,7.54,828,6.753,829,5.31,4706,7.076,17419,7.209,17465,7.792,17466,10.262,17467,7.792,17468,7.792,17469,7.792,17470,7.792,17471,7.792,17472,7.792,17473,7.792]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.232,1930,6.018]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.297,2,0.972,3,0.019,4,0.019,5,0.01,7,0.126,8,1.34,27,0.457,29,0.696,30,0.001,31,0.502,32,0.174,33,0.42,35,1.064,47,0.853,95,0.131,101,0.014,103,0.001,104,0.001,177,1.634,180,1.922,182,2.782,226,1.283,284,2.659,345,2.79,349,0.905,363,4.953,379,1.109,564,2.75,1025,3.483,1147,3.375,1338,5.632,1339,6.286,1341,2.823,1343,6.344,1650,6.85,1930,9.712,2548,2.964,3255,7.68,8829,6.33,8830,6.571,9276,5.553,9283,5.141,9284,5.36,9292,7.114,9293,7.114,13996,7.372,17474,12.149,17475,12.149,17476,8.785,17477,12.149,17478,8.785,17479,8.785,17480,8.785]],["title/classes/PatchGroupParams.html",[0,0.232,7624,6.018]],["body/classes/PatchGroupParams.html",[0,0.392,2,1.044,3,0.021,4,0.021,5,0.011,7,0.135,27,0.389,30,0.001,31,0.663,32,0.122,47,0.814,95,0.148,100,3.948,101,0.015,103,0.001,104,0.001,112,0.887,138,1.693,148,2.93,150,2.127,153,2.66,245,2.981,247,4.06,248,4.634,975,6.387,1271,4.194,1942,5.479,7077,9.025,7297,7.642,7299,7.863,7624,10.155,17481,10.155,17482,9.438,17483,10.155,17484,9.438]],["title/classes/PatchMyAccountParams.html",[0,0.232,328,6.018]],["body/classes/PatchMyAccountParams.html",[0,0.321,2,0.767,3,0.015,4,0.015,5,0.008,7,0.099,27,0.502,30,0.001,31,0.665,32,0.158,33,0.627,47,0.945,87,6.174,95,0.137,101,0.011,103,0.001,104,0.001,112,0.726,138,2.184,142,5.25,143,2.98,144,4.362,145,3.781,148,2.151,150,1.562,153,2.794,236,2.133,239,3.155,245,3.234,246,7.68,247,2.98,248,4.867,249,4.772,250,4.436,251,8.774,252,5.814,253,3.423,254,5.814,257,5.169,328,8.307,359,5.723,651,5.214,652,5.214,653,6.258,1107,5.171,2958,5.605,4706,9.276,5567,7.448,7234,8.307,17485,11.635,17486,6.929,17487,10.813,17488,10.813,17489,6.929,17490,7.958,17491,6.929,17492,6.929,17493,6.929,17494,6.929,17495,6.929,17496,8.307,17497,6.929]],["title/classes/PatchMyPasswordParams.html",[0,0.232,299,6.018]],["body/classes/PatchMyPasswordParams.html",[0,0.371,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.453,30,0.001,32,0.142,47,0.891,87,7.094,95,0.15,101,0.013,103,0.001,104,0.001,112,0.84,138,1.97,142,4.952,143,2.811,144,4.114,145,3.566,148,2.686,150,1.951,153,2.52,236,2.065,239,2.976,245,3.103,246,9.769,247,3.723,248,4.822,250,5.541,252,7.262,253,4.276,254,9.216,299,9.62,361,6.248,5662,7.707,17485,11.162,17498,8.654,17499,12.065,17500,10.983,17501,10.983,17502,8.654,17503,8.654]],["title/classes/PatchOrderParams.html",[0,0.232,17504,6.018]],["body/classes/PatchOrderParams.html",[0,0.391,2,1.039,3,0.02,4,0.02,5,0.01,7,0.135,27,0.387,30,0.001,32,0.122,47,0.812,95,0.137,100,3.937,101,0.014,103,0.001,104,0.001,112,0.885,138,1.685,143,2.081,148,2.916,150,2.118,153,2.652,236,1.881,245,2.973,565,6.903,808,4.583,849,7.436,1732,6.067,1944,4.883,2093,7.367,2406,5.251,3914,7.971,4118,7.607,5590,7.134,17481,10.126,17483,10.126,17504,10.126,17505,9.394,17506,9.394,17507,10.696,17508,9.394]],["title/classes/PatchVisibilityParams.html",[0,0.232,17509,6.018]],["body/classes/PatchVisibilityParams.html",[0,0.395,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,27,0.395,30,0.001,32,0.124,95,0.138,100,3.982,101,0.015,103,0.001,104,0.001,112,0.895,119,2.425,138,1.717,143,2.59,145,3.286,147,6.325,148,2.971,150,2.158,153,2.683,245,3.007,1942,5.506,1944,4.939,4143,11.814,4973,7.392,4974,7.588,7306,8.384,17481,10.243,17483,10.243,17509,10.243,17510,9.571,17511,9.571]],["title/classes/Path.html",[0,0.232,360,3.483]],["body/classes/Path.html",[0,0.307,2,0.459,3,0.009,4,0.009,5,0.005,7,0.06,27,0.268,29,0.515,30,0.001,31,0.459,32,0.084,33,0.198,47,0.927,55,2.715,72,1.874,83,1.871,95,0.107,96,1.098,99,0.671,101,0.014,103,0,104,0,112,0.498,119,2.169,138,0.744,142,1.619,143,2.925,144,4.252,145,1.166,153,0.952,154,1.304,157,2.591,172,4.333,173,1.203,174,2.471,178,1.639,180,0.719,182,1.314,238,2.319,250,2.657,319,3.834,349,0.935,360,5.899,379,0.524,413,1.249,517,1.565,662,2.013,696,4.065,708,4.387,739,4.519,823,4.271,997,1.934,1105,4.012,1109,6.938,1110,7.535,1111,7.535,1125,5.538,1134,4.65,1147,3,1271,1.295,1288,2.262,1664,2.435,1823,4.97,2024,3.738,2044,1.613,2171,3.545,2255,3.07,2427,4.061,2494,4.343,2723,4.484,2784,1.967,2882,1.978,3122,1.793,3130,3.924,3625,3.259,3671,4.279,4745,4.22,5126,3.968,5384,4.65,5515,3.843,5541,4.061,5840,3.172,5841,3.172,5842,3.096,5843,3.172,5844,2.693,5850,3.096,5851,3.172,5863,6.129,5866,2.912,5867,3.172,5883,3.733,5884,3.172,5886,3.172,5894,2.912,5897,3.172,5899,3.172,5901,3.172,5903,3.172,5909,3.172,6441,3.758,6448,2.657,6679,2.967,6791,2.561,8555,2.861,10505,6.493,10506,3.482,10507,5.107,10508,6.129,10509,3.482,10513,5.457,10514,5.457,10515,6.729,10516,5.457,10517,7.35,10518,3.482,10519,5.457,10520,5.457,10521,5.457,10522,3.259,10523,3.482,10524,3.172,10525,5.266,10526,6.729,10527,6.67,10528,3.482,10529,6.729,10530,6.83,10531,5.266,10532,5.107,10533,5.457,10534,5.107,10535,5.457,10536,4.745,10537,5.457,10538,5.107,10539,5.457,10540,5.266,10541,5.457,10542,5.457,10543,3.259,10544,3.482,10545,6.129,10546,3.259,10547,2.912,10548,3.482,10549,3.482,10550,3.482,10551,3.482,10552,3.482,10553,3.482,10554,3.482,10555,3.482,10556,3.482,10557,3.482,10558,3.482,10559,3.482,10560,3.482,10561,3.482,10562,3.482,10563,3.482,10564,3.482,10565,3.482,10566,3.482,10567,3.482,10568,3.482,10569,3.482,10570,3.482,10571,3.482,10572,3.482,10573,3.482,10574,3.482,10575,3.482,10576,3.482,10577,3.482,10578,3.482,10579,3.482,10580,3.482,10581,3.482,10582,3.482,10583,3.482,10584,3.482,10585,3.482,10586,3.482,10587,3.482,10588,3.482,10589,3.482,10590,3.482,10591,3.482,10592,3.482,10593,3.482,10594,3.482,10595,3.482,10596,3.482,10597,3.482,10598,3.482,10599,3.482,10600,3.482,10601,3.482,10602,3.482,10603,3.482,10604,3.482,10605,3.482,10606,3.482,10607,3.482,10608,3.482,17512,6.503]],["title/injectables/PermissionService.html",[216,5.765,539,0.921]],["body/injectables/PermissionService.html",[0,0.234,3,0.015,4,0.015,5,0.008,7,0.099,8,1.307,27,0.446,29,0.856,30,0.001,31,0.618,32,0.14,33,0.517,35,1.408,47,0.921,95,0.128,101,0.011,102,4.808,103,0.001,104,0.001,119,1.967,145,1.947,216,9.074,226,1.012,236,1.543,239,3.253,276,5.46,333,2.953,349,1.197,353,6.539,355,5.995,358,4.239,437,1.534,529,1.983,539,1.271,541,1.662,560,2.851,591,5.347,603,2.233,696,4.204,827,4.015,1133,7.249,1673,6.673,1719,6.41,1721,6.41,1722,6.41,1723,6.527,1726,2.967,1728,6.241,1733,6.41,1734,6.41,1758,5.051,1832,3.808,2395,5.605,3140,5.856,4119,6.391,4741,6.333,5575,6.655,8046,7.448,10147,8.774,10950,8.774,11973,8.774,12990,7.68,12992,5.61,12999,5.61,17513,6.929,17514,9.484,17515,9.484,17516,9.484,17517,6.929,17518,9.484,17519,6.929,17520,9.484,17521,8.774,17522,9.484,17523,6.929,17524,6.929,17525,6.929,17526,6.929,17527,6.929,17528,6.929,17529,9.484,17530,6.929,17531,9.484,17532,6.929,17533,6.929]],["title/interfaces/PlainTextMailContent.html",[105,0.7,1367,5.125]],["body/interfaces/PlainTextMailContent.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,31,0.505,32,0.144,33,0.532,47,1.016,77,5.649,101,0.014,103,0.001,104,0.001,105,1.392,107,2.07,112,0.851,180,2.284,1150,5.163,1356,8.294,1357,6.744,1358,9.081,1359,8.498,1360,6.744,1361,4.772,1362,8.294,1363,6.439,1364,6.439,1365,9.534,1366,6.744,1367,9.081,1368,10.069,1369,10.069,1370,8.294,1371,6.783,1372,6.582,1373,6.582,1374,6.744,1375,6.744]],["title/classes/PostH5PContentCreateParams.html",[0,0.232,11454,5.125]],["body/classes/PostH5PContentCreateParams.html",[0,0.438,2,0.783,3,0.015,4,0.015,5,0.008,7,0.102,26,2.206,27,0.484,30,0.001,32,0.159,47,0.909,95,0.149,99,1.144,101,0.019,103,0.001,104,0.001,112,0.736,120,2.988,138,2.104,148,2.196,150,1.594,154,1.419,245,3.595,247,3.043,248,4.368,249,3.769,271,4.544,808,5.017,809,6.955,839,3.651,852,3.297,1105,6.138,1108,6.526,1150,6.863,1218,3.642,2024,3.297,2171,5.244,2921,4.18,2922,5.881,3632,5.039,4260,9.161,4263,8.354,5663,4.877,5827,5.935,5833,7.092,5883,4.061,5930,8.583,5933,5.066,7299,6.524,10530,6.596,11405,7.96,11443,5.277,11444,5.555,11448,7.553,11449,5.277,11450,5.277,11451,5.277,11452,5.406,11453,5.555,11454,7.175,11455,5.555,17534,7.073,17535,7.073,17536,7.073,17537,7.073,17538,7.073,17539,7.073]],["title/classes/PostH5PContentParams.html",[0,0.232,11452,5.251]],["body/classes/PostH5PContentParams.html",[0,0.439,2,0.792,3,0.016,4,0.016,5,0.008,7,0.103,26,1.958,27,0.486,30,0.001,32,0.143,47,0.928,95,0.15,99,1.158,101,0.02,103,0.001,104,0.001,112,0.742,138,2.114,148,2.223,150,1.614,154,1.436,245,3.6,247,3.08,248,4.396,249,3.8,271,4.563,808,5.035,809,6.98,839,3.67,852,3.337,1105,6.164,1108,6.567,1150,7.431,1218,3.672,2024,3.337,2171,6.427,2922,5.651,3632,3.302,4260,9.182,4263,8.406,5663,4.937,5833,7.649,5883,4.111,5930,7.996,5933,3.319,7299,6.578,10530,4.321,11405,7.994,11443,5.342,11444,5.623,11448,7.616,11449,5.342,11450,5.342,11451,5.342,11452,7.413,11453,8.637,11454,5.342,11455,5.623,17540,7.161,17541,7.161,17542,7.161,17543,9.699,17544,7.161,17545,7.161]],["title/classes/PreviewActionsLoggable.html",[0,0.232,17546,5.563]],["body/classes/PreviewActionsLoggable.html",[0,0.304,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,8,1.361,27,0.464,29,0.713,30,0.001,31,0.515,32,0.117,33,0.43,35,1.09,47,0.863,95,0.133,101,0.014,103,0.001,104,0.001,105,0.917,177,2.093,284,2.724,345,2.858,348,4.532,349,0.927,379,1.136,437,1.187,603,1.858,1025,4.87,1147,3.426,1338,5.694,1339,6.355,1341,2.892,1343,6.399,1616,6.925,1691,7.067,3930,6.878,6494,5.762,11403,8.397,11404,8.214,17546,9.115,17547,8.47,17548,12.283,17549,8.999,17550,9.392,17551,8.999,17552,8.999,17553,6.713,17554,7.287,17555,8.999,17556,8.999]],["title/classes/PreviewBuilder.html",[0,0.232,17557,6.018]],["body/classes/PreviewBuilder.html",[0,0.254,2,0.83,3,0.016,4,0.016,5,0.008,7,0.108,8,1.21,27,0.413,29,0.793,30,0.001,31,0.572,32,0.13,33,0.479,34,1.877,35,1.212,47,0.791,95,0.148,101,0.012,103,0.001,104,0.001,105,0.765,154,1.505,271,3.708,348,6.051,349,1.031,413,3.876,437,1.761,506,3.883,556,2.751,662,3.098,790,3.779,1361,5.414,1616,5.643,3044,4.231,4266,2.54,6419,5.278,6437,8.058,6490,8.744,6494,4.805,11215,6.297,11354,9.183,11401,10.812,11402,9.865,11403,8.963,11404,8.767,17550,8.218,17553,5.598,17557,8.767,17558,7.504,17559,11.262,17560,10.009,17561,7.504,17562,7.504,17563,10.009,17564,7.504,17565,7.504,17566,7.504,17567,7.504,17568,7.504,17569,7.504,17570,7.504,17571,7.504,17572,7.504,17573,7.504]],["title/interfaces/PreviewConfig.html",[105,0.7,17574,5.765]],["body/interfaces/PreviewConfig.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,47,0.7,55,2.038,95,0.118,101,0.018,103,0.001,104,0.001,105,1.222,107,2.339,112,0.917,3601,4.017,6513,8.327,10337,6.153,12411,6.763,12803,8.073,12805,8.073,13077,9.195,15455,7.276,17547,6.875,17574,10.058,17575,9.224,17576,11.19,17577,11.19]],["title/interfaces/PreviewFileOptions.html",[105,0.7,17550,5.013]],["body/interfaces/PreviewFileOptions.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,32,0.165,47,0.988,55,1.989,101,0.02,103,0.001,104,0.001,105,1.296,107,2.283,112,0.904,119,2.018,347,3.517,348,4.901,6494,6.231,11403,9.867,11404,9.888,17547,6.71,17550,8.62,17553,10.495,17578,8.524,17579,7.642]],["title/interfaces/PreviewFileParams.html",[105,0.7,11401,5.563]],["body/interfaces/PreviewFileParams.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,31,0.494,32,0.178,33,0.525,47,1.016,55,1.765,95,0.142,101,0.017,103,0.001,104,0.001,105,1.118,107,2.026,112,0.839,154,1.732,284,2.614,348,6.386,790,4.349,1215,6.028,1217,4.869,5838,4.958,6419,4.047,6437,8.3,6490,8.806,6520,5.329,6521,5.212,6522,5.212,10869,5.683,11354,9.692,11400,7.99,11401,8.881,11402,11.107,11403,9.459,11404,9.253]],["title/modules/PreviewGeneratorAMQPModule.html",[201,1.845,17580,6.018]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.327,3,0.021,4,0.021,5,0.011,30,0.001,95,0.15,101,0.015,103,0.001,104,0.001,201,3.406,203,3.504,204,3.756,205,3.862,206,3.846,207,3.831,208,3.566,209,3.658,218,4.701,219,3.786,220,3.699,225,4.682,226,1.411,506,4.999,1232,7.385,6419,4.528,6441,4.528,6495,6.186,6513,7.344,11048,8.939,11215,8.108,11222,8.463,12802,10.881,13077,6.662,17576,8.108,17580,12.046,17581,9.662,17582,9.662,17583,11.348,17584,9.662]],["title/classes/PreviewGeneratorBuilder.html",[0,0.232,17585,6.018]],["body/classes/PreviewGeneratorBuilder.html",[0,0.312,2,1.023,3,0.02,4,0.02,5,0.015,7,0.133,8,1.384,27,0.381,29,0.732,30,0.001,31,0.529,32,0.12,33,0.442,35,1.12,95,0.147,101,0.014,103,0.001,104,0.001,105,0.942,284,2.798,348,5.765,349,0.952,413,3.743,437,1.51,662,2.862,1217,5.212,1361,5,3601,3.725,5670,10.59,6495,7.329,6881,10.522,10337,5.705,17547,7.893,17553,10.396,17585,10.026,17586,9.269,17587,9.245,17588,11.446,17589,9.245]],["title/injectables/PreviewGeneratorConsumer.html",[539,0.921,17590,6.018]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.117,8,1.274,27,0.435,29,0.835,30,0.001,31,0.603,32,0.137,33,0.504,35,0.983,95,0.158,101,0.012,103,0.001,104,0.001,105,0.827,138,1.456,177,1.51,226,1.186,262,2.582,345,2.579,349,0.836,379,1.025,437,1.071,539,1.412,541,1.948,556,2.575,603,1.677,608,1.879,662,3.623,824,3.746,1025,3.219,1185,5.069,1187,6.84,1218,3.074,1224,5.697,1225,5.268,1341,2.609,1616,6.6,2312,5.56,6495,5.198,8898,5.01,11133,7.511,11135,9.233,11142,7.511,11143,9.753,17546,6.574,17547,8.071,17550,9.041,17586,9.479,17590,9.233,17591,8.119,17592,9.233,17593,8.119,17594,11.042,17595,8.119,17596,8.119,17597,9.823,17598,8.119,17599,7.511,17600,7.111,17601,7.111,17602,7.111,17603,8.119,17604,10.541,17605,8.119,17606,6.813,17607,8.119,17608,8.119]],["title/modules/PreviewGeneratorConsumerModule.html",[201,1.845,17583,5.765]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,8,0.991,27,0.338,29,0.65,30,0.001,31,0.469,32,0.106,33,0.392,35,0.993,95,0.162,101,0.013,103,0.001,104,0.001,201,3.159,203,2.974,208,3.916,214,4.945,225,3.264,226,1.198,236,1.334,349,0.844,413,3.194,437,1.399,506,5.49,598,4.752,636,4.798,637,5.864,639,3.865,1174,7.855,1341,2.635,1971,5.482,2312,5.346,3601,3.304,6495,6.793,8898,5.061,10337,5.061,10663,6.268,11206,7.446,11212,5.864,11216,5.864,11220,5.864,11221,5.655,11392,6.64,11393,7.742,13077,7.316,15455,5.984,17547,7.316,17574,10.437,17576,6.881,17583,9.87,17586,8.591,17590,9.294,17594,8.903,17602,7.183,17609,8.2,17610,7.183,17611,10.61,17612,8.2,17613,8.2,17614,8.2,17615,8.2,17616,8.2,17617,8.2]],["title/modules/PreviewGeneratorProducerModule.html",[201,1.845,11214,5.765]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.307,3,0.02,4,0.02,5,0.01,30,0.001,95,0.153,101,0.014,103,0.001,104,0.001,201,3.313,203,3.293,204,3.53,205,3.629,206,3.614,207,3.6,208,4.552,209,4.669,214,6.314,218,4.524,219,3.557,220,3.476,225,4.506,226,1.326,506,4.698,1225,5.892,1341,2.918,11206,9.506,11214,11.899,17547,6.261,17586,7.352,17618,9.08,17619,9.08,17620,9.08,17621,9.08,17622,11.955,17623,9.08,17624,9.08]],["title/injectables/PreviewGeneratorService.html",[539,0.921,17594,5.765]],["body/injectables/PreviewGeneratorService.html",[0,0.218,3,0.014,4,0.014,5,0.013,7,0.093,8,1.09,27,0.489,29,0.893,30,0.001,31,0.645,32,0.146,33,0.539,35,1.261,36,2.413,47,0.731,95,0.152,101,0.01,103,0,104,0,105,0.657,112,0.69,143,1.428,177,1.199,226,0.941,262,2.712,271,4.176,345,2.047,347,2.33,348,3.246,349,1.072,379,0.814,437,1.699,480,1.793,486,1.94,539,1.209,541,1.546,556,1.575,603,2.738,608,2.409,662,3.221,739,3.898,1217,3.634,1341,2.071,2312,5.239,3330,6.451,3601,2.597,6490,7.218,6494,5.776,6495,6.663,6519,7.911,6881,8.427,10337,3.977,10693,6.73,11392,7.305,11393,8.226,11403,4.808,11404,6.583,17546,5.219,17547,8.479,17550,8.226,17553,9.173,17579,5.061,17585,5.646,17586,9.957,17592,7.902,17594,7.57,17600,5.646,17601,5.646,17606,7.57,17625,5.963,17626,11.866,17627,9.021,17628,9.021,17629,5.963,17630,9.021,17631,9.021,17632,6.445,17633,6.445,17634,8.346,17635,6.445,17636,9.021,17637,6.445,17638,10.407,17639,5.963,17640,6.445,17641,6.445,17642,6.445,17643,6.445,17644,6.445,17645,6.445,17646,6.445,17647,6.445,17648,6.445,17649,6.445,17650,6.445,17651,6.445,17652,6.445]],["title/interfaces/PreviewModuleConfig.html",[105,0.7,17577,5.765]],["body/interfaces/PreviewModuleConfig.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.155,47,0.903,55,2.627,95,0.118,101,0.018,103,0.001,104,0.001,105,1.222,107,2.339,112,0.917,3601,4.017,6513,7.485,10337,6.153,12411,6.763,12803,10.798,12805,10.798,13077,6.875,15455,7.276,17547,6.875,17574,8.366,17575,9.224,17576,8.366,17577,10.785]],["title/interfaces/PreviewOptions.html",[105,0.7,17553,5.125]],["body/interfaces/PreviewOptions.html",[3,0.021,4,0.021,5,0.011,7,0.141,30,0.001,32,0.154,33,0.569,47,0.97,55,2.613,101,0.02,103,0.001,104,0.001,105,1.303,107,2.31,112,0.91,119,2.043,347,3.56,348,6.688,6494,8.503,11403,7.348,11404,8.683,17547,6.792,17550,7.187,17553,9.907,17578,8.627,17579,7.735]],["title/classes/PreviewParams.html",[0,0.232,6490,4.399]],["body/classes/PreviewParams.html",[0,0.454,2,0.688,3,0.014,4,0.019,5,0.01,7,0.089,26,2.453,27,0.421,30,0.001,32,0.162,33,0.581,39,1.67,47,0.944,95,0.148,99,1.006,101,0.02,103,0,104,0,105,0.634,112,0.673,119,2.117,138,1.831,143,1.949,147,4.758,148,1.93,149,4.281,150,1.402,151,5.874,153,1.427,154,1.247,245,3.582,247,2.675,248,4.858,249,4.348,348,3.132,808,4.819,809,6.099,839,3.177,852,2.898,988,2.713,990,2.131,1079,3.675,1147,1.893,1203,5.632,1204,4.092,1205,4.092,1262,2.173,2739,4.633,2922,5.613,3632,2.867,4266,2.105,5826,6.373,5933,2.883,6088,6.601,6419,5.2,6432,7.302,6438,6.099,6467,4.288,6468,4.364,6469,4.364,6472,7.819,6475,4.288,6476,8.118,6477,8.53,6478,8.53,6479,4.364,6480,4.288,6481,4.288,6482,4.364,6483,4.218,6484,5.966,6485,4.153,6486,4.218,6487,4.288,6488,4.218,6489,4.218,6490,5.632,6491,4.364,6492,7.163,6493,4.364,6494,6.535,6495,5.632,6496,5.788,6497,5.874,6498,7.163,11295,8.138,11315,5.753,17653,6.219,17654,6.219,17655,6.219,17656,6.219,17657,6.219]],["title/injectables/PreviewProducer.html",[539,0.921,17622,5.765]],["body/injectables/PreviewProducer.html",[0,0.232,3,0.015,4,0.015,5,0.008,7,0.099,8,1.14,27,0.501,29,1.018,30,0.001,31,0.694,32,0.167,33,0.581,35,1.403,36,2.018,47,0.881,55,1.404,95,0.155,101,0.011,103,0,104,0,105,0.7,141,4.419,177,2.002,180,1.635,226,1.003,262,2.678,349,0.707,379,1.191,382,3.206,437,1.244,448,5.272,479,3.456,500,5.464,519,2.115,539,1.263,541,1.648,584,8.453,598,3.981,603,1.419,608,1.59,824,3.825,1185,4.29,1187,4.458,1210,5.563,1211,9.357,1218,3.57,1224,4.821,1225,4.458,1341,2.208,1616,7.484,1971,3.202,2312,5.331,3982,7.635,4018,8.031,8898,4.24,10663,5.251,11145,7.034,11241,10.526,11242,8.259,11243,8.259,11251,6.018,11252,6.356,11253,6.018,11254,6.356,11255,6.018,11256,6.356,11258,6.356,13901,6.356,15455,5.013,17546,5.563,17547,7.423,17550,8.455,17577,5.765,17579,5.395,17597,7.912,17599,6.356,17600,6.018,17601,6.018,17606,7.912,17622,7.912,17658,6.87,17659,6.87,17660,9.429,17661,6.87,17662,6.87,17663,6.87,17664,6.87,17665,6.87]],["title/interfaces/PreviewResponseMessage.html",[105,0.7,17579,5.395]],["body/interfaces/PreviewResponseMessage.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,32,0.155,47,0.971,55,2.023,101,0.02,103,0.001,104,0.001,105,1.306,107,2.322,112,0.913,119,2.657,347,4.808,348,4.984,6494,6.337,11403,7.384,11404,9.935,17547,6.825,17550,7.222,17553,9.558,17578,8.669,17579,9.371]],["title/injectables/PreviewService.html",[539,0.921,11130,5.765]],["body/injectables/PreviewService.html",[0,0.179,3,0.012,4,0.012,5,0.013,7,0.076,8,0.945,27,0.49,29,0.942,30,0.001,31,0.713,32,0.154,33,0.569,35,1.392,36,2.715,47,0.654,59,1.626,95,0.152,101,0.008,103,0,104,0,105,0.538,154,1.059,177,1.453,226,0.771,236,0.859,262,2.951,271,3.809,349,0.958,379,0.987,437,1.645,500,3.061,506,2.733,519,2.406,529,2.236,539,1.047,541,1.267,579,2.835,603,2.763,604,2.173,608,2.826,631,2.677,639,2.489,662,3.557,790,2.66,824,3.654,990,3.524,994,3.777,1242,2.857,1341,1.697,1616,2.978,2312,3.861,2313,4.691,2357,3.854,2362,4.147,2681,4.195,3044,2.978,3601,2.128,5703,5.809,6419,5.722,6437,8.011,6439,3.777,6441,2.475,6444,6.329,6457,4.277,6462,4.277,6490,7.983,6495,3.382,10337,3.259,10686,3.777,10738,4.147,10774,4.626,10866,4.626,10869,5.143,10936,4.037,11130,6.558,11215,4.432,11222,4.626,11354,8.783,11392,6.329,11393,7.503,11401,10.419,11404,3.854,12801,4.886,17557,4.626,17592,6.846,17622,9.978,17629,4.886,17634,7.231,17666,5.281,17667,7.816,17668,7.816,17669,9.304,17670,7.816,17671,7.816,17672,5.281,17673,7.816,17674,5.281,17675,7.816,17676,5.281,17677,5.281,17678,5.281,17679,5.281,17680,7.816,17681,5.281,17682,7.816,17683,5.281,17684,5.281,17685,5.281,17686,5.281,17687,5.281,17688,5.281,17689,5.281,17690,5.281,17691,5.281,17692,4.886,17693,5.281,17694,5.281,17695,5.281,17696,5.281,17697,7.816,17698,7.816,17699,5.281,17700,5.281,17701,5.281,17702,5.281,17703,5.281,17704,5.281]],["title/classes/PrometheusMetricsConfig.html",[0,0.232,17705,6.018]],["body/classes/PrometheusMetricsConfig.html",[0,0.231,2,0.756,3,0.015,4,0.015,5,0.008,7,0.098,8,1.136,27,0.571,30,0.001,32,0.162,35,0.828,47,0.812,55,2.363,95,0.081,101,0.011,103,0,104,0,112,0.719,119,2.833,177,2.587,236,1.529,349,1.29,379,1.356,413,3.862,519,2.104,556,1.67,603,2.927,662,2.908,686,4.265,1196,7.535,2079,3.025,2080,3.377,2081,3.258,2082,4.377,5284,6.787,9211,5.225,10111,8.432,17705,10.127,17706,6.835,17707,10.737,17708,10.737,17709,10.737,17710,10.737,17711,10.737,17712,10.737,17713,10.127,17714,10.737,17715,9.934,17716,9.934,17717,6.835,17718,6.835,17719,6.835,17720,6.835,17721,6.835,17722,6.835,17723,6.835,17724,6.835,17725,6.835,17726,6.835,17727,6.835,17728,6.835,17729,6.835,17730,6.835,17731,6.835,17732,6.835,17733,6.835,17734,6.835,17735,6.835,17736,9.396,17737,9.396,17738,9.396,17739,9.396,17740,9.396,17741,6.835,17742,6.835,17743,6.835,17744,6.835,17745,6.835,17746,11.562]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.232,17747,6.357]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.228,2,0.746,3,0.015,4,0.015,5,0.008,7,0.097,8,1.125,27,0.384,29,0.534,30,0.001,31,0.386,32,0.087,33,0.323,35,0.817,95,0.136,101,0.018,103,0,104,0,177,1.254,236,2.03,238,5.959,284,2.042,330,4.651,345,2.142,349,1.098,379,0.852,437,1.645,486,2.03,824,2.397,829,3.49,839,2.1,1025,2.674,1130,3.837,1147,2.834,1196,4.733,1288,3.677,1335,5.908,1337,5.908,1338,5.329,1339,5.517,1341,2.167,1342,7.812,1343,5.716,1520,9.102,1643,3.947,2024,3.144,2312,5.006,2368,4.264,6865,6.366,6961,6.041,7134,5.155,8555,4.651,10111,9.028,10527,6.505,14955,5.032,16445,10.07,17705,5.908,17715,9.864,17716,9.864,17747,10.637,17748,10.662,17749,6.745,17750,6.745,17751,11.496,17752,6.745,17753,6.745,17754,5.908,17755,6.745,17756,6.745,17757,6.745,17758,12.473,17759,13.728,17760,6.745,17761,6.745,17762,6.745,17763,5.297,17764,6.745,17765,6.745,17766,9.31,17767,6.745,17768,6.745,17769,5.462,17770,6.745,17771,9.31,17772,12.063,17773,6.745,17774,6.745,17775,6.745,17776,6.745,17777,6.745,17778,6.745,17779,6.745,17780,6.745,17781,9.31,17782,6.745,17783,6.745,17784,6.745,17785,6.745,17786,6.745]],["title/classes/PropertyData.html",[0,0.232,2609,5.563]],["body/classes/PropertyData.html",[0,0.311,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,27,0.535,29,0.729,30,0.001,31,0.742,32,0.168,33,0.593,47,0.911,95,0.109,101,0.014,103,0.001,104,0.001,112,0.873,172,2.865,181,3.081,379,1.162,381,3.115,480,3.452,1650,7.52,2044,3.578,2609,10.8,2649,10.869,4342,4.073,7430,7.227,7456,8.418,7470,7.722,7471,7.722,7497,7.722,17787,13.337,17788,8.515,17789,11.414,17790,9.203,17791,9.203]],["title/interfaces/ProviderConsentResponse.html",[105,0.7,16824,5.251]],["body/interfaces/ProviderConsentResponse.html",[3,0.017,4,0.017,5,0.009,7,0.111,30,0.001,32,0.182,33,0.691,47,1.02,70,6.123,77,7.785,95,0.121,101,0.012,103,0.001,104,0.001,105,0.788,107,1.814,108,5.426,112,0.781,119,2.371,129,10.65,130,10.65,131,4.62,133,3.931,1402,6.489,3601,4.899,4256,8.694,5595,11.249,5596,11.249,5597,10.202,5598,10.202,5599,10.202,5600,9.845,9847,9.07,16824,7.804,17792,7.733,17793,10.202,17794,7.154,17795,7.154,17796,6.773]],["title/interfaces/ProviderConsentSessionResponse.html",[105,0.7,16887,5.395]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.181,33,0.679,47,0.992,55,2.488,95,0.104,101,0.014,103,0.001,104,0.001,105,0.899,107,2.07,108,6.192,112,0.851,113,11.823,114,11.194,115,11.823,116,10.035,117,10.035,118,8.182,119,2.524,120,4.696,125,7.729,126,7.145,5638,8.163,16824,9.768,16887,8.731,17797,8.823,17798,12.779,17799,8.823]],["title/interfaces/ProviderLoginResponse.html",[105,0.7,16886,5.395]],["body/interfaces/ProviderLoginResponse.html",[3,0.019,4,0.019,5,0.01,7,0.124,30,0.001,32,0.18,33,0.607,47,1.014,70,6.391,77,8.125,95,0.13,101,0.013,103,0.001,104,0.001,105,0.882,107,2.03,108,6.073,112,0.84,119,2.502,1402,7.262,3601,5.113,4256,9.074,5597,10.648,5598,10.648,5599,10.648,5600,10.275,9847,9.467,15408,11.74,16886,8.625,17793,10.648,17794,8.007,17795,8.007,17796,7.581,17800,8.654]],["title/interfaces/ProviderOidcContext.html",[105,0.7,17793,5.765]],["body/interfaces/ProviderOidcContext.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,33,0.679,47,1.006,101,0.015,103,0.001,104,0.001,105,0.966,107,2.224,108,6.654,112,0.89,133,4.324,1672,8.773,10174,9.374,17262,12.128,17263,12.128,17264,12.128,17265,12.128,17793,9.756,17801,9.482]],["title/interfaces/ProviderRedirectResponse.html",[105,0.7,16826,5.125]],["body/interfaces/ProviderRedirectResponse.html",[3,0.023,4,0.023,5,0.012,7,0.153,30,0.001,32,0.138,47,0.928,101,0.016,103,0.001,104,0.001,105,1.085,107,2.498,108,7.473,112,0.954,16826,9.298,17802,10.649,17803,12.606]],["title/classes/ProvisioningDto.html",[0,0.232,13950,5.251]],["body/classes/ProvisioningDto.html",[0,0.344,2,1.125,3,0.022,4,0.022,5,0.011,7,0.146,27,0.5,29,0.806,30,0.001,31,0.582,32,0.157,33,0.486,47,0.852,101,0.016,103,0.001,104,0.001,112,0.928,379,1.284,8980,8.656,8983,8.908,13950,10.638,17804,10.17,17805,12.129,17806,12.129,17807,10.17]],["title/modules/ProvisioningModule.html",[201,1.845,16577,5.395]],["body/modules/ProvisioningModule.html",[0,0.237,3,0.015,4,0.015,5,0.008,30,0.001,95,0.163,101,0.011,103,0.001,104,0.001,201,2.923,203,2.543,204,2.726,205,2.803,206,2.791,207,2.78,208,4.016,209,4.12,213,9.025,214,5.883,218,3.822,219,2.747,220,2.685,225,3.806,226,1.024,654,2.111,964,4.064,1341,2.253,1420,9.416,1421,8.857,1439,5.678,1963,3.954,3593,7.701,3603,3.532,3731,4.683,3998,6.386,4608,4.756,5434,8.081,8969,5.884,11619,10.22,13935,10.591,16393,10.773,16577,11.379,17287,10.591,17297,10.22,17405,6.142,17808,7.012,17809,7.012,17810,7.012,17811,7.012,17812,10.591,17813,10.591,17814,7.012,17815,7.012,17816,7.012,17817,7.012,17818,7.012,17819,7.012]],["title/injectables/ProvisioningService.html",[539,0.921,16393,5.395]],["body/injectables/ProvisioningService.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.022,27,0.519,29,0.945,30,0.001,31,0.683,32,0.159,33,0.571,35,1.389,36,2.632,47,0.934,48,4.055,95,0.145,100,2.004,101,0.009,103,0,104,0,112,0.647,121,7.122,177,2.013,226,0.86,236,1.761,262,2.826,284,2.56,349,1.115,379,1.068,437,1.69,448,3.989,480,1.637,486,1.772,519,1.812,529,1.684,539,1.133,541,1.412,556,1.438,603,2.686,608,2.291,1226,2.838,1440,4.13,1498,7.228,2220,3.379,2647,5.998,3134,4.565,4608,8.691,11880,6.611,12494,8.672,13161,8.1,13163,7.122,13164,3.93,13165,3.93,13935,9.082,13938,6.465,13941,8.045,13946,7.386,13950,7.567,13974,4.766,16393,6.642,16394,8.71,16427,5.155,16698,7.775,17210,4.498,17287,9.082,17812,9.082,17820,5.885,17821,8.458,17822,8.458,17823,8.458,17824,8.458,17825,5.445,17826,9.9,17827,9.9,17828,9.9,17829,5.885,17830,8.458,17831,5.885,17832,8.458,17833,5.885,17834,8.458,17835,5.885,17836,5.885,17837,8.458,17838,5.885,17839,8.458,17840,5.885,17841,5.885,17842,5.155,17843,5.885,17844,5.885,17845,5.885,17846,5.885,17847,5.885,17848,5.885,17849,5.885,17850,5.885,17851,5.885,17852,8.458,17853,5.885,17854,5.885,17855,5.885,17856,5.885,17857,5.885]],["title/classes/ProvisioningStrategy.html",[0,0.232,13161,4.343]],["body/classes/ProvisioningStrategy.html",[0,0.31,2,1.016,3,0.02,4,0.02,5,0.01,7,0.132,8,1.378,9,6.733,27,0.511,29,0.903,30,0.001,31,0.652,32,0.148,33,0.545,35,1.501,36,2.775,95,0.135,100,3.127,101,0.014,103,0.001,104,0.001,284,2.779,2220,5.271,11602,10.179,12548,7.117,13161,7.205,13163,8.157,13164,6.132,13165,6.132,13938,8.712,13940,9.23,13941,9.097,13945,9.23,13946,9.67,13950,7.018,17858,9.182,17859,9.182,17860,9.182,17861,9.182]],["title/classes/ProvisioningSystemDto.html",[0,0.232,16698,5.395]],["body/classes/ProvisioningSystemDto.html",[0,0.311,2,1.018,3,0.02,4,0.02,5,0.01,7,0.132,26,2.504,27,0.535,29,0.729,30,0.001,31,0.526,32,0.168,33,0.593,47,0.802,48,5.949,95,0.135,99,1.489,101,0.014,103,0.001,104,0.001,112,0.873,181,3.081,193,6.716,194,7.227,379,1.162,381,3.115,13161,7.844,13162,8.707,13163,8.165,13164,6.146,13165,6.146,13258,7.034,13259,7.227,13260,7.034,13261,7.227,16698,10.474,17862,13.337,17863,9.203,17864,11.414,17865,9.203,17866,9.203]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.232,17842,6.018]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.32,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,8,1.403,27,0.39,29,0.749,30,0.001,31,0.541,32,0.123,33,0.452,35,1.146,48,4.535,95,0.148,100,3.954,101,0.015,103,0.001,104,0.001,236,1.539,349,0.974,413,3.782,556,2.311,3134,5.353,6659,7.938,11880,8.747,13161,5.98,13162,6.638,13163,6.225,13164,6.317,13165,6.317,16698,9.117,17210,7.231,17842,10.17,17867,11.61,17868,9.46,17869,11.61,17870,11.61,17871,9.46,17872,9.46,17873,9.46,17874,9.46]],["title/classes/Pseudonym.html",[0,0.232,9460,3.981]],["body/classes/Pseudonym.html",[0,0.282,2,0.924,3,0.018,4,0.018,5,0.009,7,0.12,8,1.298,26,2.615,27,0.556,30,0.001,32,0.108,35,1.012,39,3.364,47,0.754,83,3.602,95,0.127,101,0.017,103,0.001,104,0.001,105,0.851,112,0.821,133,2.872,180,2.057,349,1.334,376,5.088,377,5.29,381,3.633,382,3.197,448,4.326,479,3.935,662,3.323,686,4.873,1661,5.95,1665,5.33,1668,7.409,1778,3.272,2501,3.981,2795,5.348,2813,5.348,2816,6.559,2818,6.559,2821,5.759,2822,5.759,7656,6.559,9314,6.883,9460,7.684,17875,7.727,17876,7.727,17877,8.352,17878,8.352,17879,8.352,17880,8.352,17881,8.352,17882,8.352,17883,7.316,17884,7.727,17885,7.727,17886,6.384]],["title/modules/PseudonymApiModule.html",[201,1.845,17887,5.563]],["body/modules/PseudonymApiModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.159,101,0.014,103,0.001,104,0.001,201,3.28,203,3.221,204,3.453,205,3.55,206,3.535,207,3.521,208,4.507,209,3.363,218,4.462,219,3.48,220,3.4,222,5.546,223,4.653,225,4.444,226,1.297,654,2.674,1752,7.663,1963,5.007,2531,4.117,2764,4.209,4672,10.05,5434,8.625,17887,11.503,17888,8.881,17889,8.881,17890,8.881,17891,11.304,17892,8.881,17893,10.695,17894,8.881,17895,8.881]],["title/controllers/PseudonymController.html",[259,2.631,17893,6.018]],["body/controllers/PseudonymController.html",[0,0.27,3,0.017,4,0.017,5,0.009,7,0.114,8,1.26,27,0.329,29,0.632,30,0.001,31,0.456,32,0.15,33,0.381,35,1.406,36,2.23,95,0.16,99,1.29,100,2.716,101,0.012,103,0.001,104,0.001,138,1.43,150,1.798,153,1.83,177,1.483,223,3.324,226,1.165,239,2.444,259,3.054,261,3.823,262,2.56,270,6.042,271,4.299,292,5.282,294,6.43,333,4.441,335,6.288,337,4.156,338,4.248,343,4.28,345,2.533,346,4.762,349,0.821,437,1.374,608,1.846,1306,6.43,2548,3.515,2764,3.78,2963,4.186,7292,6.671,9460,7.731,9466,5.326,14787,8.437,14790,7.603,17876,10.737,17891,9.738,17893,9.127,17896,7.975,17897,7.975,17898,10.779,17899,7.975,17900,7.975,17901,7.975,17902,7.773,17903,6.986,17904,7.975,17905,10.714,17906,7.975,17907,7.975,17908,7.975,17909,7.975,17910,7.975,17911,7.975,17912,7.975]],["title/entities/PseudonymEntity.html",[154,1.378,17913,5.765]],["body/entities/PseudonymEntity.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,26,2.181,27,0.492,30,0.001,32,0.155,34,1.406,39,3.491,47,0.837,49,5.044,95,0.149,96,2.861,97,3.443,99,1.365,101,0.017,103,0.001,104,0.001,105,0.86,112,0.912,138,2.138,154,2.168,155,2.744,168,6.722,172,4.139,173,2.447,174,4.107,178,3.332,180,1.463,181,2.278,182,2.673,191,4.529,192,5.269,404,3.373,405,5.714,593,3.149,4333,4.938,9314,7.143,9460,7.286,9461,7.081,9466,5.635,9467,6.833,9468,7.081,9469,6.158,9470,6.627,17913,9.069,17914,7.808,17915,8.439,17916,8.439,17917,8.439,17918,9.069]],["title/interfaces/PseudonymEntityProps.html",[105,0.7,17918,5.765]],["body/interfaces/PseudonymEntityProps.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,26,2.537,30,0.001,32,0.163,33,0.517,34,2.095,39,3.571,47,0.883,49,5.159,95,0.149,96,2.861,97,3.443,99,1.365,101,0.017,103,0.001,104,0.001,105,0.86,107,1.979,112,0.912,154,2.168,168,6.722,172,3.913,173,2.447,174,4.107,178,3.332,180,1.463,181,2.278,182,2.673,191,4.529,192,5.269,404,3.373,405,5.714,593,3.149,4333,4.938,9314,7.308,9460,7.531,9466,5.635,9467,6.833,9468,7.081,9469,6.158,9470,6.627,17913,7.081,17914,7.808,17918,10.005]],["title/classes/PseudonymMapper.html",[0,0.232,17903,6.018]],["body/classes/PseudonymMapper.html",[0,0.327,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,8,1.422,27,0.399,29,0.765,30,0.001,31,0.553,32,0.125,33,0.462,34,1.61,35,1.17,39,2.595,95,0.139,99,1.563,101,0.015,103,0.001,104,0.001,236,1.572,349,0.995,413,3.817,437,1.274,783,6.574,790,4.866,824,4.179,9314,5.311,9460,7.837,17903,10.302,17905,11.348,17919,9.662,17920,11.761,17921,9.662,17922,9.662,17923,9.662,17924,9.662]],["title/modules/PseudonymModule.html",[201,1.845,4672,5.125]],["body/modules/PseudonymModule.html",[0,0.272,3,0.018,4,0.018,5,0.009,30,0.001,95,0.158,101,0.012,103,0.001,104,0.001,201,3.129,203,2.915,204,3.125,205,3.213,206,3.2,207,3.187,208,4.3,209,4.411,218,4.186,219,3.149,220,3.078,225,4.169,226,1.174,560,3.307,1341,2.583,1826,6.994,1827,7.813,1828,6.745,1922,6.509,2313,5.988,2487,4.189,3593,8.007,3603,4.048,4672,10.742,9471,11.013,10168,10.708,10188,9.66,14696,9.384,17925,8.038,17926,8.038,17927,8.038,17928,8.038,17929,11.013,17930,8.038]],["title/classes/PseudonymParams.html",[0,0.232,17898,6.018]],["body/classes/PseudonymParams.html",[0,0.406,2,1.106,3,0.022,4,0.022,5,0.011,7,0.143,27,0.412,30,0.001,32,0.13,47,0.843,95,0.142,101,0.015,103,0.001,104,0.001,112,0.918,138,1.793,142,4.685,143,2.659,144,3.241,145,3.373,148,3.102,150,2.253,245,3.087,248,4.798,4382,8.387,9460,7.456,11734,9.247,17898,10.515,17931,12.004,17932,9.995]],["title/interfaces/PseudonymProps.html",[105,0.7,17883,6.018]],["body/interfaces/PseudonymProps.html",[0,0.293,3,0.019,4,0.019,5,0.01,7,0.124,26,2.803,30,0.001,32,0.17,39,3.518,47,0.891,83,3.958,95,0.13,101,0.017,103,0.001,104,0.001,105,0.882,107,2.03,112,0.84,133,2.976,180,2.092,349,1.349,376,5.321,377,5.532,1661,6.686,1665,4.519,1778,3.391,2501,4.125,2821,5.968,2822,5.968,9314,7.198,9460,7.756,17875,8.007,17883,9.62,17884,8.007,17885,8.007,17886,6.615]],["title/classes/PseudonymResponse.html",[0,0.232,17905,5.765]],["body/classes/PseudonymResponse.html",[0,0.312,2,1.021,3,0.02,4,0.02,5,0.01,7,0.132,27,0.536,29,0.731,30,0.001,31,0.528,32,0.168,33,0.441,34,2.07,39,3.336,47,0.955,95,0.109,101,0.014,103,0.001,104,0.001,112,0.875,138,2.228,150,2.079,191,4.95,245,3.545,379,1.165,404,3.686,824,3.278,6182,9.256,6192,7.05,9314,6.827,9469,6.731,17905,11.199,17933,9.224,17934,11.43,17935,9.224,17936,9.224,17937,8.534,17938,9.224]],["title/classes/PseudonymScope.html",[0,0.232,9502,6.018]],["body/classes/PseudonymScope.html",[0,0.243,2,0.795,3,0.016,4,0.016,5,0.008,7,0.103,8,1.175,27,0.545,29,0.977,30,0.001,31,0.705,32,0.171,33,0.59,35,1.178,39,2.96,47,0.941,49,2.681,95,0.13,101,0.011,103,0.001,104,0.001,112,0.744,119,2.285,180,1.685,227,2.982,236,1.582,310,3.12,349,1.135,382,3.673,480,1.999,486,2.163,519,2.212,524,4.088,556,3.274,564,2.25,603,2.625,725,5.244,2350,6.512,2548,2.424,5558,5.467,6242,6.492,6243,6.492,6244,6.492,6249,6.492,6250,6.492,6251,4.874,6252,4.799,6253,4.874,6254,4.874,6263,4.799,6264,6.492,6265,4.874,6266,4.799,6267,4.874,6268,4.799,6269,7.358,9314,6.056,9457,5.138,9460,6.385,9502,8.516,9505,6.294,17939,7.186,17940,9.722,17941,8.995,17942,9.722,17943,9.722,17944,7.186,17945,8.995,17946,7.186,17947,9.722,17948,7.186,17949,7.186]],["title/interfaces/PseudonymSearchQuery.html",[105,0.7,9493,5.765]],["body/interfaces/PseudonymSearchQuery.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.167,33,0.663,39,3.585,47,0.999,101,0.015,103,0.001,104,0.001,105,1.019,107,2.344,112,0.918,813,7.014,9314,7.335,9460,7.734,9493,10.073,9812,8.755,17950,9.995]],["title/injectables/PseudonymService.html",[539,0.921,10188,4.737]],["body/injectables/PseudonymService.html",[0,0.138,3,0.009,4,0.009,5,0.005,7,0.059,8,0.776,11,5.042,13,4.506,27,0.514,29,0.987,30,0.001,31,0.712,32,0.161,33,0.596,34,1.63,35,1.488,36,2.905,37,5.042,39,3.11,42,4.506,47,0.957,49,1.523,83,1.847,95,0.133,96,1.081,97,1.666,99,0.66,101,0.006,103,0,104,0,177,1.194,226,0.596,236,1.831,239,1.506,262,3.042,310,1.773,349,1.283,376,1.659,377,1.724,379,0.811,437,1.593,490,3.197,528,4.078,529,2.574,539,0.86,541,0.979,556,1.569,570,2.519,593,2.396,603,2.68,604,1.68,608,2.404,662,3.802,739,3.888,822,3.115,933,3.558,936,5.76,1226,1.969,1778,1.6,1901,2.03,2079,1.807,2080,2.017,2081,1.946,2487,2.127,2548,3.998,2627,6.007,3940,2.302,4188,2.519,4502,8.324,7150,5.489,7322,5.787,7431,8.315,7521,2.549,9077,8.208,9314,2.244,9460,7.117,9466,6.008,9471,9.943,9475,5.624,9478,5.941,9479,5.388,9485,5.624,9492,5.941,9493,7.55,9495,4.908,10188,4.427,10451,2.865,13481,5.941,13648,5.941,16292,5.941,17929,9.117,17951,4.083,17952,6.421,17953,6.421,17954,6.421,17955,6.421,17956,6.421,17957,6.421,17958,6.421,17959,4.083,17960,4.083,17961,6.421,17962,4.083,17963,6.421,17964,4.083,17965,4.083,17966,4.083,17967,4.083,17968,6.421,17969,4.083,17970,6.421,17971,4.083,17972,4.083,17973,4.083,17974,6.421,17975,4.083,17976,6.421,17977,4.083,17978,6.421,17979,4.083,17980,10.386,17981,4.083,17982,8.997,17983,4.083,17984,4.083,17985,6.421,17986,2.919,17987,4.083,17988,4.083,17989,4.083,17990,6.421,17991,6.421,17992,4.083,17993,4.083,17994,4.083,17995,8.997,17996,4.083,17997,4.083,17998,4.083,17999,4.083,18000,4.083,18001,4.083,18002,4.083]],["title/injectables/PseudonymUc.html",[539,0.921,17891,5.765]],["body/injectables/PseudonymUc.html",[0,0.264,3,0.017,4,0.017,5,0.009,7,0.112,8,1.244,26,2.465,27,0.424,29,0.815,30,0.001,31,0.588,32,0.133,33,0.492,35,0.947,36,2.202,39,2.101,47,0.858,95,0.154,99,1.265,101,0.012,103,0.001,104,0.001,177,2.138,226,1.143,236,1.273,239,2.865,262,2.536,349,0.805,379,1.299,437,1.673,529,2.238,539,1.378,541,1.876,560,3.218,593,3.839,603,2.374,608,2.827,654,2.355,1675,4.772,1758,7.072,1855,4.772,1959,7.72,1961,7.565,1963,4.41,1964,5.8,2531,3.626,2535,5.489,4539,5.305,4540,5.489,4541,4.67,9460,7.695,9479,8.633,10188,8.982,10260,6.142,10261,6.142,17891,8.633,18003,7.822,18004,7.822,18005,7.822,18006,10.288,18007,7.822,18008,11.496,18009,7.822,18010,7.822,18011,7.822,18012,7.822,18013,10.288,18014,7.822,18015,6.564]],["title/injectables/PseudonymsRepo.html",[539,0.921,17929,5.765]],["body/injectables/PseudonymsRepo.html",[0,0.185,3,0.012,4,0.012,5,0.006,7,0.079,8,0.97,13,5.631,26,2.777,27,0.509,29,0.977,30,0.001,31,0.705,32,0.16,33,0.59,34,1.337,35,1.457,36,2.836,39,3.436,42,5.631,49,2.042,95,0.124,96,1.449,97,2.233,99,0.885,101,0.008,103,0,104,0,154,2.474,155,1.78,177,1.018,226,0.799,236,2.082,262,2.969,345,1.738,349,1.27,376,2.224,377,2.312,379,0.691,437,1.687,448,4.69,539,1.075,541,1.313,556,1.337,593,2.994,608,2.421,725,7.634,1665,4.583,2311,5.898,2335,3.712,2359,3.914,2364,3.774,2378,4.593,2830,4.791,3341,3.655,3346,4.742,3407,4.184,4446,3.378,4460,4.184,4461,4.184,9314,7.031,9460,7.851,9466,5.358,9474,7.424,9475,7.028,9476,7.424,9477,7.424,9480,7.028,9481,7.424,9483,7.424,9485,7.028,9488,7.424,9490,7.424,9497,7.424,9499,7.424,9505,7.028,9506,9.679,9509,4.794,9510,5.064,9512,5.064,9514,4.794,9515,5.064,9516,7.028,9519,5.064,9520,5.064,9521,4.794,9522,5.064,9523,5.064,9524,5.064,17913,10.56,17918,8.778,17929,6.733,18016,5.473,18017,5.473,18018,5.473,18019,5.473,18020,5.473,18021,5.473,18022,5.473,18023,5.473,18024,5.473,18025,5.473,18026,5.473,18027,5.473,18028,5.473,18029,5.473,18030,5.473,18031,5.473]],["title/classes/PublicSystemListResponse.html",[0,0.232,18032,5.765]],["body/classes/PublicSystemListResponse.html",[0,0.323,2,1.056,3,0.021,4,0.021,5,0.011,7,0.137,27,0.482,29,0.756,30,0.001,31,0.546,32,0.163,33,0.457,95,0.138,101,0.015,103,0.001,104,0.001,112,0.893,138,1.713,150,2.152,245,3.003,284,3.818,379,1.206,556,2.333,662,2.956,814,6.701,819,4.809,824,3.393,834,5.206,3134,6.059,5988,9.17,18032,9.798,18033,11.67,18034,11.677,18035,11.245,18036,10.803]],["title/classes/PublicSystemResponse.html",[0,0.232,18035,5.563]],["body/classes/PublicSystemResponse.html",[0,0.236,2,0.772,3,0.015,4,0.015,5,0.008,7,0.1,27,0.52,29,0.553,30,0.001,31,0.621,32,0.176,33,0.617,34,2.034,47,0.922,95,0.113,101,0.011,103,0.001,104,0.001,112,0.729,138,2.189,141,4.465,142,5.257,143,2.984,144,4.368,145,3.786,150,1.573,153,2.801,245,3.241,379,0.881,404,2.788,821,5.659,1971,5.435,2566,3.118,2585,5.649,3134,6.462,5554,6.634,5953,5.576,5973,4.467,10174,6.813,10926,5.42,11316,7.108,12263,7.041,12661,5.204,13158,8.153,13250,5.332,13252,5.332,14628,4.988,16665,10.244,18033,11.934,18035,9.885,18037,4.988,18038,8.816,18039,9.528,18040,6.976,18041,6.976,18042,6.976,18043,6.976,18044,6.454,18045,5.854,18046,5.649,18047,5.854]],["title/modules/RabbitMQWrapperModule.html",[201,1.845,11206,4.821]],["body/modules/RabbitMQWrapperModule.html",[0,0.347,3,0.017,4,0.017,5,0.009,30,0.001,31,0.697,32,0.158,47,0.806,95,0.144,101,0.018,103,0.001,104,0.001,142,3.041,177,1.449,201,3.276,203,3.722,209,3.885,225,4.568,226,1.138,236,1.268,262,1.719,345,2.475,437,1.028,463,4.119,608,1.803,685,3.262,766,5.736,933,4.318,970,5.373,1007,5.468,1147,2.372,1185,4.865,1211,8.56,1224,5.468,1225,5.056,2079,3.449,2080,3.85,2081,3.714,2082,4.989,2395,4.605,2417,4.808,2425,4.989,2431,5.373,3610,5.813,4603,5.686,4745,5.056,5160,6.753,6132,4.515,6403,5.203,6688,8.893,7010,5.686,11134,7.655,11206,7.201,11227,6.825,11274,5.686,13897,6.309,14230,10.682,15889,10.051,17597,8.611,18048,7.209,18049,10.616,18050,11.724,18051,7.209,18052,7.209,18053,6.825,18054,7.209,18055,7.209,18056,6.538,18057,7.209,18058,7.209,18059,7.209,18060,7.209,18061,7.209,18062,6.825,18063,7.209,18064,6.538,18065,7.209,18066,6.825,18067,6.825,18068,7.209,18069,7.209,18070,7.209]],["title/modules/RabbitMQWrapperTestModule.html",[201,1.845,11274,5.013]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.343,3,0.017,4,0.017,5,0.009,8,0.928,27,0.317,30,0.001,31,0.693,32,0.157,35,0.93,47,0.8,95,0.143,101,0.018,103,0.001,104,0.001,142,2.995,177,1.427,201,3.256,203,3.685,209,3.846,225,4.533,226,1.121,236,1.249,262,2.241,345,2.437,437,1.012,463,4.057,608,1.776,685,3.213,766,5.678,933,4.253,970,5.292,1007,5.385,1147,2.336,1185,4.792,1211,8.496,1224,5.385,1225,4.98,2079,3.397,2080,3.792,2081,3.658,2082,4.914,2395,4.535,2417,4.736,2425,4.914,2431,5.292,3610,5.725,4603,5.6,4745,4.98,5160,6.685,6132,4.447,6403,5.125,6688,8.849,7010,5.6,11134,7.579,11206,5.385,11227,6.722,11274,7.413,13897,6.214,14230,10.618,15889,11.045,17597,8.525,18048,7.1,18049,10.537,18050,11.666,18051,7.1,18052,7.1,18053,6.722,18054,7.1,18055,7.1,18056,6.44,18057,7.1,18058,7.1,18059,7.1,18060,7.1,18061,7.1,18062,6.722,18063,7.1,18064,6.44,18065,7.1,18066,6.722,18067,6.722,18068,7.1,18069,7.1,18070,7.1,18071,7.674]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.232,18072,6.357]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.288,2,0.943,3,0.019,4,0.019,5,0.015,7,0.122,27,0.449,29,0.675,30,0.001,31,0.488,32,0.164,33,0.573,95,0.142,101,0.013,103,0.001,104,0.001,112,0.832,180,1.886,181,2.937,182,2.701,349,0.878,379,1.077,381,2.886,437,1.435,447,4.577,521,3.367,526,4.99,996,4.112,997,3.974,998,4.064,999,4.294,1000,4.687,1147,3.312,1215,7.447,1217,7.116,1994,5.984,9325,7.889,9368,7.889,10664,6.696,13905,7.889,18072,10.066,18073,11.982,18074,8.527,18075,11.982,18076,13.038,18077,12.621,18078,10.88,18079,12.621,18080,8.527,18081,8.527,18082,8.527,18083,8.527,18084,8.527]],["title/classes/RecursiveCopyVisitor.html",[0,0.232,3325,6.018]],["body/classes/RecursiveCopyVisitor.html",[0,0.114,2,0.374,3,0.007,4,0.007,5,0.006,7,0.048,8,0.667,26,0.682,27,0.51,29,0.955,30,0.001,31,0.69,32,0.17,33,0.577,34,1.749,35,1.438,36,2.743,49,1.26,83,3.555,95,0.113,99,0.546,101,0.005,103,0,104,0,112,0.422,131,1.283,177,0.628,236,2.236,262,2.972,345,1.073,347,4.038,349,1.119,376,4.266,377,4.434,379,0.426,437,1.611,480,1.534,486,1.66,521,1.334,524,1.921,529,0.966,556,1.347,608,2.208,654,1.017,739,3.021,849,4.928,993,1.888,1147,1.679,1218,1.279,1262,1.18,1271,2.776,1455,2.652,1925,5.309,2340,2.038,2480,8.22,2512,5.779,2525,4.768,2528,2.415,2647,4.472,2653,6.336,2692,4.701,2794,7.239,2801,4.051,2854,5.058,2861,5.851,2864,5.487,2867,5.851,2870,5.425,2873,5.621,2880,2.464,2882,1.61,2895,4.628,2896,4.628,2897,4.628,2898,4.628,2899,4.628,2900,4.628,2901,4.628,2902,4.628,2903,4.628,3025,3.579,3041,2.652,3042,2.519,3043,2.061,3044,1.904,3057,8.245,3065,2.834,3081,2.415,3145,9.547,3275,2.162,3278,2.017,3280,2.017,3283,1.996,3286,1.76,3289,1.747,3294,1.904,3325,4.831,3328,6.336,3329,2.834,3330,8.345,3331,4.831,4188,6.479,5770,2.834,5933,1.566,6438,1.856,6570,4.831,6580,3.125,6581,8.53,6582,2.735,6583,2.958,6616,2.834,8898,2.084,18085,12.491,18086,3.377,18087,6.99,18088,6.99,18089,5.515,18090,5.515,18091,5.515,18092,3.377,18093,5.515,18094,3.377,18095,5.515,18096,3.377,18097,5.515,18098,3.377,18099,5.515,18100,3.377,18101,5.515,18102,3.377,18103,5.515,18104,3.377,18105,5.515,18106,3.377,18107,5.515,18108,3.377,18109,5.515,18110,3.377,18111,5.515,18112,3.377,18113,5.515,18114,3.377,18115,5.515,18116,3.377,18117,5.515,18118,3.377,18119,5.515,18120,3.377,18121,3.377,18122,3.377,18123,3.377,18124,8.068,18125,8.068,18126,3.377,18127,6.99,18128,10.862,18129,3.377,18130,8.068,18131,10.499,18132,3.377,18133,3.377,18134,3.377,18135,3.377,18136,3.377,18137,3.377,18138,3.377,18139,3.125,18140,3.377,18141,3.125,18142,3.377,18143,3.377,18144,3.377,18145,3.377,18146,3.377,18147,3.377,18148,3.377,18149,3.377,18150,3.377,18151,3.377,18152,3.377,18153,3.377,18154,3.377,18155,3.377,18156,3.377,18157,3.377,18158,3.377,18159,3.377,18160,3.125,18161,5.515,18162,5.515,18163,5.515,18164,3.377,18165,3.377,18166,5.102,18167,5.515,18168,3.377,18169,3.377]],["title/injectables/RecursiveDeleteVisitor.html",[539,0.921,3344,5.765]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.93,27,0.535,29,1.027,30,0.001,31,0.742,32,0.168,33,0.62,35,1.551,36,2.937,95,0.14,96,1.37,97,2.111,99,0.837,101,0.008,103,0,104,0,177,1.709,226,0.756,262,3.116,379,0.972,437,0.682,519,2.369,539,1.031,541,1.241,564,2.41,603,1.898,608,3.033,1147,1.575,1231,3.271,1665,3.167,1899,3.983,1901,2.572,1925,6.497,2311,5.739,2359,3.7,2512,5.663,2525,6.016,2692,5.753,2801,4.461,2806,3.271,2854,6.19,2861,7.16,2864,6.715,2867,7.16,2870,6.639,2873,6.878,2880,3.776,2883,2.301,2886,6.459,2887,6.459,2888,6.459,2889,6.459,2890,6.459,2891,6.459,2892,6.459,2894,6.459,2895,6.459,2896,6.459,2897,6.459,2898,6.459,2899,6.459,2900,6.459,2901,6.459,2902,6.459,2903,6.459,3171,2.735,3341,3.455,3344,6.459,3346,4.549,3600,2.572,3601,2.085,3602,4.995,5767,7.121,5770,4.342,5814,6.742,6069,7.665,6324,3.193,6336,4.063,6547,8.446,18160,4.787,18170,12.125,18171,5.174,18172,7.697,18173,7.697,18174,5.174,18175,7.697,18176,5.174,18177,5.174,18178,7.697,18179,5.174,18180,5.174,18181,5.174,18182,5.174,18183,5.174,18184,5.174,18185,5.174,18186,5.174,18187,5.174,18188,5.174,18189,5.174,18190,5.174,18191,5.174,18192,5.174,18193,5.174,18194,5.174,18195,5.174,18196,5.174,18197,5.174,18198,5.174,18199,5.174,18200,5.174,18201,5.174,18202,5.174,18203,5.174,18204,5.174,18205,5.174,18206,5.174,18207,5.174,18208,5.174,18209,5.174,18210,5.174]],["title/classes/RecursiveSaveVisitor.html",[0,0.232,3372,6.018]],["body/classes/RecursiveSaveVisitor.html",[0,0.121,2,0.396,3,0.008,4,0.008,5,0.004,7,0.051,8,0.698,18,2.891,26,0.722,27,0.516,29,0.981,30,0.001,31,0.708,32,0.164,33,0.592,34,1.847,35,1.481,36,1.237,39,0.961,55,0.731,59,1.101,95,0.122,96,1.529,97,1.459,99,0.579,101,0.006,103,0,104,0,112,0.442,131,1.359,173,1.037,177,1.074,236,1.93,262,1.603,345,1.136,379,0.452,437,1.73,480,0.995,486,1.077,519,4.08,529,1.023,556,1.411,564,1.12,603,2.525,608,0.828,708,1.435,1147,1.759,1262,1.25,1271,2.605,1665,1.472,1726,1.531,1728,2.353,1899,1.85,1925,5.85,1942,1.497,1944,1.511,2311,4.705,2323,2.321,2425,2.29,2512,6.385,2525,5.79,2543,3.133,2647,4.625,2692,5.18,2797,4.296,2804,6.513,2806,6.517,2830,3.45,2835,3.133,2839,3.133,2844,5.345,2845,5.345,2846,5.345,2847,5.345,2848,5.345,2849,5.345,2850,5.345,2851,5.345,2852,5.345,2853,5.061,2854,5.573,2856,5.061,2858,5.061,2860,5.061,2861,6.028,2863,5.061,2864,6.046,2866,5.061,2867,6.028,2869,5.061,2870,5.978,2872,5.061,2873,6.193,2875,5.061,2880,2.61,2882,1.705,3171,7.2,3195,4.537,3198,4.678,3201,4.416,3204,5.708,3207,4.537,3210,4.537,3213,4.537,3216,4.537,3219,4.537,3221,3.309,3263,3.309,3275,2.29,3278,2.135,3280,2.135,3283,2.114,3286,1.864,3289,1.85,3291,2.182,3341,2.388,3342,8.348,3346,3.415,3365,5.061,3366,6.186,3368,2.896,3370,3.309,3372,5.061,3602,2.321,3654,3.309,4150,3.133,4151,3.133,4152,3.001,4187,3.309,5048,3.309,5049,3.133,5160,2.353,5770,3.001,5779,3.309,5782,3.309,5785,3.309,5787,3.309,5800,3.309,5802,3.309,5805,3.309,5808,3.309,5814,5.061,5816,3.309,6024,2.61,6038,2.321,9514,3.133,18170,11.698,18211,3.576,18212,7.269,18213,5.777,18214,5.777,18215,5.777,18216,5.777,18217,5.777,18218,5.777,18219,3.576,18220,5.777,18221,11.381,18222,3.576,18223,3.576,18224,5.777,18225,3.576,18226,3.576,18227,5.777,18228,3.576,18229,3.576,18230,3.576,18231,3.576,18232,3.576,18233,3.576,18234,3.576,18235,3.576,18236,3.576,18237,3.576,18238,11.638,18239,3.576,18240,3.576,18241,5.777,18242,5.777,18243,5.777,18244,3.576,18245,3.576,18246,3.576,18247,11.083,18248,11.083,18249,3.576,18250,10.31,18251,3.576,18252,3.576,18253,3.576,18254,3.576,18255,3.576,18256,3.576,18257,7.269,18258,3.576,18259,3.576,18260,3.576,18261,3.576,18262,3.576,18263,3.576,18264,3.309,18265,3.309,18266,3.576,18267,3.576,18268,3.576,18269,3.576,18270,3.576,18271,3.576,18272,3.576,18273,3.576,18274,3.576,18275,3.576]],["title/classes/RedirectResponse.html",[0,0.232,16836,5.395]],["body/classes/RedirectResponse.html",[0,0.32,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,27,0.479,29,0.749,30,0.001,31,0.541,32,0.15,33,0.452,47,0.815,95,0.112,101,0.015,103,0.001,104,0.001,112,0.888,135,7.021,138,1.697,150,2.132,153,2.17,239,2.723,245,2.986,379,1.195,821,4.385,1262,4.057,1794,7.433,2119,7.534,3291,7.084,7082,7.25,16836,10.557,17803,11.622,18276,9.46,18277,11.61,18278,9.46,18279,9.46,18280,11.61,18281,9.742,18282,9.46,18283,9.46,18284,9.46]],["title/modules/RedisModule.html",[201,1.845,18285,5.563]],["body/modules/RedisModule.html",[0,0.292,3,0.019,4,0.019,5,0.01,30,0.001,47,0.77,95,0.155,101,0.013,103,0.001,104,0.001,201,3.237,203,3.132,204,3.357,205,3.452,206,3.438,207,3.424,208,4.048,209,4.153,214,6.234,218,4.384,219,3.384,220,3.307,225,4.366,226,1.261,349,1.129,437,1.447,556,2.11,636,5.053,637,6.175,639,4.07,990,2.96,1262,3.018,1341,2.775,2079,3.822,2080,4.267,2081,4.116,2312,3.584,2313,5.499,3601,4.419,3940,4.869,3943,7.99,3954,6.782,3955,9.203,3959,10.147,3960,7.99,3962,7.565,3963,7.99,3964,7.565,3965,7.565,3966,7.99,8188,9.607,18285,10.831,18286,8.636,18287,8.636,18288,8.636,18289,10.557,18290,8.636,18291,8.636]],["title/injectables/ReferenceLoader.html",[539,0.921,1806,5.563]],["body/injectables/ReferenceLoader.html",[0,0.189,3,0.012,4,0.012,5,0.006,7,0.08,8,0.986,26,2.135,27,0.436,29,0.763,30,0.001,31,0.551,32,0.157,33,0.46,35,0.988,36,1.747,49,3.592,95,0.143,99,0.906,101,0.009,103,0,104,0,105,0.571,112,0.624,119,1.162,133,3.866,143,1.808,177,2.423,217,7.31,226,0.818,227,2.325,236,1.566,262,2.123,349,0.84,379,1.031,437,1.076,480,1.558,486,1.686,529,1.603,539,1.093,541,1.344,564,1.754,603,2.823,608,1.889,1427,7.889,1661,4.523,1746,4.775,1747,3.278,1803,9.749,1804,7.574,1805,8.169,1806,6.608,1807,9.261,1808,9.489,1809,8.712,1810,8.56,1830,4.088,1846,8.501,2487,7.039,2518,7.752,2647,5.862,3255,3.541,3602,3.635,4741,5.45,5444,8.078,5979,10.053,6324,3.457,12951,9.264,12952,5.183,12953,7.55,12954,7.795,12955,8.907,12956,5.183,12957,5.183,12958,5.183,12959,5.183,12960,5.183,12961,5.183,12962,5.183,12963,5.183,12964,5.183,12965,5.183,12966,5.183,12967,5.183,12968,5.183,12969,5.183,12970,5.183,12971,5.183,12972,5.183,12973,5.183,12974,5.183,12975,5.183,12976,5.183,12977,5.183,12978,7.55,12979,5.183,12980,5.183,12981,8.907,12982,7.55,12983,5.183,12984,5.183,12985,5.183,12986,7.55,18292,8.161,18293,4.907,18294,8.161,18295,5.602,18296,5.602,18297,5.602]],["title/interfaces/RejectRequestBody.html",[105,0.7,16821,5.563]],["body/interfaces/RejectRequestBody.html",[3,0.021,4,0.021,5,0.011,7,0.136,30,0.001,32,0.174,33,0.679,47,1.006,55,2.57,101,0.015,103,0.001,104,0.001,105,0.966,107,2.224,108,6.654,111,7.678,112,0.89,990,4.493,1783,10.294,5545,11,5546,11,5547,10.294,16821,9.415,18298,9.482]],["title/classes/RenameBodyParams.html",[0,0.232,2957,5.563]],["body/classes/RenameBodyParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,47,0.838,95,0.151,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,3.863,143,2.644,144,3.869,145,2.781,148,3.072,150,2.231,245,3.069,247,4.257,248,4.77,1271,4,2957,9.663,7299,8.094,18299,9.897,18300,9.897,18301,9.897,18302,9.897]],["title/classes/RenameFileParams.html",[0,0.232,6487,4.737]],["body/classes/RenameFileParams.html",[0,0.459,2,0.733,3,0.014,4,0.02,5,0.01,7,0.095,26,2.503,27,0.273,30,0.001,32,0.155,39,1.779,47,0.962,95,0.15,99,1.072,101,0.021,103,0,104,0,105,0.675,112,0.703,119,1.907,138,1.188,143,1.467,147,4.973,148,2.056,149,4.401,150,1.493,151,6.14,153,1.52,154,1.329,245,3.61,247,2.849,248,4.957,249,4.47,348,3.336,808,4.917,809,6.27,839,3.287,852,3.087,988,2.89,990,2.27,1079,3.915,1147,2.016,1203,5.887,1204,4.359,1205,4.359,1262,2.315,2739,4.793,2922,5.063,3632,3.054,4266,2.242,5826,7.484,5827,5.558,5933,3.071,6088,6.757,6419,4.309,6432,6.05,6438,6.27,6467,4.567,6468,4.648,6469,4.648,6472,8.004,6475,4.567,6476,8.283,6477,8.005,6478,8.005,6479,4.648,6480,4.567,6481,4.567,6482,4.648,6483,4.493,6484,6.236,6485,4.423,6486,4.493,6487,6.34,6488,4.493,6489,4.493,6490,4.241,6491,4.648,6492,4.648,6493,4.648,6494,4.241,6495,4.241,6496,4.359,6497,4.423,6498,4.648,18303,6.624]],["title/classes/RequestInfo.html",[0,0.232,18304,6.018]],["body/classes/RequestInfo.html",[0,0.314,2,0.745,3,0.015,4,0.015,5,0.007,7,0.097,8,1.124,27,0.514,29,0.737,30,0.001,31,0.609,32,0.162,33,0.445,35,0.816,47,0.915,55,1.9,95,0.126,101,0.016,103,0,104,0,112,0.712,120,2.844,133,2.315,141,5.842,236,1.733,349,0.958,360,4.714,379,0.85,437,1.685,480,1.873,486,2.027,556,1.645,591,6.797,593,2.512,603,2.2,824,4.43,991,4.567,1011,5.288,1218,2.549,1288,3.671,1568,4.311,1636,4.815,1643,6.722,2195,6.06,2567,6.65,3601,3.747,3990,5.147,5547,7.303,5564,5.023,5574,5.147,6863,6.912,6865,4.021,10886,6.786,17754,5.898,18304,8.146,18305,6.23,18306,9.856,18307,9.856,18308,9.299,18309,8.604,18310,6.734,18311,6.734,18312,6.734,18313,6.734,18314,6.734,18315,8.604,18316,6.734,18317,11.154,18318,5.898,18319,6.23,18320,8.604,18321,5.65,18322,5.898,18323,8.604,18324,8.604,18325,6.23,18326,8.604,18327,6.23,18328,5.898,18329,6.23,18330,6.23,18331,8.604,18332,8.604,18333,8.604,18334,8.604,18335,6.23,18336,6.23,18337,6.23,18338,6.23,18339,6.23,18340,6.23,18341,6.23,18342,6.23,18343,6.23,18344,6.23,18345,6.23,18346,6.23,18347,6.23,18348,6.23,18349,6.23,18350,6.23,18351,6.23,18352,6.23]],["title/injectables/RequestLoggingInterceptor.html",[539,0.921,18353,6.357]],["body/injectables/RequestLoggingInterceptor.html",[0,0.27,3,0.017,4,0.017,5,0.009,7,0.114,8,1.26,27,0.43,29,0.825,30,0.001,31,0.596,32,0.135,33,0.498,35,0.966,39,2.142,95,0.155,101,0.012,103,0.001,104,0.001,131,3.031,141,5.439,226,1.165,270,5.116,271,2.954,294,4.016,310,3.463,345,2.533,349,1.073,379,1.007,437,1.531,521,4.583,539,1.396,541,1.913,556,1.948,591,4.497,966,5.248,967,6.263,968,6.096,990,2.734,1147,2.427,1218,3.02,1243,6.958,1262,2.787,1341,2.563,2244,8.87,2312,4.324,2313,5.614,3002,5.409,3779,4.713,6686,5.95,6865,4.762,8684,7.379,8686,9.127,8688,9.127,8689,10.779,8690,10.779,8692,9.127,8693,9.64,10886,5.82,12918,9.127,18322,6.986,18353,9.64,18354,11.605,18355,7.975,18356,7.975,18357,9.64,18358,7.975,18359,7.975,18360,7.975,18361,7.975,18362,7.975,18363,7.975,18364,7.975,18365,7.379,18366,10.42,18367,7.379,18368,7.975]],["title/classes/ResolvedGroupDto.html",[0,0.232,11642,5.563]],["body/classes/ResolvedGroupDto.html",[0,0.281,2,0.92,3,0.018,4,0.018,5,0.009,7,0.119,27,0.556,29,0.659,30,0.001,31,0.715,32,0.18,33,0.619,34,1.973,47,0.93,95,0.14,99,1.346,101,0.013,103,0.001,104,0.001,112,0.819,239,1.951,379,1.05,404,3.324,975,5.226,1058,6.358,1778,3.259,2044,3.234,2566,3.718,3030,6.98,3122,5.117,8958,7.696,8964,9.051,8971,6.532,8995,8.984,11589,9.051,11642,10.477,11728,6.98,11772,9.379,11784,7.286,11785,7.286,11786,7.696,11787,7.286,11788,7.696,11789,7.696,11879,9.937,18369,12.628,18370,10.708,18371,8.318,18372,8.318,18373,8.318,18374,8.318,18375,8.318]],["title/classes/ResolvedGroupUser.html",[0,0.232,11879,5.765]],["body/classes/ResolvedGroupUser.html",[0,0.32,2,1.047,3,0.021,4,0.021,5,0.011,7,0.136,27,0.518,29,0.749,30,0.001,31,0.541,32,0.163,33,0.452,95,0.137,99,1.53,101,0.015,103,0.001,104,0.001,112,0.888,181,3.134,239,2.946,276,5.454,379,1.195,381,3.201,975,6.392,2130,6.903,4630,8.982,4637,7.231,7322,6.691,7825,6.638,11879,11.281,11905,8.752,11915,6.903,11916,7.231,18369,12.119,18376,11.61,18377,9.46]],["title/classes/ResolvedUserMapper.html",[0,0.232,18378,6.018]],["body/classes/ResolvedUserMapper.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,27,0.357,29,0.686,30,0.001,31,0.628,32,0.112,33,0.414,34,1.442,35,1.048,47,0.847,95,0.13,99,1.4,100,3.74,101,0.013,103,0.001,104,0.001,236,1.408,239,3.072,276,5.51,349,1.131,413,3.632,437,1.141,480,2.407,486,2.605,528,4.447,783,6.139,790,4.358,1723,6.433,3140,6.076,3174,5.779,3175,5.616,4661,6.188,6659,7.262,7312,7.262,7331,7.008,13706,8.007,13709,8.007,16265,8.007,17338,8.007,18378,9.62,18379,10.983,18380,9.62,18381,8.654,18382,10.648,18383,8.654,18384,8.654,18385,8.654,18386,8.654,18387,8.654,18388,8.654,18389,8.654]],["title/classes/ResolvedUserResponse.html",[0,0.232,18382,5.765]],["body/classes/ResolvedUserResponse.html",[0,0.275,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,27,0.56,30,0.001,31,0.465,32,0.178,34,2.066,47,0.986,83,3.567,95,0.096,101,0.016,103,0.001,104,0.001,112,0.808,138,2.437,150,1.834,245,3.681,276,5.087,376,4.76,377,4.949,651,5.65,652,5.65,1723,5.94,3140,5.901,4266,3.965,11918,6.587,18382,8.857,18390,13.732,18391,8.135,18392,8.135,18393,8.135,18394,8.135,18395,8.135,18396,8.135,18397,8.135,18398,8.135]],["title/classes/ResponseInfo.html",[0,0.232,18328,6.018]],["body/classes/ResponseInfo.html",[0,0.331,2,0.802,3,0.016,4,0.016,5,0.008,7,0.104,27,0.403,29,0.574,30,0.001,31,0.559,32,0.127,33,0.347,47,0.832,55,2.262,95,0.131,101,0.017,103,0.001,104,0.001,112,0.748,133,2.493,141,5.553,236,1.801,349,1.007,360,4.958,379,0.916,437,1.718,556,1.771,591,6.24,593,2.705,603,1.497,824,4.708,991,7.507,1011,5.693,1218,2.745,1288,3.953,1568,4.642,1636,5.184,1643,6.933,2195,4.124,2567,6.994,3601,3.941,3990,5.541,5547,7.68,5564,5.409,5574,5.541,6863,7.688,6865,4.329,10886,5.29,17754,6.35,18304,6.35,18305,6.708,18306,6.708,18307,6.708,18309,6.708,18315,6.708,18317,10.962,18318,6.35,18319,6.708,18320,9.049,18321,6.084,18322,6.35,18323,9.049,18324,9.049,18325,6.708,18326,9.049,18327,6.708,18328,8.567,18329,9.049,18330,6.708,18331,9.049,18332,9.049,18333,9.049,18334,9.049,18335,6.708,18336,6.708,18337,6.708,18338,6.708,18339,6.708,18340,6.708,18341,6.708,18342,6.708,18343,6.708,18344,6.708,18345,6.708,18346,6.708,18347,6.708,18348,6.708,18349,6.708,18350,6.708,18351,6.708,18352,6.708,18399,9.78]],["title/injectables/RestartUserLoginMigrationUc.html",[539,0.921,18400,5.765]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.226,3,0.015,4,0.015,5,0.007,7,0.096,8,1.118,27,0.437,29,0.84,30,0.001,31,0.607,32,0.137,33,0.507,35,1.12,36,2.451,39,2.484,47,0.963,95,0.154,99,1.08,101,0.01,103,0,104,0,128,5.302,131,3.514,177,2.129,236,1.505,239,2.99,262,2.743,349,0.688,379,1.168,437,1.399,529,2.646,539,1.239,541,1.602,560,2.748,593,2.492,603,2.364,608,2.782,643,3,654,3.193,990,2.289,1338,3.096,1341,2.146,1670,5.041,1675,4.075,1758,6.79,1855,4.075,1861,6.612,1959,7.237,1961,6.979,1963,3.765,1964,5.213,2312,5.291,2520,6.898,2531,3.096,2535,4.686,2544,4.982,4266,4.465,4565,5.169,4567,5.408,4570,5.408,4571,8.892,4578,6,4580,7.148,4581,4.982,4582,7.261,4583,5.104,4584,5.244,4585,5.604,4587,7.261,4589,5.604,4590,4.982,4597,5.104,4598,5.604,9345,5.244,14957,5.408,18400,7.759,18401,11.448,18402,8.099,18403,6.678,18404,6.678,18405,9.247,18406,6.678,18407,5.604,18408,6.678,18409,6.678,18410,6.179,18411,5.85]],["title/classes/RevokeConsentParams.html",[0,0.232,16881,6.018]],["body/classes/RevokeConsentParams.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.402,30,0.001,32,0.126,34,1.971,47,0.831,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,135,6.612,138,1.75,142,4.617,143,2.621,144,3.835,145,3.324,148,3.028,150,2.199,153,2.238,245,3.042,248,4.728,257,7.277,3601,5.464,5550,7.784,16881,10.362,18412,11.829,18413,9.755,18414,9.755]],["title/classes/RichText.html",[0,0.232,18415,5.563]],["body/classes/RichText.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.498,29,0.686,30,0.001,31,0.495,32,0.18,33,0.414,47,0.771,95,0.143,101,0.013,103,0.001,104,0.001,112,0.84,138,1.97,150,1.951,153,2.52,245,3.103,348,5.531,379,1.387,774,4.417,821,5.091,839,3.419,1942,5.312,2220,6.926,2255,5.124,2566,3.869,2881,9.467,2882,6.048,3286,6.824,3473,5.168,5769,8.007,13273,7.262,18415,10.605,18416,12.69,18417,8.654,18418,8.654,18419,8.654,18420,8.654,18421,8.654,18422,8.654,18423,8.654]],["title/classes/RichTextContentBody.html",[0,0.232,5774,4.588]],["body/classes/RichTextContentBody.html",[0,0.455,2,0.634,3,0.012,4,0.012,5,0.006,7,0.082,9,2.73,27,0.342,30,0.001,31,0.649,32,0.179,47,0.894,83,1.648,95,0.134,99,0.927,101,0.021,103,0,104,0,112,0.635,138,1.488,143,1.269,148,1.778,149,3.761,150,1.291,153,2.237,172,1.783,180,1.966,245,3.587,248,4.875,249,4.633,284,1.734,305,3.319,480,3.155,807,5.31,808,3.288,839,1.783,852,2.67,1142,3.577,1262,2.002,1271,1.788,1643,3.352,1942,4.475,2255,4.343,2501,2.73,2572,4.096,2882,4.647,2883,2.548,2922,2.746,3278,3.42,3280,3.42,3283,3.385,3286,6.162,3289,2.964,3294,3.229,3767,3.577,3788,3.577,3789,6.921,4163,5.693,5681,6.243,5683,6.327,5685,6.243,5687,6.327,5689,6.327,5734,3.769,5771,6.511,5772,6.511,5773,6.511,5774,7.137,5775,6.511,6088,6.877,7227,3.825,7287,3.385,8699,8.273,8700,6.723,8701,3.95,8704,5.458,8705,6.511,8706,6.511,8707,3.95,8708,6.511,8709,3.535,8710,3.885,8711,6.511,8712,6.511,8713,3.825,8714,3.825,8715,3.825,8716,3.825,8717,3.95,8718,3.95,8719,3.95,8720,3.95,8721,3.95,18424,5.728,18425,5.728,18426,5.728]],["title/classes/RichTextElement.html",[0,0.232,2870,4.192]],["body/classes/RichTextElement.html",[0,0.212,2,0.694,3,0.014,4,0.014,5,0.007,7,0.09,8,1.07,27,0.555,29,0.992,30,0.001,31,0.717,32,0.169,33,0.599,35,1.576,36,1.895,47,0.825,55,1.809,59,1.932,95,0.121,101,0.016,103,0,104,0,105,0.64,112,0.677,119,2.127,137,5.529,145,1.764,180,1.778,262,2.263,349,1.147,381,2.996,382,3.81,448,3.568,474,2.663,479,3.245,480,3.099,517,3.34,519,3.753,604,2.582,608,1.453,662,2.741,686,4.019,1218,2.376,1664,2.35,1665,3.643,1668,6.406,1739,4.082,1944,2.651,2501,2.992,2512,5.845,2786,7.938,2789,6.331,2790,6.331,2791,6.331,2792,7.441,2793,6.331,2795,4.018,2796,5.464,2797,6.585,2799,6.213,2800,5.464,2801,6.457,2803,4.404,2804,4.716,2806,6.485,2807,4.404,2811,4.404,2813,4.018,2840,5.402,2870,6.798,2882,6.201,3286,6.871,4025,5.807,4026,4.58,4027,4.58,4028,4.58,4037,3.967,4808,5.498,9173,4.488,18427,10.87,18428,6.276,18429,6.276,18430,5.807,18431,6.276,18432,5.807,18433,6.276,18434,6.276,18435,6.276,18436,6.276,18437,8.192,18438,5.807,18439,8.192,18440,5.807,18441,5.807,18442,5.807,18443,5.498,18444,5.807]],["title/classes/RichTextElementContent.html",[0,0.232,18445,5.765]],["body/classes/RichTextElementContent.html",[0,0.36,2,0.913,3,0.018,4,0.018,5,0.009,7,0.118,27,0.487,29,0.654,30,0.001,31,0.472,32,0.171,33,0.395,34,1.966,47,0.829,95,0.139,99,1.335,101,0.016,103,0.001,104,0.001,112,0.815,138,1.91,150,1.86,245,3.541,253,4.076,379,1.49,404,3.297,774,4.211,839,2.568,2255,4.516,2566,3.688,2882,6.563,2918,4.428,2919,4.428,2922,3.955,3286,7.1,3461,5.79,3473,4.926,3716,7.044,3720,6.233,3724,5.51,3726,5.51,3772,7.617,4163,6.283,5685,5.282,9189,6.681,10389,7.227,10390,7.633,18445,11.09,18446,11.533,18447,6.923,18448,6.923]],["title/classes/RichTextElementContentBody.html",[0,0.232,8708,4.588]],["body/classes/RichTextElementContentBody.html",[0,0.455,2,0.631,3,0.012,4,0.012,5,0.006,7,0.082,9,2.719,27,0.341,30,0.001,31,0.648,32,0.18,47,0.876,83,1.641,95,0.134,99,0.923,101,0.021,103,0,104,0,112,0.633,138,1.483,143,1.264,148,1.771,149,3.752,150,1.286,153,2.231,172,1.776,180,2.047,245,3.585,248,4.868,249,4.627,284,1.727,305,3.305,382,1.698,480,3.15,556,1.393,807,5.294,808,3.278,819,2.873,839,1.776,852,2.658,1142,3.562,1262,1.993,1271,1.781,1643,3.338,1942,4.072,2255,4.664,2501,2.719,2882,2.719,2883,2.537,2922,2.734,3278,3.406,3280,3.406,3283,3.371,3286,5.068,3289,2.951,3294,3.216,3767,3.562,3788,3.562,3789,6.909,4163,5.682,5681,6.228,5683,6.311,5685,6.83,5687,6.311,5689,6.311,5734,3.753,5771,6.495,5772,6.495,5773,6.495,5774,7.123,5775,6.495,6088,6.868,7227,3.809,7287,3.371,8699,8.625,8700,5.702,8701,3.933,8704,5.441,8705,6.495,8706,6.495,8707,3.933,8708,7.123,8709,3.52,8710,3.869,8711,6.495,8712,6.495,8713,3.809,8714,3.809,8715,3.809,8716,3.809,8717,3.933,8718,3.933,8719,3.933,8720,3.933,8721,3.933,9194,4.479,18449,5.704,18450,5.704]],["title/entities/RichTextElementNode.html",[154,1.378,3213,5.395]],["body/entities/RichTextElementNode.html",[0,0.288,3,0.019,4,0.019,5,0.009,7,0.122,27,0.448,30,0.001,32,0.141,47,0.841,95,0.154,96,2.252,101,0.017,103,0.001,104,0.001,105,0.867,112,0.831,138,1.949,154,2.179,155,2.767,172,4.056,173,2.467,180,1.884,181,2.297,349,0.876,403,4.756,437,1.122,1664,3.187,1665,4.471,1942,5.011,2501,4.056,2512,5.209,2565,4.841,2566,3.804,2882,6.455,3171,5.744,3182,6.557,3213,8.532,3249,5.251,3272,9.517,3286,7.145,3417,5.772,3620,6.705,3641,5.314,4126,5.448,4128,5.448,9199,7.454,18447,7.141,18448,7.141,18451,11.074,18452,8.509,18453,9.517,18454,7.873,18455,7.873,18456,7.873]],["title/interfaces/RichTextElementNodeProps.html",[105,0.7,18453,6.018]],["body/interfaces/RichTextElementNodeProps.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,30,0.001,32,0.143,47,0.893,95,0.155,96,2.301,101,0.017,103,0.001,104,0.001,105,0.886,107,2.039,112,0.843,154,2.209,172,3.763,173,2.52,180,2.096,181,2.346,349,0.895,403,4.858,437,1.146,1664,3.255,1665,4.531,1942,3.639,2501,4.143,2512,5.279,2565,4.944,2566,3.885,2882,6.386,3171,5.822,3182,6.646,3213,6.825,3249,5.363,3272,9.646,3286,7.297,3417,5.895,3620,7.46,3641,5.427,4126,5.565,4128,5.565,18447,7.293,18448,7.293,18451,8.041,18453,10.589,18454,8.041,18455,8.041,18456,8.041]],["title/interfaces/RichTextElementProps.html",[105,0.7,18443,6.018]],["body/interfaces/RichTextElementProps.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,30,0.001,32,0.155,36,1.806,47,0.913,95,0.141,101,0.018,103,0.001,104,0.001,105,0.86,107,1.979,112,0.827,119,1.75,145,2.371,180,2.067,262,1.861,349,1.295,474,3.58,480,3.006,517,4.077,519,2.597,604,3.472,608,1.953,1218,3.195,1664,3.16,1739,4.983,1944,3.564,2501,4.022,2786,6.594,2792,5.635,2796,5.208,2797,6.387,2800,5.208,2801,6.263,2840,7.275,2870,7.275,2882,6.337,3286,7.31,4037,5.334,9173,6.034,18427,7.808,18437,9.999,18438,7.808,18439,9.999,18440,7.808,18441,7.808,18442,7.808,18443,9.467,18444,7.808]],["title/classes/RichTextElementResponse.html",[0,0.232,3772,4.913]],["body/classes/RichTextElementResponse.html",[0,0.347,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,27,0.523,29,0.617,30,0.001,31,0.446,32,0.178,33,0.373,34,2.111,47,0.806,95,0.136,99,1.26,101,0.016,103,0.001,104,0.001,112,0.785,138,2.187,150,1.756,245,3.503,253,3.85,379,1.449,404,3.114,774,3.977,839,2.426,2255,4.852,2566,3.483,2882,6.492,2917,5.127,2918,5.508,2919,5.508,2921,4.605,2922,4.92,3286,6.603,3461,5.468,3473,4.653,3716,7.567,3720,6.714,3724,5.203,3726,5.203,3772,9.061,4163,6.75,5685,6.57,10402,6.825,10403,6.825,10404,6.825,10405,6.825,10406,6.825,18445,10.233,18446,12.038,18447,6.538,18448,6.538]],["title/classes/RichTextElementResponseMapper.html",[0,0.232,5710,6.018]],["body/classes/RichTextElementResponseMapper.html",[0,0.258,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.499,29,0.803,30,0.001,31,0.58,32,0.157,33,0.485,34,1.274,35,1.377,95,0.143,99,1.237,100,2.604,101,0.012,103,0.001,104,0.001,112,0.775,119,2.102,236,1.97,349,1.171,376,3.106,413,3.896,437,1.008,603,2.348,604,3.146,662,2.366,739,4.379,782,4.565,783,5.664,1147,3.085,1942,5.613,2000,4.389,2255,2.927,2503,8.48,2506,7.958,2507,7.958,2509,7.746,2870,8.18,2882,6.294,3286,3.984,3716,4.565,3720,5.93,3729,6.697,3737,5.467,3772,8.655,4163,4.072,4962,7.073,5284,7.186,5685,4.895,5706,6.004,5710,11.566,9211,9.252,9215,6.191,9216,6.191,9217,6.191,18445,8.504,18457,12.594,18458,7.645,18459,7.645,18460,7.645,18461,7.645,18462,7.073,18463,11.367,18464,7.645]],["title/classes/RocketChatError.html",[0,0.232,989,5.563]],["body/classes/RocketChatError.html",[0,0.192,2,0.387,3,0.008,4,0.008,5,0.004,7,0.05,27,0.34,29,0.277,30,0.001,31,0.518,32,0.132,33,0.167,34,1.509,36,2.813,39,3.439,47,0.996,51,3.903,55,1.683,72,2.562,83,1.632,87,3.629,95,0.097,101,0.013,103,0,104,0,105,0.729,112,0.434,119,2.011,124,4.59,133,1.202,143,0.775,177,1.055,180,0.983,226,0.511,236,1.473,239,1.679,262,2.899,316,3.872,324,4.175,347,2.05,349,1.367,379,0.716,437,1.403,479,1.281,490,1.242,509,1.862,517,2.7,519,1.076,521,4.462,529,2.591,539,0.76,603,2.644,608,2.244,639,1.648,653,1.797,662,3.895,676,4.056,742,3.118,762,4.71,824,3.445,843,2.454,960,8.271,961,7.332,962,2.934,963,5.023,964,2.026,965,6.295,966,2.301,967,2.746,968,2.672,969,4.455,970,3.912,971,4.455,972,4.455,973,4.455,974,4.593,975,1.706,976,2.934,977,2.934,978,2.934,979,2.934,980,2.934,981,2.934,982,2.551,983,2.934,984,2.934,985,2.934,986,2.269,987,8.136,988,1.525,989,4.593,990,2.453,991,4.855,992,2.454,993,1.954,994,5.118,995,4.76,996,5.449,997,5.266,998,5.386,999,5.69,1000,6.354,1001,7.971,1002,6.577,1003,6.006,1004,2.672,1005,2.934,1006,2.934,1007,2.454,1008,2.934,1009,2.934,1010,2.934,1011,2.746,1012,2.934,1013,5.621,1014,2.831,1015,2.934,1016,2.934,1017,2.934,1018,2.746,1019,2.934,1020,2.934,1021,2.934,1022,7.304,1023,2.934,1024,2.934,1025,1.386,1026,2.934,1027,2.934,1028,2.934,1029,2.934,1030,2.934,1031,2.934,1032,2.934,1033,2.934,1034,8.136,1035,8.136,1036,2.934,1037,2.934,1038,2.934,1039,2.934,1040,2.934,1041,2.934,1042,2.411,1043,2.934,1044,2.934,1045,2.934,1046,2.934,1047,2.934,1048,2.934,1049,2.934,1050,2.934,1051,2.934,1052,2.934,1053,2.934,1054,2.934,1055,2.934,1056,2.934,1057,4.336,1058,4.336,1059,2.934,1060,2.934,1061,2.934,1062,2.934,1063,2.934,1064,2.371,1065,2.934,1066,2.934,1067,2.934,1068,4.76,1069,2.934,1070,4.76,1071,4.76,1072,2.934,1073,2.934,1074,2.672,1075,6.006,1076,4.78,1077,4.417,1078,2.934,1079,3.353,1080,5.273,1081,4.336,1082,5.34,1083,6.006,1084,6.006,1085,6.006,1086,2.746,1087,2.934,1088,2.934,1089,2.934,1090,7.598,1091,6.006,1092,6.006,1093,6.006,1094,2.934,1095,4.76,1096,4.76,1097,2.934,1098,2.934,1099,2.934,1100,2.934,1101,2.934,1102,4.76,1103,3.733,2318,2.026,18465,5.673,18466,3.496,18467,3.496]],["title/interfaces/RocketChatGroupModel.html",[105,0.7,974,5.563]],["body/interfaces/RocketChatGroupModel.html",[0,0.195,3,0.008,4,0.008,5,0.004,7,0.051,30,0.001,31,0.478,32,0.134,34,1.527,36,2.824,39,3.454,47,0.996,51,3.957,55,1.486,72,2.611,83,1.663,87,3.687,95,0.099,101,0.013,103,0,104,0,105,0.741,107,0.84,112,0.442,119,2.226,120,2.442,124,4.646,133,1.231,143,0.793,177,1.075,180,0.621,226,0.523,236,1.491,239,1.706,262,2.91,316,3.934,324,4.233,347,2.09,349,1.372,379,0.452,437,1.416,479,1.312,490,1.272,509,1.907,517,2.744,519,1.102,521,4.496,529,2.622,539,0.775,603,2.49,608,2.269,639,1.687,653,1.839,662,3.914,676,4.134,742,3.178,762,4.786,824,2.967,843,2.512,960,8.352,961,2.898,962,3.004,963,5.104,964,2.074,965,6.382,966,2.355,967,2.811,968,2.736,969,4.54,970,3.987,971,4.54,972,4.54,973,4.54,974,5.889,975,4.075,976,3.004,977,3.004,978,3.004,979,3.004,980,3.004,981,3.004,982,2.612,983,3.004,984,3.004,985,3.004,986,5.418,987,7.69,988,1.562,989,2.898,990,1.982,991,2.428,992,2.512,993,2.001,994,2.56,995,3.004,996,5.49,997,5.306,998,5.426,999,5.733,1000,6.398,1001,8.027,1002,6.648,1003,6.103,1004,2.736,1005,3.004,1006,3.004,1007,2.512,1008,3.004,1009,3.004,1010,3.004,1011,2.811,1012,3.004,1013,5.711,1014,2.898,1015,3.004,1016,3.004,1017,3.004,1018,2.811,1019,3.004,1020,3.004,1021,3.004,1022,7.375,1023,3.004,1024,3.004,1025,1.419,1026,3.004,1027,3.004,1028,3.004,1029,3.004,1030,3.004,1031,3.004,1032,3.004,1033,3.004,1034,8.225,1035,8.225,1036,3.004,1037,3.004,1038,3.004,1039,3.004,1040,3.004,1041,3.004,1042,2.468,1043,3.004,1044,3.004,1045,3.004,1046,3.004,1047,3.004,1048,3.004,1049,3.004,1050,3.004,1051,3.004,1052,3.004,1053,3.004,1054,3.004,1055,3.004,1056,3.004,1057,4.419,1058,4.419,1059,3.004,1060,3.004,1061,3.004,1062,3.004,1063,3.004,1064,2.428,1065,3.004,1066,3.004,1067,3.004,1068,4.852,1069,3.004,1070,4.852,1071,4.852,1072,3.004,1073,3.004,1074,2.736,1075,6.103,1076,4.857,1077,4.488,1078,3.004,1079,3.417,1080,5.346,1081,4.419,1082,5.426,1083,6.103,1084,6.103,1085,6.103,1086,2.811,1087,3.004,1088,3.004,1089,3.004,1090,7.69,1091,6.103,1092,6.103,1093,6.103,1094,3.004,1095,4.852,1096,4.852,1097,3.004,1098,3.004,1099,3.004,1100,3.004,1101,3.004,1102,4.852,1103,3.805]],["title/modules/RocketChatModule.html",[201,1.845,18468,5.563]],["body/modules/RocketChatModule.html",[0,0.318,3,0.021,4,0.021,5,0.01,8,1.138,27,0.388,29,0.746,30,0.001,31,0.539,32,0.122,33,0.45,35,1.14,95,0.148,101,0.014,103,0.001,104,0.001,201,3.367,203,3.415,208,3.476,209,3.565,225,3.748,226,1.375,349,0.97,413,3.485,490,4.114,636,5.51,961,9.374,964,5.457,969,10.27,1018,9.844,1170,6.871,1171,7.983,1174,8.371,1180,6.733,3998,7.731,18468,10.151,18469,9.416,18470,9.416,18471,7.901,18472,8.712,18473,9.416]],["title/interfaces/RocketChatOptions.html",[105,0.7,969,5.395]],["body/interfaces/RocketChatOptions.html",[0,0.191,3,0.008,4,0.008,5,0.004,7,0.05,30,0.001,31,0.471,32,0.138,33,0.54,34,1.507,36,2.812,39,3.438,47,1.004,51,3.899,55,1.461,72,2.558,83,1.629,87,3.624,95,0.097,101,0.013,103,0,104,0,105,0.729,107,0.819,112,0.433,119,2.009,124,4.586,133,1.2,143,0.773,177,1.053,180,0.605,226,0.51,236,1.472,239,1.677,262,2.898,316,3.867,324,4.171,347,2.047,349,1.367,379,0.441,437,1.402,479,1.279,490,1.24,509,1.859,517,2.697,519,1.074,521,4.46,529,2.589,539,0.759,603,2.474,608,2.242,639,1.645,653,1.793,662,3.894,676,6.469,742,3.114,762,4.705,824,2.924,843,2.449,960,8.265,961,2.826,962,2.929,963,5.017,964,2.023,965,6.289,966,2.297,967,2.741,968,2.668,969,5.614,970,6.238,971,7.104,972,7.104,973,7.104,974,4.587,975,1.703,976,2.929,977,2.929,978,2.929,979,2.929,980,2.929,981,2.929,982,2.547,983,2.929,984,2.929,985,2.929,986,2.265,987,7.591,988,1.523,989,2.826,990,1.942,991,2.367,992,2.449,993,1.951,994,2.496,995,2.929,996,5.446,997,5.263,998,5.383,999,5.687,1000,6.35,1001,7.967,1002,6.571,1003,5.999,1004,2.668,1005,2.929,1006,2.929,1007,2.449,1008,2.929,1009,2.929,1010,2.929,1011,2.741,1012,2.929,1013,5.614,1014,2.826,1015,2.929,1016,2.929,1017,2.929,1018,2.741,1019,2.929,1020,2.929,1021,2.929,1022,7.298,1023,2.929,1024,2.929,1025,1.384,1026,2.929,1027,2.929,1028,2.929,1029,2.929,1030,2.929,1031,2.929,1032,2.929,1033,2.929,1034,8.13,1035,8.13,1036,2.929,1037,2.929,1038,2.929,1039,2.929,1040,2.929,1041,2.929,1042,2.407,1043,2.929,1044,2.929,1045,2.929,1046,2.929,1047,2.929,1048,2.929,1049,2.929,1050,2.929,1051,2.929,1052,2.929,1053,2.929,1054,2.929,1055,2.929,1056,2.929,1057,4.33,1058,4.33,1059,2.929,1060,2.929,1061,2.929,1062,2.929,1063,2.929,1064,2.367,1065,2.929,1066,2.929,1067,2.929,1068,4.754,1069,2.929,1070,4.754,1071,4.754,1072,2.929,1073,2.929,1074,2.668,1075,5.999,1076,4.774,1077,4.412,1078,2.929,1079,3.348,1080,5.268,1081,4.33,1082,5.334,1083,5.999,1084,5.999,1085,5.999,1086,2.741,1087,2.929,1088,2.929,1089,2.929,1090,7.591,1091,5.999,1092,5.999,1093,5.999,1094,2.929,1095,4.754,1096,4.754,1097,2.929,1098,2.929,1099,2.929,1100,2.929,1101,2.929,1102,4.754,1103,3.728]],["title/classes/RocketChatUser.html",[0,0.232,18474,5.125]],["body/classes/RocketChatUser.html",[0,0.261,2,0.854,3,0.017,4,0.017,5,0.009,7,0.111,8,1.233,26,2.305,27,0.554,30,0.001,32,0.1,35,0.935,39,3.263,47,0.912,51,5.758,83,3.495,95,0.12,101,0.016,103,0.001,104,0.001,105,0.787,112,0.78,133,2.654,180,1.98,349,1.336,376,4.936,377,5.132,381,3.451,382,3.037,448,4.109,479,3.738,556,2.79,662,3.156,686,4.628,1022,8.688,1103,8.709,1661,5.652,1665,5.198,1668,7.131,1747,4.516,2501,3.679,2795,4.942,2813,4.942,2816,6.061,2818,6.061,2821,5.322,2822,5.322,7656,6.061,17886,5.899,18474,7.607,18475,9.658,18476,12.245,18477,7.141,18478,9.541,18479,7.718,18480,7.718,18481,7.718,18482,7.718,18483,7.718,18484,7.718,18485,7.718,18486,7.718,18487,7.718,18488,6.76,18489,7.141,18490,7.141,18491,7.141]],["title/entities/RocketChatUserEntity.html",[154,1.378,18492,5.395]],["body/entities/RocketChatUserEntity.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.161,26,2.015,27,0.495,30,0.001,32,0.155,33,0.478,34,1.246,39,3.223,47,0.949,49,4.476,51,5.686,83,2.872,95,0.142,96,2.643,97,3.05,99,1.209,101,0.015,103,0.001,104,0.001,105,0.762,112,0.764,138,2.152,143,2.212,144,2.424,154,2.003,155,2.431,160,4.144,168,6.338,170,5.578,172,3.891,173,2.168,174,3.794,178,2.952,180,1.296,181,2.018,182,2.368,183,5.715,184,6.274,191,4.013,192,4.669,376,3.038,377,3.158,404,2.988,405,5.279,406,4.512,407,6.772,408,4.512,409,6.772,556,2.931,1022,8.579,1103,8.226,4333,4.375,9461,8.378,11911,5.871,18474,5.578,18475,9.122,18478,9.421,18492,7.841,18493,11.566,18494,7.477,18495,7.477,18496,7.477,18497,7.477,18498,8.378,18499,6.917,18500,6.917,18501,9.238,18502,6.917]],["title/interfaces/RocketChatUserEntityProps.html",[105,0.7,18498,5.765]],["body/interfaces/RocketChatUserEntityProps.html",[0,0.252,3,0.016,4,0.016,5,0.008,7,0.161,26,2.418,30,0.001,32,0.17,33,0.638,34,1.996,39,3.354,47,0.973,49,4.658,51,5.917,83,3.695,95,0.142,96,2.636,97,3.039,99,1.205,101,0.015,103,0.001,104,0.001,105,0.759,107,1.747,112,0.762,143,1.65,144,2.415,154,1.998,168,6.326,172,3.887,173,2.16,174,3.785,178,2.942,180,1.291,181,2.011,182,2.359,183,5.694,184,6.251,191,3.998,192,4.651,376,4.867,377,5.06,404,2.977,405,5.266,406,4.495,407,6.756,408,4.495,409,6.756,556,2.927,1022,8.928,1103,4.902,4333,4.359,11911,5.85,18474,5.557,18475,5.436,18478,9.805,18492,5.85,18493,6.892,18498,9.416,18499,6.892,18500,6.892,18501,9.215,18502,6.892]],["title/classes/RocketChatUserFactory.html",[0,0.232,18503,6.357]],["body/classes/RocketChatUserFactory.html",[0,0.172,2,0.564,3,0.011,4,0.011,5,0.006,7,0.073,8,0.92,27,0.539,29,1.045,30,0.001,31,0.719,32,0.174,33,0.601,34,1.683,35,1.496,39,1.369,47,0.535,49,2.84,51,3.607,55,2.402,59,3.328,83,2.189,95,0.108,96,1.349,97,2.079,101,0.008,103,0,104,0,112,0.582,120,3.215,133,2.617,140,2.778,153,2.09,154,2.169,155,2.475,177,1.415,180,1.319,236,1.644,271,4.658,319,3.215,349,0.525,376,2.071,377,2.152,379,0.644,382,3.891,413,2.291,437,0.672,447,7.188,448,4.57,449,5.553,452,4.183,453,5.553,454,5.695,455,4.183,456,4.183,457,4.183,458,4.117,459,4.587,460,5.007,461,6.749,462,5.848,463,7.03,464,2.824,469,2.801,470,4.183,471,2.824,472,5.228,473,5.381,474,4.287,475,5.088,476,4.149,477,2.801,478,2.655,479,4.157,480,3.361,481,2.735,482,2.694,483,2.801,484,5.156,485,2.824,486,3.637,487,4.927,488,2.801,489,6.911,490,4.293,491,6.641,492,2.824,493,4.445,494,2.801,495,2.824,496,2.801,497,2.824,498,2.801,499,3.145,500,2.953,501,2.801,502,6.135,503,2.824,504,2.801,505,4.183,506,3.938,507,4.183,508,2.824,509,2.714,510,2.694,511,2.256,512,2.801,513,2.801,514,2.801,515,2.824,516,2.824,517,1.922,518,2.801,519,1.569,520,2.824,521,3.005,522,2.801,523,2.824,1022,3.644,1103,5.008,3556,4.276,4188,3.145,6772,2.848,18471,4.276,18475,3.719,18478,5.977,18492,4.002,18498,4.276,18503,7.041,18504,5.096,18505,5.096,18506,5.096,18507,5.096,18508,5.096]],["title/classes/RocketChatUserMapper.html",[0,0.232,18509,6.018]],["body/classes/RocketChatUserMapper.html",[0,0.284,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,8,1.303,27,0.445,29,0.854,30,0.001,31,0.617,32,0.14,33,0.516,34,1.796,35,1.306,39,2.895,49,3.136,51,5.108,95,0.141,96,2.225,97,3.429,101,0.013,103,0.001,104,0.001,154,2.162,236,1.936,349,1.11,376,4.379,377,4.553,413,3.998,1022,7.708,1103,8.26,1665,3.458,2359,6.009,4433,9.045,4436,9.045,4437,9.045,4443,9.045,4446,5.186,4460,6.423,4461,6.423,7312,7.052,8324,7.052,8325,7.052,9521,7.361,18474,10.075,18475,8.684,18478,8.464,18492,10.605,18509,9.442,18510,11.9,18511,8.404,18512,8.404,18513,7.775,18514,7.775,18515,8.404,18516,8.404,18517,8.404,18518,8.404,18519,8.404,18520,8.404,18521,8.404]],["title/modules/RocketChatUserModule.html",[201,1.845,18522,6.018]],["body/modules/RocketChatUserModule.html",[0,0.313,3,0.02,4,0.02,5,0.01,30,0.001,95,0.154,101,0.014,103,0.001,104,0.001,201,3.343,203,3.361,204,3.602,205,3.703,206,3.688,207,3.674,208,4.594,209,4.712,218,4.581,219,3.63,220,3.548,226,1.353,1018,10.837,1103,6.097,2487,4.828,18472,8.573,18475,6.761,18522,12.311,18523,9.266,18524,9.266,18525,9.266,18526,11.424,18527,11.925,18528,9.266,18529,9.266,18530,9.266,18531,9.266,18532,9.266]],["title/interfaces/RocketChatUserProps.html",[105,0.7,18488,6.018]],["body/interfaces/RocketChatUserProps.html",[0,0.275,3,0.018,4,0.018,5,0.009,7,0.117,26,2.593,30,0.001,32,0.171,33,0.63,39,3.451,47,0.986,51,6.089,83,3.908,95,0.125,101,0.016,103,0.001,104,0.001,105,0.829,107,1.908,112,0.808,133,2.797,180,2.031,349,1.356,376,5.22,377,5.427,556,2.862,1022,9.187,1103,5.353,1661,6.494,1665,4.343,1747,4.76,2501,3.877,2821,5.609,2822,5.609,17886,6.218,18474,6.069,18475,5.936,18476,7.526,18477,7.526,18478,10.09,18488,9.245,18489,7.526,18490,7.526,18491,7.526]],["title/injectables/RocketChatUserRepo.html",[539,0.921,18526,5.765]],["body/injectables/RocketChatUserRepo.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,11,7.988,13,7.138,26,2.669,27,0.5,29,0.903,30,0.001,31,0.652,32,0.148,33,0.545,35,1.232,36,2.83,37,7.988,39,3.259,42,7.138,49,2.869,95,0.153,96,2.035,97,3.137,99,1.244,101,0.012,103,0.001,104,0.001,154,2.04,177,1.43,226,1.123,236,1.655,262,2.859,345,2.442,349,1.174,379,0.971,437,1.503,539,1.363,541,1.844,608,1.78,631,3.898,686,4.617,687,5.597,718,4.095,725,7.423,1103,8.53,2311,6.84,3341,5.135,3346,6.012,4544,5.84,18474,7.588,18475,9.207,18492,8.952,18509,6.735,18513,7.114,18514,7.114,18526,8.536,18533,12.617,18534,7.114,18535,7.689,18536,7.689,18537,7.689,18538,7.689,18539,7.689,18540,7.689,18541,7.689]],["title/injectables/RocketChatUserService.html",[539,0.921,18527,6.018]],["body/injectables/RocketChatUserService.html",[0,0.285,3,0.018,4,0.018,5,0.009,7,0.121,8,1.305,11,8.476,13,7.574,26,2.727,27,0.491,29,0.943,30,0.001,31,0.681,32,0.154,33,0.57,35,1.307,36,2.689,37,8.476,39,2.899,42,7.574,95,0.148,99,1.362,101,0.013,103,0.001,104,0.001,177,1.566,226,1.23,239,2.532,262,2.627,345,2.675,349,1.111,379,1.063,437,1.111,539,1.446,541,2.02,608,1.949,662,4.113,1103,8.266,1778,3.299,2487,4.388,18474,8.052,18475,9.167,18526,11.151,18527,9.454,18542,12.562,18543,8.421,18544,8.421,18545,8.421,18546,8.421,18547,8.421,18548,8.421,18549,8.421]],["title/entities/Role.html",[154,1.378,276,2.983]],["body/entities/Role.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.113,27,0.475,30,0.001,31,0.7,32,0.134,47,0.724,95,0.136,96,2.078,101,0.016,103,0.001,104,0.001,105,1.051,112,0.789,138,2.066,154,2.31,155,2.553,168,5.815,172,3.808,173,2.276,174,3.92,175,3.51,178,3.101,180,1.361,181,2.12,182,2.487,236,1.99,276,5.516,349,0.809,437,1.519,480,2.869,486,3.105,529,2.247,643,5.495,662,2.43,827,4.55,1717,3.764,1723,6.737,2044,3.053,2673,5.669,2677,5.669,3140,6.398,4119,4.641,4342,3.475,4660,6.723,7399,6.358,9461,6.589,10471,7.694,10499,8.099,12987,9.034,12988,7.265,12989,6.589,12990,6.358,12991,6.589,12992,6.358,12993,7.265,12994,6.589,12995,7.265,12996,9.542,12997,7.265,12998,8.655,12999,6.358,18550,7.852,18551,7.852,18552,7.852,18553,7.852]],["title/classes/RoleDto.html",[0,0.232,4630,4.913]],["body/classes/RoleDto.html",[0,0.316,2,1.035,3,0.02,4,0.02,5,0.01,7,0.134,26,2.522,27,0.538,29,0.741,30,0.001,31,0.746,32,0.169,33,0.641,34,2.082,95,0.11,99,1.513,101,0.014,103,0.001,104,0.001,112,0.882,181,3.112,379,1.181,381,3.165,404,3.737,405,4.944,643,5.615,1723,6.335,2044,3.635,4342,4.139,4630,9.581,4660,6.869,10471,6.976,10499,7.343,18554,9.351,18555,11.528,18556,9.351,18557,9.351]],["title/classes/RoleMapper.html",[0,0.232,18558,6.018]],["body/classes/RoleMapper.html",[0,0.31,2,1.014,3,0.02,4,0.02,5,0.01,7,0.131,8,1.376,27,0.469,29,0.902,30,0.001,31,0.708,32,0.148,33,0.544,34,1.527,35,1.379,95,0.134,99,1.482,101,0.014,103,0.001,104,0.001,154,1.838,236,1.491,276,5.977,349,1.172,413,4.087,1723,4.644,4446,5.654,4447,7.194,4630,9.708,4637,7.002,18558,9.97,18559,9.161,18560,9.97,18561,9.551,18562,11.382,18563,9.161,18564,9.161,18565,9.551,18566,9.161,18567,9.161,18568,9.161,18569,8.025]],["title/modules/RoleModule.html",[201,1.845,1420,5.125]],["body/modules/RoleModule.html",[0,0.3,3,0.019,4,0.019,5,0.01,30,0.001,95,0.151,101,0.014,103,0.001,104,0.001,201,3.28,203,3.221,204,3.453,205,3.55,206,3.535,207,3.521,208,4.507,209,4.623,218,4.462,219,3.48,220,3.4,226,1.297,227,3.686,1420,10.642,4734,10.858,4756,7.453,18570,8.881,18571,8.881,18572,8.881,18573,11.921,18574,12.443,18575,8.881,18576,8.881]],["title/classes/RoleNameMapper.html",[0,0.232,13689,6.018]],["body/classes/RoleNameMapper.html",[0,0.288,2,0.941,3,0.019,4,0.019,5,0.009,7,0.122,8,1.313,27,0.448,29,0.861,30,0.001,31,0.721,32,0.141,33,0.52,35,1.316,95,0.128,99,1.377,101,0.013,103,0.001,104,0.001,276,4.717,310,3.695,349,1.372,413,4.011,529,3.109,783,6.073,790,4.285,1778,3.334,4565,5.405,4660,7.611,10258,7.256,10259,7.256,11299,11.668,12843,10.464,12844,8.305,13663,9.149,13689,9.517,13740,8.532,18577,11.97,18578,8.509,18579,10.053,18580,10.865,18581,8.509,18582,10.865,18583,8.509,18584,7.873,18585,7.873,18586,7.873,18587,8.509,18588,8.509,18589,8.509]],["title/classes/RoleReference.html",[0,0.232,7328,4.66]],["body/classes/RoleReference.html",[0,0.323,2,1.056,3,0.021,4,0.021,5,0.011,7,0.137,26,2.546,27,0.52,29,0.756,30,0.001,31,0.752,32,0.163,33,0.457,34,2.102,95,0.138,101,0.015,103,0.001,104,0.001,105,0.973,112,0.893,181,3.152,379,1.206,381,3.232,404,3.816,405,5.048,1664,3.576,2044,3.712,3474,8.364,4342,4.226,4660,6.933,7328,9.142,18590,13.141,18591,11.677,18592,9.549]],["title/injectables/RoleRepo.html",[539,0.921,18573,5.765]],["body/injectables/RoleRepo.html",[0,0.212,3,0.014,4,0.014,5,0.007,7,0.09,8,1.07,10,3.597,12,3.978,18,4.43,26,2.249,27,0.537,29,0.992,30,0.001,31,0.754,32,0.166,33,0.599,34,1.709,35,1.518,36,3.025,40,4.27,47,0.721,55,1.283,95,0.121,99,1.015,101,0.01,103,0,104,0,112,0.677,154,1.259,155,2.879,180,1.535,226,0.917,262,3.049,276,3.844,349,1.21,382,3.318,437,1.47,479,4.887,480,1.746,486,1.889,539,1.186,541,1.506,565,5.287,679,7.193,685,3.707,686,4.019,687,5.037,711,3.748,712,5.343,713,3.748,714,3.788,716,3.748,717,3.788,718,3.343,3336,7.43,3353,7.755,3697,4.328,3953,8.75,4660,6.887,5126,5.402,9534,7.169,9542,7.43,18573,7.43,18593,6.276,18594,9.491,18595,7.755,18596,6.276,18597,6.276,18598,7.755,18599,6.276,18600,8.192,18601,6.276,18602,6.276,18603,8.854,18604,10.309,18605,8.854]],["title/injectables/RoleService.html",[539,0.921,4734,5.251]],["body/injectables/RoleService.html",[0,0.249,3,0.016,4,0.016,5,0.008,7,0.106,8,1.195,12,4.442,26,2.64,27,0.513,29,0.945,30,0.001,31,0.682,32,0.155,33,0.57,34,1.228,35,1.445,36,2.846,40,4.768,95,0.147,99,1.192,101,0.011,103,0.001,104,0.001,154,1.478,155,2.396,177,1.37,226,1.076,227,3.058,262,3.05,276,5.178,345,2.34,349,1.228,379,0.93,437,1.725,539,1.325,541,1.768,565,4.4,608,2.76,3140,3.711,3336,8.297,3353,8.661,4630,9.355,4660,6.555,4734,7.557,5126,4.496,10258,4.921,18558,6.454,18573,10.747,18595,8.661,18598,8.661,18606,7.368,18607,11.926,18608,7.368,18609,7.368,18610,7.368,18611,7.368,18612,7.368,18613,7.368,18614,7.368,18615,7.368,18616,12.807,18617,7.368,18618,7.368,18619,7.368,18620,7.368,18621,7.368,18622,7.368,18623,7.368]],["title/injectables/RoleUc.html",[539,0.921,18574,6.018]],["body/injectables/RoleUc.html",[0,0.312,3,0.02,4,0.02,5,0.01,7,0.132,8,1.382,27,0.471,29,0.905,30,0.001,31,0.654,32,0.148,33,0.547,35,1.117,36,2.857,95,0.153,99,1.492,101,0.014,103,0.001,104,0.001,177,1.715,226,1.347,262,2.74,345,2.93,349,0.95,379,1.165,437,1.217,539,1.531,541,2.213,4630,6.596,4637,7.05,4660,7.136,4734,10.394,4756,7.74,5126,5.628,18574,10.012,18595,10.012,18598,10.012,18624,9.224,18625,9.224,18626,9.224,18627,9.224,18628,9.224]],["title/injectables/RoomBoardDTOFactory.html",[539,0.921,8678,5.563]],["body/injectables/RoomBoardDTOFactory.html",[0,0.242,3,0.01,4,0.01,5,0.005,7,0.067,8,0.866,27,0.295,29,0.567,30,0.001,31,0.496,32,0.157,33,0.343,34,1.193,35,0.569,95,0.13,99,0.76,100,3.303,101,0.007,103,0.001,104,0,119,1.485,120,3.025,143,1.587,145,2.013,177,1.332,226,0.687,236,1.165,239,2.938,347,3.976,349,1.324,376,2.91,377,3.025,379,1.095,437,1.802,539,0.96,541,1.128,603,2.586,604,1.934,643,2.112,739,4.942,849,3.969,1042,3.242,1107,3.904,1271,2.236,1673,2.901,1688,3.094,1758,5.859,1926,3.646,1942,1.968,1944,5.486,1948,3.242,2079,2.081,2080,2.323,2081,2.241,2255,4.211,2531,2.179,2684,4.621,2686,4.714,2688,7.865,2691,5.474,2693,6.203,2696,2.191,2704,8.76,2772,3.593,2773,3.094,3034,3.593,3070,9.145,3071,6.01,3075,6.01,3078,3.945,3097,4.118,3466,3.945,3476,2.972,3479,3.945,3797,2.936,3815,5.793,3940,2.651,4544,4.98,5152,3.945,6614,5.793,7164,3.945,7671,8.532,7825,3.299,7965,4.118,8583,6.273,8584,8.026,8585,4.35,8586,10.018,8587,10.199,8591,4.35,8592,4.35,8602,4.35,8603,10.176,8605,8.76,8606,4.35,8608,4.35,8613,4.35,8615,4.35,8617,4.35,8619,4.35,8621,3.431,8622,6.273,8623,6.273,8624,4.35,8625,4.35,8626,4.118,8627,6.626,8628,4.35,8629,6.626,8630,6.626,8631,4.35,8632,4.35,8633,4.35,8634,4.35,8635,4.35,8636,4.35,8637,4.35,8638,4.35,8639,4.35,8640,4.35,8641,6.626,8642,4.118,8643,4.35,8644,4.35,8645,4.35,8646,4.35,8647,8.026,8648,4.35,8649,4.35,8650,4.35,8651,4.118,8652,4.118,8653,6.626,8654,4.35,8655,4.35,8656,4.118,8657,4.118,8658,3.945,8659,4.118,8660,4.118,8661,4.35,8662,4.35,8663,4.35,8664,4.35,8665,4.35,8666,4.35,8667,4.118,8668,4.35,8669,4.35,8670,4.35,8671,4.35,8672,4.35,8673,4.35,8674,4.35,8675,4.35,8676,3.945,8677,4.35,8678,5.799,8679,8.026,8680,4.35,8681,4.35,18629,4.701,18630,4.701,18631,4.701,18632,4.701]],["title/injectables/RoomBoardResponseMapper.html",[539,0.921,14699,5.765]],["body/injectables/RoomBoardResponseMapper.html",[0,0.192,3,0.012,4,0.012,5,0.006,7,0.081,8,0.995,27,0.466,29,0.449,30,0.001,31,0.555,32,0.138,33,0.271,34,1.616,35,0.687,95,0.139,99,0.918,101,0.009,103,0,104,0,112,0.63,226,0.828,236,1.979,347,2.977,349,1.164,376,3.939,377,4.095,437,1.759,480,2.959,486,3.203,539,1.103,541,1.361,603,2.728,782,3.387,783,4.603,790,2.856,849,5.896,1042,3.911,1271,2.571,1664,2.124,1926,3.095,1944,5.363,1948,3.911,2255,3.712,2686,2.561,2692,4.354,2696,2.644,2768,6.91,2770,4.454,2772,4.335,2773,3.732,3460,11.359,3463,6.91,3464,6.91,3466,4.76,3470,5.248,3476,3.585,3477,5.248,3478,5.248,3479,4.76,3728,7.619,3732,4.968,3797,3.542,3811,4.968,4544,4.728,5152,4.76,8605,9.481,8621,7.075,8622,8.493,8623,8.493,8652,7.213,8656,7.213,8657,4.968,8658,4.76,8659,4.968,8660,4.968,8667,7.213,8676,4.76,14699,6.91,18633,11.786,18634,9.696,18635,9.696,18636,9.696,18637,9.696,18638,5.672,18639,8.928,18640,5.248,18641,5.672,18642,5.672,18643,5.672,18644,5.672,18645,5.672,18646,5.672,18647,5.672,18648,5.672,18649,5.672,18650,5.672,18651,9.696,18652,5.672,18653,5.672,18654,5.672,18655,7.619,18656,5.672,18657,5.672,18658,5.672,18659,8.235,18660,5.672,18661,8.235,18662,5.672,18663,5.672,18664,5.672,18665,5.672,18666,5.672,18667,5.672,18668,5.672,18669,5.672,18670,5.672,18671,5.672,18672,5.672,18673,5.672,18674,5.672,18675,5.672,18676,5.672,18677,5.672,18678,8.235,18679,5.672,18680,5.672,18681,5.672,18682,5.672,18683,5.672,18684,8.235,18685,5.672,18686,5.672,18687,5.672,18688,5.672,18689,5.672,18690,5.672]],["title/classes/RoomElementUrlParams.html",[0,0.232,18691,6.018]],["body/classes/RoomElementUrlParams.html",[0,0.384,2,1.009,3,0.02,4,0.02,5,0.01,7,0.131,27,0.468,30,0.001,32,0.147,34,2.155,47,0.908,95,0.134,101,0.014,103,0.001,104,0.001,112,0.868,138,2.036,142,5.047,143,2.865,144,4.193,145,3.634,148,2.831,150,2.056,153,2.604,245,3.178,808,4.9,1042,8.521,1917,9.705,1942,4.752,3876,6.708,3914,7.827,5820,8.438,5822,8.438,7671,9.647,18691,9.942,18692,12.358,18693,9.12]],["title/classes/RoomUrlParams.html",[0,0.232,18694,6.018]],["body/classes/RoomUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,1042,8.835,3876,5.849,7671,8.903,18694,10.453,18695,9.897,18696,9.897]],["title/injectables/RoomsAuthorisationService.html",[539,0.921,8587,5.395]],["body/injectables/RoomsAuthorisationService.html",[0,0.238,3,0.015,4,0.015,5,0.008,7,0.101,8,1.16,27,0.483,29,0.928,30,0.001,31,0.67,32,0.152,33,0.56,35,1.419,95,0.113,99,1.14,101,0.015,103,0.001,104,0.001,119,2.73,145,2.697,226,1.03,236,1.147,239,3.316,349,1.206,437,1.545,529,2.017,539,1.286,541,1.691,839,2.194,1678,4.301,1679,4.707,1735,7.713,1926,5.195,2405,4.781,2684,6.238,2686,5.84,2696,5.085,3255,4.456,5146,3.906,5158,4.085,8587,7.535,8658,5.915,12734,5.04,18697,7.049,18698,9.596,18699,9.596,18700,9.596,18701,9.596,18702,9.596,18703,7.049,18704,9.596,18705,7.049,18706,9.596,18707,7.049,18708,9.596,18709,7.049,18710,7.049,18711,9.596,18712,9.596,18713,7.049,18714,8.405,18715,7.049,18716,12.178,18717,7.049,18718,7.049,18719,7.049,18720,10.094,18721,9.596,18722,9.596,18723,8.878]],["title/controllers/RoomsController.html",[259,2.631,14702,6.018]],["body/controllers/RoomsController.html",[0,0.188,3,0.012,4,0.012,5,0.006,7,0.08,8,0.98,27,0.462,29,0.887,30,0.001,31,0.641,32,0.145,33,0.536,35,1.356,36,2.747,95,0.154,100,3.814,101,0.009,103,0,104,0,138,2.009,150,1.251,177,1.958,223,2.313,226,0.81,259,2.124,261,2.66,262,2.975,270,6.666,271,4.678,294,6.943,324,5.337,333,4.985,334,3.6,337,2.891,338,2.955,340,2.691,343,2.978,349,0.986,379,0.701,437,1.542,602,4.493,603,2.174,608,2.592,631,2.813,1944,3.423,2941,8.655,2962,3.128,2963,2.912,2997,8.034,3025,5.258,3043,3.385,3044,3.128,3731,3.705,3779,6.619,4544,4.652,6398,4.357,6635,4.493,6640,8.835,6869,5.133,6891,8.034,6944,8.034,7675,5.133,13077,3.826,14698,8.034,14699,6.8,14700,8.034,14702,7.098,14708,5.133,14988,8.268,14995,5.133,17504,9.223,17509,9.223,18639,4.656,18691,9.223,18694,11.241,18724,5.548,18725,9.574,18726,9.574,18727,9.574,18728,5.548,18729,5.548,18730,5.548,18731,5.548,18732,5.548,18733,5.548,18734,5.548,18735,8.104,18736,5.548,18737,5.548,18738,8.104,18739,5.548,18740,5.548,18741,8.104,18742,5.548,18743,4.656,18744,7.498,18745,5.548,18746,5.548,18747,5.548,18748,5.548,18749,5.548,18750,5.548,18751,5.548,18752,8.104,18753,5.548,18754,5.548,18755,5.548,18756,5.548,18757,5.548,18758,7.098,18759,5.548,18760,7.098,18761,5.548,18762,5.548,18763,5.548]],["title/injectables/RoomsService.html",[539,0.921,6896,5.563]],["body/injectables/RoomsService.html",[0,0.23,3,0.015,4,0.015,5,0.008,7,0.098,8,1.132,26,2.705,27,0.442,29,0.848,30,0.001,31,0.612,32,0.15,33,0.512,34,1.133,35,1.134,36,2.47,39,2.876,95,0.151,99,1.1,101,0.01,103,0,104,0,119,1.41,143,1.507,177,2.25,226,0.993,227,2.823,262,2.758,349,0.964,379,1.182,437,1.69,539,1.255,541,1.632,603,2.695,608,2.965,696,2.644,1042,8.623,1805,8.431,1830,4.963,1913,9.792,1924,4.773,1925,4.061,1944,5.411,1947,5.198,2079,3.01,2080,3.36,2081,3.242,2692,3.596,2693,6.696,3003,9.558,3048,5.507,3940,3.835,4880,6.292,4977,10.751,4986,6.292,5107,9.558,5159,6.292,6896,7.582,8642,5.957,18764,6.801,18765,9.364,18766,9.364,18767,6.801,18768,6.801,18769,9.364,18770,6.801,18771,9.364,18772,6.801,18773,6.801,18774,9.364,18775,6.801,18776,9.364,18777,12.099,18778,6.801,18779,6.801,18780,6.801,18781,6.292,18782,6.801,18783,6.801,18784,6.801,18785,6.801,18786,6.801]],["title/injectables/RoomsUc.html",[539,0.921,14700,5.765]],["body/injectables/RoomsUc.html",[0,0.202,3,0.013,4,0.013,5,0.007,7,0.086,8,1.034,26,2.86,27,0.45,29,0.864,30,0.001,31,0.624,32,0.141,33,0.521,35,1.21,36,2.569,39,3.615,95,0.146,99,0.967,101,0.009,103,0,104,0,119,2.072,143,1.325,177,2.232,217,7.456,226,0.874,227,2.482,236,1.392,239,2.557,262,2.837,349,0.616,379,1.08,437,1.742,463,5.281,529,2.448,539,1.146,541,1.435,603,2.478,608,3.088,1042,7.954,1664,2.24,1804,7.322,1891,7.845,1917,7.845,1926,4.51,1942,2.504,1944,4.873,2530,3.571,3003,9.217,4042,5.22,4143,9.55,6895,5.019,6896,10.005,7110,6.539,7671,6.383,8586,8.75,8587,8.562,8605,8.382,8626,5.239,8678,8.829,14700,7.179,18781,7.916,18787,5.981,18788,8.556,18789,8.556,18790,9.989,18791,5.981,18792,8.556,18793,5.981,18794,8.556,18795,9.989,18796,5.981,18797,5.981,18798,5.981,18799,5.981,18800,5.981,18801,9.989,18802,5.981,18803,5.981,18804,5.981,18805,8.556,18806,7.916,18807,8.556,18808,5.981,18809,5.981,18810,5.981,18811,5.981]],["title/interfaces/RpcMessage.html",[105,0.7,11145,5.125]],["body/interfaces/RpcMessage.html",[3,0.022,4,0.022,5,0.011,7,0.145,30,0.001,32,0.156,33,0.577,47,0.707,55,2.058,101,0.019,103,0.001,104,0.001,105,1.229,107,2.362,112,0.923,180,1.746,347,3.639,479,4.731,990,4.688,1025,5.423,8895,10.833,11145,8.995,12791,8.82,12792,9.316]],["title/classes/RpcMessageProducer.html",[0,0.232,11241,5.765]],["body/classes/RpcMessageProducer.html",[0,0.239,2,0.783,3,0.015,4,0.015,5,0.008,7,0.102,8,1.163,9,3.371,27,0.484,29,1.002,30,0.001,31,0.671,32,0.164,33,0.561,35,1.324,47,0.958,55,2.397,80,6.196,95,0.129,101,0.011,103,0.001,104,0.001,141,4.508,177,2.032,262,2.411,349,0.991,379,1.215,437,1.441,448,5.536,479,3.525,519,2.177,529,2.024,608,1.637,766,3.953,824,3.884,990,3.297,1025,5.017,1185,7.66,1187,6.241,1210,5.728,1211,9.44,1218,4.441,1224,4.964,1225,4.59,1616,7.531,1838,5.728,3982,8.85,4018,9.151,7135,5.162,8891,6.196,8893,6.544,11145,8.75,11241,8.071,11242,8.425,11243,8.425,11251,8.425,11253,8.425,11255,8.425,12791,10.745,18812,7.073,18813,7.073,18814,7.073,18815,7.073,18816,7.073,18817,7.073,18818,7.073,18819,7.073,18820,7.073,18821,7.073,18822,7.073,18823,7.073,18824,9.618,18825,7.073,18826,7.073,18827,6.544]],["title/interfaces/Rule.html",[105,0.7,1879,4.29]],["body/interfaces/Rule.html",[3,0.019,4,0.019,5,0.01,7,0.128,8,1.351,27,0.461,29,0.885,30,0.001,31,0.639,32,0.145,33,0.535,35,1.354,59,2.74,95,0.151,99,1.44,101,0.014,103,0.001,104,0.001,105,0.907,107,2.088,119,2.659,131,5.122,133,4.704,239,3.274,479,4.94,1661,4.933,1670,7.458,1694,5.493,1735,6.821,1746,5.208,1747,5.208,1748,6.365,1749,6.803,1875,7.254,1879,6.98,3411,7.465,3415,7.356,17796,7.796,18828,8.901,18829,8.901,18830,8.901]],["title/injectables/RuleManager.html",[539,0.921,1768,5.765]],["body/injectables/RuleManager.html",[0,0.205,3,0.013,4,0.013,5,0.007,7,0.087,8,1.044,27,0.452,29,0.797,30,0.001,31,0.576,32,0.156,33,0.481,35,1.046,95,0.142,99,0.98,101,0.009,103,0,104,0,112,0.661,131,4.168,133,3.987,177,2.558,226,0.885,236,1.406,239,2.72,349,0.889,379,1.091,437,1.139,529,2.472,539,1.157,541,1.454,603,2.879,662,3.115,696,2.356,708,2.432,1226,2.923,1661,6.079,1670,5.98,1746,6.419,1747,3.547,1748,4.334,1749,4.633,1760,10.409,1761,10.409,1762,10.044,1763,8.992,1765,10.409,1766,9.205,1767,10.044,1768,7.248,1769,10.409,1770,10.409,1771,10.044,1772,10.409,1773,10.409,1774,10.409,1780,9.106,1879,8.173,3255,5.46,18831,11.595,18832,6.061,18833,8.638,18834,8.638,18835,6.061,18836,10.064,18837,8.638,18838,8.638,18839,6.061,18840,8.638,18841,6.061,18842,6.061,18843,6.061,18844,6.061,18845,6.061,18846,6.061,18847,6.061,18848,6.061,18849,6.061,18850,6.061,18851,6.061,18852,6.061,18853,6.061,18854,6.061,18855,6.061,18856,6.061,18857,6.061,18858,6.061,18859,6.061,18860,8.638,18861,6.061,18862,6.061]],["title/injectables/S3ClientAdapter.html",[539,0.921,11393,5.013]],["body/injectables/S3ClientAdapter.html",[0,0.088,3,0.006,4,0.006,5,0.011,7,0.037,8,0.538,10,2.79,27,0.463,29,0.852,30,0.001,31,0.616,32,0.143,33,0.515,34,0.741,35,1.303,36,2.355,47,0.911,59,0.804,72,1.179,95,0.111,101,0.004,103,0,104,0,105,0.266,112,0.34,131,2.609,133,0.898,177,0.827,226,0.381,236,1.975,261,2.133,262,2.886,271,4.076,284,2.538,316,3.714,319,2.456,324,1.324,349,1.155,360,6.211,379,0.562,437,1.725,480,0.726,486,0.786,519,0.804,521,3.311,529,3.079,539,0.596,541,0.626,556,0.638,565,1.559,579,6.02,603,2.103,604,1.075,608,2.718,639,1.231,662,4.015,685,2.874,696,1.015,739,4.401,990,0.895,996,3.714,997,3.59,998,3.671,999,3.879,1000,4.233,1001,5.311,1002,4.657,1004,1.996,1074,3.401,1107,5.36,1215,4.233,1217,3.871,1218,1.685,1226,2.803,1227,1.867,1228,2.051,1242,5.821,1243,7.006,1244,9.19,1257,2.191,1341,0.839,1445,2.287,1636,1.867,1824,3.182,1971,2.71,1984,4.571,2088,2.887,2312,2.413,2313,3.132,2330,4.565,2340,1.576,2480,3.436,2681,1.402,2721,4.117,2830,2.657,3081,1.867,3600,1.298,3601,2.343,3894,1.801,4381,1.576,4743,3.073,5440,3.603,5838,2.554,6441,4.194,6508,5.122,6509,8.511,6511,3.401,6512,3.401,6513,4.287,6516,7.964,6519,1.833,6520,1.612,6521,1.576,6522,1.576,6523,6.53,6524,6.84,6525,4.443,6526,3.319,6863,1.695,6989,1.906,8070,3.068,8176,7.721,8200,5.761,8210,3.734,8211,2.287,8212,3.603,8228,2.287,10144,2.849,10339,2.051,10340,2.115,10886,7.175,10936,6.84,11354,5.248,11361,2.287,11393,3.247,12938,2.115,17692,4.117,18863,10.556,18864,2.611,18865,5.814,18866,4.45,18867,6.866,18868,5.814,18869,6.866,18870,4.45,18871,4.45,18872,5.092,18873,2.611,18874,4.45,18875,4.45,18876,2.611,18877,4.45,18878,2.611,18879,4.45,18880,2.611,18881,2.611,18882,4.45,18883,2.611,18884,4.45,18885,2.611,18886,2.611,18887,2.611,18888,2.611,18889,4.45,18890,2.611,18891,4.45,18892,2.611,18893,4.45,18894,2.611,18895,4.45,18896,2.611,18897,6.866,18898,4.45,18899,2.611,18900,4.45,18901,4.45,18902,4.45,18903,4.45,18904,2.611,18905,5.814,18906,2.611,18907,5.379,18908,2.416,18909,2.611,18910,2.611,18911,2.611,18912,2.611,18913,2.611,18914,2.287,18915,11.742,18916,8.948,18917,2.611,18918,2.611,18919,2.611,18920,2.611,18921,2.611,18922,2.611,18923,2.611,18924,2.611,18925,4.45,18926,6.866,18927,5.814,18928,2.611,18929,2.611,18930,4.45,18931,2.611,18932,2.611,18933,2.611,18934,2.611,18935,2.611,18936,4.45,18937,4.45,18938,4.45,18939,4.45,18940,4.45,18941,2.611,18942,2.611,18943,2.611,18944,4.45,18945,2.611,18946,2.611,18947,2.611,18948,2.611,18949,2.611,18950,2.611,18951,2.611,18952,2.611,18953,2.611,18954,2.611,18955,2.611,18956,2.611,18957,5.814,18958,2.611,18959,2.611,18960,4.45,18961,2.611,18962,4.45,18963,2.611,18964,2.611,18965,2.611,18966,4.45,18967,2.611,18968,2.051,18969,2.611,18970,2.611,18971,2.611,18972,2.611,18973,2.611,18974,2.611,18975,4.45,18976,4.45,18977,2.611,18978,4.45,18979,2.611,18980,2.611,18981,2.611,18982,2.611,18983,2.611,18984,2.611,18985,5.814,18986,2.611,18987,4.45,18988,2.611,18989,2.611,18990,2.611,18991,2.611,18992,2.611,18993,2.611]],["title/modules/S3ClientModule.html",[201,1.845,11216,4.913]],["body/modules/S3ClientModule.html",[0,0.277,3,0.018,4,0.018,5,0.009,8,0.989,27,0.338,29,0.648,30,0.001,31,0.468,32,0.106,33,0.391,35,0.991,95,0.152,101,0.013,103,0.001,104,0.001,105,0.834,143,2.347,201,3.156,203,2.968,208,4.337,209,3.099,214,4.939,225,3.258,226,1.195,236,1.724,349,1.091,413,3.19,437,1.639,636,4.789,637,5.852,639,3.857,1174,7.847,1341,2.63,1971,5.477,2094,6.539,2312,4.398,2313,6.017,6509,7.905,6513,8.038,6515,7.187,6517,7.187,6518,7.187,8200,9.86,8210,6.867,8211,7.169,8212,8.58,8241,7.572,8243,7.572,8244,6.105,11122,7.572,11216,8.403,11393,5.972,14298,7.572,17610,7.169,18863,9.804,18994,10.596,18995,8.184,18996,8.184,18997,8.184,18998,8.184,18999,8.184,19000,8.184,19001,8.184]],["title/interfaces/S3Config.html",[105,0.7,6513,4.29]],["body/interfaces/S3Config.html",[3,0.018,4,0.018,5,0.012,7,0.118,30,0.001,32,0.171,47,1.027,55,2.406,95,0.097,101,0.02,103,0.001,104,0.001,105,1.345,107,1.927,112,0.813,284,3.216,360,5.386,556,2.595,1215,6.471,1217,4.633,1361,4.444,2094,7.681,5838,4.717,6441,4.979,6508,6.13,6509,6.13,6510,6.453,6511,6.281,6512,6.281,6513,6.634,6514,9.285,6515,8.442,6516,8.442,6517,8.442,6518,8.442,6519,5.766,6520,5.071,6521,4.959,6522,4.959,6523,5.996,6524,8.12,6525,8.12,6526,6.13]],["title/interfaces/S3Config-1.html",[105,0.582,708,2.292,6513,3.567]],["body/interfaces/S3Config-1.html",[3,0.021,4,0.021,5,0.011,7,0.139,30,0.001,32,0.176,47,1.018,101,0.015,103,0.001,104,0.001,105,0.989,107,2.277,112,0.902,2094,8.155,6513,7.365,6515,8.964,6516,8.964,6517,8.964,6518,8.964,11336,7.624,11337,7.624,19002,9.708]],["title/classes/SSOLoginQuery.html",[0,0.232,17090,6.018]],["body/classes/SSOLoginQuery.html",[0,0.397,2,1.067,3,0.021,4,0.021,5,0.011,7,0.138,27,0.484,30,0.001,32,0.152,33,0.631,47,0.825,52,6.108,95,0.139,101,0.015,103,0.001,104,0.001,112,0.899,119,2.436,138,2.106,147,6.352,148,2.992,150,2.173,245,3.257,248,4.694,249,4.963,16407,10.256,17090,10.287,19003,12.666,19004,9.639,19005,9.639,19006,9.639,19007,9.639,19008,9.639]],["title/interfaces/SanisGruppeResponse.html",[105,0.7,19009,6.018]],["body/interfaces/SanisGruppeResponse.html",[3,0.02,4,0.02,5,0.01,7,0.135,30,0.001,32,0.177,34,2.177,47,0.989,95,0.137,101,0.014,103,0.001,104,0.001,105,0.957,107,2.203,112,0.885,824,3.338,975,4.585,14000,11.446,18037,6.718,19009,10.126,19010,6.855,19011,8.692,19012,13.067,19013,12.413,19014,13.067,19015,11.446,19016,12.089,19017,8.266]],["title/interfaces/SanisGruppenResponse.html",[105,0.7,19018,5.765]],["body/interfaces/SanisGruppenResponse.html",[3,0.021,4,0.021,5,0.011,7,0.137,30,0.001,32,0.164,33,0.559,95,0.149,101,0.015,103,0.001,104,0.001,105,0.975,107,2.245,112,0.895,824,4.487,11832,10.649,18037,6.844,19009,11.52,19010,6.984,19011,12.479,19017,9.029,19018,9.812,19019,8.855,19020,12.479,19021,13.151,19022,11.52,19023,8.855,19024,8.855]],["title/interfaces/SanisGruppenzugehoerigkeitResponse.html",[105,0.7,19022,6.018]],["body/interfaces/SanisGruppenzugehoerigkeitResponse.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.135,95,0.123,101,0.016,103,0.001,104,0.001,105,1.063,107,2.447,112,0.942,276,4.529,975,5.09,18037,7.459,19010,7.612,19017,7.459,19020,9.65,19022,10.786,19025,11.855,19026,11.855]],["title/interfaces/SanisLaufzeitResponse.html",[105,0.7,19015,6.018]],["body/interfaces/SanisLaufzeitResponse.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,32,0.159,83,4.022,101,0.016,103,0.001,104,0.001,105,1.058,107,2.434,112,0.939,18037,7.421,19010,7.573,19013,9.601,19015,10.753,19027,13.512,19028,13.512]],["title/interfaces/SanisNameResponse.html",[105,0.7,19029,6.018]],["body/interfaces/SanisNameResponse.html",[3,0.023,4,0.023,5,0.012,7,0.149,30,0.001,31,0.594,32,0.159,47,0.982,101,0.016,103,0.001,104,0.001,105,1.058,107,2.434,112,0.939,18037,7.421,19010,7.573,19029,10.753,19030,13.512,19031,13.512]],["title/interfaces/SanisOrganisationResponse.html",[105,0.7,19032,6.018]],["body/interfaces/SanisOrganisationResponse.html",[3,0.022,4,0.022,5,0.011,7,0.142,30,0.001,31,0.761,32,0.173,34,2.218,47,1.012,101,0.015,103,0.001,104,0.001,105,1.011,107,2.327,112,0.914,14000,11.661,18037,7.095,19010,7.24,19032,10.468,19033,9.179,19034,13.313]],["title/interfaces/SanisPersonResponse.html",[105,0.7,19035,6.018]],["body/interfaces/SanisPersonResponse.html",[3,0.021,4,0.021,5,0.011,7,0.14,30,0.001,31,0.776,32,0.172,47,0.996,95,0.115,101,0.015,103,0.001,104,0.001,105,0.994,107,2.288,112,0.905,824,3.466,18037,6.975,19010,7.118,19017,6.975,19029,11.595,19035,10.362,19036,8.545,19037,13.237,19038,13.237,19039,13.237]],["title/interfaces/SanisPersonenkontextResponse.html",[105,0.7,19040,6.018]],["body/interfaces/SanisPersonenkontextResponse.html",[3,0.02,4,0.02,5,0.01,7,0.132,30,0.001,32,0.173,33,0.547,34,2.163,47,0.955,95,0.147,101,0.014,103,0.001,104,0.001,105,0.94,107,2.164,112,0.875,276,4.005,824,4.062,18037,6.596,19010,6.731,19017,8.882,19018,10.895,19019,12.348,19032,11.373,19033,12.348,19040,10.012,19041,8.534,19042,12.983,19043,12.983,19044,12.012]],["title/injectables/SanisProvisioningStrategy.html",[539,0.921,17812,5.765]],["body/injectables/SanisProvisioningStrategy.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.09,8,1.067,27,0.484,29,0.881,30,0.001,31,0.636,32,0.144,33,0.532,34,1.041,35,1.347,36,2.19,95,0.159,99,1.011,100,2.128,101,0.01,103,0,104,0,137,3.901,177,1.903,180,1.53,226,0.913,236,1.436,262,2.587,284,1.891,349,0.909,379,1.114,382,3.047,437,1.547,448,2.517,519,2.716,529,1.788,539,1.182,541,1.499,556,1.526,603,2.422,608,1.446,824,2.22,936,4,963,8.781,964,3.62,966,4.111,1079,3.692,1226,4.256,1262,2.183,1506,5.242,1694,3.855,1970,7.317,1982,4.384,2079,2.765,2080,3.087,2081,2.978,2088,4.054,2220,3.586,2245,7.405,3134,4.069,3731,4.172,3940,3.522,4009,7.146,4660,3.434,8956,6.745,8987,6.584,10075,8.559,10910,5.472,11602,8.732,11837,4.559,12281,7.405,12548,5.511,13161,6.468,13163,6.733,13164,4.172,13165,4.172,13938,6.745,13940,5.059,13941,8.231,13945,7.146,13946,8.295,13961,5.78,13970,8.286,13972,7.405,13974,7.146,13975,5.472,16694,8.963,17292,5.472,17297,10.133,17336,5.78,17398,8.963,17405,5.472,17411,5.78,17812,7.405,17813,9.33,19017,6.311,19045,6.247,19046,8.825,19047,6.247,19048,6.247,19049,8.165,19050,8.825,19051,6.247,19052,6.247,19053,6.247,19054,6.247,19055,6.247,19056,5.242,19057,6.247,19058,6.247,19059,6.247,19060,6.247,19061,6.247,19062,6.247,19063,6.247,19064,6.247,19065,6.247,19066,6.247,19067,6.247,19068,6.247]],["title/interfaces/SanisResponse.html",[105,0.7,19056,5.765]],["body/interfaces/SanisResponse.html",[3,0.021,4,0.021,5,0.011,7,0.141,30,0.001,32,0.166,47,0.898,95,0.141,101,0.015,103,0.001,104,0.001,105,1.004,107,2.31,112,0.91,824,4.228,19017,8.508,19035,11.633,19036,11.909,19040,11.633,19041,9.113,19056,9.985,19069,9.849,19070,13.28,19071,13.28]],["title/injectables/SanisResponseMapper.html",[539,0.921,17813,5.765]],["body/injectables/SanisResponseMapper.html",[0,0.179,3,0.012,4,0.024,5,0.006,7,0.076,8,0.948,27,0.491,29,0.912,30,0.001,31,0.699,32,0.154,33,0.551,35,1.332,47,0.373,95,0.141,99,0.859,100,1.808,101,0.008,103,0,104,0,112,0.6,177,0.987,226,0.775,236,1.677,239,1.84,345,1.686,349,1.286,379,0.67,437,1.753,480,1.477,484,4.004,486,1.598,539,1.051,541,1.274,556,2.687,593,4.562,603,2.378,651,2.56,652,2.56,655,4.731,782,3.17,824,1.887,975,3.829,988,2.316,1338,2.461,1341,1.706,2312,4.778,3002,3.601,3122,2.294,3140,2.674,4544,7.02,4660,5.666,6212,4.912,6722,5.515,8709,3.276,8956,8.8,8959,6.872,8964,5.997,8967,9.353,8969,4.455,8980,3.545,8987,7.69,8989,4.96,9345,4.169,10075,7.522,10258,5.239,10259,5.239,11685,4.65,11828,4.65,11832,8.906,11834,4.912,12844,5.997,13663,7.133,13921,7.259,13922,7.259,14561,4.912,15509,4.912,17813,6.584,19016,4.912,19018,6.584,19025,4.65,19026,4.65,19044,4.912,19056,11.052,19072,12.228,19073,9.332,19074,7.846,19075,7.846,19076,7.846,19077,7.846,19078,7.846,19079,5.309,19080,7.846,19081,5.309,19082,7.846,19083,5.309,19084,7.846,19085,7.846,19086,5.309,19087,7.846,19088,5.309,19089,5.309,19090,5.309,19091,5.309,19092,5.309,19093,5.309,19094,5.309,19095,5.309,19096,5.309,19097,5.309,19098,5.309,19099,5.309,19100,5.309,19101,5.309,19102,5.309,19103,5.309,19104,5.309,19105,5.309,19106,5.309,19107,5.309,19108,9.332,19109,5.309,19110,7.846,19111,4.912,19112,5.309,19113,5.309,19114,5.309,19115,5.309,19116,5.309,19117,7.846,19118,5.309,19119,5.309,19120,5.309,19121,5.309,19122,5.309,19123,5.309,19124,5.309,19125,5.309,19126,5.309,19127,5.309,19128,5.309]],["title/interfaces/SanisSonstigeGruppenzugehoerigeResponse.html",[105,0.7,11832,5.563]],["body/interfaces/SanisSonstigeGruppenzugehoerigeResponse.html",[3,0.022,4,0.022,5,0.011,7,0.146,30,0.001,32,0.157,47,0.91,95,0.12,101,0.016,103,0.001,104,0.001,105,1.036,107,2.385,112,0.928,276,4.416,975,4.963,11832,9.822,18037,7.272,19010,7.421,19017,7.272,19023,9.409,19024,9.409,19025,11.757,19026,11.757,19111,12.419]],["title/classes/SaveH5PEditorParams.html",[0,0.232,11451,5.125]],["body/classes/SaveH5PEditorParams.html",[0,0.446,2,0.841,3,0.017,4,0.017,5,0.008,7,0.109,26,2.038,27,0.314,30,0.001,32,0.099,47,0.926,95,0.153,99,1.23,101,0.02,103,0.001,104,0.001,112,0.773,138,1.363,148,2.36,150,1.714,154,1.525,245,3.628,247,3.27,248,4.531,249,3.956,271,4.199,808,5.123,809,7.102,839,3.759,852,3.543,1105,5.052,1108,6.769,1150,7.561,1218,3.823,2024,3.543,2171,5.504,2922,5.79,3632,3.505,4260,9.284,4263,8.664,5663,5.242,5833,7.356,5883,4.364,5930,8.191,5933,3.524,7299,6.848,10530,4.588,11405,6.551,11443,5.671,11444,5.97,11448,7.928,11449,5.671,11450,5.671,11451,7.532,11452,5.811,11453,5.97,11454,5.671,11455,5.97,19129,7.602]],["title/interfaces/ScanResult.html",[105,0.7,1203,4.399]],["body/interfaces/ScanResult.html",[3,0.02,4,0.02,5,0.01,7,0.134,30,0.001,32,0.162,33,0.653,47,1.008,55,1.911,101,0.019,103,0.001,104,0.001,105,1.274,107,2.193,112,0.882,119,2.779,990,4.471,1172,7.572,1181,7.033,1183,9.334,1185,7.198,1187,7.48,1196,6.562,1200,8.191,1201,7.847,1202,7.572,1203,7.381,1204,8.585,1205,8.585]],["title/classes/ScanResultDto.html",[0,0.232,10767,5.765]],["body/classes/ScanResultDto.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,27,0.521,29,0.758,30,0.001,31,0.547,32,0.164,33,0.458,47,0.821,95,0.113,101,0.015,103,0.001,104,0.001,112,0.895,154,1.92,181,3.157,347,4.564,379,1.209,381,3.239,1986,5.547,1987,6.492,6419,6.163,6440,8.309,10677,8.564,10680,7.14,10681,7.14,10767,11.318,19130,13.151,19131,9.571,19132,11.693,19133,9.571]],["title/classes/ScanResultParams.html",[0,0.232,6485,4.588]],["body/classes/ScanResultParams.html",[0,0.455,2,0.697,3,0.014,4,0.019,5,0.01,7,0.09,26,2.463,27,0.424,30,0.001,32,0.163,33,0.584,39,1.691,47,0.96,95,0.148,99,1.018,101,0.021,103,0,104,0,105,0.642,112,0.679,119,2.131,138,1.843,143,1.395,147,4.799,148,1.954,149,4.304,150,1.419,151,5.926,153,1.444,154,1.263,245,3.588,247,2.708,248,4.878,249,4.371,348,3.171,808,4.839,809,6.132,839,3.199,852,2.934,988,2.746,990,3.522,1079,3.721,1147,2.701,1203,6.579,1204,6.762,1205,6.762,1262,2.2,2739,4.664,2922,4.926,3632,2.903,4266,2.131,5826,6.416,5933,2.918,6088,6.632,6419,5.229,6432,7.342,6438,6.132,6467,4.341,6468,4.418,6469,4.418,6472,7.855,6475,4.341,6476,8.15,6477,7.83,6478,7.83,6479,4.418,6480,4.341,6481,4.341,6482,4.418,6483,4.27,6484,6.018,6485,5.926,6486,4.27,6487,4.341,6488,4.27,6489,4.27,6490,4.031,6491,4.418,6492,4.418,6493,4.418,6494,4.031,6495,4.031,6496,4.143,6497,4.204,6498,4.418,19134,10.276,19135,6.296,19136,6.296,19137,6.296]],["title/entities/SchoolEntity.html",[154,1.378,644,3.202]],["body/entities/SchoolEntity.html",[0,0.293,3,0.01,4,0.01,5,0.005,7,0.124,27,0.523,30,0.001,31,0.554,32,0.162,33,0.64,47,0.902,83,2.49,95,0.13,96,1.24,101,0.016,102,2.375,103,0,104,0,105,0.477,112,0.662,119,2.162,128,1.911,133,2.456,138,2.276,143,3.068,144,4.339,145,2.721,154,1.433,155,1.524,160,6.088,172,3.998,173,1.358,175,2.094,178,1.85,180,0.812,181,1.265,182,1.484,236,1.162,261,3.424,480,1.303,486,1.41,556,1.745,593,1.748,644,3.329,655,5.284,742,2.575,839,1.458,992,3.288,1717,2.246,1723,4.388,2044,1.821,2351,4.845,2562,4.418,2670,5.82,2673,3.926,2677,3.926,2678,5.609,3135,4.573,3136,4.063,4326,3.288,4332,3.834,4342,2.074,4392,6.466,4409,3.581,4410,5.609,4580,6.859,5094,4.013,6713,7.188,6721,6.466,6728,4.335,6735,4.635,6786,4.408,6805,5.459,6806,3.495,7000,4.845,7119,2.797,7120,4.408,8989,6.121,8993,3.495,8994,5.784,9006,4.758,9007,3.495,10327,7.228,10669,2.962,10926,6.498,11376,6.961,12405,5.609,13008,5.609,13009,3.931,13010,7.401,13011,7.066,13012,6.676,13013,6.924,13014,8.194,13015,3.794,13016,3.794,13017,3.931,13018,3.794,13019,3.931,13020,3.931,13021,5.994,13022,3.931,13023,3.931,13024,3.931,13025,3.931,13026,3.931,13027,3.931,13028,3.931,13029,3.931,13030,7.01,13031,3.931,13032,3.931,13033,7.84,13034,5.994,13035,5.994,13036,5.994,13037,5.012,13038,5.609,13039,3.495,13040,3.794,13041,3.931,13042,5.994,13043,3.581,13044,3.931,13045,3.931,13046,5.784,13047,3.794,13048,3.35,13049,3.931,19138,4.685,19139,4.685,19140,4.685,19141,4.685,19142,4.685,19143,4.685,19144,4.685,19145,4.685,19146,4.685,19147,4.685,19148,4.685,19149,4.335,19150,4.685]],["title/classes/SchoolExternalTool.html",[0,0.232,1898,3.687]],["body/classes/SchoolExternalTool.html",[0,0.239,2,0.783,3,0.015,4,0.015,5,0.008,7,0.102,8,1.163,27,0.551,29,0.972,30,0.001,31,0.702,32,0.171,33,0.619,34,1.821,35,0.857,47,0.958,55,2.507,95,0.139,101,0.015,103,0.001,104,0.001,105,0.721,112,0.736,180,1.668,181,2.596,347,4.239,349,0.728,379,0.893,381,2.394,382,2.106,564,4.427,1147,2.928,1746,6.863,1898,5.162,1929,3.473,1986,4.099,1987,4.798,2044,2.75,2642,7.718,4266,3.969,4342,3.131,4343,4.139,4344,5.277,5451,8.387,5453,7.651,5951,5.555,5955,8.965,5963,5.162,5965,5.555,5966,4.724,5967,5.058,5968,5.406,5975,4.724,5976,5.162,5977,6.878,5978,5.277,7502,8.34,9314,6.446,9469,5.162,9470,5.555,19151,11.699,19152,9.842,19153,9.618,19154,7.073,19155,7.073,19156,7.073,19157,7.073,19158,7.073,19159,7.073]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.232,19160,5.765]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.312,2,1.023,3,0.02,4,0.02,5,0.01,7,0.133,27,0.472,29,0.732,30,0.001,31,0.529,32,0.161,33,0.442,95,0.135,101,0.014,103,0.001,104,0.001,112,0.876,138,1.658,150,2.084,245,2.944,284,4.042,379,1.167,556,2.259,564,4.068,654,2.783,814,6.487,817,6.571,819,4.656,834,5.04,1077,7.673,2079,5.751,2546,5.703,2548,4.384,5988,8.989,5989,8.553,19160,9.605,19161,11.504,19162,11.169]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.232,19162,5.563]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.261,2,0.856,3,0.017,4,0.017,5,0.009,7,0.111,26,2.307,27,0.536,29,0.963,30,0.001,31,0.695,32,0.172,33,0.547,47,0.854,55,2.087,95,0.135,99,1.251,101,0.012,103,0.001,104,0.001,112,0.781,138,2.267,149,4.41,150,1.743,245,3.456,379,0.976,556,1.889,564,4.145,819,3.894,1130,4.399,2044,3.006,2079,5.949,2546,6.073,2548,4.467,5111,6.183,5975,5.164,5990,7.154,5991,8.022,5992,6.503,5994,9.447,5996,7.154,5997,7.154,5998,7.154,5999,9.548,6000,9.447,6001,7.154,6002,6.773,6003,6.489,6004,7.154,6007,7.154,6008,5.088,6009,7.154,6010,7.154,6011,6.072,6012,7.154,19161,12.251,19162,10.236]],["title/entities/SchoolExternalToolEntity.html",[154,1.378,6034,5.013]],["body/entities/SchoolExternalToolEntity.html",[0,0.26,3,0.017,4,0.017,5,0.009,7,0.111,27,0.501,30,0.001,32,0.157,55,2.332,95,0.149,96,2.039,101,0.016,103,0.001,104,0.001,105,0.785,112,0.779,138,2.177,143,2.689,154,2.043,155,2.505,172,3.552,173,2.233,174,3.87,178,3.042,180,1.335,181,2.079,182,2.44,564,4.33,644,5.884,654,3.655,1732,5.345,2548,4.096,4326,5.406,4332,5.466,4333,4.508,5094,5.628,5453,7.175,5977,5.508,5978,5.747,6026,6.238,6032,9.65,6034,7.432,6037,6.464,6038,4.999,6792,4.81,6793,4.649,7000,5.225,7502,7.883,9219,8.681,11726,5.406,12862,8.247,13000,8.546,13001,11.681,13002,10.634,13003,7.127,13004,7.127,13005,7.127,13006,7.127,13007,7.127,19163,7.703,19164,7.703,19165,7.703,19166,7.703]],["title/classes/SchoolExternalToolFactory.html",[0,0.232,19167,6.357]],["body/classes/SchoolExternalToolFactory.html",[0,0.167,2,0.545,3,0.011,4,0.011,5,0.005,7,0.071,8,0.897,27,0.541,29,1.055,30,0.001,31,0.75,32,0.174,33,0.606,34,1.237,35,1.482,47,0.749,55,2.376,59,3.281,95,0.117,101,0.008,103,0,104,0,112,0.568,120,3.135,133,2.552,140,2.687,153,2.048,154,1.791,155,2.414,177,1.38,180,1.287,236,0.802,271,4.692,319,3.135,347,1.782,349,0.764,379,0.622,382,3.865,413,2.235,437,0.979,447,6.966,448,4.513,449,5.462,452,4.08,453,5.462,454,5.516,455,4.08,456,4.08,457,4.08,458,4.015,459,4.497,460,4.908,461,6.569,462,5.765,463,6.929,464,2.732,469,2.709,470,4.08,471,2.732,472,5.141,473,5.293,474,4.216,475,5.004,476,4.047,477,2.709,478,2.568,479,4.105,480,3.469,481,2.646,482,2.606,483,2.709,484,5.071,485,2.732,486,3.601,487,4.83,488,2.709,489,7.054,490,4.251,491,6.575,492,2.732,493,3.623,494,2.709,495,2.732,496,2.709,497,2.732,498,2.709,501,2.709,502,6.059,503,2.732,504,2.709,505,4.08,506,3.841,507,4.08,508,2.732,509,2.625,510,2.606,511,2.182,512,2.709,513,2.709,514,2.709,515,2.732,516,2.732,517,1.859,518,2.709,519,1.517,520,2.732,521,2.931,522,2.709,523,2.732,525,2.83,526,2.884,527,2.913,564,2.795,708,1.978,1898,2.646,1901,2.451,2642,4.885,4266,3.363,4374,6.266,4376,3.525,5451,3.525,5453,2.913,5459,4.136,6049,3.991,6054,3.871,6127,3.525,9314,4.08,19152,4.136,19167,8.261,19168,7.423,19169,7.423,19170,7.423,19171,4.929,19172,4.929,19173,4.929]],["title/classes/SchoolExternalToolIdParams.html",[0,0.232,19174,5.395]],["body/classes/SchoolExternalToolIdParams.html",[0,0.401,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.404,30,0.001,32,0.127,47,0.833,95,0.14,101,0.015,103,0.001,104,0.001,112,0.908,138,1.758,142,4.63,143,2.628,144,3.178,145,3.334,148,3.043,150,2.21,245,3.051,256,7.009,564,4.151,808,4.704,2548,4.003,5993,9.31,6058,8.225,6059,8.586,7502,7.408,19174,9.317,19175,9.607]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.193,708,2.292,19174,4.486]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.404,2,1.098,3,0.022,4,0.022,5,0.011,7,0.142,26,2.589,27,0.409,30,0.001,32,0.129,95,0.152,99,1.605,101,0.015,103,0.001,104,0.001,112,0.914,138,1.779,148,3.08,150,2.237,245,3.074,256,7.095,564,3.742,808,4.738,2546,5.481,2548,4.032,5993,9.359,6061,7.24,6062,8.034,19174,9.385,19176,11.057]],["title/modules/SchoolExternalToolModule.html",[201,1.845,6068,5.395]],["body/modules/SchoolExternalToolModule.html",[0,0.294,3,0.019,4,0.019,5,0.01,30,0.001,95,0.15,101,0.013,103,0.001,104,0.001,201,3.25,203,3.159,204,3.386,205,3.481,206,3.467,207,3.453,208,4.467,209,4.581,218,4.407,219,3.413,220,3.335,225,4.39,226,1.272,560,3.584,564,3.788,2548,2.938,5134,5.048,5429,9.782,5439,7.053,6067,10.246,6068,11.218,6308,9.462,7502,5.439,19177,8.71,19178,8.71,19179,8.71,19180,8.71,19181,11.889,19182,8.71]],["title/classes/SchoolExternalToolPostParams.html",[0,0.232,19183,5.765]],["body/classes/SchoolExternalToolPostParams.html",[0,0.396,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,27,0.511,29,0.928,30,0.001,32,0.174,33,0.505,47,0.871,55,2.157,95,0.146,101,0.013,103,0.001,104,0.001,112,0.808,138,2.224,143,1.802,148,2.525,149,4.072,150,1.834,245,3.189,248,4.683,249,4.135,363,4.586,564,4.336,808,4.645,1130,4.628,1142,5.08,2406,4.547,2548,4.335,3493,7.548,4266,3.965,5111,6.337,5590,6.513,6074,7.526,6080,9.82,6081,6.826,6082,6.826,6083,6.826,6085,7.526,6086,7.526,6088,5.951,7502,8.023,9314,6.44,19175,10.404,19183,8.857,19184,8.135,19185,9.765,19186,8.135,19187,8.135,19188,8.135]],["title/interfaces/SchoolExternalToolProps.html",[105,0.7,19152,5.765]],["body/interfaces/SchoolExternalToolProps.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.113,29,1.008,30,0.001,31,0.728,32,0.173,33,0.625,34,2.043,47,0.995,55,2.601,95,0.145,101,0.016,103,0.001,104,0.001,105,0.805,107,1.852,112,0.792,180,1.369,181,2.132,347,4.6,349,0.813,564,3.241,1147,2.404,1746,6.058,1898,4.239,1929,3.878,1986,4.577,1987,5.357,2044,3.07,2642,8.375,4266,4.307,4342,3.496,4343,4.621,4344,5.892,5451,9.101,5453,7.866,5951,6.202,5955,6.037,5965,6.202,5966,5.274,5967,5.647,5968,6.037,5975,5.274,5976,5.763,5977,7.403,5978,5.892,7502,4.932,9314,6.995,9469,5.763,9470,6.202,19151,6.918,19152,9.692]],["title/classes/SchoolExternalToolRefDO.html",[0,0.232,5961,5.563]],["body/classes/SchoolExternalToolRefDO.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,27,0.516,29,0.742,30,0.001,31,0.536,32,0.162,33,0.598,47,0.917,101,0.014,103,0.001,104,0.001,112,0.883,181,3.116,379,1.184,381,3.172,564,4.374,2548,4.405,4266,4.234,4343,5.484,4344,6.992,5961,10.857,6053,9.129,6193,8.672,7502,8.153,19151,11.437,19189,9.373,19190,11.544,19191,9.373,19192,9.373]],["title/injectables/SchoolExternalToolRepo.html",[539,0.921,1807,5.125]],["body/injectables/SchoolExternalToolRepo.html",[0,0.133,3,0.009,4,0.009,5,0.004,7,0.056,8,0.753,10,2.531,12,2.798,18,3.117,26,2.241,27,0.543,29,1.043,30,0.001,31,0.748,32,0.17,33,0.626,34,1.467,35,1.573,36,2.734,40,1.895,47,0.803,95,0.144,96,1.649,97,1.603,99,0.636,101,0.006,103,0,104,0,112,0.301,133,2.142,154,1.766,155,2.517,173,1.139,177,1.158,180,1.08,236,1.259,262,2.965,310,2.704,349,1.231,379,0.496,381,1.33,382,3.676,437,1.577,448,3.118,519,1.209,539,0.835,541,0.943,564,3.864,603,2.469,608,1.791,644,1.831,654,2.33,680,4.225,686,2.827,687,4.714,718,2.093,740,5.915,1341,1.263,1665,4.405,1807,4.647,1898,6.71,1901,1.953,2000,2.256,2299,8.806,2301,4.454,2302,4.454,2303,4.454,2304,4.454,2305,4.371,2306,4.371,2307,4.454,2308,4.371,2309,4.454,2310,2.867,2311,4.965,2312,3.655,2313,4.018,2315,4.545,2316,2.809,2318,5.104,2319,2.809,2321,2.809,2323,6.23,2324,4.371,2325,2.809,2327,2.809,2329,4.454,2333,4.454,2335,4.225,2336,4.371,2338,2.809,2340,2.371,2341,2.425,2342,2.809,2344,2.809,2346,2.757,2347,2.809,2353,2.665,2364,5.336,2365,5.773,2387,5.227,2400,3.441,2548,2.611,2627,1.953,4266,2.619,4446,2.425,4581,2.931,4743,3.293,5453,3.681,5558,3.158,6034,9.007,6038,4.042,6091,3.441,6092,5.763,6097,5.763,6105,5.227,6114,2.867,6115,2.867,6116,2.867,6117,2.867,6118,2.867,6119,2.867,6120,2.867,6121,2.867,6122,2.867,6126,2.809,6127,5.534,6128,3.181,6129,3.441,6130,3.003,6132,3.61,6133,3.635,6134,2.709,6141,3.635,6147,3.635,6154,3.635,6155,3.635,7521,2.453,9219,2.809,9314,5.277,9546,3.635,9547,3.003,9548,3.635,13000,8.573,13002,3.441,15594,3.297,19193,10.274,19194,6.229,19195,6.229,19196,5.763,19197,9.905,19198,3.929,19199,8.949,19200,6.229,19201,3.929,19202,3.929,19203,3.929,19204,6.229,19205,3.929,19206,5.763,19207,3.929,19208,3.929,19209,3.929,19210,3.929,19211,3.929,19212,3.929,19213,3.929,19214,3.929,19215,3.181,19216,3.929,19217,3.441,19218,3.441,19219,3.929,19220,3.929]],["title/injectables/SchoolExternalToolRequestMapper.html",[539,0.921,19221,5.765]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.284,3,0.018,4,0.018,5,0.009,7,0.121,8,1.303,27,0.445,29,0.943,30,0.001,31,0.681,32,0.14,33,0.516,35,1.306,95,0.148,101,0.013,103,0.001,104,0.001,141,3.939,226,1.228,349,1.225,480,2.338,539,1.444,541,2.016,564,4.228,603,2.457,790,4.232,2548,4.015,2642,7.831,4266,2.844,5453,4.967,5966,5.612,6080,9.921,6126,6.009,6161,6.599,6163,10.423,6167,7.361,6169,9.045,6176,7.775,6177,7.361,6178,7.052,6179,7.361,7502,7.431,8450,7.775,9314,4.619,19183,10.533,19221,9.045,19222,11.01,19223,10.779,19224,10.779,19225,8.404,19226,10.423,19227,7.361,19228,8.404,19229,8.404,19230,8.404]],["title/classes/SchoolExternalToolResponse.html",[0,0.232,19231,5.563]],["body/classes/SchoolExternalToolResponse.html",[0,0.234,2,0.765,3,0.015,4,0.015,5,0.008,7,0.099,27,0.548,29,0.92,30,0.001,31,0.665,32,0.174,33,0.517,34,1.8,47,0.945,55,1.936,95,0.128,101,0.011,103,0.001,104,0.001,112,0.725,131,2.629,138,2.35,149,4.168,150,1.559,245,3.544,347,3.905,363,3.9,379,0.873,404,2.764,556,1.69,564,4.455,819,3.483,824,2.458,839,2.153,1130,3.935,1986,4.008,2044,2.689,2079,3.061,2921,4.088,3810,5.432,4266,3.656,4343,4.047,5453,6.385,5975,4.619,5977,4.946,5992,6.146,6008,4.552,6181,6.059,6182,7.671,6183,8.298,6184,6.059,6185,6.059,6186,6.059,6187,6.059,6188,9.125,6189,6.059,6190,6.059,6191,6.059,6192,5.287,6198,6.059,6199,6.399,6200,6.059,7502,8.398,9314,5.938,9469,5.047,9752,6.059,17937,6.399,19175,10.89,19231,9.856,19232,10.213,19233,6.059,19234,6.917,19235,6.917,19236,6.917]],["title/injectables/SchoolExternalToolResponseMapper.html",[539,0.921,19237,5.765]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.252,3,0.016,4,0.016,5,0.008,7,0.107,8,1.204,27,0.463,29,0.949,30,0.001,31,0.714,32,0.145,33,0.537,34,1.241,35,1.359,95,0.152,101,0.011,103,0.001,104,0.001,131,2.831,226,1.088,236,1.621,347,3.6,349,1.156,437,0.982,480,2.072,539,1.334,541,1.787,564,4.226,603,2.317,782,4.448,790,3.752,1778,2.919,1898,7.245,1955,6.525,2548,4.041,2642,8.454,3731,4.975,4266,2.521,5453,4.402,5539,6.032,5966,4.975,6089,5.694,6188,9.407,6206,6.525,6214,6.251,6215,6.892,7502,7.48,9060,6.032,9083,6.251,9087,6.525,9314,4.094,9583,6.892,9642,6.892,9643,6.892,9644,6.892,11935,5.436,19222,11.083,19231,9.7,19232,6.251,19237,8.358,19238,9.96,19239,9.96,19240,9.96,19241,9.96,19242,7.449,19243,9.96,19244,9.96,19245,6.892,19246,9.416,19247,7.449,19248,7.449,19249,7.449,19250,7.449,19251,7.449,19252,7.449,19253,7.449,19254,7.449,19255,6.892]],["title/injectables/SchoolExternalToolRule.html",[539,0.921,1769,5.765]],["body/injectables/SchoolExternalToolRule.html",[0,0.248,3,0.016,4,0.016,5,0.008,7,0.105,8,1.191,27,0.459,29,0.882,30,0.001,31,0.637,32,0.154,33,0.532,35,1.193,95,0.151,101,0.011,103,0.001,104,0.001,119,2.652,131,4.229,154,2.699,177,1.363,226,1.07,239,3.189,345,2.328,349,1.015,379,0.925,437,0.967,539,1.32,541,1.758,564,4.003,604,4.579,662,3.958,1147,2.231,1670,6.488,1697,7.984,1718,4.422,1735,7.971,1769,8.267,1875,4.755,1879,6.152,1886,6.579,1898,7.128,1901,3.643,3411,6.579,3412,4.971,3415,6.483,3418,4.971,3419,6.682,3420,7.349,6034,9.818,6038,4.755,6127,7.045,6234,6.78,6235,6.78,6236,6.78,6237,6.78,6238,7.045,19215,5.934,19256,11.9,19257,6.78]],["title/classes/SchoolExternalToolScope.html",[0,0.232,19199,6.018]],["body/classes/SchoolExternalToolScope.html",[0,0.253,2,0.827,3,0.016,4,0.016,5,0.008,7,0.107,8,1.207,26,2.65,27,0.542,29,0.95,30,0.001,31,0.686,32,0.17,33,0.574,35,1.209,95,0.133,99,1.209,101,0.012,103,0.001,104,0.001,112,0.764,119,2.331,180,1.731,310,3.246,349,1.028,382,3.722,480,2.08,486,2.251,519,2.301,556,3.259,564,3.756,603,2.656,654,2.251,2350,6.644,2548,2.522,4266,3.804,5558,5.512,6034,5.456,6038,4.851,6127,5.346,6241,6.549,6242,6.668,6243,6.668,6244,6.668,6249,6.668,6250,6.668,6251,5.071,6252,4.993,6253,5.071,6254,5.071,6263,4.993,6264,6.668,6265,5.071,6266,4.993,6267,5.071,6268,4.993,6269,6.668,9314,6.179,9803,6.917,10846,8.746,10855,8.746,17941,9.238,17945,9.238,19193,10.401,19199,8.746,19258,7.477,19259,7.477]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.232,19246,5.765]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.314,2,1.028,3,0.02,4,0.02,5,0.01,7,0.133,27,0.473,29,0.736,30,0.001,31,0.531,32,0.161,33,0.444,95,0.136,101,0.014,103,0.001,104,0.001,112,0.878,138,1.666,150,2.093,245,2.952,284,4.048,379,1.173,556,2.269,564,4.322,654,2.796,813,8.743,814,6.517,817,6.59,819,4.677,834,5.063,2548,4.203,5988,9.014,6271,8.135,7502,7.78,19175,10.089,19231,11.18,19246,9.632]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.232,19260,6.018]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.405,2,1.1,3,0.022,4,0.022,5,0.011,7,0.143,27,0.41,30,0.001,32,0.129,47,0.841,95,0.141,101,0.015,103,0.001,104,0.001,112,0.916,138,1.784,148,3.087,150,2.242,245,3.078,248,4.784,564,4.171,808,4.745,2548,4.038,4266,4.345,7502,7.474,9807,8.712,9810,8.712,19175,9.692,19185,9.202,19260,10.484]],["title/injectables/SchoolExternalToolService.html",[539,0.921,6308,4.588]],["body/injectables/SchoolExternalToolService.html",[0,0.188,3,0.012,4,0.012,5,0.006,7,0.08,8,0.982,12,3.648,26,2.363,27,0.511,29,0.981,30,0.001,31,0.723,32,0.161,33,0.593,35,1.464,36,2.817,95,0.146,99,0.9,101,0.009,103,0,104,0,177,1.51,226,0.813,227,2.309,236,0.905,262,3.013,310,2.415,347,2.935,349,1.155,379,1.025,437,1.479,539,1.088,541,1.335,564,4.351,603,2.687,608,2.868,933,3.083,1778,2.18,1807,8.733,1898,7.55,1901,2.766,1929,2.732,2548,3.557,2627,6.384,4266,1.883,5446,4.505,5451,7.539,5993,5.925,6126,3.978,6285,5.147,6287,5.147,6308,5.423,6315,3.562,6324,3.433,6349,7.46,7502,7.891,9065,6.857,9150,4.873,9418,4.252,9782,4.873,19197,9.754,19227,4.873,19261,11.692,19262,8.12,19263,8.12,19264,8.12,19265,8.12,19266,7.513,19267,8.12,19268,5.563,19269,5.563,19270,5.563,19271,8.12,19272,5.563,19273,8.12,19274,5.563,19275,8.12,19276,5.563,19277,8.12,19278,8.12,19279,5.563,19280,8.12,19281,5.563,19282,5.563,19283,5.563,19284,5.147,19285,5.563,19286,8.12,19287,5.563,19288,5.563,19289,5.563,19290,5.563,19291,8.872,19292,5.563,19293,5.563]],["title/injectables/SchoolExternalToolUc.html",[539,0.921,19294,5.765]],["body/injectables/SchoolExternalToolUc.html",[0,0.165,3,0.011,4,0.011,5,0.005,7,0.07,8,0.889,26,2.799,27,0.477,29,0.917,30,0.001,31,0.662,32,0.15,33,0.554,34,0.811,35,1.351,36,2.74,39,3.277,47,0.623,95,0.141,99,0.788,101,0.007,103,0,104,0,131,5.013,177,1.837,226,0.711,236,1.442,262,2.97,305,2.822,310,3.849,349,1.017,379,0.929,437,1.688,539,0.986,541,1.168,560,2.004,564,4.215,603,2.391,608,3.027,643,3.305,933,4.077,1670,6.651,1675,2.971,1778,1.908,1898,7.394,2531,2.258,2548,2.482,3044,2.746,4266,1.648,5993,9.072,6069,7.512,6126,3.483,6300,4.266,6307,8.636,6308,7.446,6309,4.506,6315,7.412,6323,3.825,6324,3.005,7502,7.442,9100,7.764,9110,4.266,9125,3.722,9126,9.81,9127,4.506,9145,6.443,9146,9.81,9150,4.266,9954,6.806,19181,9.714,19226,11.643,19266,6.806,19284,6.806,19291,6.806,19294,6.173,19295,11.918,19296,8.201,19297,6.806,19298,6.806,19299,8.201,19300,4.506,19301,4.87,19302,4.87,19303,4.87,19304,7.356,19305,4.87,19306,4.87,19307,7.356,19308,9.877,19309,7.356,19310,4.87,19311,4.87,19312,4.87,19313,4.87,19314,7.356,19315,4.87,19316,4.87,19317,4.87,19318,4.87]],["title/injectables/SchoolExternalToolValidationService.html",[539,0.921,19181,5.765]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.257,3,0.017,4,0.017,5,0.008,7,0.109,8,1.22,27,0.468,29,0.898,30,0.001,31,0.648,32,0.147,33,0.542,35,1.223,36,2.161,55,2.641,95,0.153,101,0.012,103,0.001,104,0.001,177,1.878,226,1.11,236,1.237,262,2.5,274,4.588,283,6.23,340,3.688,361,4.325,379,1.275,437,1.003,519,3.108,529,2.175,539,1.353,541,1.824,564,4.285,603,2.596,608,1.76,1123,6.551,1778,2.979,1898,7.077,1901,3.78,2548,4.074,2627,5.636,5111,5.461,5436,10.355,5463,5.97,5476,6.659,6324,4.691,6349,7.974,6354,5.97,6359,7.034,7502,7.541,9105,5.97,9147,5.548,19181,8.472,19261,11.174,19319,10.096,19320,7.602,19321,10.096,19322,12.57,19323,7.602,19324,11.336,19325,10.096,19326,7.602,19327,7.602,19328,7.602,19329,7.602,19330,7.602]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.232,17319,6.018]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.306,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,8,1.366,27,0.466,29,0.718,30,0.001,31,0.518,32,0.117,33,0.433,35,1.097,95,0.134,100,3.085,101,0.014,103,0.001,104,0.001,177,1.685,284,2.742,292,4.593,345,2.877,349,0.933,379,1.144,654,2.727,975,6.607,1025,3.592,1147,3.44,1338,5.711,1339,6.375,1341,2.911,1343,6.414,3083,6.478,8829,6.42,8830,6.664,8956,9.861,8959,7.935,11772,7.935,17319,9.901,19331,12.32,19332,8.382,19333,8.382,19334,8.382,19335,8.382,19336,7.935,19337,9.059,19338,9.059,19339,9.059]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.232,19340,6.357]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.283,2,0.926,3,0.018,4,0.018,5,0.009,7,0.12,8,1.3,26,2.53,27,0.443,29,0.663,30,0.001,31,0.479,32,0.108,33,0.4,34,2.211,35,1.014,47,0.932,59,2.576,95,0.127,99,1.354,101,0.013,103,0.001,104,0.001,177,2.209,239,3.041,284,2.533,349,0.862,361,7.13,379,1.358,603,2.453,654,3.994,1025,3.318,1147,3.272,1338,5.506,1339,6.145,1341,2.69,1343,6.231,4266,4.242,4343,4.897,4565,5.363,8829,6.188,8830,6.424,12597,7.023,13674,6.777,19340,9.946,19341,10.403,19342,8.369,19343,8.369,19344,11.877,19345,8.369,19346,11.877,19347,8.369,19348,8.369,19349,8.369]],["title/classes/SchoolIdParams.html",[0,0.232,19350,5.395]],["body/classes/SchoolIdParams.html",[0,0.405,2,1.103,3,0.022,4,0.022,5,0.011,7,0.143,26,2.594,27,0.411,30,0.001,32,0.129,95,0.152,99,1.613,101,0.015,103,0.001,104,0.001,112,0.917,128,4.89,138,1.788,148,3.095,150,2.247,245,3.083,256,7.129,808,4.752,4266,4.35,4565,5.413,5663,6.875,6062,8.073,19350,9.413,19351,11.986]],["title/classes/SchoolIdParams-1.html",[0,0.193,708,2.292,19350,4.486]],["body/classes/SchoolIdParams-1.html",[0,0.406,2,1.109,3,0.022,4,0.022,5,0.011,7,0.144,26,2.6,27,0.413,30,0.001,32,0.13,95,0.152,99,1.621,101,0.015,103,0.001,104,0.001,112,0.92,138,1.797,148,3.11,150,2.259,245,3.092,256,7.165,808,4.766,2546,5.514,4266,4.359,6061,7.311,6062,8.113,19176,11.123,19350,9.441]],["title/classes/SchoolInMigrationError.html",[0,0.232,16506,6.018]],["body/classes/SchoolInMigrationError.html",[0,0.264,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,8,1.242,27,0.547,29,0.618,30,0.001,31,0.447,32,0.178,33,0.549,35,0.946,47,0.807,52,4.955,55,1.595,59,2.403,95,0.121,101,0.012,103,0.001,104,0.001,112,0.786,128,4.192,138,2.274,177,2.558,180,1.781,182,2.472,226,1.14,239,1.831,340,3.787,347,2.822,379,0.986,382,3.877,595,6.341,654,2.35,821,5.657,824,2.774,951,5.383,988,5.324,990,4.183,1025,4.554,1269,8.408,1270,7.279,1271,3.81,1272,7.354,1276,5.066,1277,4.363,1278,5.066,1279,5.066,1280,5.066,1281,5.066,1282,5.066,1283,4.711,1284,4.441,1290,4.935,1696,7.223,2493,5.137,3526,5.824,7275,4.875,14573,5.824,14608,8.622,16506,9,19352,10.275,19353,6.838,19354,7.807]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.232,19355,6.357]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.309,2,1.011,3,0.02,4,0.02,5,0.01,7,0.131,8,1.374,27,0.469,29,0.724,30,0.001,31,0.523,32,0.118,33,0.437,35,1.107,47,0.869,52,6.241,95,0.108,101,0.014,103,0.001,104,0.001,177,1.7,239,2.902,284,2.767,345,2.903,349,0.941,379,1.154,654,2.752,1025,3.624,1147,3.46,1338,5.734,1339,6.401,1341,2.937,1343,6.435,3291,5.577,4565,5.586,8829,6.446,8830,6.691,13219,9.228,19341,10.836,19355,10.516,19356,9.141,19357,9.141,19358,9.141,19359,9.141,19360,8.457]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.232,19361,6.357]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.29,2,0.949,3,0.019,4,0.019,5,0.01,7,0.123,8,1.32,26,2.553,27,0.451,29,0.68,30,0.001,31,0.491,32,0.111,33,0.41,35,1.039,39,2.934,47,0.844,52,6.1,95,0.129,99,1.388,101,0.013,103,0.001,104,0.001,119,2.492,177,2.235,191,4.606,239,2.819,284,2.598,321,6.262,349,0.884,379,1.379,603,2.482,654,3.288,1025,3.402,1147,3.325,1338,5.571,1339,6.218,1341,2.758,1343,6.289,1351,5.568,4565,5.426,4753,5.82,8829,6.262,8830,6.5,11321,6.949,13219,9.437,13593,11.118,19341,10.526,19360,7.939,19361,10.107,19362,7.939,19363,7.939,19364,8.581,19365,8.581,19366,8.581]],["title/classes/SchoolInfoMapper.html",[0,0.232,16032,6.018]],["body/classes/SchoolInfoMapper.html",[0,0.327,2,1.072,3,0.021,4,0.021,5,0.011,7,0.139,8,1.424,27,0.399,29,0.767,30,0.001,31,0.674,32,0.126,33,0.463,34,1.614,35,1.173,95,0.139,99,1.567,100,4.011,101,0.015,103,0.001,104,0.001,236,1.576,349,0.997,413,3.821,437,1.277,644,6.155,783,6.583,790,4.878,16004,10.693,16032,10.317,19367,11.778,19368,8.484,19369,11.778,19370,8.484,19371,9.685,19372,9.685,19373,9.685]],["title/classes/SchoolInfoResponse.html",[0,0.232,16004,5.563]],["body/classes/SchoolInfoResponse.html",[0,0.304,2,0.993,3,0.02,4,0.02,5,0.01,7,0.129,27,0.506,29,0.711,30,0.001,31,0.793,32,0.159,33,0.429,34,2.284,47,0.903,95,0.106,101,0.014,103,0.001,104,0.001,112,0.86,138,2.016,150,2.024,153,2.815,154,2.579,245,3.156,253,4.436,379,1.419,404,3.589,654,3.871,774,4.583,821,4.162,2044,3.491,2162,7.051,2917,5.909,2918,6.033,2919,6.033,4424,7.865,16004,10.723,19374,12.86,19375,7.865,19376,8.308]],["title/classes/SchoolMigrationError.html",[0,0.232,19377,6.018]],["body/classes/SchoolMigrationError.html",[0,0.26,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,27,0.545,29,0.609,30,0.001,31,0.44,32,0.178,33,0.545,35,0.931,47,0.801,52,4.905,55,1.571,59,3.131,95,0.12,101,0.012,103,0.001,104,0.001,112,0.778,128,4.15,138,2.263,177,2.551,180,1.763,182,2.435,226,1.123,239,1.803,340,3.73,347,2.779,379,0.971,382,3.86,595,4.745,654,3.062,821,5.624,824,2.732,951,5.342,988,5.292,990,4.158,1025,4.519,1218,2.911,1269,8.383,1270,7.243,1271,3.787,1272,7.299,1276,4.989,1277,4.297,1278,4.989,1279,4.989,1280,4.989,1281,4.989,1282,4.989,1283,4.64,1284,4.374,1290,4.86,3918,9.526,4565,4.593,7082,4.801,7275,4.801,9282,6.452,12477,5.498,14573,5.736,14608,8.536,19353,6.735,19377,8.91,19378,9.411,19379,7.689]],["title/interfaces/SchoolMigrationFlags.html",[105,0.7,19380,6.357]],["body/interfaces/SchoolMigrationFlags.html",[3,0.023,4,0.023,5,0.011,7,0.148,30,0.001,32,0.159,52,4.979,101,0.016,103,0.001,104,0.001,105,1.052,107,2.422,112,0.936,119,2.896,128,4.212,4565,4.662,19380,11.324,19381,10.325,19382,10.325,19383,13.49,19384,13.49]],["title/injectables/SchoolMigrationService.html",[539,0.921,4572,5.125]],["body/injectables/SchoolMigrationService.html",[0,0.122,3,0.008,4,0.008,5,0.004,7,0.052,8,0.705,27,0.482,29,0.925,30,0.001,31,0.668,32,0.151,33,0.559,35,1.384,36,2.547,47,0.976,52,4.443,55,2.202,59,1.114,95,0.131,99,0.585,101,0.006,103,0,104,0,119,1.519,128,4.854,143,1.292,145,2.361,177,1.562,226,0.528,227,1.501,236,1.686,262,2.881,283,2.233,292,1.834,340,1.755,349,1.067,379,0.736,437,1.637,519,2.255,529,2.818,539,0.781,541,0.868,556,2.053,579,1.942,593,3.675,603,2.592,608,2.873,654,3.35,655,4.993,696,1.406,822,4.076,936,2.316,990,2.511,1025,1.434,1218,1.37,1242,1.957,1341,1.163,1958,2.929,1959,5.311,1961,3.837,1963,2.04,1964,7.146,2166,7.773,2176,7.773,2207,2.183,2312,3.04,2313,3.833,2318,3.379,2739,3.325,3122,2.52,3134,3.378,3603,1.822,4266,3.952,4565,5.373,4572,4.35,4578,6.722,4580,6.948,4587,5.753,4590,4.35,4593,5.108,4597,2.765,4598,3.036,4699,2.929,4706,2.495,4743,1.913,4753,3.955,4822,6.122,5703,2.259,7275,2.259,7322,5.246,8176,2.841,8989,6.548,12218,2.929,13415,2.699,13925,7.461,13929,5.395,13930,5.395,14501,3.036,14583,6.131,14971,4.893,15816,8.135,16337,6.803,16992,2.765,17224,6.417,17321,9.971,17327,3.347,19385,11.898,19386,5.831,19387,5.395,19388,5.831,19389,5.831,19390,5.831,19391,5.395,19392,5.831,19393,5.831,19394,3.347,19395,5.831,19396,9.214,19397,3.618,19398,5.831,19399,8.04,19400,3.618,19401,5.831,19402,8.402,19403,3.618,19404,5.831,19405,5.831,19406,3.618,19407,5.831,19408,3.618,19409,5.831,19410,3.618,19411,5.831,19412,3.618,19413,5.831,19414,3.618,19415,3.618,19416,5.831,19417,3.618,19418,5.831,19419,3.618,19420,3.169,19421,3.618,19422,3.618,19423,3.036,19424,3.036,19425,3.347,19426,2.765,19427,3.618,19428,3.618,19429,3.618,19430,3.618,19431,3.618,19432,3.618,19433,3.618,19434,3.618,19435,5.831,19436,3.618,19437,3.618,19438,8.402,19439,6.778,19440,5.395,19441,3.618,19442,7.325,19443,3.347,19444,3.618,19445,3.618,19446,5.395,19447,3.618,19448,3.618,19449,5.831,19450,5.831,19451,3.618,19452,3.618,19453,3.618,19454,3.618,19455,5.831,19456,3.618,19457,3.618,19458,3.347,19459,3.618,19460,3.618,19461,3.618,19462,3.618,19463,3.618]],["title/entities/SchoolNews.html",[154,1.378,7130,5.251]],["body/entities/SchoolNews.html",[0,0.346,3,0.011,4,0.02,5,0.006,7,0.164,9,3.693,26,2.064,27,0.215,30,0.001,31,0.443,32,0.133,34,0.87,47,0.873,83,2.229,95,0.144,96,2.446,101,0.017,103,0,104,0,105,0.532,112,0.836,138,0.936,143,2.535,144,3.71,154,2.191,155,1.698,172,3.688,173,1.514,174,2.945,175,2.334,180,1.773,181,2.76,182,1.653,236,1.504,239,2.562,349,0.538,355,5.841,358,4.13,381,1.767,403,5.165,413,1.572,459,4.653,521,3.649,563,4.627,643,2.345,644,5.521,654,3.288,655,3.928,839,2.412,996,4.456,997,4.765,998,4.404,999,4.653,1000,5.079,1271,2.885,1289,4.782,1664,1.955,1717,3.715,1723,2.646,1739,3.573,1815,3.435,1832,2.869,1926,2.912,2255,3.538,2565,5.256,2670,4.238,2683,3.085,2739,5.897,2784,2.474,3452,3.6,3454,3.342,3455,3.663,3457,3.733,3458,3.663,3459,3.894,3473,3.117,3606,3.541,3631,3.342,4266,1.767,4358,3.99,4359,3.6,4500,3.809,5094,4.283,5174,3.809,5747,6.743,5932,2.824,5935,4.922,6683,3.663,6770,3.222,6772,2.918,6793,3.15,7000,3.541,7006,3.26,7093,3.894,7094,4.227,7096,4.728,7097,4.227,7098,6.893,7099,5.996,7100,4.227,7101,8.986,7102,5.175,7103,5.781,7104,5.781,7105,6.833,7106,7.666,7107,4.227,7108,5.541,7109,4.227,7110,3.99,7111,3.99,7112,5.028,7113,4.227,7114,3.99,7115,3.99,7116,4.227,7117,3.894,7118,4.227,7119,3.117,7120,3.222,7121,3.99,7122,4.227,7123,4.227,7124,7.256,7125,4.227,7126,7.482,7127,4.227,7128,4.227,7129,5.923,7130,5.923,7131,6.484,7132,4.1,7133,5.099,7134,3.99,7135,3.809,7136,3.99,7137,4.227,19464,5.22]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.232,19465,6.018]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.295,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,8,1.335,18,4.367,27,0.455,29,0.691,30,0.001,31,0.499,32,0.143,33,0.417,35,1.057,47,0.851,55,2.601,95,0.13,101,0.013,103,0.001,104,0.001,177,1.623,180,1.914,182,2.764,226,1.275,284,2.642,345,2.772,349,0.899,379,1.102,590,5.386,654,3.646,1025,3.461,1147,3.361,1338,5.615,1339,6.267,1341,2.805,1343,6.329,1456,5.744,3083,6.242,5703,7.563,8829,6.311,8830,6.551,8989,7.657,8993,6.512,9276,5.518,9283,5.108,9284,5.326,9292,7.068,9293,7.068,10317,7.971,14583,6.37,19465,9.672,19466,12.112,19467,12.112,19468,8.729,19469,8.729]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.232,19470,5.765]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,26,2.561,27,0.453,29,0.686,30,0.001,31,0.495,32,0.142,33,0.414,35,1.048,55,2.593,95,0.143,99,1.4,101,0.013,103,0.001,104,0.001,128,4.922,177,1.609,180,1.904,182,2.741,226,1.264,284,2.62,345,2.749,349,0.891,379,1.093,654,3.306,936,5.541,1025,3.431,1147,3.343,1338,5.593,1339,6.242,1341,2.781,1343,6.309,4266,4.083,4343,5.064,4565,5.448,5703,7.533,8829,6.286,8830,6.526,9276,5.471,9278,6.188,9283,5.064,9284,5.28,14583,6.315,19378,11.162,19470,9.216,19471,12.065,19472,8.007,19473,7.008,19474,8.654]],["title/classes/SchoolParams.html",[0,0.232,14776,6.018]],["body/classes/SchoolParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,34,1.983,47,0.836,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,245,3.06,654,3.582,808,4.718,3876,5.821,4266,4.327,10317,7.83,14776,10.422,19475,9.849,19476,9.849]],["title/classes/SchoolRolePermission.html",[0,0.232,13030,5.563]],["body/classes/SchoolRolePermission.html",[0,0.327,2,0.625,3,0.012,4,0.012,5,0.006,7,0.139,27,0.339,30,0.001,31,0.47,32,0.106,33,0.508,47,0.891,83,2.362,95,0.139,96,1.495,101,0.017,102,2.863,103,0,104,0,105,0.576,112,0.74,119,2.441,128,2.304,133,1.942,138,1.472,143,3.032,144,4.355,145,2.307,154,1.647,160,4.55,172,4.109,173,1.638,175,2.525,178,2.231,180,0.979,181,1.525,182,1.789,236,0.919,261,2.708,556,1.38,593,2.107,644,2.633,655,4.903,742,3.104,839,1.758,992,3.964,1717,2.708,1723,2.863,2044,2.196,2351,5.569,2562,4.936,2670,5.57,2673,3.104,2677,4.513,2678,6.447,3135,5.257,3136,4.67,4332,4.406,4342,2.5,4392,5.483,4409,4.317,4410,6.447,4580,6.04,5094,4.484,6713,7.322,6721,5.483,6735,3.665,6786,5.067,6805,6.275,6806,4.214,7119,3.373,7120,5.067,8989,5.19,8993,4.214,8994,6.648,9006,5.316,9007,4.214,10327,6.365,10669,3.571,10926,6.04,11376,7.091,12405,6.447,13008,6.447,13009,4.74,13010,6.275,13011,5.991,13012,5.661,13013,6.917,13014,8.415,13015,4.574,13016,4.574,13017,4.74,13018,4.574,13019,4.74,13020,4.74,13021,6.889,13022,4.74,13023,4.74,13024,4.74,13025,4.74,13026,4.74,13027,4.74,13028,4.74,13029,4.74,13030,8.598,13031,8.117,13032,8.117,13033,7.832,13034,4.74,13035,4.74,13036,4.74,13037,3.964,13038,6.447,13039,4.214,13040,4.574,13041,4.74,13042,6.889,13043,4.317,13044,4.74,13045,4.74,13046,6.648,13047,4.574,13048,4.039,13049,4.74,19477,5.648,19478,5.648]],["title/classes/SchoolRoles.html",[0,0.232,13033,5.563]],["body/classes/SchoolRoles.html",[0,0.326,2,0.621,3,0.012,4,0.012,5,0.006,7,0.138,27,0.337,30,0.001,31,0.468,32,0.106,33,0.507,47,0.89,83,2.352,95,0.139,96,1.487,101,0.017,102,2.848,103,0,104,0,105,0.572,112,0.738,119,2.196,128,2.292,133,1.931,138,1.467,143,3.03,144,4.351,145,2.298,154,1.64,160,4.532,172,4.104,173,1.629,175,2.511,178,2.218,180,0.974,181,1.516,182,1.779,236,0.914,261,2.693,556,1.372,593,2.096,644,2.618,655,4.888,742,3.087,839,1.749,992,3.942,1717,2.693,1723,2.848,2044,2.184,2351,5.546,2562,4.921,2670,5.81,2673,3.087,2677,4.494,2678,6.421,3135,7.206,3136,6.402,4332,4.389,4342,2.486,4392,5.461,4409,4.293,4410,6.421,4580,6.021,5094,4.47,6713,7.303,6721,5.461,6735,3.645,6786,5.046,6805,6.25,6806,4.19,7119,3.354,7120,5.046,8989,5.169,8993,4.19,8994,6.621,9006,5.299,9007,4.19,10327,6.345,10669,3.551,10926,6.025,11376,7.072,12405,6.421,13008,6.421,13009,4.714,13010,6.25,13011,5.967,13012,5.638,13013,6.895,13014,8.396,13015,4.548,13016,4.548,13017,4.714,13018,4.548,13019,4.714,13020,4.714,13021,6.862,13022,4.714,13023,4.714,13024,4.714,13025,4.714,13026,4.714,13027,4.714,13028,4.714,13029,4.714,13030,9.114,13031,4.714,13032,4.714,13033,8.576,13034,4.714,13035,4.714,13036,4.714,13037,3.942,13038,6.421,13039,4.19,13040,4.548,13041,4.714,13042,6.862,13043,4.293,13044,4.714,13045,4.714,13046,6.621,13047,4.548,13048,4.017,13049,4.714,19479,5.617,19480,5.617]],["title/interfaces/SchoolSpecificFileCopyService.html",[105,0.7,3328,5.395]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.02,4,0.02,5,0.014,7,0.132,8,1.378,26,2.742,27,0.379,29,0.727,30,0.001,31,0.525,32,0.161,33,0.439,35,1.112,36,2.44,39,2.466,95,0.146,99,1.485,101,0.019,103,0.001,104,0.001,105,0.936,107,2.154,271,3.401,993,6.371,1231,7.205,2480,6.736,3145,8.712,3328,8.951,3600,4.565,4838,8.495,4840,8.495,5933,4.256,6418,7.018,6438,6.265,10752,8.043,11061,9.23,18139,8.495,18141,8.495,19481,9.984,19482,9.182,19483,10.546,19484,11.993,19485,9.182,19486,8.495,19487,8.043]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[539,0.921,3598,5.765]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.298,3,0.019,4,0.019,5,0.015,7,0.126,8,1.342,27,0.458,29,0.879,30,0.001,31,0.635,32,0.144,33,0.531,35,1.066,95,0.151,101,0.014,103,0.001,104,0.001,177,1.637,226,1.286,236,1.433,345,2.796,349,0.907,379,1.112,381,3.757,454,5.119,539,1.488,541,2.112,654,3.342,993,7.358,1231,5.565,2480,7.944,3040,7.388,3145,9.295,3328,9.55,3329,7.388,3598,9.317,3600,4.377,3601,3.548,6547,9.612,19481,10.652,19487,11.185,19488,8.804,19489,8.146,19490,8.804,19491,11.103,19492,8.804,19493,7.712,19494,8.804]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.232,19493,6.018]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.279,2,0.915,3,0.018,4,0.023,5,0.014,7,0.119,8,1.289,27,0.44,29,0.845,30,0.001,31,0.61,32,0.138,33,0.51,35,1.001,36,2.283,39,2.221,95,0.139,101,0.013,103,0.001,104,0.001,177,1.983,262,2.604,271,3.062,349,0.851,379,1.347,381,3.996,603,2.203,654,2.489,662,3.655,993,6.973,1147,3.246,1231,6.742,2480,6.978,2739,3.752,2993,6.492,3145,9.025,3328,9.272,3329,6.937,3600,5.303,3601,3.331,3632,4.918,4266,3.61,5933,4.944,6418,6.319,6547,9.456,6897,7.649,11061,8.637,17886,6.319,19481,10.343,19483,9.868,19484,11.542,19486,7.649,19487,10.928,19489,7.649,19493,9.342,19495,8.267,19496,8.267,19497,8.267,19498,10.666,19499,8.267,19500,8.267,19501,8.267]],["title/injectables/SchoolValidationService.html",[539,0.921,14857,5.765]],["body/injectables/SchoolValidationService.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.117,8,1.274,27,0.483,29,0.927,30,0.001,31,0.67,32,0.152,33,0.56,35,1.277,36,2.652,47,0.57,95,0.146,99,1.313,101,0.012,103,0.001,104,0.001,143,1.799,177,1.51,226,1.186,227,3.369,236,1.321,262,2.903,345,2.579,349,1.086,379,1.025,437,1.071,529,2.323,539,1.412,541,1.948,593,3.933,603,2.417,608,2.44,654,3.173,662,3.623,990,2.783,1123,6.84,1427,8.695,1964,7.657,1966,6.574,5463,6.375,9394,7.111,9414,7.511,10317,8.153,12954,8.536,14857,8.846,14916,7.511,15821,6.574,19465,7.111,19502,12.39,19503,10.541,19504,8.119,19505,10.541,19506,10.541,19507,8.119,19508,8.119,19509,10.541,19510,8.119,19511,8.119]],["title/entities/SchoolYearEntity.html",[154,1.378,11376,4.588]],["body/entities/SchoolYearEntity.html",[0,0.302,3,0.019,4,0.019,5,0.01,7,0.128,27,0.505,30,0.001,31,0.734,32,0.159,47,0.859,83,3.879,95,0.132,96,2.361,101,0.017,103,0.001,104,0.001,105,0.909,112,0.857,138,2.194,154,2.245,155,2.901,172,4.261,173,2.586,175,3.987,178,3.523,180,1.546,181,2.408,182,2.825,1147,2.715,2044,3.468,2351,7.593,4342,3.948,6724,9.174,6801,7.223,6802,6.818,11376,7.476,13050,10.716,13051,8.253,13052,10.766,13053,7.485,13054,8.253,13055,8.253,19512,8.92,19513,8.92,19514,8.92]],["title/injectables/SchoolYearRepo.html",[539,0.921,14858,5.765]],["body/injectables/SchoolYearRepo.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.108,8,1.208,10,4.062,12,4.491,18,5.002,26,2.018,27,0.531,29,0.951,30,0.001,31,0.687,32,0.156,33,0.574,34,1.248,35,1.515,36,2.678,40,3.612,49,3.73,83,2.155,95,0.133,99,1.212,101,0.012,103,0.001,104,0.001,154,1.502,155,3.251,180,1.733,226,1.094,236,1.219,262,2.981,349,1.029,382,3.575,437,1.318,479,5.045,539,1.339,541,1.797,593,2.795,608,1.734,679,7.542,685,4.185,686,4.537,687,5.525,711,4.473,712,4.52,713,4.473,714,4.52,715,5.165,716,4.473,717,4.52,718,3.99,723,5.356,3659,6.065,4269,7.295,6724,5.356,7170,6.065,8485,9.856,10317,7.404,11376,7.514,13052,6.285,14858,8.389,19515,7.49,19516,12.006,19517,7.49,19518,7.49,19519,7.49]],["title/injectables/SchoolYearService.html",[539,0.921,14856,5.765]],["body/injectables/SchoolYearService.html",[0,0.287,3,0.019,4,0.019,5,0.009,7,0.122,8,1.312,12,4.875,26,2.543,27,0.493,29,0.859,30,0.001,31,0.621,32,0.141,33,0.519,34,1.415,35,1.314,36,2.697,40,5.232,95,0.141,99,1.374,101,0.013,103,0.001,104,0.001,177,1.579,226,1.24,262,2.937,345,2.697,349,1.117,379,1.072,437,1.431,539,1.454,541,2.037,608,2.511,685,3.555,1726,3.636,1778,3.327,1834,6.072,2487,4.425,3894,5.855,4269,7.918,4392,5.671,4706,7.482,10317,8.292,10325,7.126,10326,6.49,10327,5.588,11376,7.986,14856,9.105,14858,11.175,19520,12.601,19521,8.492,19522,12.601,19523,8.492,19524,8.492,19525,8.492,19526,8.492,19527,8.492,19528,8.492]],["title/classes/Scope.html",[0,0.232,5558,2.803]],["body/classes/Scope.html",[0,0.248,2,0.812,3,0.016,4,0.016,5,0.008,7,0.105,8,1.192,27,0.539,29,0.882,30,0.001,31,0.637,32,0.172,33,0.533,35,1.195,95,0.117,96,1.943,101,0.011,103,0.001,104,0.001,112,0.755,119,2.577,145,2.063,173,2.128,310,5.555,349,1.226,379,0.927,437,0.968,480,2.042,486,2.21,519,3.036,603,2.78,686,4.477,696,2.854,708,2.946,768,8.64,1568,4.701,2350,8.038,5558,4.859,6242,7.439,6243,7.439,6244,7.439,6249,6.587,6250,6.587,6252,8.543,6263,6.587,6264,7.953,6266,6.587,6268,6.587,16134,10.306,19529,7.342,19530,9.863,19531,9.863,19532,7.342,19533,7.342,19534,7.342,19535,7.342,19536,7.342,19537,7.342,19538,7.342,19539,7.342,19540,9.863,19541,11.139,19542,9.863,19543,7.342,19544,7.342,19545,7.342]],["title/classes/ScopeRef.html",[0,0.232,19546,5.251]],["body/classes/ScopeRef.html",[0,0.318,2,1.042,3,0.021,4,0.021,5,0.01,7,0.135,26,2.759,27,0.517,29,0.746,30,0.001,31,0.539,32,0.162,33,0.45,34,2.237,95,0.111,99,1.523,101,0.014,103,0.001,104,0.001,112,0.886,379,1.189,404,3.763,1998,6.814,2297,7.852,5558,5.649,6372,8.712,6373,10.711,6374,8.712,7472,6.387,13057,12.099,19546,8.849,19547,10.733]],["title/classes/ServerConsole.html",[0,0.232,19548,6.018]],["body/classes/ServerConsole.html",[0,0.275,2,0.9,3,0.018,4,0.018,5,0.009,7,0.117,8,1.276,27,0.483,29,0.836,30,0.001,31,0.604,32,0.137,33,0.505,35,1.278,47,0.823,95,0.125,101,0.013,103,0.001,104,0.001,138,1.893,153,2.948,220,4.041,345,2.584,349,1.087,379,1.027,519,3.816,591,6.991,934,8.199,1288,4.435,2024,5.461,2220,7.118,3504,6.826,3505,8.28,3508,8.547,3510,8.547,3513,5.609,3514,9.079,3515,8.588,3516,4.857,10297,9.201,11558,10.04,19548,9.245,19549,8.135,19550,11.472,19551,10.555,19552,8.135,19553,8.135,19554,10.555,19555,9.245,19556,8.135,19557,9.765,19558,8.135,19559,8.135]],["title/modules/ServerConsoleModule.html",[201,1.845,19560,6.018]],["body/modules/ServerConsoleModule.html",[0,0.246,3,0.016,4,0.016,5,0.008,30,0.001,32,0.094,47,0.51,87,3.682,95,0.166,96,2.592,99,1.175,101,0.011,103,0.001,104,0.001,119,1.506,143,1.609,155,2.362,173,2.106,201,3.185,203,2.634,204,2.824,205,2.903,206,2.891,207,2.88,208,4.089,209,2.75,218,3.914,219,2.846,220,2.781,225,3.898,226,1.061,236,1.182,239,1.704,292,3.682,573,4.926,598,4.209,599,5.3,687,4.808,1231,6.19,1519,4.132,1609,6.362,1726,3.11,2024,3.385,2079,3.215,2080,3.588,2081,3.462,2681,3.898,3515,6.19,3516,4.337,3590,9.748,3940,4.095,4729,4.85,4956,5.008,5624,4.926,5654,5.881,6437,5.909,8056,6.362,8202,7.485,10752,6.362,10988,10.702,11207,7.305,11208,7.305,11209,5.3,11211,5.193,11212,5.193,11213,7.002,11217,7.146,11218,7.146,11219,7.146,11220,5.193,11221,5.008,11233,5.418,11234,5.418,11235,5.3,12617,5.418,13074,6.095,13077,5.008,13486,7.929,15662,10.015,15673,6.095,15681,6.362,15899,6.72,19548,8.577,19560,11.89,19561,7.263,19562,7.263,19563,7.263,19564,7.263,19565,7.263,19566,7.263,19567,7.263,19568,9.792,19569,7.263,19570,7.263]],["title/controllers/ServerController.html",[259,2.631,19571,5.765]],["body/controllers/ServerController.html",[0,0.337,3,0.022,4,0.022,5,0.011,7,0.143,8,1.449,27,0.411,30,0.001,35,1.208,47,0.842,95,0.118,101,0.015,103,0.001,104,0.001,138,1.788,223,4.156,226,1.456,259,4.589,316,6.483,349,1.027,486,3.608,662,3.71,934,7.233,1288,5.436,2024,4.647,10111,9.413,12360,8.366,19550,12.337,19571,10.058,19572,9.97,19573,9.97]],["title/modules/ServerModule.html",[201,1.845,19574,5.765]],["body/modules/ServerModule.html",[0,0.183,3,0.007,4,0.007,5,0.004,8,0.399,27,0.223,29,0.262,30,0.001,31,0.31,32,0.07,33,0.158,35,0.4,47,0.779,52,1.593,55,1.107,72,3.595,87,1.675,95,0.164,96,1.434,99,0.534,101,0.011,103,0,104,0,118,4.407,119,1.651,122,2.24,128,2.21,143,0.732,145,1.522,153,0.758,155,1.074,173,0.958,177,1.481,201,2.796,202,7.645,203,2.888,204,1.284,205,1.32,206,1.315,207,1.31,208,1.219,209,1.251,214,4.647,218,2.165,219,1.294,220,1.265,223,3.319,225,3.169,226,0.482,236,0.881,239,0.775,292,1.675,349,0.34,358,2.421,379,0.684,413,0.994,437,1.159,454,1.523,490,2.446,493,1.612,511,1.462,519,1.017,521,1.304,556,2.436,564,1.034,573,3.673,598,1.914,603,1.644,639,1.557,654,0.994,676,2.362,687,2.659,762,2.174,970,2.278,971,2.594,972,2.594,973,2.594,992,2.318,996,1.593,997,1.54,998,1.574,999,1.664,1076,2.206,1077,2.038,1128,2.143,1130,1.879,1147,1.648,1171,2.278,1174,3.617,1185,2.063,1187,2.143,1225,2.143,1231,2.088,1341,1.062,1371,2.015,1376,7.414,1475,2.318,1491,1.933,1519,3.081,1636,2.362,1726,2.947,1822,1.972,1963,1.862,2024,3.208,2079,1.462,2080,1.632,2081,1.574,2082,2.115,2207,1.993,2312,2.857,2313,3.632,2396,3.109,2681,1.773,2748,7.645,3519,2.174,3592,7.043,3600,2.693,3601,2.182,3603,2.727,3942,5.261,3954,4.253,3955,9.042,4633,2.525,4677,1.697,4719,7.645,4956,2.278,5573,2.24,5624,2.24,6671,6.51,6865,1.972,8542,1.862,8898,2.038,10462,2.362,11049,2.318,11206,6.625,11207,4.04,11208,4.04,11209,2.41,11210,4.139,11211,2.362,11212,2.362,11213,3.873,11217,3.952,11218,3.952,11219,3.952,11220,2.362,11221,2.278,11232,6.085,11233,2.464,11234,2.464,11235,2.41,11236,2.675,11237,2.525,11238,2.594,11273,2.318,11274,5.023,11276,4.04,11278,2.41,11279,10.319,11280,4.04,11388,2.525,11466,2.41,11615,7.645,12095,2.362,12199,2.893,12364,2.772,12450,2.278,12469,5.023,12471,2.41,12548,2.063,13077,2.278,13745,7.645,13864,2.675,14021,2.675,14271,2.525,14488,2.675,14692,7.645,14757,7.645,14764,2.772,14975,7.645,15455,5.023,15648,2.594,15673,2.772,15703,7.645,15707,7.414,16063,7.645,16573,7.645,16755,7.645,16937,4.545,16957,2.772,17164,2.893,17166,2.893,17168,2.893,17169,2.893,17170,2.893,17887,7.645,18064,2.772,18285,8.074,18289,2.893,18468,2.675,19571,7.374,19574,11.925,19575,3.303,19576,3.303,19577,7.414,19578,7.645,19579,7.645,19580,7.645,19581,7.645,19582,7.645,19583,7.645,19584,7.645,19585,3.056,19586,6.368,19587,8.735,19588,3.303,19589,3.056,19590,3.056,19591,3.056,19592,3.056,19593,3.056,19594,3.056,19595,3.056,19596,3.056,19597,3.056,19598,3.056,19599,3.056,19600,3.056,19601,3.056,19602,3.056,19603,2.772,19604,3.056,19605,2.675,19606,2.675,19607,6.368,19608,3.056,19609,3.056,19610,3.056,19611,3.056,19612,3.056,19613,7.366,19614,3.056,19615,3.056,19616,3.056,19617,3.056,19618,3.056,19619,3.056,19620,3.056,19621,3.056,19622,3.056,19623,6.368,19624,3.056,19625,5.011,19626,6.368,19627,3.056,19628,3.056,19629,3.056,19630,3.056,19631,3.056,19632,3.056,19633,3.056,19634,3.056,19635,3.056,19636,3.056,19637,3.056,19638,2.893,19639,3.056,19640,3.056,19641,3.056,19642,3.056,19643,3.056,19644,3.056,19645,3.056,19646,5.011,19647,3.056,19648,5.011,19649,3.056,19650,5.011,19651,3.056,19652,3.056,19653,3.056,19654,4.545,19655,3.056]],["title/modules/ServerTestModule.html",[201,1.845,19654,5.765]],["body/modules/ServerTestModule.html",[0,0.177,3,0.007,4,0.007,5,0.004,8,0.384,27,0.276,29,0.415,30,0.001,31,0.383,32,0.087,33,0.251,35,0.635,47,0.768,52,1.531,55,1.071,59,0.977,72,3.509,87,1.609,95,0.163,96,1.387,99,0.513,101,0.01,103,0,104,0,118,4.286,119,1.612,122,2.153,128,2.138,143,0.703,145,1.473,153,0.728,155,1.032,173,0.92,177,1.445,201,2.752,202,7.5,203,3.554,204,1.234,205,1.269,206,1.264,207,1.259,208,1.172,209,1.202,214,4.567,218,2.095,219,1.244,220,1.215,223,3.239,225,3.094,226,0.464,236,0.853,239,0.745,292,1.609,349,0.327,358,2.992,379,0.662,413,1.578,437,1.135,454,1.464,490,2.762,493,1.549,511,1.405,519,0.977,521,1.254,556,2.394,564,1.641,573,3.555,598,1.84,603,1.605,639,1.496,654,0.956,676,2.27,687,2.573,762,2.089,970,2.189,971,2.493,972,2.493,973,2.493,992,3.678,996,1.531,997,1.479,998,1.513,999,1.599,1076,2.12,1077,1.959,1128,3.401,1130,2.982,1147,1.595,1170,2.316,1171,3.614,1174,4.47,1185,1.982,1187,2.06,1225,3.401,1231,2.007,1341,1.02,1371,3.198,1376,7.273,1475,2.228,1491,1.857,1519,3.808,1636,2.27,1726,3.683,1822,3.13,1963,1.79,2024,3.12,2079,1.405,2080,1.568,2081,1.513,2082,2.032,2207,3.163,2312,2.778,2313,3.546,2396,4.461,2681,1.704,2748,7.5,3519,2.089,3592,6.909,3600,2.606,3601,2.112,3603,2.64,3942,5.117,3954,4.116,3955,8.911,4633,2.426,4677,1.631,4719,7.5,4956,2.189,5573,2.153,5624,2.153,6671,6.386,6865,1.895,8542,1.79,8898,1.959,10462,2.27,11049,2.228,11206,3.678,11207,3.91,11208,3.91,11209,2.316,11210,4.006,11211,2.27,11212,2.27,11213,3.748,11217,3.825,11218,3.825,11219,3.825,11220,2.27,11221,2.189,11232,5.94,11233,2.368,11234,2.368,11235,2.316,11236,2.57,11237,2.426,11238,2.493,11273,6.036,11274,7.15,11276,5.798,11278,2.316,11279,10.223,11280,3.91,11388,4.006,11466,2.316,11615,7.5,12095,3.748,12199,2.78,12364,2.664,12450,3.614,12469,3.825,12471,2.316,12548,1.982,13077,2.189,13745,7.5,13864,2.57,14021,2.57,14271,2.426,14488,2.57,14692,7.5,14757,7.5,14764,2.664,14975,7.5,15455,4.885,15648,2.493,15673,2.664,15703,7.5,15707,7.273,16063,7.5,16573,7.5,16755,7.5,16937,4.398,16957,2.664,17164,2.78,17166,2.78,17168,2.78,17169,2.78,17170,2.78,17887,7.5,18064,2.664,18285,7.935,18289,2.78,18468,2.57,19571,7.218,19574,7.218,19577,7.273,19578,7.5,19579,7.5,19580,7.5,19581,7.5,19582,7.5,19583,7.5,19584,7.5,19585,2.937,19586,6.193,19587,8.569,19589,2.937,19590,2.937,19591,2.937,19592,2.937,19593,2.937,19594,2.937,19595,2.937,19596,2.937,19597,2.937,19598,2.937,19599,2.937,19600,2.937,19601,2.937,19602,2.937,19603,2.664,19604,2.937,19605,2.57,19606,2.57,19607,6.193,19608,2.937,19609,2.937,19610,2.937,19611,2.937,19612,2.937,19613,7.19,19614,2.937,19615,2.937,19616,2.937,19617,2.937,19618,2.937,19619,2.937,19620,2.937,19621,2.937,19622,2.937,19623,6.193,19624,2.937,19625,4.849,19626,6.193,19627,2.937,19628,2.937,19629,2.937,19630,2.937,19631,2.937,19632,2.937,19633,2.937,19634,2.937,19635,2.937,19636,2.937,19637,2.937,19638,2.78,19639,2.937,19640,2.937,19641,2.937,19642,2.937,19643,2.937,19644,2.937,19645,2.937,19646,4.849,19647,2.937,19648,4.849,19649,2.937,19650,4.849,19651,4.849,19652,4.849,19653,4.849,19654,11.902,19655,2.937,19656,3.174,19657,3.174,19658,3.174,19659,3.174]],["title/classes/SetHeightBodyParams.html",[0,0.232,4075,6.018]],["body/classes/SetHeightBodyParams.html",[0,0.406,2,1.106,3,0.022,4,0.022,5,0.011,7,0.143,27,0.412,30,0.001,32,0.13,55,2.453,95,0.142,101,0.015,103,0.001,104,0.001,112,0.918,138,1.793,142,3.901,143,2.659,144,3.892,145,3.373,148,3.102,150,2.253,245,3.087,3275,8.238,4075,10.515,19660,12.004,19661,9.995,19662,9.995,19663,9.995,19664,11.106]],["title/entities/ShareToken.html",[154,1.378,6723,4.737]],["body/entities/ShareToken.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.154,26,2.445,27,0.516,30,0.001,32,0.162,33,0.599,34,1.137,49,4.785,83,3.086,95,0.143,96,2.484,97,2.784,101,0.014,103,0,104,0,105,0.695,112,0.718,124,5.857,131,3.567,138,2.245,143,2.773,144,3.746,154,1.883,155,2.219,159,7.397,172,3.897,173,1.978,174,3.567,178,2.695,180,1.183,181,1.842,182,2.161,187,5.216,188,5.726,197,5.091,198,5.726,236,1.527,349,0.966,490,2.425,556,2.293,696,2.653,839,3.597,2670,4.304,3366,4.637,3392,8.687,3632,4.327,4333,3.993,4856,7.002,4858,6.972,4864,5.726,5933,5.356,5938,7.276,5939,4.88,5942,4.369,5943,4.705,6016,5.933,6044,5.726,6045,5.526,6046,5.726,6723,6.472,6740,5.726,10347,5.091,10418,5.726,10493,4.98,10652,6.314,10653,6.314,10692,5.216,13078,7.876,13079,11.864,13080,6.314,13081,9.356,13082,7.967,13083,9.073,13084,6.314,13085,4.557,13086,4.49,13087,6.314,13088,6.314,19665,6.824,19666,6.824,19667,6.824,19668,6.824,19669,6.824,19670,6.824]],["title/classes/ShareTokenBodyParams.html",[0,0.232,19671,6.018]],["body/classes/ShareTokenBodyParams.html",[0,0.334,2,0.815,3,0.016,4,0.016,5,0.008,7,0.106,27,0.548,30,0.001,32,0.166,33,0.57,34,1.647,47,0.695,55,2.437,95,0.132,101,0.011,103,0.001,104,0.001,112,0.757,119,2.05,133,4.101,138,2.139,142,5.19,143,2.946,144,4.311,145,3.737,147,5.348,148,2.287,150,1.661,153,2.736,245,3.199,249,4.372,274,5.967,654,2.977,708,3.968,808,3.92,839,3.078,844,8.297,852,3.434,1057,7.557,2460,9.116,3122,4.273,3632,5.145,3876,4.355,5552,6.183,5591,8.006,5933,5.173,6723,8.224,8171,8.006,13082,8.578,13085,4.921,13086,4.849,19664,9.148,19671,8.661,19672,9.769,19673,7.368,19674,9.775,19675,9.775,19676,7.368,19677,9.887,19678,7.368,19679,9.366,19680,7.368,19681,7.368,19682,7.368,19683,9.887,19684,8.297,19685,7.368,19686,7.368]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.232,19687,6.018]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.317,2,1.037,3,0.02,4,0.02,5,0.01,7,0.135,8,1.395,27,0.387,29,0.742,30,0.001,31,0.536,32,0.15,33,0.448,35,1.135,95,0.148,101,0.014,103,0.001,104,0.001,226,1.369,236,1.878,349,0.965,413,3.766,437,1.523,529,2.682,1664,3.51,1846,8.779,2647,6.398,3255,7.297,3860,6.839,6863,8.118,11167,9.687,11172,9.687,11186,8.672,11193,7.589,13081,10.572,13085,6.259,13086,6.168,15801,8.21,15804,8.21,19687,10.112,19688,11.544,19689,9.373]],["title/controllers/ShareTokenController.html",[259,2.631,19690,5.765]],["body/controllers/ShareTokenController.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.937,27,0.381,29,0.732,30,0.001,31,0.528,32,0.183,33,0.442,35,1.119,36,2.449,95,0.153,100,1.778,101,0.008,103,0,104,0,124,5.183,138,1.657,150,1.177,177,0.971,223,2.176,226,0.763,259,1.999,261,2.503,262,2.742,270,6.211,278,5.256,282,4.838,285,3.435,287,7.53,290,7.461,294,6.37,324,6.302,333,3.938,335,6.17,336,8.272,337,2.72,338,2.781,340,2.532,343,2.802,345,1.658,346,5.517,347,4.745,349,0.952,437,1.509,602,4.227,608,2.139,631,2.646,685,3.244,824,3.881,1226,4.93,1266,5.256,1606,4.227,1607,3.894,1608,4.573,1616,2.943,2530,6.105,2681,4.959,2764,2.474,2933,6.743,2935,7.627,2937,3.99,2938,7.063,2941,7.53,2962,4.369,2963,2.74,3025,3.387,3043,3.185,3044,2.943,3255,4.898,3632,2.407,3779,4.579,5933,2.42,6398,6.085,6635,4.227,6723,5.343,8902,8.746,12152,4.83,12153,4.83,13077,3.6,13994,6.274,14955,5.781,15719,4.83,18743,4.381,18758,4.573,18760,4.573,19671,8.956,19674,4.573,19675,4.573,19690,6.502,19691,10.224,19692,5.22,19693,8.549,19694,8.549,19695,8.549,19696,5.22,19697,8.746,19698,7.749,19699,5.22,19700,5.22,19701,5.22,19702,10.377,19703,8.956,19704,5.22,19705,5.22,19706,7.749,19707,5.22,19708,7.749,19709,5.22,19710,5.22,19711,5.22,19712,5.22,19713,5.22,19714,5.22,19715,4.573,19716,4.573,19717,7.482,19718,6.502,19719,6.502,19720,5.22,19721,5.22,19722,5.22,19723,5.22,19724,5.22,19725,5.22,19726,5.22,19727,5.22,19728,4.573,19729,5.22,19730,7.749,19731,5.22,19732,5.22,19733,5.22,19734,5.22,19735,5.22]],["title/classes/ShareTokenDO.html",[0,0.232,19736,5.251]],["body/classes/ShareTokenDO.html",[0,0.265,2,0.867,3,0.017,4,0.017,5,0.009,7,0.112,26,2.322,27,0.538,29,0.621,30,0.001,31,0.448,32,0.177,33,0.635,34,1.716,47,0.724,83,2.963,95,0.122,101,0.02,103,0.001,104,0.001,112,0.788,124,5.833,131,4.373,159,7.367,180,1.786,187,5.99,197,5.846,379,0.99,382,2.334,654,2.359,839,3.207,1616,6.488,1665,3.225,1746,7.152,1926,2.945,2501,3.735,2686,3.539,2696,3.653,3417,5.316,3632,3.613,4833,4.38,4858,4.729,5146,4.343,5158,4.542,5933,3.633,5963,5.719,6016,4.954,7432,8.089,7433,6.154,10669,4.954,13081,8.341,13082,7.103,13083,9.036,14753,6.865,17554,6.346,19736,9.704,19737,13.033,19738,7.837,19739,10.301,19740,9.656,19741,7.837,19742,9.318,19743,7.837,19744,7.837,19745,7.251,19746,7.837,19747,7.837,19748,7.251]],["title/classes/ShareTokenFactory.html",[0,0.232,19749,6.357]],["body/classes/ShareTokenFactory.html",[0,0.302,2,0.989,3,0.019,4,0.019,5,0.01,7,0.128,8,1.355,26,2.591,27,0.369,29,0.708,30,0.001,31,0.511,32,0.116,33,0.428,34,1.868,35,1.083,49,3.336,59,2.752,95,0.152,99,1.446,101,0.014,103,0.001,104,0.001,124,5.683,180,1.943,236,1.824,349,1.154,437,1.179,461,6.016,463,6.474,521,3.53,524,5.085,525,5.132,1616,5.04,2340,5.395,3081,6.393,3632,4.122,4188,5.517,5933,4.144,7536,6.273,13082,6.164,13086,5.883,19697,6.833,19736,6.833,19749,11.33,19750,11.21,19751,8.94,19752,11.21,19753,11.21,19754,8.94,19755,8.94,19756,8.94,19757,8.94,19758,7.831]],["title/classes/ShareTokenImportBodyParams.html",[0,0.232,19703,6.018]],["body/classes/ShareTokenImportBodyParams.html",[0,0.375,2,0.972,3,0.019,4,0.019,5,0.01,7,0.126,27,0.457,30,0.001,31,0.634,32,0.144,33,0.53,34,1.847,47,0.896,95,0.144,101,0.014,103,0.001,104,0.001,112,0.848,124,6.159,133,3.812,138,1.989,142,4.98,143,2.827,144,4.137,145,3.586,148,2.727,150,1.98,153,2.544,236,1.804,245,3.124,247,3.779,248,4.856,249,4.344,1926,4.167,6404,10.641,6909,10.641,7297,7.114,7299,7.52,10527,6.765,12597,9.304,19672,9.54,19703,9.712,19759,8.785,19760,8.785,19761,11.087,19762,8.785,19763,8.785]],["title/interfaces/ShareTokenInfoDto.html",[105,0.7,19764,5.765]],["body/interfaces/ShareTokenInfoDto.html",[3,0.022,4,0.022,5,0.011,7,0.143,30,0.001,32,0.167,47,0.974,95,0.118,101,0.015,103,0.001,104,0.001,105,1.019,107,2.344,112,0.918,124,6.92,4389,9.247,5933,6.187,13082,9.202,13085,6.675,13086,6.577,19764,10.073,19765,9.995,19766,10.807]],["title/classes/ShareTokenInfoResponse.html",[0,0.232,19718,5.765]],["body/classes/ShareTokenInfoResponse.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,27,0.523,29,0.686,30,0.001,31,0.495,32,0.164,33,0.414,47,0.891,95,0.143,101,0.013,103,0.001,104,0.001,112,0.84,124,7.094,138,2.164,150,1.951,187,6.615,245,3.368,247,3.723,379,1.387,774,4.417,839,2.694,2779,6.188,2782,6.943,2921,5.115,5933,6.071,5942,5.541,13082,9.031,13085,5.779,13086,5.695,19672,10.285,19718,10.99,19766,10.605,19767,8.654,19768,8.654,19769,8.654,19770,8.654,19771,8.654,19772,8.654]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.232,19715,6.018]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.323,2,1.056,3,0.028,4,0.021,5,0.011,7,0.137,8,1.411,27,0.394,29,0.756,30,0.001,31,0.546,32,0.124,33,0.457,35,1.157,95,0.138,100,3.977,101,0.015,103,0.001,104,0.001,124,6.394,236,1.554,349,0.983,413,3.797,437,1.259,782,5.702,783,6.526,790,4.809,1618,6.701,5933,4.426,15430,8.364,19715,10.228,19718,11.027,19728,8.364,19764,11.027,19766,7.732,19773,10.803,19774,11.677,19775,9.549,19776,9.549,19777,9.549]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.232,19778,6.018]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.314,2,1.028,3,0.02,4,0.02,5,0.01,7,0.133,8,1.388,27,0.383,29,0.736,30,0.001,31,0.531,32,0.149,33,0.444,35,1.125,95,0.147,101,0.014,103,0.001,104,0.001,226,1.357,236,1.868,349,0.956,413,3.751,437,1.514,529,2.657,1664,3.478,1846,8.743,2647,6.362,3255,7.256,3860,6.777,6863,8.084,6956,7.793,11167,9.632,11172,9.632,11181,8.592,11188,8.135,11193,7.52,13082,8.974,13085,6.202,13086,6.111,15801,8.135,15804,8.135,15805,8.592,19778,10.055,19779,11.479,19780,9.287,19781,9.287]],["title/classes/ShareTokenPayloadResponse.html",[0,0.232,19782,6.018]],["body/classes/ShareTokenPayloadResponse.html",[0,0.31,2,1.014,3,0.02,4,0.02,5,0.01,7,0.131,27,0.511,29,0.726,30,0.001,31,0.524,32,0.161,33,0.438,47,0.8,95,0.134,101,0.014,103,0.001,104,0.001,112,0.871,124,6.566,138,2.041,150,2.065,245,3.331,379,1.157,839,2.852,1616,5.165,2921,5.414,3632,5.71,5933,5.74,5942,5.866,6452,7.194,13082,9.185,13085,6.118,13086,6.029,19672,10.171,19742,10.488,19782,9.97,19783,9.161,19784,11.382,19785,9.161,19786,9.161,19787,9.161,19788,8.476,19789,8.476]],["title/injectables/ShareTokenRepo.html",[539,0.921,19790,5.563]],["body/injectables/ShareTokenRepo.html",[0,0.17,3,0.011,4,0.011,5,0.006,7,0.072,8,0.911,10,3.061,12,3.384,18,3.769,26,2.429,27,0.547,29,1.042,30,0.001,31,0.752,32,0.171,33,0.629,34,1.505,35,1.593,36,2.634,40,2.424,95,0.127,96,1.331,101,0.008,103,0,104,0,112,0.691,124,5.087,131,2.863,133,2.59,154,2.156,159,4.823,173,1.457,180,1.306,226,0.734,236,1.226,262,2.926,349,1.107,381,1.701,382,3.88,437,1.488,448,4.849,519,1.547,539,1.009,541,1.206,556,1.84,603,2.485,608,1.163,680,5.11,686,3.419,687,5.278,718,2.677,1616,4.247,1665,4.643,2000,2.886,2299,9.215,2301,5.387,2302,5.387,2303,5.387,2304,5.387,2305,5.286,2306,5.286,2307,5.387,2308,5.286,2309,5.387,2316,3.594,2318,5.815,2319,3.594,2321,3.594,2323,3.262,2324,5.286,2325,3.594,2327,3.594,2329,5.387,2335,3.41,2336,5.286,2338,3.594,2340,3.034,2341,3.102,2342,3.594,2344,3.594,2346,3.528,2347,3.594,2365,3.75,3632,3.473,4858,4.546,5933,3.492,6016,4.762,6114,3.668,6115,3.668,6116,3.668,6117,3.668,6118,3.668,6119,3.668,6120,3.668,6121,3.668,6122,3.668,6144,6.97,6723,8.485,9547,3.842,13078,9.818,13083,7.88,13085,3.357,13086,3.308,15584,4.651,15594,4.218,19736,8.943,19740,6.321,19742,6.1,19745,4.651,19748,4.651,19790,6.1,19791,9.035,19792,5.027,19793,7.533,19794,7.533,19795,5.027,19796,7.533,19797,5.027,19798,5.027,19799,5.027,19800,5.027,19801,5.027,19802,5.027,19803,5.027,19804,5.027,19805,5.027,19806,7.533,19807,5.027,19808,5.027,19809,5.027,19810,5.027,19811,5.027,19812,5.027]],["title/classes/ShareTokenResponse.html",[0,0.232,19719,5.765]],["body/classes/ShareTokenResponse.html",[0,0.299,2,0.978,3,0.019,4,0.019,5,0.01,7,0.127,27,0.528,29,0.7,30,0.001,31,0.506,32,0.166,33,0.583,47,0.782,83,3.202,95,0.132,101,0.014,103,0.001,104,0.001,112,0.852,124,6.822,138,2.185,149,4.701,150,1.993,159,8.44,187,6.759,197,6.597,236,1.439,245,3.39,379,1.406,774,4.513,1616,7.211,17192,8.181,17554,7.16,19672,10.351,19697,6.759,19719,11.061,19782,10.673,19813,8.843,19814,8.843,19815,8.843,19816,8.843,19817,8.843,19818,8.843]],["title/classes/ShareTokenResponseMapper.html",[0,0.232,19716,6.018]],["body/classes/ShareTokenResponseMapper.html",[0,0.324,2,1.059,3,0.021,4,0.021,5,0.011,7,0.137,8,1.414,27,0.395,29,0.758,30,0.001,31,0.547,32,0.124,33,0.458,35,1.159,95,0.138,100,3.982,101,0.015,103,0.001,104,0.001,124,6.401,159,6.128,236,1.557,349,0.986,413,3.801,437,1.262,782,5.715,783,6.536,790,4.82,1616,5.396,6723,6.6,13085,6.392,13086,6.298,15430,8.384,19716,10.243,19719,11.036,19736,10.052,19773,10.819,19819,11.693,19820,9.571,19821,9.571,19822,8.855]],["title/injectables/ShareTokenService.html",[539,0.921,19823,5.563]],["body/injectables/ShareTokenService.html",[0,0.211,3,0.014,4,0.014,5,0.007,7,0.089,8,1.064,27,0.483,29,0.928,30,0.001,31,0.67,32,0.162,33,0.56,35,1.345,36,2.603,59,1.917,83,1.791,95,0.148,101,0.01,103,0,104,0,120,3.719,124,5.939,131,3.346,159,5.638,177,2.179,226,0.91,236,1.013,262,2.865,349,1.052,379,1.112,437,1.464,486,1.875,490,3.63,519,1.917,539,1.18,541,1.494,593,2.324,603,2.637,608,2.815,1309,5.92,1616,5.76,1911,8.48,1931,3.937,3047,5.043,3048,5.043,5106,9.818,5107,9.556,5310,6.822,6723,8.621,10215,4.76,13082,4.295,13083,9.818,13085,4.159,13086,4.098,13450,5.762,17602,5.455,19736,8.954,19740,7.389,19742,8.991,19758,5.455,19766,9.487,19790,10.124,19822,8.147,19823,7.131,19824,12.162,19825,8.806,19826,10.215,19827,8.806,19828,8.806,19829,6.228,19830,9.848,19831,6.228,19832,8.806,19833,6.228,19834,6.228,19835,6.228,19836,8.806,19837,6.228,19838,8.806,19839,6.228,19840,5.455,19841,5.455,19842,6.228,19843,6.228,19844,6.228,19845,6.228,19846,6.228,19847,6.228,19848,6.228,19849,5.762,19850,6.228,19851,5.762,19852,6.228,19853,5.762,19854,6.228]],["title/injectables/ShareTokenUC.html",[539,0.921,19717,5.563]],["body/injectables/ShareTokenUC.html",[0,0.102,3,0.007,4,0.007,5,0.003,7,0.043,8,0.606,26,2.566,27,0.465,29,0.893,30,0.001,31,0.645,32,0.154,33,0.539,34,0.835,35,1.335,36,2.413,39,3.303,47,0.964,55,1.536,59,2.313,83,2.162,95,0.14,99,0.487,100,1.024,101,0.005,102,3.266,103,0,104,0,119,1.559,120,2.117,124,5.275,131,2.856,142,1.956,159,1.926,177,1.863,226,0.439,236,1.631,239,2.115,262,2.887,349,0.985,379,0.633,437,1.586,486,2.263,490,2.671,519,0.926,521,1.979,529,2.737,539,0.671,541,0.721,556,1.224,560,1.237,603,2.758,608,2.898,631,1.525,643,2.895,739,3.609,996,2.417,997,2.336,998,2.389,1107,3.513,1181,3.931,1226,1.45,1309,6.774,1341,0.966,1515,2.151,1616,5.649,1670,4.098,1673,6.421,1675,1.835,1678,3.931,1758,5.095,1802,7.511,1855,4.586,1911,6.488,1920,5.177,1922,2.435,1926,2.422,1931,4.751,1940,3.739,2079,1.331,2080,1.486,2081,1.434,2312,2.674,2313,3.429,2480,2.962,2531,1.394,2680,1.743,2686,2.263,2696,2.336,2997,4.206,2998,5.217,3004,7.511,3005,8.026,3013,5.903,3025,3.252,3043,1.835,3044,1.696,3047,2.435,3048,2.435,3089,2.634,3090,2.634,3092,2.634,3093,6.307,3255,1.901,3366,1.486,3671,4.24,3860,2.195,3865,4.702,3940,1.696,4858,1.815,5121,4.586,5310,7.169,5933,4.434,6016,1.901,6238,2.151,6404,8.378,6723,5.183,6889,7.745,6891,4.206,6908,8.114,6909,9.654,6947,4.206,6951,4.637,6957,2.783,6961,4.877,8171,4.058,9958,2.524,10215,2.299,12449,2.151,13072,5.961,13081,2.435,13082,6.595,13085,2.008,13086,1.979,13996,4.206,15009,4.637,18015,2.524,19674,2.634,19675,2.634,19687,2.634,19693,6.954,19694,6.954,19695,5.961,19717,4.058,19728,4.39,19736,2.299,19740,7.008,19742,7.745,19758,6.584,19764,4.206,19766,4.058,19778,2.634,19788,2.783,19789,2.783,19823,7.303,19849,6.954,19851,6.954,19853,6.954,19855,11.492,19856,3.008,19857,5.012,19858,5.012,19859,5.012,19860,5.012,19861,3.008,19862,3.008,19863,5.012,19864,3.008,19865,5.012,19866,3.008,19867,5.012,19868,3.008,19869,5.012,19870,3.008,19871,3.008,19872,3.008,19873,2.783,19874,3.008,19875,3.008,19876,3.008,19877,3.008,19878,3.008,19879,5.012,19880,3.008,19881,5.012,19882,3.008,19883,3.008,19884,3.008,19885,3.008,19886,5.012,19887,3.008,19888,5.012,19889,3.008,19890,6.443,19891,3.008,19892,3.008,19893,3.008,19894,3.008,19895,3.008,19896,5.012,19897,5.012,19898,7.516,19899,3.008,19900,3.008,19901,6.443,19902,5.012,19903,3.008,19904,3.008,19905,3.008,19906,5.012,19907,3.008,19908,4.637,19909,5.012,19910,5.012,19911,3.008,19912,5.012,19913,5.012,19914,3.008,19915,3.008,19916,3.008,19917,3.008,19918,6.443,19919,5.644,19920,3.008,19921,6.443,19922,3.008,19923,3.008,19924,3.008]],["title/classes/ShareTokenUrlParams.html",[0,0.232,19702,6.018]],["body/classes/ShareTokenUrlParams.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.402,30,0.001,32,0.126,47,0.831,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,124,6.874,133,4.068,138,1.75,142,4.617,143,2.621,144,3.835,145,3.324,148,3.028,150,2.199,153,2.238,245,3.042,248,4.728,257,7.277,19672,9.29,19679,9.29,19702,10.362,19925,9.755,19926,11.829,19927,9.755]],["title/modules/SharingApiModule.html",[201,1.845,19577,5.395]],["body/modules/SharingApiModule.html",[0,0.339,3,0.016,4,0.016,5,0.008,30,0.001,95,0.163,101,0.015,103,0.001,104,0.001,201,3.232,203,2.732,204,2.928,205,3.01,206,2.998,207,2.986,208,4.441,209,3.799,214,6.131,218,4.01,219,2.951,220,2.884,223,4.703,225,4.491,226,1.1,560,3.099,1341,2.42,1752,7.483,1797,9.407,2531,3.492,2686,3.401,2696,3.511,2764,3.57,3605,5.915,11057,5.757,11058,5.757,14696,9.407,14697,9.814,14715,9.814,19577,11.24,19690,9.468,19717,10.436,19790,8.125,19823,9.137,19830,8.125,19840,6.598,19841,6.598,19928,7.532,19929,7.532,19930,7.532,19931,10.815,19932,6.969,19933,6.969,19934,6.969]],["title/modules/SharingModule.html",[201,1.845,19931,5.765]],["body/modules/SharingModule.html",[0,0.333,3,0.016,4,0.016,5,0.008,30,0.001,95,0.162,101,0.015,103,0.001,104,0.001,201,3.199,203,2.663,204,2.854,205,2.934,206,2.922,207,2.911,208,4.396,209,4.217,214,6.092,218,3.942,219,2.876,220,2.811,223,4.111,225,4.434,226,1.072,560,3.021,1341,2.359,1752,7.435,1797,9.346,2531,3.403,2686,3.315,2696,3.422,2764,3.479,3605,5.765,11057,5.611,11058,5.611,14696,9.346,14697,9.751,14715,9.751,19577,5.765,19690,8.277,19717,7.987,19790,10.359,19823,11.19,19830,10.359,19840,6.431,19841,6.431,19931,12.081,19932,6.792,19933,6.792,19934,6.792,19935,7.342,19936,7.342,19937,7.342,19938,7.342]],["title/classes/SingleColumnBoardResponse.html",[0,0.232,18639,5.765]],["body/classes/SingleColumnBoardResponse.html",[0,0.241,2,0.789,3,0.016,4,0.016,5,0.008,7,0.102,27,0.523,29,0.565,30,0.001,31,0.408,32,0.173,33,0.341,34,1.612,47,0.891,95,0.13,101,0.011,103,0.001,104,0.001,112,0.74,119,2.441,138,2.207,150,1.608,153,2.91,172,3.012,245,3.263,247,3.069,253,4.78,379,1.222,556,1.743,774,3.642,819,3.593,821,5.089,849,6.819,993,5.408,1042,8.484,1271,4.051,1726,3.055,1732,5.078,1944,5.767,2692,6.86,2769,10.189,2782,6.116,2784,3.382,2918,5.193,2919,5.193,3460,9.877,3797,7.683,4145,6.25,5146,5.362,5158,5.607,5616,10.311,6718,6.462,7076,5.603,7080,7.598,7631,5.454,7671,8.781,7845,6.25,8676,10.325,18462,6.602,18639,10.325,19939,7.135,19940,7.135,19941,7.135,19942,7.135,19943,7.135,19944,7.135,19945,7.135,19946,5.454,19947,7.135,19948,7.135]],["title/classes/SingleFileParams.html",[0,0.232,6486,4.66]],["body/classes/SingleFileParams.html",[0,0.459,2,0.733,3,0.014,4,0.02,5,0.01,7,0.095,26,2.567,27,0.273,30,0.001,32,0.155,39,1.779,47,0.954,95,0.15,99,1.072,101,0.021,103,0,104,0,105,0.675,112,0.703,119,1.907,138,1.188,143,1.467,147,4.973,148,2.056,149,4.401,150,1.493,151,6.14,153,1.52,154,1.329,245,3.61,247,2.849,248,4.957,249,4.47,348,3.336,808,4.917,809,6.27,839,3.287,852,3.087,988,2.89,990,2.27,1079,3.915,1147,2.016,1203,5.887,1204,4.359,1205,4.359,1262,2.315,2739,4.793,2922,5.063,3632,3.054,4266,2.242,5663,4.567,5826,6.594,5933,3.071,6088,6.757,6419,4.309,6432,6.05,6438,6.27,6467,4.567,6468,4.648,6469,4.648,6472,8.004,6475,4.567,6476,8.283,6477,8.005,6478,8.005,6479,4.648,6480,4.567,6481,4.567,6482,4.648,6483,4.493,6484,7.738,6485,4.423,6486,6.236,6487,4.567,6488,4.493,6489,4.493,6490,4.241,6491,4.648,6492,4.648,6493,4.648,6494,4.241,6495,4.241,6496,4.359,6497,4.423,6498,4.648,19949,6.624]],["title/classes/SortExternalToolParams.html",[0,0.232,9685,5.765]],["body/classes/SortExternalToolParams.html",[0,0.383,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,27,0.468,30,0.001,31,0.648,32,0.147,33,0.542,34,1.889,95,0.146,101,0.017,103,0.001,104,0.001,112,0.867,138,2.033,148,2.825,149,4.373,150,2.051,180,1.965,247,3.914,249,4.441,382,3.375,480,2.531,486,2.739,721,8.069,743,6.172,839,3.528,852,4.241,2546,4.174,2548,3.07,3049,9.436,4510,10.765,4514,7.636,4515,7.971,9154,7.369,9685,9.511,19950,9.1,19951,13.294,19952,9.1,19953,8.419,19954,9.1]],["title/classes/SortHelper.html",[0,0.232,19955,6.357]],["body/classes/SortHelper.html",[0,0.283,2,0.926,3,0.018,4,0.018,5,0.009,7,0.12,8,1.3,27,0.345,29,0.852,30,0.001,31,0.479,32,0.139,33,0.4,35,1.014,47,0.755,55,2.649,95,0.099,99,1.354,101,0.013,103,0.001,104,0.001,349,0.862,413,3.575,479,4.945,556,3.062,662,2.591,696,3.254,708,4.314,721,8.534,1568,8.75,2093,7.705,2723,9.423,7222,6.397,19955,9.946,19956,10.75,19957,7.331,19958,10.75,19959,10.75,19960,8.369,19961,8.369]],["title/classes/SortImportUserParams.html",[0,0.232,13576,5.765]],["body/classes/SortImportUserParams.html",[0,0.383,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,27,0.468,30,0.001,32,0.147,33,0.542,95,0.153,101,0.017,103,0.001,104,0.001,112,0.867,138,2.033,148,2.825,149,4.373,150,2.051,180,1.965,247,3.914,249,4.441,382,3.375,480,2.531,486,2.739,651,5.466,652,5.466,721,8.069,743,6.172,839,3.528,852,4.241,3049,9.436,4510,10.765,4514,7.636,4515,7.971,4565,4.109,11283,7.636,13576,9.511,13687,12.299,19953,8.419,19962,9.1,19963,9.1,19964,9.1]],["title/classes/SortingParams.html",[0,0.232,4510,5.563]],["body/classes/SortingParams.html",[0,0.383,2,1.366,3,0.02,4,0.02,5,0.01,7,0.131,9,6.159,27,0.468,30,0.001,32,0.167,33,0.542,95,0.134,101,0.014,103,0.001,104,0.001,112,0.867,138,2.214,148,2.825,149,4.373,150,2.051,249,4.441,479,4.154,480,2.531,486,2.739,517,4.276,721,8.676,743,7.688,839,3.528,852,4.241,3049,9.436,3676,9.511,4510,9.178,4514,7.636,11008,9.178,19965,9.1,19966,9.1,19967,11.335,19968,9.1,19969,9.1]],["title/injectables/StartUserLoginMigrationUc.html",[539,0.921,19970,5.765]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.227,3,0.015,4,0.015,5,0.007,7,0.096,8,1.122,27,0.439,29,0.842,30,0.001,31,0.608,32,0.138,33,0.509,35,1.124,36,2.456,39,2.492,47,0.97,95,0.154,99,1.086,101,0.01,103,0,104,0,128,5.308,131,3.526,177,2.133,236,1.51,239,2.994,262,2.747,349,0.691,379,1.172,437,1.403,529,2.655,539,1.243,541,1.61,560,2.761,593,2.504,603,2.369,608,2.787,643,3.015,654,3.201,990,2.3,1338,3.111,1341,2.157,1670,5.058,1675,4.095,1758,6.799,1855,4.095,1959,7.252,1961,6.998,1963,3.784,1964,5.231,1966,5.435,2312,5.298,2531,3.111,2535,4.71,4266,4.403,4565,5.18,4567,5.435,4570,5.435,4571,8.905,4574,6.209,4578,6.021,4580,7.163,4581,5.007,4584,5.27,4589,7.786,4590,6.922,9345,5.27,14957,5.435,18407,5.632,18410,6.209,18411,5.879,19470,5.632,19970,7.786,19971,11.472,19972,9.278,19973,8.127,19974,9.278,19975,6.711,19976,9.278,19977,6.711,19978,7.513,19979,6.711,19980,6.711,19981,6.711,19982,6.711]],["title/classes/StatelessAuthorizationParams.html",[0,0.232,17094,6.018]],["body/classes/StatelessAuthorizationParams.html",[0,0.377,2,0.983,3,0.019,4,0.019,5,0.01,7,0.127,27,0.528,30,0.001,32,0.166,33,0.661,47,0.946,95,0.132,101,0.014,103,0.001,104,0.001,112,0.854,138,2.297,148,2.757,248,5.12,249,5.171,388,9.368,809,6.136,852,4.139,951,5.722,990,4.185,1783,9.588,1784,11.296,1785,8.217,1787,11.296,1788,8.217,1793,8.217,1794,5.686,1795,8.217,1796,8.217,17094,9.779,19983,13.199,19984,8.881,19985,8.881,19986,8.881,19987,8.881,19988,8.881]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.232,13092,5.765]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.236,2,0.772,3,0.015,4,0.015,5,0.008,7,0.1,8,1.152,27,0.481,29,0.86,30,0.001,31,0.621,32,0.173,33,0.519,35,1.154,47,1,59,2.147,95,0.128,96,1.847,101,0.011,103,0.001,104,0.001,112,0.729,153,1.6,173,2.023,180,1.652,182,2.209,349,1.298,379,0.881,437,1.257,480,3.505,556,3.079,560,2.87,572,8.522,593,3.555,603,2.241,696,3.704,1218,3.608,1454,8.339,1611,5.091,1726,2.987,1731,8.095,1822,5.689,1984,5.916,2079,3.088,2080,3.447,2081,3.325,2082,4.467,6777,4.988,7386,6.953,8786,8.787,12596,6.953,12781,8.346,12782,9.106,13092,7.996,15451,5.854,19989,6.976,19990,8.816,19991,9.528,19992,9.528,19993,9.528,19994,9.528,19995,9.528,19996,10.852,19997,9.528,19998,6.976,19999,9.528,20000,6.976,20001,6.976,20002,6.976,20003,9.528,20004,8.816,20005,9.528,20006,6.976,20007,6.454,20008,9.528,20009,6.976,20010,6.454]],["title/entities/StorageProviderEntity.html",[154,1.378,8197,5.125]],["body/entities/StorageProviderEntity.html",[0,0.28,3,0.018,4,0.018,5,0.009,7,0.119,27,0.515,30,0.001,32,0.171,33,0.511,47,0.988,95,0.14,96,2.193,101,0.016,103,0.001,104,0.001,105,0.844,112,0.817,138,2.239,143,2.366,144,2.686,154,2.142,155,2.694,160,4.591,172,4.19,173,2.402,174,4.059,175,3.703,178,3.271,180,1.436,181,2.236,182,2.624,2670,3.799,4856,6.18,6515,8.468,6517,8.468,6518,8.974,8197,7.967,12509,7.256,13089,9.355,13090,7.664,13091,11.551,13092,9.918,13093,7.664,13094,7.664,13095,7.664,13096,7.664,13097,7.664,13098,7.664,13099,7.664,13100,7.664,13101,7.664,20011,8.284,20012,8.284,20013,8.284,20014,8.284]],["title/injectables/StorageProviderRepo.html",[539,0.921,8194,5.765]],["body/injectables/StorageProviderRepo.html",[0,0.254,3,0.016,4,0.016,5,0.008,7,0.108,8,1.211,10,4.072,12,4.502,18,5.014,26,2.023,27,0.542,29,0.992,30,0.001,31,0.716,32,0.162,33,0.599,34,1.253,35,1.517,36,2.681,40,3.625,49,3.739,95,0.142,96,1.99,97,3.067,99,1.216,101,0.012,103,0.001,104,0.001,154,1.508,155,3.259,177,1.398,180,1.737,208,3.699,226,1.098,262,2.983,349,1.032,379,0.949,382,3.58,437,0.992,479,5.049,539,1.343,541,1.804,679,7.549,685,4.196,686,4.549,687,5.535,711,4.489,712,4.537,713,4.489,714,4.537,715,5.184,716,4.489,717,4.537,718,4.004,2310,5.486,2311,6.779,2315,7.313,2353,5.099,3697,5.184,6130,5.746,8194,8.409,8197,7.476,15950,9.442,20015,7.518,20016,7.518,20017,7.518,20018,7.518,20019,7.518]],["title/classes/StringValidator.html",[0,0.232,13686,5.395]],["body/classes/StringValidator.html",[0,0.293,2,0.958,3,0.019,4,0.019,5,0.01,7,0.124,8,1.328,27,0.453,29,0.87,30,0.001,31,0.628,32,0.142,33,0.525,35,1.33,47,0.976,59,3.38,101,0.013,103,0.001,104,0.001,119,2.278,143,2.433,145,3.566,248,4.389,349,1.307,413,4.029,437,1.448,480,3.723,486,2.605,593,3.229,696,4.27,739,5.484,1568,5.541,13686,8.625,13847,11.115,20004,8.007,20020,8.654,20021,10.983,20022,10.983,20023,8.654,20024,10.983,20025,8.654,20026,8.654,20027,8.654]],["title/entities/Submission.html",[154,1.378,2883,3.056]],["body/entities/Submission.html",[0,0.158,3,0.01,4,0.01,5,0.005,7,0.149,26,2.102,27,0.507,30,0.001,32,0.164,33,0.563,34,0.779,47,0.802,55,1.767,62,2.762,72,2.111,95,0.139,96,1.237,101,0.011,103,0,104,0,105,0.476,112,0.74,119,2.594,138,2.206,143,2.607,144,3.376,145,2.004,154,1.43,155,1.52,160,4.791,168,4.02,172,3.663,173,1.355,174,2.71,175,2.089,178,1.846,180,0.81,181,1.262,182,1.48,226,0.683,236,1.574,239,2.76,349,1.212,437,1.727,480,1.3,486,1.407,528,2.402,529,1.338,556,2.363,603,1.472,644,4.853,654,2.911,662,3.397,766,2.613,915,3.28,938,2.709,951,2.191,1226,3.438,1664,1.75,1717,2.241,1816,3.223,1818,3.121,1824,3.342,1832,2.569,2670,5.642,2673,3.919,2677,2.569,2686,5.555,2687,2.919,2883,3.845,3136,6.243,3454,2.993,3455,3.28,3742,2.659,3819,6.56,3824,6.56,3832,5.983,3834,5.983,4266,1.582,5094,3.305,5932,3.857,6767,6.955,6768,3.121,6770,2.884,6772,2.613,6788,5.099,6792,2.919,6793,2.821,7000,3.17,7001,4.325,7112,4.627,7292,2.993,9432,7.392,12714,5.004,12715,5.004,12720,5.004,12721,3.28,12935,7.057,13102,5.983,13103,4.325,13104,8.948,13105,9.578,13106,6.246,13107,4.325,13108,6.597,13109,4.325,13110,4.325,13111,4.325,13112,4.325,13113,3.785,13114,4.325,13115,4.325,13116,4.325,13117,3.922,13118,4.325,13119,4.325,13120,4.325,13121,4.325,13122,4.325,13123,4.325,13124,9.634,13125,4.325,13126,4.325,13127,4.325,13128,4.325,13129,4.325,13130,4.325,13131,8.948,13132,4.325,13133,6.449,13134,3.785,13135,10.154,13136,6.597,13137,3.922,13138,6.597,13139,4.094,13140,3.411,13141,3.671,13142,4.325,13143,4.325,13144,4.325,13145,4.325,13146,6.597,13147,6.597,13148,4.325,13149,4.325,13150,4.325,13151,4.325,13152,6.449,13153,3.785,13154,3.922,13155,6.597,20028,4.674,20029,4.674,20030,4.674,20031,4.674,20032,4.674,20033,4.674,20034,4.674,20035,4.674,20036,4.674,20037,4.674,20038,4.674]],["title/classes/SubmissionContainerContentBody.html",[0,0.232,5775,4.588]],["body/classes/SubmissionContainerContentBody.html",[0,0.456,2,0.638,3,0.013,4,0.013,5,0.006,7,0.083,9,2.75,27,0.238,30,0.001,31,0.651,32,0.178,33,0.399,47,0.879,83,2.398,95,0.134,99,0.933,101,0.021,103,0,104,0,112,0.638,138,1.035,143,1.278,148,1.791,149,3.777,150,1.3,153,2.246,172,1.796,180,1.972,245,3.59,248,4.885,249,4.645,284,1.746,305,3.343,480,3.164,807,5.338,808,3.305,839,1.796,852,2.689,1142,3.602,1262,2.016,1271,1.801,1643,4.878,1942,4.098,2255,4.355,2501,2.75,2882,2.75,2883,3.708,2922,2.765,3278,3.444,3280,3.444,3283,3.409,3286,5.101,3289,5.065,3294,3.252,3767,3.602,3788,3.602,3789,6.94,4163,5.712,5681,6.268,5683,6.352,5685,6.268,5687,6.352,5689,6.352,5734,3.796,5771,6.537,5772,6.537,5773,6.537,5774,6.537,5775,7.161,6088,6.891,7227,3.852,7286,4.841,7287,4.927,8699,8.29,8700,5.748,8701,3.978,8704,5.486,8705,6.537,8706,6.537,8707,3.978,8708,6.537,8709,5.144,8710,5.654,8711,6.537,8712,6.537,8713,3.852,8714,3.852,8715,3.852,8716,3.852,8717,3.978,8718,3.978,8719,3.978,8720,3.978,8721,3.978,20039,5.769]],["title/classes/SubmissionContainerElement.html",[0,0.232,2873,4.343]],["body/classes/SubmissionContainerElement.html",[0,0.216,2,0.708,3,0.014,4,0.014,5,0.007,7,0.092,8,1.084,27,0.546,29,0.998,30,0.001,31,0.72,32,0.169,33,0.602,35,1.557,36,1.92,55,1.833,59,1.968,83,3.403,95,0.122,101,0.016,103,0,104,0,105,0.652,112,0.686,119,2.149,137,5.602,180,1.797,262,2.286,349,1.067,381,3.036,382,3.828,437,0.843,448,3.615,474,2.713,479,3.288,480,2.496,517,2.412,519,3.642,593,4.414,604,3.691,608,1.48,662,2.777,686,4.072,1218,2.421,1664,2.395,1665,4.622,1668,6.471,1739,4.136,1944,2.701,2512,6.346,2525,5.302,2786,7.972,2789,6.415,2790,6.415,2791,6.415,2792,5.991,2793,6.415,2795,4.094,2796,5.536,2797,6.64,2799,6.295,2800,5.536,2801,6.51,2803,4.487,2804,4.778,2806,6.551,2807,4.487,2809,6.415,2811,4.487,2813,4.094,2840,5.474,2873,7.102,2883,2.844,2884,6.254,2885,5.178,3289,5.813,4026,6.546,4027,4.666,4028,4.666,4037,4.042,4042,5.474,4796,5.916,4797,5.916,9173,4.573,18430,5.916,18432,5.916,20040,8.391,20041,6.395,20042,6.395,20043,8.3,20044,5.916,20045,5.916,20046,5.916,20047,5.601,20048,5.916]],["title/classes/SubmissionContainerElementContent.html",[0,0.232,20049,5.765]],["body/classes/SubmissionContainerElementContent.html",[0,0.356,2,0.898,3,0.018,4,0.018,5,0.009,7,0.117,27,0.435,29,0.643,30,0.001,31,0.464,32,0.171,33,0.388,34,1.95,47,0.822,83,3.785,95,0.138,99,1.313,101,0.016,103,0.001,104,0.001,112,0.807,138,1.456,150,1.83,153,2.418,245,3.384,253,4.011,379,1.478,404,3.245,517,3.976,593,4.623,774,4.143,819,4.089,839,2.527,2255,4.482,2492,6.361,2566,3.629,2884,7.064,2918,4.357,2919,4.357,2922,3.892,3289,6.932,3461,5.697,3473,4.848,3716,6.989,3720,6.168,3724,5.422,3726,5.422,4084,8.057,4163,6.235,5687,5.268,9189,6.574,10389,7.111,13291,6.205,20049,11.042,20050,10.83,20051,9.233,20052,9.753,20053,9.753]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.232,8711,4.588]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.455,2,0.631,3,0.012,4,0.012,5,0.006,7,0.082,9,2.719,27,0.341,30,0.001,31,0.648,32,0.18,47,0.876,83,1.641,95,0.134,99,0.923,101,0.021,103,0,104,0,112,0.633,138,1.483,143,1.264,148,1.771,149,3.752,150,1.286,153,2.231,172,1.776,180,2.047,245,3.585,248,4.868,249,4.627,284,1.727,305,3.305,382,1.698,480,3.15,556,1.393,807,5.294,808,3.278,819,2.873,839,1.776,852,2.658,1142,3.562,1262,1.993,1271,1.781,1643,3.338,1942,4.072,2255,4.664,2501,2.719,2882,2.719,2883,2.537,2922,2.734,3278,3.406,3280,3.406,3283,3.371,3286,5.068,3289,2.951,3294,3.216,3767,3.562,3788,3.562,3789,6.909,4163,5.682,5681,6.228,5683,6.311,5685,6.228,5687,6.922,5689,6.311,5734,3.753,5771,6.495,5772,6.495,5773,6.495,5774,6.495,5775,7.123,6088,6.868,7227,3.809,7287,3.371,8699,8.625,8700,5.702,8701,3.933,8704,5.441,8705,6.495,8706,6.495,8707,3.933,8708,6.495,8709,3.52,8710,3.869,8711,7.123,8712,6.495,8713,3.809,8714,3.809,8715,3.809,8716,3.809,8717,3.933,8718,3.933,8719,3.933,8720,3.933,8721,3.933,9194,4.479,20054,5.704,20055,5.704]],["title/entities/SubmissionContainerElementNode.html",[154,1.378,3216,5.395]],["body/entities/SubmissionContainerElementNode.html",[0,0.298,3,0.019,4,0.019,5,0.01,7,0.126,27,0.363,30,0.001,32,0.114,83,3.498,95,0.151,96,2.33,101,0.017,103,0.001,104,0.001,105,0.897,112,0.85,138,1.579,143,2.46,144,2.855,154,2.227,155,2.863,160,4.879,172,3.456,173,2.553,180,1.925,181,2.377,349,0.907,403,4.921,437,1.161,593,4.537,1664,3.297,1665,5.004,1942,4.648,2512,5.323,2565,5.008,2566,3.936,2884,6.7,3171,5.87,3182,6.7,3216,8.719,3249,5.433,3273,9.725,3289,6.607,3620,6.851,3641,5.498,4126,5.637,4128,5.637,10397,7.712,13291,6.729,13292,7.129,20056,9.317,20057,9.725,20058,8.146]],["title/interfaces/SubmissionContainerElementProps.html",[105,0.7,20047,6.018]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.288,3,0.019,4,0.019,5,0.009,7,0.122,30,0.001,32,0.141,36,1.822,83,3.748,95,0.141,101,0.018,103,0.001,104,0.001,105,0.867,107,1.996,112,0.831,119,1.765,180,2.075,262,1.877,349,1.233,437,1.122,474,3.61,480,2.367,517,3.21,519,2.619,593,4.861,604,4.471,608,1.969,1218,3.222,1664,3.187,1665,3.501,1739,5.01,1944,3.594,2512,5.209,2525,6.421,2786,6.629,2796,5.251,2797,6.421,2800,5.251,2801,6.297,2809,6.085,2840,7.303,2873,7.567,2883,3.785,2884,5.135,2885,6.891,3289,6.742,4037,5.379,4042,6.629,9173,6.085,20040,6.891,20043,10.053,20044,7.873,20045,7.873,20046,7.873,20047,9.517,20048,7.873]],["title/classes/SubmissionContainerElementResponse.html",[0,0.232,4084,5.251]],["body/classes/SubmissionContainerElementResponse.html",[0,0.344,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,27,0.52,29,0.609,30,0.001,31,0.44,32,0.179,33,0.368,34,2.102,47,0.801,83,3.279,95,0.135,99,1.244,101,0.016,103,0.001,104,0.001,112,0.778,138,2.176,150,1.733,153,1.764,245,3.452,253,3.799,379,1.44,404,3.073,517,2.9,593,3.795,774,3.924,839,2.393,2255,4.831,2492,4.64,2566,3.437,2884,7.823,2917,5.059,2918,5.459,2919,5.459,2921,4.544,2922,4.877,3289,6.277,3461,5.396,3473,4.591,3716,7.534,3720,6.67,3724,5.135,3726,5.135,4084,9.644,4163,6.72,5687,6.6,10402,6.735,10403,6.735,10404,6.735,10405,6.735,10406,6.735,13291,5.877,20049,10.18,20050,11.994,20051,6.735,20052,7.114,20053,7.114]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.232,5711,6.018]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.257,2,0.843,3,0.017,4,0.017,5,0.008,7,0.109,8,1.222,27,0.499,29,0.801,30,0.001,31,0.578,32,0.157,33,0.483,34,1.269,35,1.374,95,0.134,99,1.232,100,2.594,101,0.012,103,0.001,104,0.001,112,0.773,119,2.096,236,2.047,349,1.168,376,3.095,413,3.892,437,1.005,603,2.343,604,3.134,662,2.358,739,4.368,782,4.548,783,5.65,786,5.981,788,5.682,1147,3.077,1942,5.608,2000,4.373,2255,2.916,2503,8.464,2506,7.938,2507,7.938,2509,7.726,2873,8.468,2884,7.591,3289,5.23,3716,4.548,3720,5.915,3737,5.446,4084,9.238,4163,4.057,5284,7.172,5687,4.942,5706,5.981,5711,11.555,9211,9.238,9213,5.981,9215,6.168,9216,6.168,9217,6.168,20049,9.521,20059,11.637,20060,7.617,20061,11.346,20062,11.346,20063,7.617]],["title/interfaces/SubmissionContainerNodeProps.html",[105,0.7,20057,6.018]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.3,3,0.019,4,0.019,5,0.01,7,0.127,30,0.001,32,0.115,83,3.682,95,0.151,96,2.346,101,0.017,103,0.001,104,0.001,105,0.903,107,2.079,112,0.853,143,1.963,144,2.873,154,2.236,172,3.47,173,2.569,180,2.115,181,2.392,349,0.913,403,4.953,437,1.169,593,4.776,1664,3.318,1665,5.019,1942,3.71,2512,5.345,2565,5.041,2566,3.961,2884,5.348,3171,5.894,3182,6.728,3216,6.959,3249,5.469,3273,9.765,3289,6.825,3620,7.527,3641,5.534,4126,5.674,4128,5.674,13291,6.773,13292,7.176,20056,7.436,20057,10.684,20058,8.199]],["title/classes/SubmissionContainerUrlParams.html",[0,0.232,3756,6.018]],["body/classes/SubmissionContainerUrlParams.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.402,30,0.001,32,0.126,34,1.971,47,0.831,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,138,1.75,142,4.617,143,2.621,144,3.835,145,3.324,148,3.028,150,2.199,153,2.238,245,3.042,808,4.69,2883,5.262,2884,7.139,3756,10.362,3876,5.765,7303,9.29,20064,10.362,20065,9.755,20066,11.78,20067,9.755]],["title/controllers/SubmissionController.html",[259,2.631,20068,6.018]],["body/controllers/SubmissionController.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,10,4.675,27,0.425,29,0.816,30,0.001,31,0.589,32,0.134,33,0.493,35,1.248,36,2.616,95,0.154,100,2.669,101,0.012,103,0.001,104,0.001,138,1.847,150,1.767,177,1.457,223,3.267,226,1.145,236,1.275,259,3.001,261,3.757,262,2.875,270,6.523,271,4.263,294,6.788,333,4.39,337,4.084,338,4.174,343,4.206,345,2.489,349,1.061,437,1.612,608,2.384,631,3.973,739,4.451,2764,3.714,2941,6.778,2963,4.113,3742,5.86,14987,6.576,14993,6.576,20068,9.023,20069,7.837,20070,11.507,20071,10.706,20072,10.301,20073,7.837,20074,7.837,20075,10.256,20076,10.301,20077,7.837,20078,6.865,20079,9.656,20080,6.576,20081,7.837,20082,7.837,20083,7.837,20084,7.837,20085,7.837,20086,7.251,20087,7.837,20088,10.301,20089,7.837,20090,7.837,20091,7.837]],["title/classes/SubmissionFactory.html",[0,0.232,20092,6.357]],["body/classes/SubmissionFactory.html",[0,0.156,2,0.511,3,0.01,4,0.01,5,0.005,7,0.066,8,0.854,27,0.547,29,1.035,30,0.001,31,0.713,32,0.172,33,0.596,34,1.429,35,1.455,47,0.496,55,2.506,59,3.187,95,0.129,99,0.747,101,0.007,103,0,104,0,112,0.54,120,2.983,133,2.428,140,2.517,143,1.564,153,1.968,154,2.077,155,2.297,177,1.313,180,1.224,271,4.794,319,2.983,349,1.066,379,0.583,382,3.813,413,2.126,437,1.44,447,7.068,448,4.4,449,5.281,452,3.882,453,5.281,454,5.54,455,3.882,456,3.882,457,3.882,458,3.82,459,4.32,460,4.714,461,6.291,462,5.601,463,6.905,464,2.558,469,2.537,470,3.882,471,2.558,472,4.971,473,5.118,474,4.077,475,4.839,476,3.85,477,2.537,478,2.405,479,4.003,480,3.26,481,2.477,482,2.44,483,2.537,484,4.903,485,2.558,486,3.528,487,4.639,488,2.537,489,7.179,490,4.165,491,6.442,492,2.558,493,4.186,494,2.537,495,2.558,496,2.537,497,2.558,498,2.537,499,2.848,500,2.675,501,2.537,502,5.907,503,2.558,504,2.537,505,3.882,506,3.654,507,3.882,508,2.558,509,2.459,510,2.44,511,2.043,512,2.537,513,2.537,514,2.537,515,2.558,516,2.558,517,1.741,518,2.537,519,1.421,520,2.558,521,2.789,522,2.537,523,2.558,525,2.65,526,2.701,527,5.678,648,3.301,649,3.528,654,1.39,2686,2.084,2883,3.141,3136,4.017,3819,7.023,3824,7.023,6985,3.625,6986,3.738,6995,3.625,9432,5.398,13102,3.873,13105,5.926,20092,7.936,20093,4.616,20094,9.608,20095,7.062,20096,4.616,20097,4.616,20098,4.616,20099,7.062,20100,4.616,20101,4.616,20102,4.043,20103,4.616,20104,4.043,20105,4.616,20106,4.616,20107,4.616,20108,4.271]],["title/classes/SubmissionItem.html",[0,0.232,2525,4.06]],["body/classes/SubmissionItem.html",[0,0.203,2,0.665,3,0.013,4,0.013,5,0.007,7,0.086,8,1.037,26,2.426,27,0.551,29,1.002,30,0.001,31,0.724,32,0.169,33,0.605,35,1.56,36,1.837,39,2.935,55,1.754,59,1.849,95,0.118,99,0.972,101,0.017,103,0,104,0,105,0.612,112,0.657,119,2.624,137,5.359,180,1.736,262,2.209,349,1.125,381,2.905,382,3.767,437,1.132,448,3.458,474,2.549,479,3.146,480,3.039,517,3.238,519,3.699,604,2.472,608,1.39,662,2.657,686,3.896,1218,2.274,1664,2.25,1665,3.532,1668,6.253,1739,3.957,1942,3.593,1944,2.537,2512,6.338,2525,6.457,2786,7.857,2789,6.137,2790,6.137,2791,6.137,2792,5.732,2793,6.137,2795,3.846,2796,5.297,2797,6.457,2799,6.023,2800,5.297,2801,6.331,2803,4.216,2804,4.572,2806,6.906,2807,4.216,2811,4.216,2813,3.846,2840,5.237,2864,5.297,2870,5.237,3291,6.666,4026,4.384,4027,4.384,4028,4.384,4037,3.797,4042,5.237,4808,5.262,7656,4.717,17886,6.56,20040,9.357,20109,5.558,20110,6.007,20111,6.007,20112,7.941,20113,6.007,20114,6.007,20115,6.007,20116,6.007,20117,6.007,20118,6.007,20119,6.007,20120,5.262,20121,5.262,20122,7.941,20123,5.558,20124,5.558,20125,5.558,20126,5.558,20127,5.558,20128,5.558,20129,5.262,20130,5.558,20131,5.262,20132,5.262,20133,5.262]],["title/injectables/SubmissionItemFactory.html",[539,0.921,20134,6.357]],["body/injectables/SubmissionItemFactory.html",[0,0.327,3,0.021,4,0.021,5,0.011,7,0.139,8,1.422,27,0.399,30,0.001,34,1.61,35,1.17,39,2.595,49,3.605,83,3.383,95,0.15,101,0.015,103,0.001,104,0.001,145,2.715,226,1.411,236,2.201,349,0.995,376,3.926,377,4.081,454,6.084,524,5.496,539,1.576,541,2.318,2525,7.798,2883,4.298,2885,7.824,3291,5.895,4188,7.258,20040,9.524,20134,10.881,20135,9.662,20136,9.662]],["title/entities/SubmissionItemNode.html",[154,1.378,3219,5.395]],["body/entities/SubmissionItemNode.html",[0,0.273,3,0.018,4,0.018,5,0.009,7,0.151,26,2.495,27,0.433,30,0.001,32,0.136,39,3.32,95,0.151,96,2.136,99,1.305,101,0.016,103,0.001,104,0.001,105,0.822,112,0.803,119,2.421,138,1.883,154,2.106,155,2.624,172,3.848,173,2.34,180,1.82,181,2.178,191,4.331,192,5.039,239,2.463,349,0.831,403,4.511,437,1.064,595,4.98,600,5.039,685,3.379,769,7.24,990,2.766,1181,4.924,1664,3.022,1665,4.803,1726,3.455,2425,5.167,2512,5.034,2565,4.591,2566,3.607,2883,4.671,3136,5.973,3171,5.551,3182,6.337,3219,8.246,3222,7.473,3249,4.98,3288,9.198,3291,7.542,3620,6.48,3641,5.039,4126,5.167,4127,7.467,4128,5.167,5578,8.026,8053,6.02,9199,7.069,9432,6.168,12443,5.889,20056,9.794,20137,8.07,20138,9.715,20139,9.715,20140,7.467,20141,9.198,20142,7.069,20143,7.467,20144,7.467]],["title/interfaces/SubmissionItemNodeProps.html",[105,0.7,20141,6.018]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.281,3,0.018,4,0.018,5,0.009,7,0.154,26,2.611,30,0.001,32,0.139,39,3.475,95,0.153,96,2.202,99,1.346,101,0.016,103,0.001,104,0.001,105,0.848,107,1.951,112,0.819,119,2.593,154,2.148,172,3.686,173,2.412,180,2.053,181,2.245,191,4.464,192,5.194,239,1.951,349,0.857,403,4.649,437,1.097,595,5.133,600,5.194,685,3.482,769,5.736,990,2.851,1181,5.075,1664,3.115,1665,4.873,1726,3.561,2425,5.326,2512,5.133,2565,4.732,2566,3.718,2883,3.7,3136,4.732,3171,5.661,3182,6.462,3219,6.532,3222,5.326,3249,5.133,3288,9.379,3291,7.894,3620,7.308,3641,5.194,4126,5.326,4128,5.326,5578,6.358,8053,6.205,9432,6.358,12443,6.07,20056,6.98,20138,7.696,20139,7.696,20140,7.696,20141,10.373,20142,7.286,20143,7.696,20144,7.696]],["title/interfaces/SubmissionItemProps.html",[105,0.7,20129,6.018]],["body/interfaces/SubmissionItemProps.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,26,2.647,30,0.001,32,0.151,36,1.717,39,3.436,95,0.137,99,1.298,101,0.019,103,0.001,104,0.001,105,0.818,107,1.882,112,0.8,119,2.72,180,2.018,262,1.77,349,1.27,437,1.38,474,3.404,480,2.91,517,3.946,519,2.469,604,3.301,608,1.857,1218,3.037,1664,3.004,1739,4.823,1942,4.379,1944,3.389,2512,5.58,2525,6.878,2786,6.382,2796,4.951,2797,6.182,2800,4.951,2801,6.062,2840,7.101,2864,6.455,2870,6.382,3291,7.805,4037,5.071,4042,6.382,17886,7.995,20040,6.496,20109,7.422,20112,7.422,20120,7.027,20121,7.027,20122,9.677,20123,7.422,20124,7.422,20125,7.422,20126,7.422,20127,7.422,20128,7.422,20129,9.162,20130,7.422,20131,7.027,20132,7.027,20133,7.027]],["title/classes/SubmissionItemResponse.html",[0,0.232,8744,5.563]],["body/classes/SubmissionItemResponse.html",[0,0.254,2,0.832,3,0.016,4,0.016,5,0.008,7,0.108,27,0.531,29,0.595,30,0.001,31,0.43,32,0.17,33,0.36,34,2.087,39,3.364,47,0.845,95,0.133,101,0.012,103,0.001,104,0.001,112,0.767,119,2.078,138,2.246,150,1.695,191,4.035,245,3.435,253,4.951,379,1.266,404,3.005,556,1.837,774,3.837,819,3.786,827,5.808,849,6.941,1732,5.26,1942,3.147,2917,6.595,2918,6.453,2919,6.453,3291,7.641,3716,7.478,3720,6.596,3724,5.021,3726,5.021,3766,5.746,3767,4.694,3771,8.061,3772,8.598,3788,4.694,3789,6.114,3790,6.088,3791,6.088,4145,6.585,7303,10.326,8744,10.141,20064,11.518,20142,6.585,20145,7.518,20146,7.518,20147,7.518,20148,7.518,20149,7.518,20150,7.518,20151,7.518,20152,7.518]],["title/classes/SubmissionItemResponseMapper.html",[0,0.232,3774,5.765]],["body/classes/SubmissionItemResponseMapper.html",[0,0.229,2,0.75,3,0.015,4,0.015,5,0.008,7,0.097,8,1.129,27,0.498,29,0.847,30,0.001,31,0.611,32,0.149,33,0.511,34,1.129,35,1.395,39,2.509,95,0.126,99,1.097,100,2.309,101,0.01,103,0,104,0,112,0.715,236,1.966,239,1.59,349,1.186,376,2.754,413,3.761,437,1.648,603,2.58,651,3.269,652,3.269,662,3.962,739,4.979,782,4.047,783,5.222,786,5.323,788,5.057,824,3.32,849,3.757,1942,2.838,2255,2.595,2525,7.708,2543,5.937,2794,4.674,2864,5.765,2870,5.7,3122,4.62,3139,9.784,3174,4.527,3175,4.398,3222,7.998,3291,4.136,3716,4.047,3720,5.467,3737,4.847,3768,8.97,3773,5.181,3774,10.741,3777,5.937,3794,6.271,4149,6.271,5284,6.757,6829,4.946,8744,9.785,9211,8.806,9212,5.688,9213,5.323,11613,5.688,18264,6.271,18265,6.271,20059,11.558,20131,5.937,20153,9.342,20154,9.342,20155,9.342,20156,9.342,20157,9.342,20158,6.778,20159,8.97,20160,10.69,20161,6.271,20162,6.778,20163,6.778,20164,9.342,20165,6.778,20166,6.778,20167,6.778,20168,6.778,20169,6.778,20170,6.778]],["title/injectables/SubmissionItemService.html",[539,0.921,3596,5.563]],["body/injectables/SubmissionItemService.html",[0,0.231,3,0.015,4,0.015,5,0.008,7,0.098,8,1.137,12,4.226,26,2.59,27,0.477,29,0.916,30,0.001,31,0.662,32,0.162,33,0.553,34,1.791,35,1.302,36,2.682,39,2.887,40,4.536,49,2.555,83,3.091,95,0.148,99,1.108,101,0.011,103,0,104,0,119,2.399,120,3.973,177,1.749,226,1,236,2.089,262,2.926,283,4.225,340,3.321,345,2.175,349,0.969,376,2.782,377,2.892,379,0.865,437,1.526,524,3.895,529,2.692,539,1.26,541,1.643,603,1.414,604,2.817,608,2.487,685,4.499,1616,6.059,1818,4.572,1942,4.499,1944,2.892,2487,3.568,2525,7.839,2681,3.675,2873,7.314,2958,5.56,3149,5.108,3150,8.793,3158,6.335,3291,7.4,3378,5.997,3427,9.575,3596,7.617,4181,5.544,4188,4.225,5703,5.874,5716,5.997,8772,5.997,16151,6.335,20171,12.128,20172,6.847,20173,6.847,20174,11.57,20175,6.847,20176,6.847,20177,9.407,20178,6.847,20179,6.847,20180,6.847,20181,6.847,20182,6.847,20183,6.847,20184,6.847,20185,9.407]],["title/injectables/SubmissionItemUc.html",[539,0.921,2756,5.765]],["body/injectables/SubmissionItemUc.html",[0,0.177,3,0.011,4,0.011,5,0.006,7,0.075,8,0.94,26,2.822,27,0.489,29,0.94,30,0.001,31,0.679,32,0.17,33,0.568,34,0.874,35,1.389,36,2.609,39,3.402,59,1.615,95,0.129,99,0.849,101,0.008,103,0,104,0,119,1.922,177,1.906,180,1.348,226,0.766,236,1.508,262,2.948,349,0.954,379,0.982,382,2.76,437,1.512,448,5.103,529,2.652,539,1.042,541,1.259,560,2.159,608,2.931,639,2.473,1107,5.968,1688,3.453,1758,6.32,1826,3.504,1861,5.562,1912,7.48,1942,3.256,2512,5.496,2513,8.763,2515,6.108,2516,8.049,2517,3.829,2518,8.403,2520,3.915,2521,5.676,2522,6.627,2524,4.121,2525,7.485,2527,4.121,2528,5.562,2531,2.432,2542,4.403,2544,3.915,2680,4.508,2681,2.816,2756,6.527,2864,3.238,2870,3.202,2873,5.859,2883,2.334,2884,3.167,3122,4.005,3139,4.011,3157,3.915,3291,6.254,3596,9.609,3743,7.777,3745,8.575,3777,8.118,3857,4.249,3858,4.249,3859,4.249,3862,4.249,3863,4.249,4163,5.46,4216,8.118,4218,4.855,4743,2.774,5681,3.36,5685,3.36,5703,4.857,8772,4.596,8773,4.855,8782,7.196,8784,4.855,8793,4.855,9149,4.596,20066,8.575,20120,4.596,20121,4.596,20132,4.596,20133,4.596,20186,10.946,20187,5.247,20188,9.268,20189,5.247,20190,10.607,20191,5.247,20192,5.247,20193,5.247,20194,5.247,20195,5.247,20196,5.247,20197,5.247,20198,5.247,20199,5.247,20200,5.247,20201,5.247,20202,5.247,20203,5.247,20204,7.778,20205,5.247,20206,5.247]],["title/classes/SubmissionItemUrlParams.html",[0,0.232,3747,6.018]],["body/classes/SubmissionItemUrlParams.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.402,30,0.001,32,0.126,34,1.971,47,0.831,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,138,1.75,142,4.617,143,2.621,144,3.835,145,3.324,148,3.028,150,2.199,153,2.238,245,3.042,808,4.69,2883,5.262,3222,7.574,3747,10.362,3876,5.765,7303,9.29,20064,10.362,20190,11.78,20207,9.755,20208,9.755]],["title/classes/SubmissionMapper.html",[0,0.232,20078,6.018]],["body/classes/SubmissionMapper.html",[0,0.323,2,1.056,3,0.021,4,0.021,5,0.011,7,0.137,8,1.411,27,0.394,29,0.756,30,0.001,31,0.546,32,0.124,33,0.457,34,1.591,35,1.157,95,0.138,99,1.545,100,3.977,101,0.015,103,0.001,104,0.001,236,1.554,349,0.983,413,3.797,437,1.259,790,4.809,2883,5.995,12935,6.968,13133,7.123,13152,7.123,13335,7.732,13339,8.013,13347,8.013,20078,10.228,20209,9.549,20210,11.677,20211,11.677,20212,9.549,20213,11.027,20214,9.549,20215,8.364,20216,9.549,20217,8.364,20218,9.549]],["title/injectables/SubmissionRepo.html",[539,0.921,1808,5.251]],["body/injectables/SubmissionRepo.html",[0,0.201,3,0.013,4,0.013,5,0.007,7,0.085,8,1.029,10,3.458,12,3.824,18,4.259,26,2.63,27,0.53,29,0.999,30,0.001,31,0.721,32,0.163,33,0.603,34,0.989,35,1.528,36,2.852,39,3.09,40,4.104,47,0.699,95,0.128,96,1.572,98,3.545,99,0.96,101,0.009,103,0,104,0,154,1.191,155,2.768,173,1.721,180,1.476,226,0.867,262,3.067,310,3.695,349,1.185,382,3.236,437,1.517,479,4.834,539,1.14,541,1.424,603,2.472,608,2.919,679,7.078,685,3.563,686,3.863,687,4.885,711,3.545,712,3.583,713,3.545,714,3.583,716,3.545,717,3.583,718,3.162,739,3.678,1519,3.377,1726,2.542,1808,6.505,2350,3.509,2686,2.681,2883,5.484,3044,3.347,3136,3.377,3697,4.094,3742,5.659,4488,6.684,4494,6.892,5558,2.422,6132,4.932,6725,3.753,6767,5.88,7031,4.538,13105,4.982,15199,7.874,18720,5.493,20219,5.937,20220,8.511,20221,8.511,20222,8.511,20223,8.511,20224,5.937,20225,8.511,20226,5.937,20227,8.511,20228,5.937,20229,5.493,20230,8.511,20231,5.937,20232,5.937,20233,5.937,20234,5.937,20235,5.937,20236,8.511,20237,5.937,20238,5.937,20239,5.937,20240,5.937]],["title/injectables/SubmissionRule.html",[539,0.921,1770,5.765]],["body/injectables/SubmissionRule.html",[0,0.182,3,0.012,4,0.012,5,0.006,7,0.077,8,0.958,27,0.506,29,0.972,30,0.001,31,0.702,32,0.162,33,0.587,35,1.449,95,0.131,101,0.008,103,0,104,0,119,2.48,131,3.942,145,2.226,154,2.081,177,1.473,226,0.786,236,0.875,239,3.319,345,1.709,349,1.232,379,0.679,437,1.526,529,1.539,539,1.061,541,1.29,603,2.79,604,2.213,662,3.581,739,3.424,1107,7.198,1147,1.637,1515,3.847,1670,5.656,1673,6.402,1687,5.463,1688,5.213,1697,7.223,1718,3.246,1735,4.834,1770,6.648,1771,9.685,1875,5.141,1879,4.947,1886,3.592,2883,6.437,3255,3.4,3411,5.291,3412,3.649,3415,5.213,3418,3.649,3419,5.373,13335,4.356,15104,4.977,20241,5.379,20242,11.568,20243,10.374,20244,10.374,20245,11.568,20246,10.374,20247,5.379,20248,7.922,20249,5.379,20250,7.922,20251,5.379,20252,7.922,20253,5.379,20254,5.379,20255,7.922,20256,5.379,20257,7.922,20258,5.379,20259,5.379,20260,5.379,20261,5.379,20262,7.922,20263,5.379,20264,7.922,20265,5.379,20266,5.379,20267,5.379,20268,7.922,20269,7.922]],["title/injectables/SubmissionService.html",[539,0.921,20270,5.563]],["body/injectables/SubmissionService.html",[0,0.271,3,0.017,4,0.017,5,0.009,7,0.115,8,1.263,10,4.244,12,4.693,26,2.695,27,0.508,29,0.976,30,0.001,31,0.705,32,0.16,33,0.589,35,1.408,36,2.806,95,0.146,98,4.781,99,1.295,101,0.012,103,0.001,104,0.001,177,1.943,226,1.17,227,3.323,262,3.02,349,1.076,379,1.319,437,1.056,539,1.4,541,1.921,603,2.157,608,2.418,1231,5.061,1808,10.02,2883,5.686,3600,3.981,3601,3.226,3742,5.943,6547,9.548,20270,8.459,20271,8.007,20272,9.665,20273,8.007,20274,8.007,20275,10.446,20276,8.007,20277,10.446,20278,8.007,20279,6.288,20280,10.446,20281,8.007,20282,7.013,20283,8.007,20284,8.007,20285,8.007,20286,8.007]],["title/classes/SubmissionStatusListResponse.html",[0,0.232,20080,5.765]],["body/classes/SubmissionStatusListResponse.html",[0,0.373,2,0.966,3,0.019,4,0.019,5,0.01,7,0.125,27,0.455,29,0.691,30,0.001,31,0.499,32,0.157,33,0.417,34,2.018,47,0.851,55,1.784,95,0.103,101,0.017,103,0.001,104,0.001,112,0.845,119,2.29,138,1.565,149,4.673,150,1.968,245,3.449,284,3.975,379,1.394,404,3.489,556,2.132,817,6.339,819,4.396,834,4.759,12935,8.839,13117,7.325,13133,9.036,13137,7.325,13152,9.036,13154,7.325,20080,9.266,20213,11.565,20215,10.61,20217,10.61,20287,8.076,20288,8.729,20289,8.729,20290,8.076,20291,8.076]],["title/classes/SubmissionStatusResponse.html",[0,0.232,20213,5.765]],["body/classes/SubmissionStatusResponse.html",[0,0.349,2,0.869,3,0.017,4,0.017,5,0.009,7,0.113,27,0.548,29,0.622,30,0.001,31,0.449,32,0.175,33,0.608,34,2.117,47,0.916,55,2.108,95,0.093,101,0.016,103,0.001,104,0.001,112,0.789,119,2.537,138,2.339,149,4.901,150,1.77,245,3.541,284,3.122,379,1.302,404,3.138,774,4.007,817,4.508,834,4.281,12935,9.27,13117,6.589,13133,9.477,13137,6.589,13152,9.477,13154,6.589,20080,6.589,20213,11.316,20215,11.128,20217,11.128,20287,7.265,20290,7.265,20291,7.265,20292,7.852,20293,7.852,20294,7.852,20295,7.852,20296,7.852,20297,7.852,20298,7.852]],["title/injectables/SubmissionUc.html",[539,0.921,20079,5.765]],["body/injectables/SubmissionUc.html",[0,0.242,3,0.016,4,0.016,5,0.008,7,0.103,8,1.171,10,3.936,26,2.796,27,0.486,29,0.933,30,0.001,31,0.674,32,0.153,33,0.563,35,1.331,36,2.074,39,2.602,95,0.139,99,1.156,101,0.011,103,0.001,104,0.001,143,1.584,177,1.801,226,1.044,239,3.203,262,2.8,349,1.213,379,1.223,437,1.712,539,1.298,541,1.715,560,2.941,603,2.542,608,2.726,643,3.211,933,3.961,1218,2.706,1675,4.361,1735,5.91,1758,6.914,1855,5.91,1857,5.613,2531,3.314,2883,5.954,3742,5.511,13334,5.998,15149,8.485,20079,8.129,20270,10.279,20272,8.963,20279,8.629,20282,9.625,20299,7.148,20300,9.687,20301,7.148,20302,7.148,20303,7.148,20304,9.687,20305,7.148,20306,9.687,20307,7.148,20308,7.148,20309,11.78,20310,7.148,20311,7.148,20312,7.148,20313,7.148,20314,6.613,20315,9.687,20316,7.148]],["title/classes/SubmissionUrlParams.html",[0,0.232,20071,6.018]],["body/classes/SubmissionUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2883,5.308,3876,5.849,20071,10.453,20282,11.223,20317,9.897,20318,9.897]],["title/classes/SubmissionsResponse.html",[0,0.232,3768,5.765]],["body/classes/SubmissionsResponse.html",[0,0.302,2,0.989,3,0.019,4,0.019,5,0.01,7,0.128,27,0.505,29,0.708,30,0.001,31,0.511,32,0.171,33,0.428,95,0.145,101,0.014,103,0.001,104,0.001,112,0.858,138,2.01,150,2.015,239,2.097,245,3.149,379,1.129,556,2.739,819,5.645,2883,3.976,3122,5.917,3768,9.406,7303,10.083,8744,11.088,8971,7.02,20159,11.491,20161,12.235,20319,8.94,20320,11.21,20321,8.94,20322,8.94,20323,8.94,20324,8.94,20325,8.94,20326,8.94]],["title/interfaces/SuccessfulRes.html",[105,0.7,11933,5.125]],["body/interfaces/SuccessfulRes.html",[3,0.02,4,0.02,5,0.01,7,0.133,30,0.001,32,0.12,34,1.54,47,0.956,55,2.541,101,0.021,103,0.001,104,0.001,105,1.406,107,2.168,112,0.876,119,2.578,284,2.798,347,3.341,479,3.388,986,8.431,991,6.27,1025,3.665,3122,3.995,4600,6.27,6722,5.464,11925,6.897,11926,7.066,11927,6.897,11928,6.897,11929,7.066,11930,8.573,11931,7.066,11932,7.066,11933,8.539,11934,7.066,11935,6.746,11936,6.897,11937,7.066,11938,6.897]],["title/classes/SuccessfulResponse.html",[0,0.232,20327,6.018]],["body/classes/SuccessfulResponse.html",[0,0.336,2,1.1,3,0.022,4,0.022,5,0.011,7,0.143,27,0.494,29,0.788,30,0.001,31,0.569,32,0.155,33,0.476,95,0.117,101,0.015,103,0.001,104,0.001,112,0.916,119,2.827,138,1.784,150,2.242,245,3.302,379,1.256,14641,11.439,20327,10.484,20328,9.946,20329,11.969,20330,9.946,20331,9.946,20332,9.946]],["title/injectables/SymetricKeyEncryptionService.html",[539,0.921,8803,6.018]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,8,1.266,27,0.541,29,0.923,30,0.001,31,0.666,32,0.151,33,0.557,35,1.269,47,0.989,59,2.474,95,0.146,101,0.012,103,0.001,104,0.001,226,1.174,284,3.736,345,2.553,349,1.351,379,1.015,539,1.403,541,1.928,603,1.66,662,4.062,769,5.543,1147,2.447,1341,2.583,1611,5.866,1984,7.155,2312,4.347,2313,5.631,2882,4.992,3002,5.452,3895,7.813,6777,5.748,7386,8.501,8802,7.437,8803,9.174,9825,7.643,12781,9.174,12782,8.789,12783,9.69,12785,9.69,13488,7.437,15451,6.745,20007,7.437,20010,7.437,20333,8.038,20334,8.038,20335,8.038,20336,8.038,20337,11.65,20338,11.65,20339,8.038,20340,8.038]],["title/modules/SystemApiModule.html",[201,1.845,19578,5.563]],["body/modules/SystemApiModule.html",[0,0.319,3,0.021,4,0.021,5,0.011,30,0.001,95,0.155,101,0.015,103,0.001,104,0.001,201,3.371,203,3.423,204,3.669,205,3.772,206,3.757,207,3.742,208,4.632,209,3.573,218,4.634,219,3.698,220,3.614,222,5.893,223,4.832,225,4.615,226,1.379,1421,9.597,19578,11.328,20341,9.438,20342,9.438,20343,9.438,20344,11.476,20345,9.438,20346,10.992,20347,9.438,20348,9.438,20349,9.438]],["title/controllers/SystemController.html",[259,2.631,20346,6.018]],["body/controllers/SystemController.html",[0,0.221,3,0.014,4,0.014,5,0.007,7,0.094,8,1.1,27,0.375,29,0.721,30,0.001,31,0.521,32,0.16,33,0.435,35,1.495,36,2.427,72,5.119,95,0.155,101,0.01,103,0,104,0,128,4.625,138,1.632,150,1.472,153,2.601,177,1.214,223,2.721,226,0.954,259,2.499,261,3.13,262,2.723,271,3.372,278,7.689,284,3.431,310,2.834,319,3.844,333,2.782,335,6.324,336,6.543,337,3.402,345,2.073,346,5.435,347,3.29,349,0.937,437,1.495,482,5.993,560,2.686,608,2.107,692,9.93,824,2.32,1306,5.617,1456,5.989,2094,6.996,2417,6.996,2493,7.46,3122,3.933,3134,5.497,3731,4.36,4544,6.508,4743,4.812,10926,7.351,11628,8.421,11880,7.57,16157,7.972,17089,8.902,18032,9.513,18035,9.179,20344,8.793,20346,7.972,20350,6.528,20351,9.102,20352,6.528,20353,9.93,20354,6.528,20355,10.488,20356,6.528,20357,6.528,20358,11.336,20359,6.528,20360,6.528,20361,6.528,20362,6.528,20363,6.528,20364,6.528,20365,8.421,20366,6.04,20367,6.528,20368,6.04,20369,5.718,20370,6.528,20371,6.528,20372,6.528,20373,6.528,20374,6.528,20375,6.528,20376,6.528,20377,6.528,20378,6.528,20379,6.528,20380,6.528,20381,6.528,20382,6.528]],["title/classes/SystemDto.html",[0,0.232,11880,4.588]],["body/classes/SystemDto.html",[0,0.26,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,26,2.301,27,0.566,29,0.609,30,0.001,31,0.44,32,0.181,33,0.68,34,1.899,47,0.963,95,0.135,99,1.244,101,0.012,103,0.001,104,0.001,112,0.778,119,2.109,379,0.971,404,3.073,1262,3.984,2566,3.437,3134,3.545,5953,5.857,5973,4.923,6446,4.159,11880,8.426,12263,7.397,12661,5.736,13158,7.613,13161,7.206,13162,7.999,13163,7.501,13164,5.135,13165,5.135,13250,5.877,13252,5.877,13258,5.877,13260,5.877,13504,8.713,14628,5.498,18038,9.411,18045,6.452,18046,6.226,18047,6.452,20383,7.689,20384,10.547,20385,10.172,20386,7.689,20387,7.689,20388,7.689,20389,7.689,20390,7.689,20391,7.689,20392,7.689,20393,7.689,20394,6.735,20395,6.452,20396,7.114,20397,7.114,20398,7.114,20399,7.689,20400,7.114]],["title/entities/SystemEntity.html",[154,1.378,9006,3.776]],["body/entities/SystemEntity.html",[0,0.311,3,0.009,4,0.009,5,0.005,7,0.061,26,1.336,27,0.483,30,0.001,32,0.163,33,0.62,47,1.013,83,2.341,95,0.109,96,1.124,101,0.015,103,0,104,0,105,0.433,112,0.506,119,0.88,133,2.276,138,2.102,143,3.069,144,4.387,145,1.86,153,0.974,154,1.632,155,1.38,160,6.32,172,4.41,173,1.231,174,2.516,175,1.897,177,0.789,178,1.676,180,0.736,181,1.146,182,1.344,276,1.843,511,1.879,570,2.619,578,2.59,839,2.533,950,2.619,1262,3.482,1371,2.59,1454,3.035,1486,2.651,1664,1.59,2021,2.754,2046,3.167,2562,3.378,2566,1.897,4332,3.553,4370,4.733,4404,2.562,4677,3.401,5558,1.732,5643,3.334,5953,4.722,5973,2.718,5974,2.927,6446,3.58,7385,2.683,7472,2.879,7528,4.039,9006,3.638,9343,2.879,10327,2.793,10926,2.415,12263,7.604,12344,3.167,12345,3.167,12346,3.167,12347,3.244,12391,2.927,12394,2.835,12396,2.927,12399,2.927,12402,2.619,12406,2.879,12447,2.793,12867,3.244,13048,3.035,13156,5.059,13157,3.437,13158,6.137,13159,8.743,13160,8.223,13161,5.809,13162,6.449,13163,6.047,13164,2.835,13165,2.835,13166,3.437,13167,4.564,13168,4.938,13169,3.333,13170,4.938,13171,3.244,13172,3.244,13173,3.244,13174,3.244,13175,3.333,13176,3.244,13177,3.244,13178,3.244,13179,3.333,13180,4.938,13181,3.333,13182,3.244,13183,3.333,13184,3.244,13185,3.244,13186,3.244,13187,3.333,13188,4.564,13189,3.437,13190,3.437,13191,3.437,13192,3.437,13193,3.437,13194,3.437,13195,3.437,13196,3.437,13197,3.437,13198,3.437,13199,3.437,13200,3.437,13201,3.333,13202,3.437,13203,3.437,13204,3.437,13205,3.437,13206,3.437,13207,3.437,13208,3.437,13209,3.437,13210,3.437,13211,3.437,13212,3.437,13213,3.437,13214,3.437,13215,3.437,13216,3.437,13217,3.437,13218,3.437,13219,3.167,13220,3.437,13221,3.437,13222,3.437,13223,3.437,13224,3.437,13225,3.437,13226,3.437,13227,3.437,13228,3.437,13229,3.437,13230,3.437,13231,3.437,13232,3.437,13233,3.437,13234,3.244,13235,3.437,13236,3.167,13237,3.333,13238,3.244,13239,3.333,13240,3.244,13241,3.244,13242,3.333,13243,3.244,13244,3.333,13245,3.244,13246,3.097,13247,3.097,13248,3.097,13249,3.167,13250,3.244,13251,3.437,13252,3.244,13253,3.437,13254,3.437,13255,3.437,13256,3.437,13257,3.437,13258,3.244,13259,3.333,13260,3.244,13261,3.333,20401,4.245,20402,4.245,20403,4.245,20404,4.245,20405,4.245,20406,4.245,20407,4.245,20408,4.245,20409,4.245,20410,4.245,20411,4.245]],["title/classes/SystemFactory.html",[0,0.232,13649,6.018]],["body/classes/SystemFactory.html",[0,0.149,2,0.487,3,0.01,4,0.01,5,0.005,7,0.063,8,0.824,27,0.539,29,1.025,30,0.001,31,0.705,32,0.172,33,0.589,34,1.562,35,1.435,47,0.479,55,2.284,59,3.299,95,0.111,99,0.713,101,0.01,103,0,104,0,112,0.521,120,2.878,133,2.343,140,2.402,143,0.976,153,1.911,154,2.033,155,2.216,177,1.267,180,1.181,236,1.356,271,4.695,319,2.878,349,0.965,379,0.556,382,3.774,413,2.051,437,1.237,447,7.008,448,4.319,449,5.153,452,3.745,453,5.153,454,5.464,455,3.745,456,3.745,457,3.745,458,3.685,459,4.196,460,4.579,461,6.197,462,5.483,463,6.844,464,2.442,469,2.422,470,3.745,471,2.442,472,4.851,473,4.994,474,3.978,475,4.722,476,3.715,477,2.422,478,2.296,479,3.929,480,3.212,481,2.365,482,2.329,483,2.422,484,4.785,485,2.442,486,3.476,487,4.506,488,2.422,489,7.177,490,4.103,491,6.346,492,2.442,493,4.066,494,2.422,495,2.442,496,2.422,497,2.442,498,2.422,499,2.719,500,2.553,501,2.422,502,5.798,503,2.442,504,2.422,505,3.745,506,3.525,507,3.745,508,2.442,509,2.347,510,2.329,511,1.95,512,2.422,513,2.422,514,2.422,515,2.442,516,2.442,517,1.662,518,2.422,519,1.356,520,2.442,521,2.691,522,2.422,523,2.442,525,2.529,526,2.578,527,4.924,570,2.719,653,2.264,951,2.065,1262,2.381,1486,2.751,1491,2.578,2021,2.859,3134,3.142,3601,2.745,4677,2.264,5554,3.876,5558,1.798,5643,3.431,5953,2.264,7528,4.157,7530,4.972,9006,2.422,9255,7.592,9343,2.988,12263,5.406,12391,3.038,12394,2.942,12395,3.697,12396,3.038,12399,3.038,12402,2.719,12406,2.988,12447,2.899,13156,3.367,13158,2.942,13159,6.08,13160,5.846,13161,2.785,13162,3.092,13163,2.899,13164,2.942,13165,2.942,13188,6.465,13246,3.215,13247,3.215,13248,3.215,13249,3.287,13649,7.298,14234,3.568,15440,4.076,17294,4.076,20412,4.406,20413,6.304,20414,8.674,20415,8.674,20416,6.814,20417,4.406,20418,6.814,20419,4.406,20420,4.406,20421,4.406,20422,4.406,20423,4.406,20424,4.406,20425,4.406,20426,4.406,20427,4.406,20428,4.406,20429,4.406,20430,4.406,20431,4.406,20432,4.406,20433,4.406,20434,4.406,20435,4.406,20436,4.406,20437,4.406,20438,4.406]],["title/classes/SystemFilterParams.html",[0,0.232,20353,6.018]],["body/classes/SystemFilterParams.html",[0,0.383,2,1.005,3,0.02,4,0.02,5,0.01,7,0.13,27,0.467,30,0.001,32,0.178,33,0.618,95,0.153,99,1.469,101,0.014,103,0.001,104,0.001,112,0.866,119,2.347,138,2.03,141,5.305,147,6.122,148,2.818,149,4.758,150,2.047,151,7.559,153,2.597,247,3.905,249,4.832,852,4.232,1277,6.327,1971,4.232,3134,4.186,5554,6.439,10926,6.439,11316,8.444,20353,9.915,20439,9.08,20440,11.41,20441,9.08,20442,9.08,20443,9.685,20444,9.08,20445,9.08,20446,9.08]],["title/classes/SystemIdParams.html",[0,0.232,17089,5.395]],["body/classes/SystemIdParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,34,1.983,47,0.836,48,6.129,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,245,3.06,256,7.043,258,9.113,808,4.718,3134,5.486,3876,5.821,17089,9.344,20447,11.899]],["title/classes/SystemIdParams-1.html",[0,0.193,708,2.292,17089,4.486]],["body/classes/SystemIdParams-1.html",[0,0.408,2,1.114,3,0.022,4,0.022,5,0.011,7,0.145,26,2.605,27,0.415,30,0.001,32,0.131,48,6.188,95,0.152,99,1.629,101,0.015,103,0.001,104,0.001,112,0.923,138,1.806,148,3.125,150,2.27,245,3.101,256,7.2,808,4.78,6061,7.348,6062,8.153,17089,9.469,20448,12.058]],["title/classes/SystemMapper.html",[0,0.232,20449,6.018]],["body/classes/SystemMapper.html",[0,0.258,2,0.846,3,0.017,4,0.017,5,0.009,7,0.11,8,1.225,27,0.469,29,0.9,30,0.001,31,0.65,32,0.157,33,0.544,34,1.274,35,1.377,95,0.134,99,1.237,101,0.012,103,0.001,104,0.001,154,1.533,155,2.486,236,1.649,349,1.246,413,4.085,556,3.162,1262,2.672,1486,4.774,2364,5.272,4446,4.718,4677,3.928,5558,3.119,5643,3.85,5953,3.928,6146,7.073,7528,4.665,9006,7.257,9343,5.186,9607,6.697,11880,8.643,12263,8.568,12344,5.703,12345,5.703,12346,5.703,12347,5.844,12391,5.272,12394,5.106,12396,5.272,12399,5.272,12402,4.718,12406,5.186,13158,5.106,13161,4.833,13162,5.365,13169,6.004,13171,5.844,13173,5.844,13175,6.004,13179,6.004,13181,6.004,13183,6.004,13185,5.844,13187,6.004,13188,5.272,13504,9.252,17210,5.844,18560,8.877,18561,8.504,18565,8.504,18569,6.697,20384,7.073,20394,6.697,20395,6.415,20449,8.877,20450,7.645,20451,10.134,20452,9.376,20453,7.645,20454,7.645,20455,10.134,20456,7.645,20457,7.645,20458,10.134,20459,7.645,20460,7.645,20461,7.645,20462,7.645]],["title/modules/SystemModule.html",[201,1.845,1421,4.821]],["body/modules/SystemModule.html",[0,0.293,3,0.019,4,0.019,5,0.01,30,0.001,95,0.155,101,0.013,103,0.001,104,0.001,201,3.244,203,3.146,204,3.372,205,3.466,206,3.452,207,3.439,208,4.458,209,4.572,218,4.395,219,3.398,220,3.321,225,4.378,226,1.267,227,3.599,599,6.329,616,10.515,622,9.771,1421,10.019,12832,6.811,14183,11.883,14227,8.024,15680,7.597,16394,10.333,20463,8.673,20464,8.673,20465,8.673,20466,8.673,20467,8.673,20468,8.024,20469,8.673]],["title/classes/SystemOidcMapper.html",[0,0.232,20470,6.018]],["body/classes/SystemOidcMapper.html",[0,0.269,2,0.879,3,0.017,4,0.017,5,0.009,7,0.114,8,1.256,27,0.478,29,0.918,30,0.001,31,0.663,32,0.15,33,0.554,35,1.403,47,0.814,48,4.982,95,0.123,99,1.285,101,0.012,103,0.001,104,0.001,154,2.323,155,3.38,236,1.293,349,1.265,413,4.115,556,3.002,2021,5.155,5643,4.001,7528,4.847,9006,7.325,13160,9.353,13188,5.478,13234,6.072,13236,5.926,13238,6.072,13240,6.072,13241,6.072,13243,6.072,13245,6.072,13246,5.797,13247,5.797,13248,5.797,13249,5.926,14194,10.736,17243,7.35,18560,9.104,18561,8.721,18565,8.721,18569,6.958,20395,6.666,20452,9.616,20470,9.104,20471,12.287,20472,7.944,20473,10.393,20474,7.944,20475,7.944,20476,10.393,20477,7.944,20478,7.944,20479,10.393,20480,7.944,20481,7.944,20482,7.944,20483,7.944]],["title/injectables/SystemOidcService.html",[539,0.921,14183,5.765]],["body/injectables/SystemOidcService.html",[0,0.279,3,0.018,4,0.018,5,0.009,7,0.118,8,1.288,12,4.785,26,2.516,27,0.487,29,0.844,30,0.001,31,0.609,32,0.138,33,0.509,34,1.775,35,1.29,36,2.668,40,5.137,95,0.156,99,1.335,100,2.81,101,0.013,103,0.001,104,0.001,177,1.534,226,1.205,227,3.424,236,1.343,262,2.915,291,6.021,340,4.002,345,2.62,349,1.097,379,1.042,437,1.556,529,2.361,539,1.427,541,1.979,608,2.465,622,9.644,3134,4.911,9006,4.535,14183,8.938,14194,6.479,14648,7.227,15950,9.789,20443,6.479,20470,7.227,20484,12.466,20485,8.25,20486,8.25,20487,8.25,20488,8.25,20489,8.25,20490,8.25,20491,7.633,20492,11.796,20493,8.25,20494,7.227,20495,7.633,20496,8.25]],["title/injectables/SystemRepo.html",[539,0.921,622,5.013]],["body/injectables/SystemRepo.html",[0,0.236,3,0.015,4,0.015,5,0.008,7,0.1,8,1.152,10,3.871,12,4.281,18,4.768,26,1.923,27,0.532,29,0.967,30,0.001,31,0.698,32,0.173,33,0.584,34,1.162,35,1.526,36,2.761,40,3.364,49,3.555,95,0.138,99,1.129,101,0.011,103,0.001,104,0.001,154,1.399,155,3.099,180,1.652,226,1.019,236,1.55,262,3.023,349,1.117,382,3.472,437,0.92,479,4.984,486,2.1,521,2.755,529,1.996,539,1.277,541,1.674,622,6.953,679,7.405,685,3.989,686,4.325,687,5.328,711,4.166,712,4.21,713,4.166,714,4.21,715,4.81,716,4.166,717,4.21,718,3.716,723,4.988,762,4.591,996,3.364,997,3.252,998,3.325,999,3.513,1076,4.659,1077,4.305,1218,2.641,1309,6.289,1931,4.41,5310,7.247,5558,3.888,6134,4.81,9006,5.237,15950,9.158,20443,9.158,20497,6.976,20498,8.816,20499,6.976,20500,8.816,20501,6.976,20502,6.976,20503,8.346,20504,6.976,20505,6.976,20506,6.976,20507,6.454,20508,6.976,20509,6.976,20510,6.976,20511,6.976,20512,9.528]],["title/classes/SystemResponseMapper.html",[0,0.232,20369,6.018]],["body/classes/SystemResponseMapper.html",[0,0.245,2,0.802,3,0.016,4,0.016,5,0.008,7,0.104,8,1.182,27,0.457,29,0.877,30,0.001,31,0.633,32,0.154,33,0.529,34,1.208,35,1.341,95,0.146,101,0.011,103,0.001,104,0.001,236,1.801,349,1.14,413,4.041,437,1.563,556,1.771,782,4.329,824,2.576,1486,4.527,2585,5.871,3134,5.463,4544,4.162,4677,3.725,5558,2.958,5643,3.651,5953,3.725,7528,4.423,9213,5.693,9343,4.917,10452,5.409,10926,4.124,11795,6.708,11880,8.848,12263,4.704,12391,4.999,12394,4.842,12396,4.999,12399,4.999,12402,4.474,12406,4.917,12661,5.409,13158,4.842,13188,4.999,13504,9.456,14628,5.184,15247,6.35,16652,6.708,16654,6.708,16655,6.708,16656,6.708,16657,6.708,16658,6.708,16659,6.708,16660,6.708,16661,6.708,16662,6.708,16663,6.708,16664,6.708,16665,10.933,17210,5.541,18032,9.942,18035,10.55,18036,6.708,18044,6.708,18045,6.084,18046,5.871,18047,6.084,20365,9.049,20366,6.708,20369,8.567,20394,6.35,20395,6.084,20513,11.848,20514,9.78,20515,9.78,20516,9.78,20517,9.78,20518,9.78,20519,9.78,20520,7.25,20521,7.25,20522,9.78,20523,7.25,20524,9.78,20525,7.25,20526,6.708]],["title/classes/SystemScope.html",[0,0.232,20503,6.018]],["body/classes/SystemScope.html",[0,0.26,2,0.851,3,0.017,4,0.017,5,0.009,7,0.11,8,1.23,27,0.554,29,0.806,30,0.001,31,0.582,32,0.164,33,0.487,35,1.528,95,0.12,99,1.244,101,0.012,103,0.001,104,0.001,112,0.778,119,2.364,180,1.763,310,3.338,349,1.174,382,3.757,480,2.139,486,2.315,519,2.367,593,4.253,603,2.677,2350,6.737,5558,5.596,6242,6.793,6243,6.793,6244,6.793,6249,6.793,6250,6.793,6251,5.215,6252,5.135,6253,5.215,6254,5.215,6263,5.135,6264,6.793,6265,5.215,6266,5.135,6267,5.215,6268,5.135,6269,7.613,8499,6.038,9006,4.226,10859,9.985,12263,4.989,13159,5.611,13160,5.396,15119,7.114,15120,7.114,20413,11.224,20414,11.224,20415,11.224,20503,11.758,20527,12.131,20528,7.689]],["title/injectables/SystemService.html",[539,0.921,16394,5.013]],["body/injectables/SystemService.html",[0,0.19,3,0.012,4,0.012,5,0.006,7,0.081,8,0.99,12,3.681,18,4.1,26,2.14,27,0.465,29,0.892,30,0.001,31,0.644,32,0.169,33,0.539,34,1.365,35,1.284,36,2.661,40,3.951,59,1.734,95,0.143,99,0.911,101,0.009,103,0,104,0,177,1.524,226,0.823,227,2.338,236,1.571,262,2.91,291,4.11,340,2.732,349,1.25,379,1.035,437,1.274,529,1.612,539,1.098,541,1.351,599,4.11,600,3.517,603,2.327,608,3.02,622,8.58,1262,2.864,3134,5.595,5953,4.21,9006,6.967,10926,6.688,11880,7.524,12263,3.655,12661,7.204,12664,7.581,12832,4.423,13158,5.472,13161,5.179,13162,5.75,13487,8.327,13489,4.727,14628,5.859,14648,4.934,15273,8.935,16394,5.979,17210,4.305,18045,4.727,18046,7.82,18047,8.104,20396,7.581,20397,7.581,20398,7.581,20443,8.327,20449,4.934,20491,5.211,20494,4.934,20495,5.211,20507,7.581,20529,5.633,20530,8.194,20531,8.194,20532,5.633,20533,5.633,20534,8.194,20535,5.633,20536,8.194,20537,5.633,20538,8.194,20539,5.633,20540,5.633,20541,5.633,20542,8.194,20543,7.581,20544,5.633,20545,8.194,20546,5.633,20547,5.633,20548,5.633,20549,5.633,20550,5.633,20551,5.633,20552,8.194,20553,8.194,20554,8.194,20555,8.194,20556,8.194,20557,8.194,20558,8.194,20559,5.633,20560,5.633,20561,5.211,20562,8.194,20563,5.633,20564,9.657,20565,5.633,20566,5.633,20567,5.633,20568,5.633,20569,5.633,20570,5.633]],["title/injectables/SystemUc.html",[539,0.921,20344,5.765]],["body/injectables/SystemUc.html",[0,0.265,3,0.017,4,0.017,5,0.009,7,0.112,8,1.245,12,4.628,26,2.467,27,0.475,29,0.911,30,0.001,31,0.658,32,0.158,33,0.55,34,1.716,35,1.248,36,2.616,40,4.967,59,2.412,95,0.15,99,1.268,101,0.012,103,0.001,104,0.001,145,3.435,177,1.457,226,1.145,236,1.275,262,2.875,291,5.719,340,3.802,345,2.489,349,1.061,379,0.99,437,1.034,480,2.18,486,2.359,529,2.243,539,1.38,541,1.88,608,2.663,3134,4.75,9006,4.307,10926,7.222,11880,8.162,16394,9.51,17210,5.99,17825,7.251,20344,8.644,20400,9.53,20440,11.308,20443,6.154,20468,7.251,20494,6.865,20498,9.53,20500,9.53,20561,7.251,20571,7.837,20572,7.837,20573,12.222,20574,7.837,20575,7.837,20576,7.251,20577,7.837,20578,7.837]],["title/classes/TargetInfoMapper.html",[0,0.232,16034,6.018]],["body/classes/TargetInfoMapper.html",[0,0.327,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,8,1.422,27,0.399,29,0.765,30,0.001,31,0.673,32,0.125,33,0.462,34,1.61,35,1.17,95,0.139,99,1.563,100,4.006,101,0.015,103,0.001,104,0.001,236,1.572,349,0.995,413,3.817,437,1.274,783,6.574,2739,4.385,4430,8.108,7098,9.843,16005,10.684,16034,10.302,19368,8.463,19370,8.463,20579,11.761,20580,11.761,20581,9.662,20582,9.662,20583,9.662]],["title/classes/TargetInfoResponse.html",[0,0.232,16005,5.563]],["body/classes/TargetInfoResponse.html",[0,0.304,2,0.993,3,0.02,4,0.02,5,0.01,7,0.129,27,0.506,29,0.711,30,0.001,31,0.793,32,0.159,33,0.429,34,2.284,47,0.903,95,0.106,101,0.014,103,0.001,104,0.001,112,0.86,138,2.016,150,2.024,153,2.815,154,2.579,245,3.156,253,4.436,379,1.419,404,3.589,774,4.583,821,4.162,2044,3.491,2162,7.051,2739,5.837,2917,5.909,2918,6.033,2919,6.033,4424,7.865,16005,10.723,19375,7.865,19376,8.308,20584,12.86]],["title/entities/Task.html",[154,1.378,2686,3.102]],["body/entities/Task.html",[0,0.165,3,0.006,4,0.006,5,0.003,7,0.16,26,1.658,27,0.478,30,0.001,31,0.361,32,0.16,33,0.534,34,0.815,47,0.723,55,1,83,2.715,95,0.135,96,0.773,101,0.013,103,0,104,0,105,0.498,112,0.68,119,2.363,138,2.079,143,2.644,144,3.209,145,3.139,153,1.448,154,0.981,155,0.95,160,4.09,172,3.547,173,0.847,174,1.859,175,1.306,178,1.154,180,0.506,181,0.789,182,0.925,226,0.427,236,1.729,239,2.761,347,3.411,349,1.319,437,1.791,474,1.239,480,1.755,486,1.899,517,1.102,519,2.271,528,1.501,529,1.4,556,2.007,578,1.782,593,1.09,603,2.495,604,2.013,644,3.44,654,1.899,662,3.457,696,1.902,708,2.962,739,1.262,766,1.633,827,1.693,915,2.05,1147,0.889,1218,1.106,1226,1.409,1456,1.922,1717,1.4,1726,1.251,1739,2.255,1822,2.921,1920,3.962,1926,3.72,1948,4.351,1986,1.693,2044,1.136,2443,1.87,2670,4.872,2673,4.056,2677,1.606,2682,3.132,2683,1.726,2684,3.361,2685,2.05,2686,4.928,2696,2.941,2700,5.406,2883,3.654,3136,1.662,3286,3.288,3289,3.818,3366,4.391,3454,1.87,3742,5.853,3744,2.451,3796,4.094,3815,5.487,3819,3.318,3820,5.766,3821,4.856,3822,5.848,3823,6.355,3824,3.318,3835,5.976,4119,1.726,4266,1.655,4278,1.847,4323,2.451,4342,1.293,4973,1.847,4974,1.895,5094,2.267,5121,2.984,5935,3.361,6718,4.214,6746,2.559,6751,2.703,6757,1.824,6760,2.984,6771,3.092,6772,1.633,6784,2.294,6788,2.089,6790,1.981,6791,1.803,6792,1.824,6793,1.763,6809,1.87,6997,2.559,7006,1.824,7007,1.951,7080,3.841,7112,1.895,7117,2.179,7889,2.703,8184,5.69,8621,2.132,10144,1.87,11726,2.05,12726,2.014,12746,2.014,12879,2.365,13113,2.365,13133,5.506,13134,2.365,13152,5.506,13153,2.365,13264,4.604,13267,3.498,13268,4.707,13269,4.604,13270,2.559,13272,2.559,13273,2.451,13274,2.559,13275,2.559,13276,2.559,13277,2.559,13278,2.559,13279,5.527,13280,5.109,13281,4.955,13282,2.559,13283,4.284,13284,2.451,13285,4.284,13286,2.559,13287,2.559,13288,2.451,13289,7.785,13290,2.559,13291,2.233,13292,2.365,13293,4.284,13294,6.464,13295,3.961,13296,6.464,13297,2.559,13298,2.559,13299,2.559,13300,4.284,13301,2.559,13302,2.559,13303,2.559,13304,2.559,13305,2.559,13306,2.559,13307,2.559,13308,2.559,13309,2.559,13310,2.559,13311,2.559,13312,2.559,13313,4.284,13314,2.559,13315,2.559,13316,2.233,13317,2.559,13318,2.559,13319,2.559,13320,2.559,13321,2.559,13322,2.559,13323,4.284,13324,2.559,13325,2.559,13326,4.284,13327,2.559,13328,4.284,13329,2.294,13330,2.451,13331,2.559,13332,6.464,13333,5.527,13334,4.104,13335,2.365,13336,5.527,13337,2.559,13338,5.527,13339,2.451,13340,4.284,13341,2.559,13342,2.559,13343,2.559,13344,5.527,13345,2.559,13346,4.284,13347,2.451,13348,2.559,13349,2.559,13350,6.464,13351,2.559,13352,2.559,13353,2.559,13354,2.559,13355,2.559,13356,2.559,13357,2.559,13358,4.284,13359,2.559,13360,2.559,13361,4.284,13362,2.559,13363,2.559,13364,2.559,13365,2.559,13366,2.451,13367,2.559,13368,6.464,13369,2.559,13370,2.559,13371,2.559,13372,2.559,13373,2.559,13374,2.559,13375,2.559,13376,2.559,13377,2.559,13378,2.559,20585,2.921,20586,2.921,20587,2.921,20588,2.921,20589,2.921,20590,2.921,20591,2.921,20592,2.921,20593,2.921,20594,2.921,20595,2.921,20596,2.921,20597,2.921,20598,2.921,20599,2.921]],["title/modules/TaskApiModule.html",[201,1.845,19579,5.563]],["body/modules/TaskApiModule.html",[0,0.269,3,0.017,4,0.017,5,0.009,30,0.001,95,0.158,101,0.012,103,0.001,104,0.001,201,3.114,203,2.887,204,3.094,205,3.181,206,3.168,207,3.156,208,4.28,209,3.014,218,4.159,219,3.119,220,3.048,222,4.97,223,4.338,225,4.142,226,1.163,227,3.303,259,3.048,1752,7.446,1804,7.986,1805,8.613,1809,9.185,2531,3.69,2764,3.772,3043,4.856,6587,9.551,6591,7.364,14715,9.764,19579,11.694,20068,10.156,20079,10.983,20600,7.96,20601,7.96,20602,7.96,20603,10.983,20604,10.983,20605,7.96,20606,10.156,20607,7.96,20608,7.96]],["title/entities/TaskBoardElement.html",[154,1.378,2697,5.563]],["body/entities/TaskBoardElement.html",[0,0.306,3,0.02,4,0.02,5,0.01,7,0.13,27,0.374,30,0.001,32,0.117,95,0.146,96,3.261,101,0.014,103,0.001,104,0.001,112,0.865,138,1.625,143,2.504,144,3.995,154,2.267,155,2.946,173,2.627,180,1.571,181,2.445,403,5.064,997,4.222,1289,6.975,1739,4.177,1832,4.979,2565,5.153,2666,8.876,2686,5.825,2687,5.657,2688,8.083,2690,7.602,2697,9.153,2739,5.855,3034,6.924,3071,9.485,3606,6.145,4500,6.611,5094,4.2,5095,7.935,6683,6.357,7132,7.114,7133,7.438,7134,6.924,7135,6.611,13106,9.901,14984,8.382,20609,11.303,20610,9.059]],["title/controllers/TaskController.html",[259,2.631,20606,6.018]],["body/controllers/TaskController.html",[0,0.156,3,0.01,4,0.01,5,0.005,7,0.066,8,0.853,10,3.482,27,0.483,29,0.928,30,0.001,31,0.67,32,0.152,33,0.56,35,1.419,36,2.818,56,3.403,70,3.553,95,0.151,100,2.919,101,0.007,103,0,104,0,138,2.037,143,1.563,145,2.409,150,1.039,177,1.312,223,1.922,226,0.673,236,0.75,247,1.983,259,1.765,261,2.21,262,3.029,270,6.766,271,3.175,285,3.034,294,7.02,310,4.169,324,3.577,333,3.653,334,2.992,337,2.402,338,2.456,340,2.237,343,2.475,345,1.464,349,1.207,437,1.688,480,1.283,486,1.388,602,3.733,603,1.983,608,2.629,631,2.337,739,4.15,816,3.847,824,3.879,836,8.601,1606,3.733,1607,3.44,1608,4.039,2686,3.87,2941,8.203,2962,2.6,2963,2.42,2998,6.941,3025,2.992,3043,2.813,3044,2.6,3779,4.17,5158,2.672,6398,3.621,6635,3.733,6644,8.058,6650,4.266,6861,7.807,8184,6.148,13077,3.179,14987,3.869,14993,3.869,15950,6.731,15956,4.266,18743,3.869,18744,4.266,18758,4.039,18760,4.039,18872,6.181,20075,11.048,20603,7.192,20604,7.192,20606,6.181,20611,4.611,20612,7.93,20613,8.571,20614,7.056,20615,7.93,20616,4.611,20617,4.611,20618,4.611,20619,7.056,20620,4.611,20621,4.611,20622,4.611,20623,7.056,20624,4.611,20625,4.611,20626,4.611,20627,4.611,20628,7.056,20629,4.611,20630,4.611,20631,7.056,20632,4.611,20633,4.611,20634,7.056,20635,4.611,20636,4.039,20637,4.611,20638,4.611,20639,3.869,20640,3.733,20641,4.611,20642,4.611,20643,4.611,20644,7.056,20645,4.611,20646,4.611,20647,4.611,20648,4.611,20649,4.611,20650,9.602,20651,4.611,20652,4.611,20653,7.056,20654,10.349,20655,4.611,20656,4.611,20657,4.611,20658,4.611,20659,4.611,20660,4.611]],["title/classes/TaskCopyApiParams.html",[0,0.232,6644,5.765]],["body/classes/TaskCopyApiParams.html",[0,0.37,2,0.951,3,0.019,4,0.019,5,0.01,7,0.123,27,0.451,30,0.001,32,0.142,33,0.606,34,2.109,47,0.889,95,0.129,100,3.725,101,0.013,103,0.001,104,0.001,112,0.837,138,1.962,148,2.669,149,4.641,150,1.938,153,2.999,249,4.713,253,5.404,808,4.769,1455,9.942,1920,5.801,1926,4.111,2480,6.465,2686,6.033,2696,5.098,2918,6.795,2919,6.795,3366,6.255,5121,7.339,6406,11.089,6644,9.179,7282,8.59,11310,9.581,14997,7.956,14998,7.956,20661,10.094,20662,8.599]],["title/injectables/TaskCopyService.html",[539,0.921,3004,5.395]],["body/injectables/TaskCopyService.html",[0,0.182,3,0.012,4,0.012,5,0.006,7,0.077,8,0.959,26,1.601,27,0.456,29,0.876,30,0.001,31,0.662,32,0.165,33,0.529,35,1.257,36,1.697,47,0.378,95,0.141,99,0.871,101,0.008,103,0,104,0,153,1.236,177,1.75,226,0.787,227,2.235,236,0.876,239,3.067,262,2.764,271,3.845,347,4.183,349,0.969,379,1.001,437,1.578,528,2.768,539,1.062,541,1.292,556,2.827,603,2.7,608,2.679,654,1.622,849,4.395,1218,2.039,1231,5.013,1271,1.682,1718,3.251,1809,8.122,1926,4.35,2684,5.894,2686,6.061,2696,2.511,2993,4.23,2998,6.421,3004,6.227,3007,8.732,3013,9.397,3023,11.319,3025,7.51,3041,4.23,3042,4.018,3043,3.286,3044,3.037,3056,4.718,3057,4.23,3058,4.52,3093,4.52,3600,3.943,3601,2.17,4826,4.718,5541,3.363,5935,2.869,6540,10.041,6541,4.984,6545,7.337,6554,9.604,6563,6.946,6568,10.237,6570,8.244,6581,6.227,6616,4.52,6908,4.362,6926,4.52,6933,4.984,11123,4.984,13264,3.931,13269,3.931,20663,11.573,20664,9.411,20665,7.93,20666,4.718,20667,5.386,20668,7.93,20669,11.966,20670,5.386,20671,11.071,20672,5.386,20673,7.93,20674,12.533,20675,5.386,20676,7.93,20677,5.386,20678,5.386,20679,5.386,20680,5.386,20681,5.386,20682,5.386,20683,5.386,20684,5.386,20685,5.386,20686,5.386,20687,5.386,20688,5.386,20689,5.386,20690,4.984,20691,5.386,20692,4.984,20693,5.386,20694,5.386,20695,5.386,20696,5.386]],["title/injectables/TaskCopyUC.html",[539,0.921,20603,5.765]],["body/injectables/TaskCopyUC.html",[0,0.144,3,0.009,4,0.009,5,0.005,7,0.061,8,0.802,26,2.42,27,0.484,29,0.904,30,0.001,31,0.653,32,0.152,33,0.546,35,1.383,36,2.363,39,1.144,47,0.858,95,0.135,99,0.689,101,0.007,102,2.159,103,0,104,0,119,0.883,131,4.017,177,1.966,226,0.622,227,1.767,236,1.327,239,2.911,262,2.737,284,1.289,285,2.802,347,2.398,349,1.089,379,0.838,437,1.582,475,2.144,519,3.397,529,2.634,539,0.889,541,1.021,556,3.17,560,1.752,562,2.936,579,2.285,603,2.837,608,2.446,643,1.913,766,2.38,933,4.518,934,2.57,990,1.459,1025,1.688,1181,4.974,1218,1.612,1226,2.053,1242,2.303,1297,2.802,1306,2.628,1519,3.775,1664,1.595,1675,2.598,1678,2.598,1726,1.823,1729,2.692,1758,4.903,1804,6.449,1805,7.263,1809,7.746,1920,3.2,1926,3.75,2079,1.885,2080,2.104,2081,2.03,2082,2.726,2480,2.517,2530,2.543,2531,1.974,2681,2.285,2684,5.315,2686,4.984,2696,1.985,2998,5.373,3004,8.668,3007,8.055,3013,9.594,3023,9.259,3025,2.763,3043,2.598,3044,2.401,3092,3.73,3093,3.573,3094,3.94,3608,6.403,3671,2.802,4081,4.195,4702,3.255,4743,2.251,5121,4.049,5932,2.303,6604,6.841,6646,8.517,6774,3.448,6781,3.177,6895,3.573,6908,5.373,6910,3.94,6946,3.73,6947,7.725,6953,3.73,6959,3.73,6960,3.73,6961,2.763,9149,3.73,11994,6.841,13141,3.344,13994,3.448,14946,7.836,15010,3.94,15012,3.94,15013,3.73,15016,3.94,15032,5.568,18015,3.573,18806,3.94,19873,6.139,19919,3.73,20279,6.403,20603,5.568,20671,11.095,20697,11.992,20698,6.636,20699,6.636,20700,6.636,20701,8.153,20702,6.636,20703,8.153,20704,4.258,20705,6.636,20706,4.258,20707,6.636,20708,4.258,20709,4.258,20710,6.636,20711,4.258,20712,6.636,20713,9.979,20714,4.258,20715,4.258,20716,6.636,20717,4.258,20718,6.636,20719,4.258,20720,3.448,20721,3.94,20722,3.94,20723,4.258,20724,3.73,20725,4.258,20726,4.258,20727,4.258,20728,3.573,20729,3.94,20730,4.258,20731,4.258,20732,4.258,20733,6.636,20734,4.258,20735,4.258,20736,3.94,20737,4.258,20738,4.258,20739,4.258,20740,4.258,20741,4.258,20742,4.258]],["title/classes/TaskCreateParams.html",[0,0.232,20743,6.018]],["body/classes/TaskCreateParams.html",[0,0.319,2,0.76,3,0.015,4,0.015,5,0.008,7,0.099,27,0.517,30,0.001,31,0.616,32,0.174,33,0.642,34,1.931,47,0.919,83,3.933,95,0.137,99,1.111,101,0.011,103,0,104,0,112,0.721,133,3.984,138,2.25,142,4.522,143,2.567,144,3.057,145,2.65,148,2.133,149,4.839,150,1.549,153,3.111,245,2.425,247,2.955,248,4.853,249,4.914,253,5.724,807,6.893,808,4.268,1126,8.259,1147,2.87,1271,2.943,1920,5.191,1926,3.544,2686,5.908,2696,4.395,2773,6.205,2918,6.219,2919,6.219,3286,3.58,3289,5.57,3742,5.364,3796,6.986,5121,6.568,7286,7.912,7297,5.563,7299,6.395,8709,5.819,9155,5.563,13266,8.031,16530,6.356,20661,10.78,20743,8.259,20744,6.87,20745,8.724,20746,6.87,20747,6.356,20748,6.87,20749,6.87,20750,6.87,20751,6.356]],["title/classes/TaskFactory.html",[0,0.232,20102,6.018]],["body/classes/TaskFactory.html",[0,0.151,2,0.493,3,0.01,4,0.01,5,0.005,7,0.064,8,0.831,27,0.544,29,1.028,30,0.001,31,0.718,32,0.171,33,0.591,34,1.399,35,1.441,47,0.483,55,2.294,59,3.138,95,0.127,99,0.721,101,0.007,103,0,104,0,112,0.526,120,2.905,133,2.365,140,2.431,143,1.523,145,2.652,153,1.926,154,2.045,155,2.236,177,1.279,180,1.192,236,1.366,239,2.526,271,4.76,319,2.905,349,1.05,379,0.868,382,3.784,413,2.07,437,1.529,447,7.024,448,4.34,449,5.186,452,3.78,453,5.186,454,5.484,455,3.78,456,3.78,457,3.78,458,3.72,459,4.228,460,4.614,461,6.221,462,5.514,463,6.86,464,2.471,469,2.451,470,3.78,471,2.471,472,4.882,473,5.026,474,4.003,475,4.752,476,3.749,477,2.451,478,2.323,479,3.948,480,3.224,481,2.393,482,2.357,483,2.451,484,4.815,485,2.471,486,3.58,487,4.54,488,2.451,489,7.131,490,4.119,491,6.371,492,2.471,493,4.097,494,2.451,495,2.471,496,2.451,497,2.471,498,2.451,499,2.752,500,2.584,501,2.451,502,5.826,503,2.471,504,2.451,505,3.78,506,3.558,507,3.78,508,2.471,509,2.375,510,2.357,511,1.974,512,2.451,513,2.451,514,2.451,515,2.471,516,2.471,517,1.682,518,2.451,519,1.372,520,2.471,521,2.716,522,2.451,523,2.471,525,2.56,526,2.609,527,5.576,603,2.224,648,3.188,649,3.408,654,2.527,766,2.492,934,2.691,1134,3.188,1718,2.691,2686,3.105,3796,5.447,5935,3.663,6985,3.502,6986,3.611,6990,6.416,6995,3.502,8184,5.375,10753,6.024,10754,4.125,13267,3.188,13316,7.212,13329,7.409,13330,7.917,20102,7.353,20108,4.125,20752,4.459,20753,4.459,20754,6.877,20755,4.459,20756,4.459,20757,4.459,20758,6.877,20759,4.459]],["title/classes/TaskListResponse.html",[0,0.232,20639,5.765]],["body/classes/TaskListResponse.html",[0,0.306,2,0.717,3,0.014,4,0.014,5,0.007,7,0.093,27,0.49,29,0.513,30,0.001,31,0.646,32,0.174,33,0.569,34,1.739,47,0.92,55,2.822,56,5.939,59,2.786,70,6.202,83,3.249,95,0.133,99,1.048,100,2.206,101,0.014,103,0,104,0,112,0.693,119,1.343,133,2.227,138,2.026,145,1.82,149,4.751,150,1.46,153,2.394,180,1.569,245,3.413,247,2.786,284,3.598,347,3.771,348,3.261,376,4.239,377,4.407,379,1.143,381,2.192,382,3.364,404,2.588,406,3.908,408,3.908,556,1.582,815,7.801,816,6.714,817,5.196,819,3.261,821,4.837,822,3.142,823,3.449,824,2.301,825,4.545,826,5.873,827,5.245,828,4.262,829,3.351,830,4.545,831,4.545,833,4.094,834,3.531,1288,3.531,1664,2.425,1920,5.031,1948,7.195,1986,3.753,2044,2.518,2220,3.718,2255,2.48,2686,4.711,2782,7.141,3289,3.351,3796,4.202,3797,4.044,3810,5.086,6401,5.086,6402,4.466,6403,4.325,13280,5.244,13281,5.086,18415,8.449,20639,7.595,20640,10.443,20760,5.992,20761,6.476,20762,6.476,20763,7.329,20764,5.992,20765,5.992,20766,5.992]],["title/classes/TaskMapper.html",[0,0.232,20636,6.018]],["body/classes/TaskMapper.html",[0,0.233,2,0.761,3,0.015,4,0.015,5,0.008,7,0.099,8,1.141,27,0.444,29,0.853,30,0.001,31,0.718,32,0.15,33,0.515,34,1.147,35,1.305,95,0.127,99,1.113,100,4.274,101,0.011,103,0,104,0,145,1.934,153,2.166,236,1.536,271,3.497,347,3.412,349,1.11,376,2.796,377,2.907,413,3.997,437,1.655,783,5.276,790,3.466,1920,5.196,1948,4.745,2255,2.635,2686,4.263,3286,3.586,3289,4.884,3580,8.269,3796,6.125,5121,5.76,5195,6.367,6669,8.734,6670,8.734,8621,8.461,9745,8.269,13265,8.65,13266,8.65,13281,5.404,13288,5.775,13316,5.26,18415,7.644,18655,8.734,20636,8.269,20640,9.389,20690,8.734,20743,10.156,20767,6.882,20768,9.44,20769,9.44,20770,9.44,20771,6.882,20772,9.44,20773,10.156,20774,6.882,20775,9.44,20776,6.882,20777,6.028,20778,6.882,20779,6.882,20780,6.882,20781,9.44,20782,6.882,20783,6.882,20784,6.882,20785,6.882,20786,6.882,20787,6.882,20788,6.882,20789,6.882,20790,6.882,20791,6.882,20792,6.882,20793,6.882,20794,6.882,20795,6.882,20796,9.44,20797,6.882,20798,6.882,20799,6.882,20800,10.728,20801,9.44,20802,9.44,20803,9.44]],["title/modules/TaskModule.html",[201,1.845,14715,5.125]],["body/modules/TaskModule.html",[0,0.263,3,0.017,4,0.017,5,0.009,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,201,3.082,203,2.826,204,3.029,205,3.114,206,3.102,207,3.089,208,4.235,209,4.344,218,4.101,219,3.053,220,2.983,225,4.085,226,1.138,227,3.234,560,3.206,1231,4.925,1804,7.939,1805,8.562,1808,9.945,1809,9.131,3004,10.952,3043,4.754,3044,4.393,3592,9.707,3600,3.874,3601,3.14,5107,10.659,6587,9.495,14715,10.807,20270,11.293,20804,7.792,20805,7.792,20806,7.792,20807,7.792,20808,7.792]],["title/injectables/TaskRepo.html",[539,0.921,1809,4.821]],["body/injectables/TaskRepo.html",[0,0.124,3,0.008,4,0.008,5,0.004,7,0.106,8,0.715,10,2.402,12,2.656,18,2.958,26,2.609,27,0.484,29,0.91,30,0.001,31,0.657,32,0.166,33,0.549,34,0.613,35,1.421,36,2.697,39,0.988,40,2.851,53,2.685,56,1.775,58,2.388,59,3.055,72,1.662,83,1.701,95,0.123,96,0.974,98,2.197,101,0.006,103,0,104,0,119,1.537,120,4.581,143,1.88,153,0.844,154,0.738,155,1.923,173,1.067,180,1.025,226,0.538,236,1.945,262,2.95,310,2.567,319,3.584,333,3.158,349,1.074,382,2.527,437,1.705,479,4.301,480,1.024,486,1.108,490,4.476,539,0.792,541,0.883,556,2.073,593,2.206,603,2.05,608,2.51,679,5.988,685,2.475,686,2.683,687,3.638,711,2.197,712,2.221,713,2.197,714,2.221,715,2.537,716,2.197,717,2.221,718,1.96,721,2.298,741,2.496,742,3.249,743,2.496,755,2.422,765,2.388,822,1.785,1456,2.422,1718,2.221,1809,4.149,1920,3.573,1926,2.222,2091,2.745,2093,4.784,2350,5.015,2427,2.298,2501,1.754,2686,5.56,2696,3.955,3135,5.433,3289,3.059,3366,1.818,3635,9.137,3697,2.537,3742,2.093,4741,3.948,4743,3.917,4833,4.743,4834,5.47,4969,2.271,5146,3.276,5158,5.386,5558,3.462,5932,4.589,6132,3.426,6861,5.609,7027,2.813,7031,2.813,7149,8.003,7150,7.41,7179,2.685,7180,2.685,8053,2.745,8184,2.356,9525,3.088,9555,3.405,9559,5.178,12548,2.298,13316,2.813,18723,3.405,19946,4.519,20809,3.68,20810,5.912,20811,7.41,20812,7.41,20813,6.856,20814,5.912,20815,5.912,20816,3.68,20817,3.68,20818,3.68,20819,5.47,20820,7.41,20821,3.68,20822,3.68,20823,3.405,20824,3.68,20825,5.912,20826,3.68,20827,5.912,20828,3.68,20829,3.68,20830,9.5,20831,3.68,20832,3.68,20833,3.68,20834,3.68,20835,3.68,20836,3.405,20837,3.405,20838,3.405,20839,3.405,20840,9.294,20841,3.68,20842,3.68,20843,3.68,20844,3.68,20845,3.68,20846,3.68,20847,3.68,20848,3.68,20849,3.68,20850,3.68,20851,3.68,20852,3.68,20853,3.68,20854,2.98,20855,3.68,20856,3.68,20857,3.68,20858,3.68,20859,3.68,20860,3.68,20861,3.68,20862,3.68,20863,3.68,20864,3.68,20865,3.68,20866,3.68,20867,3.68,20868,3.68,20869,3.68,20870,3.68,20871,3.68,20872,9.925,20873,7.41,20874,3.223,20875,3.223,20876,3.223,20877,3.68,20878,7.41,20879,3.68,20880,3.68,20881,3.68,20882,3.68,20883,3.68,20884,3.68,20885,3.68,20886,3.68,20887,3.68,20888,3.68,20889,5.912,20890,3.68,20891,3.68,20892,3.68,20893,3.68,20894,3.68,20895,3.68,20896,3.223,20897,3.68,20898,5.912,20899,3.68,20900,3.68,20901,3.68,20902,3.223,20903,3.68,20904,3.223,20905,3.68,20906,3.405,20907,2.98,20908,3.68,20909,3.223,20910,3.68,20911,3.68,20912,3.405,20913,3.68,20914,3.405,20915,3.68,20916,3.68]],["title/classes/TaskResponse.html",[0,0.232,20640,5.563]],["body/classes/TaskResponse.html",[0,0.28,2,0.633,3,0.012,4,0.012,5,0.006,7,0.082,27,0.555,29,0.453,30,0.001,31,0.676,32,0.179,33,0.626,34,1.889,47,0.968,55,1.991,56,3.995,70,4.173,83,3.592,95,0.126,99,0.925,100,2.822,101,0.013,103,0,104,0,112,0.634,119,1.718,133,2.849,138,2.395,145,1.607,149,4.985,150,1.289,153,2.797,180,0.992,245,3.507,247,2.46,284,2.508,347,4.097,348,4.173,376,4.606,377,4.788,379,1.046,381,2.804,404,2.286,406,3.452,408,3.452,480,2.305,486,2.494,774,2.919,815,5.113,816,3.118,817,3.284,833,3.616,834,3.118,1277,3.197,1288,4.517,1664,3.103,1920,5.467,1948,7.817,1986,3.315,2044,2.224,2220,4.757,2255,3.172,2686,5.119,2779,5.925,2782,6.752,3289,5.041,3796,6.322,3797,6.083,3810,4.492,6401,6.507,6402,5.713,6403,5.533,13280,7.889,13281,7.65,18415,8.649,20639,4.8,20640,10.11,20760,5.292,20763,7.889,20764,5.292,20765,5.292,20766,5.292,20917,5.72,20918,5.72,20919,5.72,20920,5.72,20921,5.72,20922,5.72,20923,5.72,20924,5.72,20925,5.72,20926,5.72,20927,5.72,20928,5.72,20929,5.72,20930,5.72,20931,5.72]],["title/injectables/TaskRule.html",[539,0.921,1771,5.563]],["body/injectables/TaskRule.html",[0,0.216,3,0.014,4,0.014,5,0.007,7,0.092,8,1.083,27,0.463,29,0.889,30,0.001,31,0.642,32,0.153,33,0.537,35,1.254,95,0.145,101,0.01,103,0,104,0,119,2.542,131,4.494,143,1.414,145,1.794,154,2.708,177,1.925,226,0.933,239,3.192,349,1.262,379,1.132,437,1.695,539,1.201,541,1.532,603,2.532,604,2.627,643,2.868,662,3.795,739,3.873,1107,7.361,1147,1.943,1670,6.121,1673,6.928,1687,4.402,1697,7.655,1718,3.853,1726,2.734,1735,5.468,1763,9.393,1767,10.195,1771,7.256,1875,5.815,1879,5.596,1886,4.264,2686,6.041,3366,3.154,3411,5.984,3412,4.33,3415,5.897,3418,4.33,3419,6.078,5935,3.401,7039,5.592,7040,5.592,7041,5.358,7042,7.849,15101,8.291,18714,7.849,18716,8.291,20932,6.385,20933,10.387,20934,6.385,20935,8.961,20936,6.385,20937,6.385,20938,6.385,20939,6.385,20940,8.961,20941,6.385,20942,6.385,20943,6.385,20944,8.961,20945,6.385]],["title/classes/TaskScope.html",[0,0.232,20830,6.018]],["body/classes/TaskScope.html",[0,0.147,2,0.481,3,0.009,4,0.009,5,0.005,7,0.062,8,0.815,26,2.761,27,0.545,29,1.012,30,0.001,31,0.731,32,0.17,33,0.611,35,1.564,39,2.218,83,3.395,95,0.11,96,1.15,101,0.007,103,0,104,0,112,0.516,119,2.586,143,1.829,173,1.26,180,1.169,236,0.707,310,4.828,349,1.301,382,2.999,437,1.227,480,2.802,486,1.308,519,1.337,593,3.472,603,2.639,1718,2.622,1926,2.533,2350,6.792,2501,2.071,2686,1.962,2696,3.849,3289,4.815,3659,6.687,3796,6.536,3820,5.795,5558,4.92,5932,6.523,5935,5.365,6242,4.501,6243,4.501,6244,4.501,6249,4.501,6250,4.501,6251,2.947,6252,2.901,6253,2.947,6254,2.947,6263,2.901,6264,4.501,6265,2.947,6266,2.901,6267,2.947,6268,2.901,6269,8.054,6990,3.321,7027,5.152,7170,3.518,8184,4.316,8499,3.412,10851,3.806,10854,4.02,10858,3.806,10859,7.233,10860,6.236,15117,6.236,15118,6.236,15121,3.806,20830,11.938,20874,5.904,20875,5.904,20876,8.151,20896,8.151,20946,12.781,20947,6.74,20948,6.74,20949,6.74,20950,6.74,20951,6.74,20952,6.74,20953,6.74,20954,6.74,20955,6.74,20956,6.74,20957,6.74,20958,4.345,20959,6.74,20960,4.345,20961,6.74,20962,6.74,20963,4.345,20964,6.74,20965,6.74,20966,4.345,20967,6.74,20968,4.345,20969,6.74,20970,4.345,20971,6.74,20972,4.345,20973,6.74,20974,4.345,20975,6.74,20976,4.345,20977,4.345,20978,4.345,20979,4.345,20980,4.345,20981,4.345]],["title/injectables/TaskService.html",[539,0.921,5107,5.251]],["body/injectables/TaskService.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.141,10,3.835,12,4.241,26,2.712,27,0.501,29,0.962,30,0.001,31,0.695,32,0.167,33,0.581,35,1.404,36,2.802,59,2.905,95,0.144,98,4.109,99,1.113,101,0.011,103,0,104,0,119,1.958,120,3.987,177,2.004,226,1.005,227,2.856,262,3.017,349,0.972,379,1.192,437,1.245,490,4.12,539,1.265,541,1.651,603,2.592,608,2.684,1231,4.35,1809,8.807,1920,5.591,2357,5.022,2362,5.404,2686,5.996,3600,3.421,3601,2.773,3742,3.915,5107,7.215,5932,5.106,6547,9.19,7149,8.291,7150,7.074,13316,5.26,20086,6.367,20270,10.407,20279,5.404,20314,6.367,20666,6.028,20724,6.028,20813,9.969,20823,6.367,20896,6.028,20982,6.882,20983,9.44,20984,6.882,20985,9.44,20986,6.882,20987,9.44,20988,6.882,20989,9.44,20990,6.882,20991,6.882,20992,6.882,20993,6.882,20994,6.882,20995,6.882,20996,6.882,20997,6.882]],["title/classes/TaskStatusMapper.html",[0,0.232,20777,6.018]],["body/classes/TaskStatusMapper.html",[0,0.331,2,1.082,3,0.021,4,0.021,5,0.011,7,0.14,8,1.432,27,0.403,29,0.775,30,0.001,31,0.559,32,0.127,33,0.468,35,1.184,95,0.14,99,1.582,100,4.035,101,0.015,103,0.001,104,0.001,236,1.591,347,3.534,349,1.007,413,3.837,437,1.29,783,6.621,3810,7.679,3814,10.377,3815,8.847,20763,10.321,20777,10.377,20998,11.847,20999,9.778,21000,9.778,21001,9.778,21002,9.778]],["title/classes/TaskStatusResponse.html",[0,0.232,20763,5.563]],["body/classes/TaskStatusResponse.html",[0,0.273,2,0.895,3,0.018,4,0.018,5,0.009,7,0.116,27,0.552,29,0.641,30,0.001,31,0.463,32,0.173,33,0.387,55,2.686,95,0.096,101,0.012,103,0.001,104,0.001,112,0.804,119,2.726,138,2.358,150,1.823,245,3.625,379,1.328,774,4.127,3818,7.481,3819,8.698,3820,8.999,3821,8.439,3822,8.439,3823,9.17,3824,8.698,3825,7.481,3832,6.785,3833,7.481,3834,6.785,3835,6.548,3836,7.481,3837,7.481,20661,11.387,20763,10.384,21003,8.086,21004,8.086,21005,8.086,21006,8.086,21007,8.086,21008,8.086]],["title/injectables/TaskUC.html",[539,0.921,20604,5.765]],["body/injectables/TaskUC.html",[0,0.107,3,0.007,4,0.007,5,0.004,7,0.045,8,0.631,10,2.12,26,2.636,27,0.462,29,0.865,30,0.001,31,0.625,32,0.142,33,0.522,35,1.323,36,2.661,39,2.847,59,0.972,83,2.467,95,0.101,98,3.115,99,0.511,101,0.005,103,0,104,0,119,1.779,143,0.699,145,2.177,154,0.633,177,1.595,226,0.461,227,1.31,236,1.725,239,3.029,262,2.909,310,1.371,347,4.212,349,1.22,358,1.411,379,0.659,437,1.819,480,1.451,510,1.669,528,3.98,529,0.903,539,0.699,541,0.757,560,1.299,603,2.612,608,3.023,643,2.344,721,1.971,739,3.347,743,2.141,760,2.413,816,5.036,824,2.752,933,1.75,1107,4.223,1123,2.049,1309,1.83,1519,1.796,1675,1.926,1678,3.183,1679,3.484,1687,3.598,1688,4.388,1726,1.352,1748,2.257,1758,5.207,1804,5.964,1805,6.432,1809,6.482,1855,5.233,1857,4.097,1877,3.484,1926,3.223,2093,3.76,2396,1.812,2404,2.921,2443,2.021,2531,1.463,2535,4.68,2684,1.682,2686,4.414,3136,2.968,3289,4.438,3476,3.298,3815,3.484,3821,5.097,4381,1.905,4833,5.713,5107,7.472,5146,3.696,5158,3.865,5932,3.607,6476,2.108,6861,7.425,7027,5.92,7144,4.57,7222,3.988,8184,3.341,8621,2.304,8651,7.512,9501,8.908,10527,1.926,10693,2.355,15032,6.5,15149,4.57,15950,4.097,18015,2.649,19946,2.413,20279,8.323,20604,4.378,20612,4.827,20615,4.827,20666,2.765,20692,4.827,20724,5.841,20836,4.827,20837,4.827,20838,4.827,20839,4.827,20874,4.57,20875,2.765,20876,4.57,21009,3.157,21010,5.218,21011,5.218,21012,7.746,21013,5.218,21014,5.218,21015,3.157,21016,5.218,21017,3.157,21018,3.157,21019,5.218,21020,3.157,21021,5.218,21022,3.157,21023,5.218,21024,3.157,21025,5.218,21026,3.157,21027,3.157,21028,5.218,21029,8.577,21030,3.157,21031,5.218,21032,3.157,21033,5.218,21034,3.157,21035,3.157,21036,6.669,21037,5.218,21038,6.669,21039,6.669,21040,9.237,21041,5.218,21042,9.237,21043,5.218,21044,5.218,21045,7.746,21046,3.157,21047,9.237,21048,6.669,21049,7.746,21050,6.669,21051,4.827,21052,3.157,21053,3.157,21054,3.157,21055,3.157,21056,3.157,21057,3.157,21058,3.157,21059,3.157,21060,7.746,21061,5.218,21062,3.157,21063,7.746,21064,5.218,21065,5.218,21066,5.218,21067,3.157,21068,5.218,21069,3.157,21070,3.157,21071,7.746,21072,3.157,21073,3.157,21074,3.157,21075,3.157,21076,3.157,21077,3.157,21078,3.157,21079,3.157,21080,3.157,21081,3.157,21082,3.157,21083,5.218,21084,5.218,21085,3.157,21086,3.157,21087,5.218,21088,5.218,21089,3.157,21090,3.157]],["title/classes/TaskUpdateParams.html",[0,0.232,20773,6.018]],["body/classes/TaskUpdateParams.html",[0,0.319,2,0.76,3,0.015,4,0.015,5,0.008,7,0.099,27,0.517,30,0.001,31,0.616,32,0.174,33,0.642,34,1.931,47,0.919,83,3.933,95,0.137,99,1.111,101,0.011,103,0,104,0,112,0.721,133,3.984,138,2.25,142,4.522,143,2.567,144,3.057,145,2.65,148,2.133,149,4.839,150,1.549,153,3.111,245,2.425,247,2.955,248,4.853,249,4.914,253,5.724,807,6.893,808,4.268,1126,8.259,1147,2.87,1271,2.943,1920,5.191,1926,3.544,2686,5.908,2696,4.395,2773,6.205,2918,6.219,2919,6.219,3286,3.58,3289,5.57,3742,5.364,3796,6.986,5121,6.568,7286,7.912,7297,5.563,7299,6.395,8709,5.819,9959,5.765,13265,8.031,20661,10.78,20745,8.724,20747,6.356,20751,6.356,20773,8.259,21091,6.87,21092,6.87,21093,6.87,21094,6.87,21095,6.87,21096,6.87]],["title/classes/TaskUrlParams.html",[0,0.232,20075,5.765]],["body/classes/TaskUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,2686,5.389,3876,5.849,20075,10.014,20279,10.061,21097,9.897,21098,9.897]],["title/classes/TaskWithStatusVo.html",[0,0.232,8621,5.013]],["body/classes/TaskWithStatusVo.html",[0,0.181,2,0.361,3,0.007,4,0.007,5,0.004,7,0.166,26,1.763,27,0.282,29,0.259,30,0.001,31,0.307,32,0.147,33,0.156,34,0.894,47,0.697,55,1.097,83,2.513,95,0.139,96,0.865,101,0.013,103,0,104,0,105,0.547,112,0.718,119,2.348,143,2.447,144,3.045,145,3.248,153,0.749,154,1.076,172,3.341,173,0.947,174,2.039,175,1.46,178,1.29,180,0.566,181,0.882,182,1.034,226,0.477,236,1.686,239,2.803,347,4.091,349,1.345,379,0.412,437,1.814,474,1.386,517,1.232,519,2.434,528,1.678,529,1.535,556,1.932,578,1.993,593,1.219,603,2.502,604,2.208,644,3.183,654,0.983,662,3.577,696,2.086,708,3.173,739,1.411,766,1.825,827,1.893,915,2.292,1147,0.994,1218,1.237,1226,1.575,1456,2.149,1717,1.566,1726,1.398,1739,2.474,1822,3.204,1920,3.813,1926,3.283,1948,4.709,1986,1.893,2044,1.27,2443,2.091,2670,4.006,2673,2.949,2677,1.795,2682,3.436,2683,1.93,2684,2.858,2685,2.292,2686,5.471,2696,1.522,2700,5.748,2883,3.885,3136,1.858,3286,2.796,3289,2.776,3366,4.639,3454,2.091,3742,5.644,3744,2.741,3796,2.119,3815,6.92,3819,3.639,3820,6.13,3821,5.203,3822,6.179,3823,6.715,3824,3.639,3835,6.403,4119,1.93,4266,1.105,4278,2.065,4342,1.446,4973,2.065,4974,2.119,5094,2.487,5121,1.993,5935,1.74,6718,4.561,6757,2.039,6760,3.274,6771,3.392,6772,1.825,6784,2.565,6788,2.335,6790,2.215,6791,2.015,6792,2.039,6793,1.971,6809,2.091,7006,2.039,7007,2.181,7080,2.565,7112,2.119,7117,2.437,8184,5.063,8621,3.915,10144,2.091,11726,2.292,12726,2.252,12746,2.252,12879,2.645,13113,2.645,13133,5.899,13134,2.645,13152,5.899,13153,2.645,13264,2.383,13267,3.837,13268,2.437,13269,2.383,13270,2.861,13272,2.861,13273,2.741,13274,2.861,13275,2.861,13276,2.861,13277,2.861,13278,4.7,13279,5.982,13280,5.53,13281,5.363,13282,2.861,13283,2.861,13284,2.741,13285,2.861,13286,2.861,13287,2.861,13288,2.741,13289,8.225,13290,2.861,13291,2.496,13292,2.645,13293,4.7,13294,6.926,13295,4.345,13296,6.926,13297,2.861,13298,2.861,13299,2.861,13300,4.7,13301,2.861,13302,2.861,13303,2.861,13304,2.861,13305,2.861,13306,2.861,13307,2.861,13308,2.861,13309,2.861,13310,2.861,13311,2.861,13312,2.861,13313,4.7,13314,2.861,13315,2.861,13316,2.496,13317,2.861,13318,2.861,13319,2.861,13320,2.861,13321,2.861,13322,2.861,13323,4.7,13324,2.861,13325,2.861,13326,4.7,13327,2.861,13328,4.7,13329,2.565,13330,2.741,13331,2.861,13332,6.926,13333,5.982,13334,4.503,13335,2.645,13336,5.982,13337,2.861,13338,5.982,13339,2.741,13340,4.7,13341,2.861,13342,2.861,13343,2.861,13344,5.982,13345,2.861,13346,4.7,13347,2.741,13348,2.861,13349,2.861,13350,6.926,13351,2.861,13352,2.861,13353,2.861,13354,2.861,13355,2.861,13356,2.861,13357,2.861,13358,4.7,13359,2.861,13360,2.861,13361,4.7,13362,2.861,13363,2.861,13364,2.861,13365,2.861,13366,2.741,13367,2.861,13368,6.926,13369,2.861,13370,2.861,13371,2.861,13372,2.861,13373,2.861,13374,2.861,13375,2.861,13376,2.861,13377,2.861,13378,2.861,21099,5.366,21100,3.266]],["title/classes/TeamDto.html",[0,0.232,4620,4.913]],["body/classes/TeamDto.html",[0,0.365,2,0.932,3,0.018,4,0.018,5,0.009,7,0.121,26,2.404,27,0.518,29,0.667,30,0.001,31,0.719,32,0.163,33,0.403,34,1.985,39,2.262,47,0.912,95,0.099,99,1.362,100,3.676,101,0.017,103,0.001,104,0.001,112,0.826,153,1.932,181,3.215,191,4.52,192,5.258,201,2.899,379,1.063,381,2.85,404,3.366,405,4.452,1726,4.621,2044,3.274,2368,6.823,4266,2.85,4342,3.727,4343,4.928,4344,6.282,4620,9.287,4688,9.114,4748,6.282,10536,7.876,11908,7.376,11909,7.376,12768,7.208,13381,8.692,13390,6.613,16252,10.172,17194,9.454,18281,9.057,21101,7.791,21102,9.454,21103,9.057,21104,10.793,21105,8.421,21106,8.421,21107,7.791]],["title/entities/TeamEntity.html",[154,1.378,7096,4.192]],["body/entities/TeamEntity.html",[0,0.327,3,0.016,4,0.016,5,0.008,7,0.103,27,0.4,30,0.001,31,0.674,32,0.126,39,1.92,47,0.772,62,6.494,72,3.228,95,0.145,96,2.564,101,0.018,103,0.001,104,0.001,105,0.987,112,0.741,138,1.737,143,2.146,154,1.943,155,2.325,172,3.421,173,2.072,174,3.681,175,3.195,178,2.823,180,1.239,181,2.615,182,2.264,191,5.898,236,1.163,239,3.098,276,5.511,349,1.132,480,3.057,517,4.145,603,1.476,644,5.916,654,2.916,1732,5.084,2044,2.779,2130,5.216,2562,5.608,2670,3.278,3606,4.848,4266,2.419,4326,5.016,4332,5.199,4342,3.164,4343,6.43,4346,8.629,5094,5.707,6770,4.411,6772,3.995,6793,4.314,7096,5.91,7133,4.704,10688,5.216,10689,5.216,11915,5.216,11916,5.463,12768,4.773,13379,7.607,13380,5.998,13381,7.069,13382,9.282,13383,5.613,13384,7.844,13385,5.998,13386,5.998,13387,5.998,13388,5.998,13389,5.998,13390,5.613,13391,5.998,13392,5.998,21108,7.148,21109,7.148]],["title/classes/TeamFactory.html",[0,0.232,21110,6.357]],["body/classes/TeamFactory.html",[0,0.163,2,0.532,3,0.01,4,0.01,5,0.005,7,0.069,8,0.881,27,0.543,29,1.051,30,0.001,31,0.739,32,0.174,33,0.611,34,1.466,35,1.473,39,2.364,47,0.741,55,2.356,59,3.247,95,0.116,99,0.778,101,0.007,103,0,104,0,112,0.558,120,3.079,133,2.507,140,2.624,153,2.019,154,2.116,155,2.371,177,1.356,180,1.264,271,4.729,276,4.58,319,3.079,349,0.906,379,0.608,382,3.846,413,2.195,437,1.161,447,7.12,448,4.472,449,5.396,452,4.007,453,5.396,454,5.606,455,4.007,456,4.007,457,4.007,458,3.943,459,4.432,460,4.837,461,6.373,462,5.705,463,6.959,464,2.667,469,2.645,470,4.007,471,2.667,472,5.079,473,5.229,474,4.165,475,4.944,476,3.974,477,2.645,478,2.508,479,4.068,480,3.303,481,2.583,482,2.544,483,2.645,484,5.01,485,2.667,486,3.575,487,4.76,488,2.645,489,7.099,490,4.22,491,6.527,492,2.667,493,4.295,494,2.645,495,2.667,496,2.645,497,2.667,498,2.645,499,2.97,500,2.789,501,2.645,502,6.003,503,2.667,504,2.645,505,4.007,506,3.772,507,4.007,508,2.667,509,2.563,510,2.544,511,2.13,512,2.645,513,2.645,514,2.645,515,2.667,516,2.667,517,1.815,518,2.645,519,1.481,520,2.667,521,2.879,522,2.645,523,2.667,525,2.763,527,4.308,4367,4.038,4622,3.005,7096,2.936,13379,3.779,13381,6.422,13382,7.02,16248,6.117,21110,8.142,21111,4.813,21112,6.745,21113,7.29,21114,6.745,21115,4.813,21116,7.29,21117,4.813,21118,4.215,21119,4.813,21120,4.813,21121,4.813,21122,4.813,21123,4.813]],["title/injectables/TeamMapper.html",[539,0.921,4725,5.765]],["body/injectables/TeamMapper.html",[0,0.296,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,27,0.362,29,0.694,30,0.001,31,0.633,32,0.114,33,0.419,34,1.461,35,1.062,39,2.355,95,0.143,99,1.418,100,3.771,101,0.013,103,0.001,104,0.001,153,2.011,154,2.557,226,1.28,236,1.802,333,3.736,349,1.14,437,1.156,539,1.484,541,2.103,662,3.757,4266,2.967,4620,9.117,4622,6.914,4653,8.966,4688,7.77,4725,9.291,4748,6.54,7096,8.192,13381,8.08,13382,7.918,16248,7.356,16252,9.828,21124,8.766,21125,11.072,21126,11.072,21127,8.766,21128,10.244,21129,8.766,21130,8.766,21131,8.111,21132,8.766,21133,8.766,21134,8.766,21135,8.766]],["title/entities/TeamNews.html",[154,1.378,7136,5.251]],["body/entities/TeamNews.html",[0,0.346,3,0.011,4,0.02,5,0.006,7,0.164,9,3.693,26,2.064,27,0.215,30,0.001,31,0.443,32,0.133,34,0.87,47,0.873,83,2.229,95,0.144,96,2.446,101,0.017,103,0,104,0,105,0.532,112,0.836,138,0.936,143,2.535,144,3.71,154,2.191,155,1.698,172,3.688,173,1.514,174,2.945,175,2.334,180,1.773,181,2.76,182,1.653,236,1.504,239,2.562,349,0.538,355,5.841,358,4.13,381,1.767,403,5.165,413,1.572,459,4.653,521,3.649,563,4.627,643,2.345,644,5.333,654,3.288,655,3.928,839,2.412,996,4.456,997,4.765,998,4.404,999,4.653,1000,5.079,1271,2.885,1289,4.782,1664,1.955,1717,3.715,1723,2.646,1739,3.573,1815,3.435,1832,2.869,1926,2.912,2255,3.538,2565,5.256,2670,4.238,2683,3.085,2739,5.897,2784,2.474,3452,3.6,3454,3.342,3455,3.663,3457,3.733,3458,3.663,3459,3.894,3473,3.117,3606,3.541,3631,3.342,4266,1.767,4358,3.99,4359,3.6,4500,3.809,5094,4.283,5174,3.809,5747,6.743,5932,2.824,5935,4.922,6683,3.663,6770,3.222,6772,2.918,6793,3.15,7006,3.26,7093,3.894,7094,4.227,7096,5.638,7097,4.227,7098,6.893,7099,5.996,7100,4.227,7101,8.986,7102,5.175,7103,5.781,7104,5.781,7105,6.833,7106,7.666,7107,4.227,7108,5.541,7109,4.227,7110,3.99,7111,3.99,7112,5.028,7113,4.227,7114,3.99,7115,3.99,7116,4.227,7117,3.894,7118,4.227,7119,3.117,7120,3.222,7121,3.99,7122,4.227,7123,4.227,7124,7.256,7125,4.227,7126,7.482,7127,4.227,7128,4.227,7129,5.923,7130,3.99,7131,6.484,7132,4.1,7133,5.099,7134,3.99,7135,3.809,7136,5.923,7137,6.274,21136,5.22]],["title/controllers/TeamNewsController.html",[259,2.631,16070,6.018]],["body/controllers/TeamNewsController.html",[0,0.259,3,0.017,4,0.017,5,0.009,7,0.11,8,1.228,27,0.317,29,0.608,30,0.001,31,0.439,32,0.099,33,0.367,35,0.93,36,2.175,72,3.465,95,0.156,100,2.614,101,0.012,103,0.001,104,0.001,138,1.376,150,1.73,177,1.427,223,3.199,226,1.121,236,1.249,239,2.383,247,3.301,259,2.938,261,3.679,262,2.512,270,5.952,274,6.873,294,6.35,310,4.945,333,4.33,337,3.999,338,4.088,343,4.119,345,2.437,349,0.79,437,1.502,608,1.776,824,3.61,836,8.507,2764,3.637,2941,6.685,2963,4.028,3779,4.535,4381,4.631,4622,7.874,5558,4.647,6132,5.887,6861,7.315,7106,5.832,11307,9.816,12612,6.214,12768,5.125,13620,6.44,15958,9.399,15967,6.214,15968,6.722,15969,9.222,15971,6.214,15973,7.1,15978,6.722,15979,6.722,15980,7.1,15981,7.1,15982,7.1,15983,7.1,16070,8.899,21137,10.159,21138,7.674,21139,11.389,21140,7.674,21141,10.618,21142,10.159,21143,7.674,21144,7.674,21145,7.1,21146,7.674,21147,7.674,21148,7.674]],["title/classes/TeamPermissionsBody.html",[0,0.232,4696,5.563]],["body/classes/TeamPermissionsBody.html",[0,0.374,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,10,4.926,27,0.542,30,0.001,32,0.17,95,0.131,101,0.013,103,0.001,104,0.001,112,0.846,119,2.907,138,2.356,147,7.259,148,2.715,150,1.972,245,3.451,685,5.076,1678,7.398,1679,8.097,4688,9.417,4696,8.954,7581,10.043,19697,9.267,21149,12.416,21150,8.747,21151,8.747,21152,8.747,21153,8.747,21154,8.747,21155,8.747]],["title/classes/TeamPermissionsDto.html",[0,0.232,4631,5.395]],["body/classes/TeamPermissionsDto.html",[0,0.291,2,0.953,3,0.019,4,0.019,5,0.01,7,0.124,10,4.892,27,0.551,29,0.683,30,0.001,31,0.493,32,0.173,33,0.673,101,0.013,103,0.001,104,0.001,112,0.838,119,2.9,181,2.957,379,1.088,381,2.916,685,5.041,1678,7.346,1679,8.041,4631,10.271,4634,11.897,4688,9.531,10634,7.548,10635,7.548,10636,7.548,10637,7.548,10638,7.548,10639,7.548,10640,7.548,10641,7.548,19697,9.203,21156,7.973,21157,10.953,21158,7.973,21159,7.973,21160,7.973,21161,7.973,21162,8.618,21163,8.618]],["title/injectables/TeamPermissionsMapper.html",[539,0.921,4726,5.765]],["body/injectables/TeamPermissionsMapper.html",[0,0.301,3,0.019,4,0.019,5,0.01,7,0.128,8,1.351,10,3.616,27,0.367,29,0.705,30,0.001,31,0.509,32,0.115,33,0.426,35,1.078,95,0.144,100,3.807,101,0.014,103,0.001,104,0.001,153,2.042,226,1.3,236,1.448,324,6.833,333,3.794,349,1.151,539,1.498,541,2.135,662,3.783,685,3.726,1678,5.431,1679,5.944,4544,6.418,4631,10.067,4635,6.99,4653,9.052,4688,7.845,4696,10.381,4711,7.796,4726,9.381,4749,11.861,4785,10.343,4787,8.235,19697,6.803,21128,10.343,21164,8.901,21165,11.179,21166,11.179,21167,8.901,21168,8.901,21169,8.901,21170,8.901,21171,8.901,21172,8.901,21173,8.901]],["title/classes/TeamRoleDto.html",[0,0.232,4694,5.765]],["body/classes/TeamRoleDto.html",[0,0.4,2,1.079,3,0.021,4,0.021,5,0.011,7,0.14,27,0.488,30,0.001,32,0.153,47,0.93,95,0.14,101,0.015,103,0.001,104,0.001,112,0.905,138,2.122,148,3.028,150,2.199,245,3.274,808,5.048,3970,8.779,4688,8.935,4694,9.927,4748,9.498,6061,8.632,21149,11.78,21174,9.755,21175,9.755,21176,9.755]],["title/classes/TeamRolePermissionsDto.html",[0,0.232,4655,5.563]],["body/classes/TeamRolePermissionsDto.html",[0,0.303,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.546,29,0.71,30,0.001,31,0.512,32,0.172,33,0.429,47,0.948,101,0.014,103,0.001,104,0.001,112,0.859,119,2.328,181,3.03,276,5.862,379,1.131,381,3.032,1723,6.214,3970,8.453,3975,8.289,4600,9.158,4655,10.716,4658,10.738,4660,6.738,8985,8.289,8986,8.289,10471,6.684,10499,7.036,21156,8.289,21158,8.289,21159,10.386,21160,8.289,21161,8.289,21177,13.501,21178,8.959,21179,8.959,21180,8.959]],["title/injectables/TeamRule.html",[539,0.921,1772,5.765]],["body/injectables/TeamRule.html",[0,0.272,3,0.018,4,0.018,5,0.009,7,0.115,8,1.266,27,0.481,29,0.923,30,0.001,31,0.666,32,0.16,33,0.557,35,1.269,95,0.146,101,0.012,103,0.001,104,0.001,119,2.56,131,4.427,145,2.259,154,2.681,177,1.495,226,1.174,239,3.214,345,2.553,349,1.079,379,1.015,437,1.06,528,4.13,539,1.403,541,1.928,604,3.307,662,4.062,1147,2.447,1670,6.729,1697,8.195,1718,4.851,1735,7.81,1772,8.789,1875,6.796,1879,6.54,3411,6.994,3412,5.452,3415,6.892,3418,5.452,3420,5.997,7096,8.269,13382,7.489,21131,7.437,21181,8.038,21182,8.038,21183,8.038,21184,8.038,21185,10.473,21186,8.038,21187,8.038]],["title/injectables/TeamService.html",[539,0.921,21188,6.018]],["body/injectables/TeamService.html",[0,0.282,3,0.018,4,0.018,5,0.009,7,0.12,8,1.298,26,2.722,27,0.489,29,0.94,30,0.001,31,0.679,32,0.154,33,0.567,35,1.3,36,2.681,39,3.187,95,0.14,99,1.351,101,0.013,103,0.001,104,0.001,177,1.553,226,1.22,227,3.466,262,2.925,345,2.653,349,1.106,379,1.055,437,1.416,539,1.438,541,2.004,608,2.746,662,4.104,1810,9.143,7096,5.096,12768,7.924,13469,9.933,21188,9.404,21189,8.352,21190,10.736,21191,10.736,21192,8.352,21193,8.352,21194,10.736,21195,8.352,21196,10.736,21197,8.352,21198,8.352,21199,8.352,21200,8.352,21201,8.352,21202,8.352,21203,8.352]],["title/classes/TeamUrlParams.html",[0,0.232,21141,6.018]],["body/classes/TeamUrlParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,34,1.988,47,0.838,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,138,1.775,142,4.657,143,2.644,144,3.869,145,3.354,148,3.072,150,2.231,153,2.271,245,3.069,808,4.731,3876,5.849,3970,8.835,4622,7.452,21141,10.453,21204,9.897,21205,9.897]],["title/classes/TeamUserDto.html",[0,0.232,16252,5.563]],["body/classes/TeamUserDto.html",[0,0.37,2,0.953,3,0.019,4,0.019,5,0.01,7,0.124,26,2.211,27,0.523,29,0.683,30,0.001,31,0.626,32,0.164,33,0.412,34,1.436,39,3.234,47,0.954,95,0.102,99,1.394,100,2.935,101,0.017,103,0.001,104,0.001,112,0.838,181,3.25,191,4.625,192,5.381,201,2.315,379,1.088,381,2.916,404,3.444,405,4.556,1726,3.69,2044,3.35,2368,5.448,4266,4.075,4342,3.814,4343,5.043,4344,6.429,4620,7.832,4688,9.179,4748,8.983,10536,6.289,11908,7.548,11909,7.548,12768,5.755,13381,6.289,13390,6.767,16252,10.825,17194,7.548,18281,7.231,21101,7.973,21102,7.548,21103,7.231,21107,7.973,21206,10.953,21207,8.618,21208,8.618]],["title/classes/TeamUserEntity.html",[0,0.232,13382,4.913]],["body/classes/TeamUserEntity.html",[0,0.305,2,0.713,3,0.014,4,0.014,5,0.007,7,0.093,27,0.531,29,0.824,30,0.001,31,0.679,32,0.159,33,0.498,35,1.093,39,2.795,47,0.634,62,3.809,72,2.91,95,0.14,96,2.388,101,0.017,103,0,104,0,105,0.919,112,0.69,138,1.867,143,1.428,154,1.809,172,2.808,173,1.869,174,3.428,175,2.881,178,2.545,180,1.117,181,2.809,182,2.041,191,5.585,236,1.049,239,3.197,276,5.683,349,1.072,379,0.814,381,2.181,480,3.301,517,3.926,519,2.777,603,2.149,644,6.101,654,3.394,686,4.094,1732,3.383,2044,2.506,2130,4.703,2562,5.311,2670,2.956,3606,4.372,4266,3.522,4332,4.842,4342,2.853,4343,6.09,4346,8.173,5094,5.501,6770,3.977,6772,3.602,6793,3.89,7000,7.059,7096,3.932,7133,4.241,10089,5.646,10688,4.703,10689,4.703,11915,4.703,11916,4.926,12768,4.304,13379,7.084,13380,5.408,13381,6.583,13382,9.027,13383,5.061,13384,9.129,13385,5.408,13386,5.408,13387,5.408,13388,5.408,13389,5.408,13390,5.061,13391,5.408,13392,5.408,21209,6.445,21210,6.445,21211,6.445,21212,6.445,21213,6.445,21214,6.445,21215,6.445,21216,6.445,21217,6.445,21218,6.445,21219,6.445]],["title/classes/TeamUserFactory.html",[0,0.232,21118,6.018]],["body/classes/TeamUserFactory.html",[0,0.155,2,0.508,3,0.01,4,0.01,5,0.005,7,0.066,8,0.85,27,0.538,29,1.042,30,0.001,31,0.722,32,0.173,33,0.604,34,1.424,35,1.453,39,2.927,47,0.822,55,2.318,59,3.179,95,0.129,99,0.742,101,0.007,103,0,104,0,112,0.538,120,2.97,133,2.418,140,2.502,153,1.961,154,2.072,155,2.287,177,1.308,180,1.219,236,0.747,239,2.247,271,4.679,276,5.315,319,2.97,349,0.88,379,0.58,382,3.808,413,2.117,437,1.543,447,7.061,448,4.391,449,5.265,452,3.865,453,5.265,454,5.531,455,3.865,456,3.865,457,3.865,458,3.803,459,4.305,460,4.698,461,5.848,462,5.586,463,6.898,464,2.544,469,2.523,470,3.865,471,2.544,472,4.957,473,5.103,474,4.065,475,4.825,476,3.834,477,2.523,478,2.392,479,3.994,480,3.255,481,2.463,482,2.427,483,2.523,484,4.889,485,2.544,486,3.522,487,4.623,488,2.523,489,7.029,490,4.157,491,6.431,492,2.544,493,4.171,494,2.523,495,2.544,496,2.523,497,2.544,498,2.523,499,2.832,500,2.66,501,2.523,502,5.893,503,2.544,504,2.523,505,3.865,506,3.638,507,3.865,508,2.544,509,2.445,510,2.427,511,2.031,512,2.523,513,2.523,514,2.523,515,2.544,516,2.544,517,1.731,518,2.523,519,1.413,520,2.544,521,2.777,522,2.523,523,2.544,525,2.635,527,4.156,648,3.282,654,3.522,2141,6.506,3140,4.305,4367,3.851,6985,3.604,6995,5.522,13382,5.028,20104,7.487,21112,6.506,21114,6.506,21118,7.487,21220,4.59,21221,4.59,21222,7.032,21223,4.59,21224,4.59,21225,4.59,21226,4.246,21227,4.59,21228,4.59,21229,4.59,21230,4.246,21231,4.59]],["title/modules/TeamsApiModule.html",[201,1.845,19580,5.563]],["body/modules/TeamsApiModule.html",[0,0.334,3,0.022,4,0.022,5,0.011,30,0.001,95,0.141,101,0.015,103,0.001,104,0.001,201,3.438,203,3.581,204,3.838,205,3.946,206,3.93,207,3.915,208,4.398,209,4.512,218,4.763,219,3.868,220,3.78,222,6.165,223,4.115,225,4.743,226,1.442,19580,11.193,21232,9.873,21233,9.873,21234,11.599,21235,9.873,21236,9.873]],["title/modules/TeamsModule.html",[201,1.845,21234,5.765]],["body/modules/TeamsModule.html",[0,0.321,3,0.021,4,0.021,5,0.011,30,0.001,95,0.149,101,0.015,103,0.001,104,0.001,201,3.378,203,3.439,204,3.686,205,3.79,206,3.774,207,3.759,208,4.641,209,4.761,218,4.647,219,3.715,220,3.63,226,1.385,227,3.935,560,3.901,1810,9.44,21188,12.549,21234,11.839,21237,9.482,21238,9.482,21239,9.482,21240,9.482]],["title/injectables/TeamsRepo.html",[539,0.921,1810,4.737]],["body/injectables/TeamsRepo.html",[0,0.206,3,0.013,4,0.013,5,0.007,7,0.088,8,1.049,10,3.524,12,3.897,13,6.087,18,4.34,26,2.508,27,0.524,29,0.957,30,0.001,31,0.691,32,0.161,33,0.578,34,1.445,35,1.463,36,2.805,39,2.712,40,4.183,42,6.087,49,2.275,55,1.246,62,3.604,95,0.13,96,1.614,97,2.488,99,0.986,101,0.009,103,0,104,0,112,0.664,145,2.438,154,1.223,155,2.821,180,1.504,226,0.891,236,0.992,239,2.035,262,2.979,276,5.395,333,2.599,349,1.197,382,3.275,437,1.144,479,4.86,480,2.413,486,2.611,539,1.162,541,1.463,603,2.085,608,2.876,679,7.133,685,3.632,686,3.937,687,4.958,692,7.598,711,3.641,712,3.68,713,3.641,714,3.68,716,3.641,717,3.68,718,3.248,725,4.449,933,4.807,1002,5.884,1732,4.553,1810,5.981,3140,4.369,3697,4.204,3953,4.788,4622,5.417,4741,7.345,7096,6.16,12768,8.065,13382,6.203,16248,5.116,18594,9.342,18600,8.026,18604,5.641,20229,5.641,21241,6.097,21242,7.598,21243,6.097,21244,7.598,21245,6.097,21246,6.097,21247,6.097,21248,6.097,21249,6.097,21250,6.097,21251,6.097,21252,6.097,21253,6.097,21254,6.097,21255,6.097,21256,6.097]],["title/injectables/TemporaryFileRepo.html",[539,0.921,12180,5.563]],["body/injectables/TemporaryFileRepo.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.085,8,1.023,10,3.44,12,3.804,18,4.236,26,2.749,27,0.537,29,0.997,30,0.001,31,0.72,32,0.163,33,0.602,34,0.982,35,1.553,36,2.874,39,3.381,40,2.842,47,0.839,49,3.159,83,2.435,95,0.128,99,0.953,101,0.009,103,0,104,0,154,1.698,155,2.753,159,5.421,180,1.468,226,0.861,236,1.378,262,3.086,349,1.23,382,3.225,437,1.117,479,4.827,539,1.134,541,1.414,679,7.063,685,3.545,686,3.843,687,4.865,711,3.519,712,3.557,713,3.519,714,3.557,715,4.064,716,3.519,717,3.557,718,3.139,723,4.215,740,8.278,1105,6.156,1818,7.233,2374,4.773,5826,7.86,8505,7.416,11746,7.416,12180,6.856,12186,6.471,12221,9.088,21257,12.302,21258,5.894,21259,8.467,21260,8.467,21261,10.83,21262,8.467,21263,8.467,21264,5.894,21265,8.467,21266,5.894,21267,8.467,21268,5.894,21269,5.894,21270,8.467,21271,5.894,21272,5.894]],["title/injectables/TemporaryFileStorage.html",[539,0.921,12181,5.765]],["body/injectables/TemporaryFileStorage.html",[0,0.149,3,0.01,4,0.01,5,0.014,7,0.063,8,0.822,27,0.499,29,0.958,30,0.001,31,0.692,32,0.157,33,0.579,35,1.434,36,2.743,39,3,47,0.981,55,2.07,59,2.094,83,2.694,95,0.14,101,0.007,103,0,104,0,177,1.265,226,0.642,236,1.107,239,3.035,262,2.922,349,1.103,360,2.229,379,0.859,437,1.473,480,1.223,486,1.323,519,2.094,528,2.259,529,1.258,539,0.911,541,1.055,556,2.288,591,2.479,603,2.499,608,2.67,639,2.072,662,4.1,696,3.641,708,1.764,765,2.853,813,3.085,824,1.562,1105,6.163,1125,2.682,1147,1.338,1215,2.416,1217,2.479,1731,3.28,1818,2.936,1822,2.625,2024,2.049,2405,2.982,2487,3.544,2837,4.773,3130,2.653,3172,3.36,3601,1.771,4731,4.067,5515,2.598,5826,8.271,5883,2.524,6441,5.234,6523,4.964,7047,3.689,8189,6.293,8200,6.982,8228,3.851,10337,2.713,10369,3.689,10930,3.851,10959,3.689,11333,3.56,11393,6.834,11438,4.067,11460,3.56,11930,3.031,11987,11.433,12180,7.583,12181,5.708,12186,3.36,12189,3.851,12218,3.56,12232,5.958,14765,3.085,21273,12.318,21274,6.802,21275,6.802,21276,6.802,21277,6.802,21278,6.802,21279,8.32,21280,8.32,21281,4.396,21282,6.802,21283,4.396,21284,6.802,21285,4.396,21286,6.802,21287,4.396,21288,6.802,21289,4.396,21290,4.396,21291,4.396,21292,6.802,21293,4.396,21294,4.396,21295,9.365,21296,9.365,21297,4.396,21298,6.802,21299,4.396,21300,4.396,21301,8.32,21302,9.365,21303,9.365,21304,4.396,21305,6.802,21306,4.396,21307,4.396,21308,4.396,21309,4.396,21310,4.396,21311,4.396,21312,4.396,21313,4.396,21314,4.396,21315,4.396,21316,4.396,21317,4.396,21318,4.396,21319,4.396,21320,4.396,21321,10.128,21322,6.802,21323,4.396,21324,4.396,21325,4.396,21326,4.396,21327,4.396,21328,4.396,21329,4.396,21330,8.32,21331,4.396,21332,4.396,21333,4.396,21334,4.396,21335,4.396,21336,3.689,21337,4.396,21338,4.396]],["title/classes/TestApiClient.html",[0,0.232,1510,6.018]],["body/classes/TestApiClient.html",[0,0.124,2,0.405,3,0.008,4,0.008,5,0.004,7,0.053,8,0.712,10,2.393,27,0.519,29,0.961,30,0.001,31,0.694,32,0.161,33,0.58,35,1.446,36,1.261,47,0.991,51,2.792,55,1.51,59,3.049,87,2.986,94,4.61,95,0.1,99,0.593,101,0.006,103,0,104,0,105,0.373,112,0.451,119,1.222,128,2.403,133,3.58,137,3.678,153,0.84,177,2.078,226,0.535,236,1.377,261,1.756,262,1.63,271,1.357,284,3.382,324,5.278,334,3.822,349,1.229,360,6.312,379,0.463,429,2.62,437,1.755,480,2.579,486,2.792,529,1.686,531,5.16,593,1.367,603,2.783,608,0.848,662,3.967,696,2.29,708,1.47,755,3.876,824,3.52,990,1.256,1086,4.626,1218,1.387,1288,6.928,1478,6.217,1495,7.413,1496,11.756,1497,3.389,1498,4.933,1499,9.633,1500,5.16,1501,3.389,1502,3.389,1503,2.673,1504,3.209,1505,3.389,1506,3.074,1507,3.389,1508,3.389,1509,3.209,1510,6.471,1511,3.389,1512,2.287,1513,3.389,1514,5.45,1515,4.212,1516,5.16,1517,4.943,1518,4.77,1519,3.351,1520,7.228,1521,9.633,1522,6.835,1523,5.45,1524,5.45,1525,5.45,1526,3.389,1527,9.164,1528,3.389,1529,5.45,1530,10.61,1531,8.579,1532,10.61,1533,3.389,1534,5.45,1535,8.579,1536,3.389,1537,7.83,1538,5.45,1539,3.389,1540,6.199,1541,5.45,1542,3.389,1543,5.45,1544,5.45,1545,3.389,1546,3.389,1547,3.389,1548,3.389,1549,5.45,1550,3.389,1551,3.209,1552,5.45,1553,5.647,1554,7.83,1555,3.389,1556,5.45,1557,3.389,1558,8.579,1559,5.45,1560,5.45,1561,3.389,1562,5.45,1563,5.45,1564,3.389,1565,3.389,1566,5.45,1567,7.83,1568,2.346,1569,3.389,1570,5.45,1571,3.389,1572,3.389,1573,3.389,1574,3.389,1575,3.389,1576,3.389,1577,3.389,1578,3.389,2962,3.321,4081,3.724,21339,5.89,21340,5.89,21341,5.89,21342,5.89,21343,5.89,21344,3.663,21345,3.663,21346,3.663,21347,3.663,21348,3.663,21349,9.273,21350,3.663,21351,3.663,21352,3.663,21353,3.663,21354,3.663,21355,3.663,21356,3.663,21357,3.663,21358,3.663,21359,3.663]],["title/classes/TestBootstrapConsole.html",[0,0.232,21360,6.357]],["body/classes/TestBootstrapConsole.html",[0,0.297,2,0.972,3,0.019,4,0.019,5,0.01,7,0.126,8,1.34,27,0.362,30,0.001,35,1.064,36,2.601,47,0.617,95,0.155,101,0.017,103,0.001,104,0.001,180,1.922,207,3.483,225,3.497,262,1.938,349,1.142,437,1.462,521,3.469,608,2.033,685,5.342,934,5.302,996,4.236,997,4.095,998,4.187,999,4.424,1000,4.829,1953,6.411,1954,6.282,2653,6.899,3505,5.867,3513,6.058,3515,7.009,3516,5.246,3518,6.899,8043,6.899,19555,9.712,21360,10.258,21361,11.087,21362,11.087,21363,8.785,21364,12.149,21365,8.785,21366,8.128,21367,8.785,21368,6.715,21369,8.128,21370,8.785,21371,8.785,21372,11.087,21373,8.128,21374,8.785,21375,8.785,21376,11.087,21377,8.785,21378,7.695,21379,6.554,21380,8.785,21381,8.785]],["title/classes/TestHelper.html",[0,0.232,21382,6.357]],["body/classes/TestHelper.html",[0,0.287,2,0.94,3,0.019,4,0.019,5,0.013,7,0.122,27,0.448,30,0.001,31,0.621,47,0.762,95,0.141,101,0.013,103,0.001,104,0.001,105,0.865,112,0.83,284,2.57,349,1.117,413,4.009,437,1.756,480,3.018,486,3.266,662,3.359,1215,6.573,1217,4.788,2882,4.047,3601,3.422,5838,4.875,6419,5.604,6519,7.614,6520,5.24,6521,5.124,6522,7.216,10337,5.24,10869,7.14,10870,11.038,19957,7.438,21382,10.039,21383,11.958,21384,11.958,21385,11.958,21386,8.492,21387,8.492,21388,8.492,21389,8.492,21390,8.492,21391,8.492,21392,8.492,21393,8.492,21394,8.492]],["title/injectables/TimeoutInterceptor.html",[539,0.921,13900,6.018]],["body/injectables/TimeoutInterceptor.html",[0,0.268,3,0.017,4,0.017,5,0.009,7,0.114,8,1.255,27,0.428,29,0.822,30,0.001,31,0.594,32,0.135,33,0.496,35,0.96,55,2.365,95,0.145,101,0.012,103,0.001,104,0.001,131,3.013,141,4.865,153,1.819,177,1.474,226,1.158,236,1.689,259,3.974,274,6.264,345,2.518,349,1.192,379,1.001,437,1.369,521,4.57,539,1.391,541,1.902,604,3.262,966,5.217,967,6.226,968,6.06,990,2.718,1147,2.413,1243,6.932,2175,7.574,2244,8.845,4018,8.633,4729,6.932,6693,8.405,8686,9.092,8688,9.092,8689,10.754,8690,10.754,8692,9.092,8909,6.06,12491,8.405,12640,9.603,13900,9.092,14260,9.092,18357,10.707,18365,7.336,18367,7.336,18743,8.71,21395,7.929,21396,10.38,21397,9.603,21398,7.929,21399,7.929,21400,7.929,21401,10.38,21402,11.572,21403,10.38,21404,7.929,21405,10.38,21406,7.929,21407,7.929,21408,7.929,21409,7.929]],["title/classes/TimestampsResponse.html",[0,0.232,3720,4.02]],["body/classes/TimestampsResponse.html",[0,0.308,2,1.007,3,0.02,4,0.02,5,0.01,7,0.131,27,0.533,29,0.721,30,0.001,31,0.52,32,0.167,33,0.59,83,3.899,95,0.107,101,0.014,103,0.001,104,0.001,112,0.867,138,2.214,149,4.763,150,2.051,245,3.419,376,5.401,379,1.431,406,5.492,774,4.644,3720,7.779,3737,9.506,10414,10.161,10475,7.369,21410,9.1,21411,9.1,21412,9.1,21413,9.1,21414,9.1,21415,9.1]],["title/injectables/ToggleUserLoginMigrationUc.html",[539,0.921,21416,5.765]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.22,3,0.014,4,0.014,5,0.007,7,0.093,8,1.097,27,0.431,29,0.828,30,0.001,31,0.598,32,0.135,33,0.5,35,1.099,36,2.422,39,2.437,47,0.97,95,0.152,99,1.051,101,0.01,103,0,104,0,119,2.167,128,5.266,131,3.447,177,2.104,226,0.949,236,1.701,239,2.968,262,2.719,349,0.669,379,1.146,437,1.378,529,2.991,539,1.215,541,1.559,560,2.673,593,2.424,603,2.336,608,2.754,643,2.919,654,3.146,990,2.227,1338,3.012,1341,2.088,1670,4.946,1675,3.964,1758,6.739,1855,3.964,1861,6.487,1959,7.151,1961,6.878,1963,3.663,1964,5.114,2312,5.251,2520,6.767,2531,3.012,2535,4.559,2544,4.847,4266,4.368,4565,5.108,4567,5.261,4570,5.261,4571,8.815,4578,5.886,4580,7.064,4582,7.124,4583,4.966,4584,5.102,4585,5.452,4587,7.124,4589,8.77,4590,6.767,4597,4.966,4598,5.452,12675,8.878,14957,5.261,17606,5.452,18411,5.691,19978,7.345,21416,7.612,21417,11.312,21418,7.946,21419,6.497,21420,6.497,21421,9.071,21422,6.497,21423,5.691,21424,6.497,21425,6.497]],["title/injectables/TokenGenerator.html",[539,0.921,19830,5.563]],["body/injectables/TokenGenerator.html",[0,0.336,3,0.022,4,0.022,5,0.011,7,0.143,8,1.447,27,0.41,30,0.001,35,1.205,95,0.152,101,0.015,103,0.001,104,0.001,124,6.067,226,1.453,349,1.024,437,1.312,539,1.604,541,2.386,12340,10.043,13083,10.083,13085,6.642,13086,6.545,17625,9.202,19830,9.692,21426,11.969,21427,13.324,21428,9.946,21429,9.946]],["title/classes/TokenRequestMapper.html",[0,0.232,16422,6.018]],["body/classes/TokenRequestMapper.html",[0,0.284,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,8,1.303,27,0.445,29,0.854,30,0.001,31,0.617,32,0.14,33,0.516,35,1.306,47,0.99,95,0.141,101,0.013,103,0.001,104,0.001,105,0.856,121,5.53,236,1.754,349,1.11,413,3.998,824,2.986,951,5.883,1387,10.164,1389,6.805,1391,6.009,1392,6.805,1393,7.361,1394,7.361,1398,7.775,1401,7.775,1402,7.052,1403,6.269,1498,5.612,5643,5.993,6161,6.599,12269,9.16,12402,7.746,16422,9.442,16424,10.164,16481,11.614,16487,7.775,17122,6.805,21430,11.9,21431,11.9,21432,10.779,21433,8.404,21434,8.404,21435,10.779,21436,8.404,21437,8.404,21438,8.404,21439,8.404]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.232,21440,6.357]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.239,2,0.783,3,0.015,4,0.015,5,0.008,7,0.102,8,1.163,27,0.543,29,0.56,30,0.001,31,0.405,32,0.177,33,0.523,35,1.165,47,0.889,55,1.446,95,0.139,101,0.011,103,0.001,104,0.001,112,0.736,138,2.2,177,2.535,180,1.668,182,2.24,226,1.033,284,2.141,292,5.541,340,3.431,345,2.247,347,2.557,349,0.728,379,0.893,382,3.768,821,5.437,824,2.513,951,5.122,988,3.086,990,4.02,1025,4.65,1147,2.928,1269,8.242,1270,6.274,1271,3.661,1272,6.998,1276,4.59,1277,3.953,1278,4.59,1279,4.59,1280,4.59,1281,4.59,1282,4.59,1283,4.269,1284,4.024,1290,4.471,1291,5.555,1338,5.066,1339,5.655,1343,5.831,8829,5.695,8830,5.912,9276,4.471,9283,4.139,9284,4.316,9460,6.334,9466,7.299,9467,5.728,11324,5.935,11325,5.935,15201,9.937,21440,8.899,21441,10.929,21442,10.929,21443,7.073,21444,7.073,21445,7.073,21446,9.618]],["title/modules/ToolApiModule.html",[201,1.845,19581,5.563]],["body/modules/ToolApiModule.html",[0,0.187,3,0.012,4,0.012,5,0.006,30,0.001,95,0.166,101,0.009,103,0,104,0,131,3.63,201,2.566,203,2.004,204,2.148,205,2.208,206,2.2,207,2.191,208,3.526,209,2.092,214,5.443,218,3.229,219,2.165,220,2.116,222,3.45,223,3.368,225,3.216,226,0.807,227,2.293,564,4.014,643,2.482,654,3.163,1341,1.776,1650,3.115,1752,6.643,1827,8.712,1829,8.712,1944,2.334,1963,3.115,2531,2.561,2548,3.222,3044,3.115,3593,7.125,3603,2.783,3605,4.339,4673,8.522,5134,3.202,5429,8.522,5434,7.477,6298,9.8,6307,8.712,6323,4.339,6324,3.41,9046,9.457,9096,9.8,9374,8.926,9383,4.637,9645,9.8,9758,9.457,9927,9.8,14696,8.351,19221,9.8,19237,9.8,19294,9.8,19581,11.746,21447,5.526,21448,5.526,21449,5.526,21450,9.8,21451,9.8,21452,8.366,21453,8.366,21454,8.366,21455,8.366,21456,8.366,21457,8.366,21458,9.551,21459,4.474,21460,5.526,21461,9.551,21462,8.08,21463,5.112,21464,5.526,21465,5.526,21466,5.526]],["title/modules/ToolConfigModule.html",[201,1.845,9374,5.251]],["body/modules/ToolConfigModule.html",[0,0.349,3,0.023,4,0.023,5,0.011,30,0.001,95,0.145,101,0.016,103,0.001,104,0.001,201,3.288,203,3.745,208,3.811,209,3.909,226,1.508,636,6.041,1180,7.383,1650,5.821,1971,4.812,2548,3.483,9056,9.971,9374,9.355,13397,8.664,21467,10.325,21468,10.325]],["title/classes/ToolConfiguration.html",[0,0.232,13397,5.765]],["body/classes/ToolConfiguration.html",[0,0.304,2,0.996,3,0.02,4,0.02,5,0.01,7,0.129,27,0.371,30,0.001,32,0.117,47,0.863,55,2.51,95,0.106,101,0.019,103,0.001,104,0.001,105,0.917,112,0.861,119,2.9,413,3.698,437,1.187,480,2.503,486,3.389,1650,6.346,2079,3.983,2080,4.446,2081,4.289,3940,5.074,9054,9.389,9056,9.837,9329,10.759,9362,10.759,12411,6.104,13393,11.364,13394,11.364,13395,11.364,13396,8.326,13397,9.446,13398,10.414,13399,10.414,13400,10.414,13401,10.414,13402,9.446,21469,8.999]],["title/controllers/ToolConfigurationController.html",[259,2.631,21453,6.018]],["body/controllers/ToolConfigurationController.html",[0,0.168,3,0.011,4,0.011,5,0.006,7,0.071,8,0.901,27,0.411,29,0.79,30,0.001,31,0.57,32,0.167,33,0.477,35,1.207,36,2.565,95,0.138,100,1.689,101,0.008,103,0,104,0,131,4.426,138,1.788,150,1.118,153,2.287,177,0.922,223,2.067,226,0.724,259,1.899,261,2.378,262,2.835,270,6.381,271,4.761,274,6.015,294,6.545,319,4.21,333,4.555,335,6.449,337,2.584,338,2.641,343,2.662,345,1.575,346,5.952,349,1.026,437,1.581,564,4.023,608,2.307,654,3.506,662,3.978,1077,7.708,1778,1.943,2079,5.304,2417,7.396,2546,4.901,2548,4.043,2627,4.456,2764,2.35,2963,2.603,3779,5.891,4544,6.88,5985,8.364,5987,8.071,6057,7.618,6315,8.121,6375,8.731,7336,3.791,9061,7.52,9075,6.532,9096,7.52,9101,8.291,9102,8.291,10527,6.081,10939,9.222,14480,4.588,14787,7.257,14789,6.54,14790,6.54,15195,8.364,17902,7.972,19160,8.364,19162,8.071,19174,7.827,19350,7.827,21453,6.532,21459,8.654,21470,8.962,21471,8.962,21472,4.959,21473,7.457,21474,7.457,21475,4.588,21476,4.959,21477,4.959,21478,7.457,21479,4.959,21480,4.959,21481,4.959,21482,6.899,21483,7.457,21484,7.457,21485,7.457,21486,4.959,21487,4.959,21488,7.457,21489,7.457,21490,4.959,21491,4.344,21492,4.959,21493,4.959,21494,3.895,21495,4.588,21496,4.959,21497,4.588,21498,4.959,21499,4.959,21500,4.344,21501,4.344,21502,4.959,21503,4.959,21504,4.588,21505,4.959,21506,4.959,21507,4.162,21508,4.959]],["title/classes/ToolConfigurationMapper.html",[0,0.232,21491,6.018]],["body/classes/ToolConfigurationMapper.html",[0,0.228,2,0.747,3,0.015,4,0.015,5,0.008,7,0.097,8,1.127,27,0.475,29,0.988,30,0.001,31,0.714,32,0.149,33,0.55,35,1.393,95,0.136,101,0.01,103,0,104,0,236,1.872,349,1.185,413,4.104,437,1.687,564,2.115,790,3.402,1778,2.647,1898,3.626,2546,5.536,2548,3.6,2627,6.655,2764,3.202,3731,4.512,4544,7.481,5111,5.041,5985,8.955,5987,9.774,5991,6.541,5992,5.302,5993,4.93,9060,7.548,9061,10.731,9083,5.669,9093,7.821,9132,7.548,9339,6.665,9418,7.124,9758,5.471,9782,8.164,19160,8.955,19162,9.774,21491,8.164,21509,11.167,21510,6.756,21511,10.671,21512,10.671,21513,10.671,21514,10.671,21515,6.756,21516,6.756,21517,9.321,21518,6.756,21519,6.756,21520,10.671,21521,6.756,21522,6.756,21523,6.756,21524,6.756,21525,9.321,21526,8.624,21527,6.756,21528,6.756,21529,6.756,21530,6.756,21531,6.756,21532,6.756]],["title/controllers/ToolContextController.html",[259,2.631,21455,6.018]],["body/controllers/ToolContextController.html",[0,0.147,3,0.009,4,0.009,5,0.005,7,0.062,8,0.815,10,1.767,27,0.416,29,0.798,30,0.001,31,0.576,32,0.167,33,0.482,34,1.967,35,1.488,36,2.582,95,0.143,100,1.481,101,0.007,103,0,104,0,131,3.538,138,1.807,141,3.161,150,0.98,153,2.446,177,1.254,223,1.813,226,0.635,236,0.708,239,1.938,259,1.665,261,2.085,262,2.848,270,6.396,271,4.621,273,5.156,274,6.938,280,2.999,282,4.212,283,5.099,284,2.042,285,4.439,294,6.56,301,4.505,305,3.909,319,3.933,324,5.985,330,6.42,333,4.295,335,6.435,336,4.212,337,2.266,338,2.317,340,2.11,343,2.334,345,1.381,346,6.017,347,1.572,348,2.19,349,0.959,437,1.62,564,3.696,603,0.898,608,2.332,631,2.205,824,4.085,1284,2.474,1341,1.398,1778,1.704,1899,7.079,2205,4.824,2312,1.805,2313,3.078,2368,5.224,2548,1.467,2764,2.061,2961,3.11,2962,3.803,2963,2.283,3779,6.574,3865,4.923,4081,2.749,4858,2.625,5949,6.239,6013,7.813,6016,2.749,6057,9.221,6073,9.335,6126,3.11,6159,3.81,6166,7.238,6170,3.81,6180,9.559,6192,3.324,6201,3.65,6270,7.238,6273,7.238,6290,7.954,6298,6.934,6301,7.645,6303,7.645,6304,7.645,6305,7.645,6315,4.319,6334,4.024,6338,4.024,7336,5.156,9281,3.522,14788,5.909,14789,6.794,14790,7.781,17902,7.954,21455,5.909,21459,8.634,21494,3.415,21500,5.909,21501,5.909,21507,7.813,21526,4.024,21533,4.349,21534,4.349,21535,4.349,21536,3.81,21537,4.349,21538,3.81,21539,4.349,21540,4.349,21541,4.349,21542,4.349,21543,4.349,21544,4.349,21545,4.349,21546,4.349,21547,6.746,21548,4.349,21549,4.349,21550,4.349,21551,4.349,21552,4.349,21553,4.349,21554,4.349,21555,4.349,21556,4.349,21557,5.909,21558,6.934,21559,4.349,21560,6.746,21561,4.349,21562,4.349,21563,4.349,21564,4.349,21565,3.81,21566,4.349,21567,4.349,21568,4.349,21569,4.024,21570,4.349,21571,4.349,21572,4.349,21573,4.349,21574,4.349,21575,4.349,21576,4.349,21577,4.349]],["title/controllers/ToolController.html",[259,2.631,21457,6.018]],["body/controllers/ToolController.html",[0,0.127,3,0.008,4,0.008,5,0.004,7,0.054,8,0.728,10,1.53,27,0.414,29,0.794,30,0.001,31,0.574,32,0.166,33,0.48,34,1.822,35,1.401,36,2.682,95,0.148,99,0.609,100,1.282,101,0.006,103,0,104,0,138,1.798,141,4.029,150,0.849,153,2.71,177,1.599,223,1.569,226,0.55,236,0.613,239,2.645,247,1.62,259,1.442,261,1.805,262,2.842,270,6.216,271,4.376,273,4.602,274,3.634,280,2.596,282,5.368,283,5.802,284,2.602,285,5.657,292,3.052,294,6.375,301,4.021,305,4.982,310,4.354,316,3.257,319,2.543,324,3.814,330,6.483,333,3.664,335,6.353,336,4.698,337,1.962,338,2.005,340,1.826,343,2.021,346,5.987,347,2.176,348,3.032,349,0.968,379,0.475,437,1.652,481,3.232,490,2.14,560,1.549,564,2.692,603,1.775,608,2.176,631,1.909,822,2.921,824,3.563,836,6.033,1284,2.142,1341,1.21,1778,1.475,2205,4.306,2312,1.563,2313,2.747,2350,4.447,2368,5.435,2546,4.828,2548,3.805,2627,6.406,2764,1.784,2961,2.692,2962,3.395,2963,1.976,3779,5.556,3865,2.748,4042,3.674,4544,5.756,5231,2.692,5967,2.692,6315,6.02,6861,5.188,6863,6.101,6865,2.248,7150,3.674,7567,6.187,9060,4.876,9106,5.613,9153,7.214,9266,10.699,9267,6.314,9273,3.484,9281,4.876,9317,3.484,9538,4.602,9645,5.053,9659,5.274,9661,7.214,9685,7.214,9687,6.093,9690,7.214,9692,5.274,9747,8.856,9758,3.049,9804,7.214,9814,6.591,9815,6.591,9819,6.591,9927,6.314,9929,6.961,9930,6.961,11651,3.298,11652,3.298,13615,3.298,13620,5.053,14787,4.876,14789,5.491,14790,7.317,17902,7.014,21457,5.274,21494,2.957,21536,3.298,21538,5.274,21557,5.274,21558,5.053,21565,3.298,21578,3.765,21579,3.765,21580,6.021,21581,3.765,21582,10.027,21583,3.765,21584,3.765,21585,3.765,21586,3.765,21587,3.484,21588,6.751,21589,3.765,21590,3.765,21591,3.765,21592,3.765,21593,3.484,21594,3.765,21595,3.765,21596,3.765,21597,3.765,21598,3.765,21599,3.765,21600,3.765,21601,3.765,21602,3.765,21603,3.765,21604,3.765,21605,3.765,21606,3.765,21607,3.765,21608,3.765,21609,3.765,21610,3.765,21611,3.765,21612,3.765,21613,6.021,21614,5.571,21615,3.765,21616,3.765,21617,3.765,21618,3.765,21619,3.765,21620,3.765,21621,3.765,21622,3.765,21623,9.402,21624,3.765,21625,3.765,21626,3.765,21627,3.765,21628,3.765,21629,3.765,21630,3.765,21631,3.765,21632,3.765,21633,3.765,21634,3.765,21635,3.765,21636,3.298,21637,3.765,21638,3.765]],["title/controllers/ToolLaunchController.html",[259,2.631,21452,6.018]],["body/controllers/ToolLaunchController.html",[0,0.258,3,0.017,4,0.017,5,0.008,7,0.11,8,1.223,27,0.315,29,0.604,30,0.001,31,0.436,32,0.147,33,0.365,34,1.271,35,0.924,36,2.167,95,0.156,100,2.599,101,0.012,103,0.001,104,0.001,131,3.846,138,1.369,141,5.668,150,1.72,153,2.775,177,1.419,223,3.181,226,1.115,259,2.922,261,3.658,262,2.505,270,5.939,271,4.207,294,6.091,333,4.314,335,6.108,337,3.976,338,4.064,343,4.096,345,2.424,346,4.556,349,0.786,437,1.335,564,3.169,608,1.766,631,3.868,824,3.597,1650,5.707,1664,2.858,2548,4.364,2639,8.287,2651,8.077,2764,3.617,2963,4.005,3779,4.51,6315,7.271,11333,6.179,14789,7.386,14790,7.386,17902,7.551,21450,9.53,21452,8.866,21463,9.364,21494,5.993,21495,7.06,21507,6.403,21639,7.631,21640,10.507,21641,7.631,21642,10.594,21643,7.631,21644,7.631,21645,7.631,21646,7.631,21647,7.631,21648,8.866,21649,8.866,21650,7.631,21651,9.364,21652,9.53,21653,6.403,21654,7.631,21655,7.631,21656,7.631,21657,7.631]],["title/classes/ToolLaunchData.html",[0,0.232,2629,5.251]],["body/classes/ToolLaunchData.html",[0,0.294,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,27,0.541,29,0.688,30,0.001,31,0.497,32,0.18,33,0.416,47,0.774,95,0.13,101,0.013,103,0.001,104,0.001,112,1.003,119,2.284,172,2.706,181,2.973,284,3.333,379,1.098,381,2.941,1650,7.554,2195,6.877,2548,2.932,2557,6.215,2566,3.885,2567,6.215,2609,9.789,2629,10.023,2651,9.088,4404,5.245,7382,7.218,7417,6.099,7418,6.484,17788,8.041,21658,12.395,21659,11.012,21660,8.691,21661,8.691,21662,11.184,21663,8.691,21664,8.691,21665,8.691]],["title/classes/ToolLaunchMapper.html",[0,0.232,21653,5.765]],["body/classes/ToolLaunchMapper.html",[0,0.241,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,8,1.168,27,0.485,29,0.932,30,0.001,31,0.673,32,0.152,33,0.563,35,1.425,95,0.13,101,0.011,103,0.001,104,0.001,236,1.159,349,1.211,413,4.14,437,1.74,591,5.449,790,3.587,824,3.434,988,4.785,1262,3.377,1616,5.449,1650,6.933,1664,2.667,1929,3.497,2553,7.087,2556,6.782,2621,8.254,2639,9.253,2649,9.608,2657,6.59,7382,5.771,7456,4.622,7539,6.555,7543,6.664,7557,5.594,9256,5.977,9700,6.239,21652,9.87,21653,8.11,21662,11.732,21666,12.296,21667,7.123,21668,9.664,21669,9.664,21670,9.664,21671,9.664,21672,9.664,21673,7.123,21674,9.664,21675,7.123,21676,7.123,21677,9.664,21678,7.123,21679,7.123,21680,9.664,21681,7.123,21682,7.123,21683,7.123,21684,7.123,21685,7.123,21686,9.664,21687,9.664,21688,9.664,21689,7.123,21690,9.664,21691,7.123,21692,11.763,21693,7.123,21694,7.123]],["title/modules/ToolLaunchModule.html",[201,1.845,21695,5.765]],["body/modules/ToolLaunchModule.html",[0,0.217,3,0.014,4,0.014,5,0.007,30,0.001,95,0.161,101,0.01,103,0,104,0,131,2.442,201,2.791,203,2.33,204,2.498,205,2.568,206,2.558,207,2.547,208,3.835,209,3.934,218,3.597,219,2.517,220,2.46,225,3.583,226,0.938,363,3.622,560,2.644,564,3.253,654,2.71,1650,3.622,1826,6.011,1829,9.164,1830,4.688,1892,10.76,1906,10.76,1922,5.203,1952,10.76,1956,10.76,1963,3.622,2426,4.43,2548,3.505,2586,10.308,3132,5.203,3591,9.647,3593,7.495,3603,3.236,4608,6.105,4672,6.715,4679,5.045,5134,3.723,5429,8.964,5434,7.865,5576,4.911,6067,9.389,6068,9.647,14696,8.784,15445,10.76,16334,10.308,20907,5.203,21695,12.189,21696,6.425,21697,6.425,21698,6.425,21699,6.425,21700,11.343,21701,11.365,21702,6.425,21703,6.425,21704,6.425,21705,6.425,21706,6.425]],["title/classes/ToolLaunchParams.html",[0,0.232,21642,6.018]],["body/classes/ToolLaunchParams.html",[0,0.399,2,1.074,3,0.021,4,0.021,5,0.011,7,0.139,27,0.4,30,0.001,32,0.126,34,1.965,47,0.829,95,0.139,101,0.015,103,0.001,104,0.001,112,0.902,131,4.482,138,1.741,142,4.603,143,2.613,144,3.824,145,3.315,148,3.014,150,2.188,153,2.227,245,3.033,564,3.693,808,4.676,1650,6.65,2548,3.979,3294,7.164,3876,5.738,21642,10.332,21707,10.913,21708,9.708,21709,9.708]],["title/classes/ToolLaunchRequest.html",[0,0.232,2639,5.013]],["body/classes/ToolLaunchRequest.html",[0,0.297,2,0.972,3,0.019,4,0.019,5,0.01,7,0.126,27,0.543,29,0.696,30,0.001,31,0.502,32,0.171,33,0.581,47,0.896,95,0.104,101,0.014,103,0.001,104,0.001,112,0.848,119,2.299,141,4.117,181,2.993,379,1.109,381,2.973,591,7.194,1262,4.246,1616,6.85,1650,7.575,2613,10.194,2639,9.6,2651,9.109,6446,4.752,7382,7.254,7385,5.553,7417,6.165,7418,6.554,17554,7.114,18321,7.372,21658,12.43,21710,8.785,21711,11.087,21712,8.785,21713,8.785,21714,8.785,21715,8.128,21716,8.128]],["title/classes/ToolLaunchRequestResponse.html",[0,0.232,21652,5.765]],["body/classes/ToolLaunchRequestResponse.html",[0,0.243,2,0.795,3,0.016,4,0.016,5,0.008,7,0.103,27,0.509,29,0.569,30,0.001,31,0.411,32,0.16,33,0.622,47,0.829,95,0.115,101,0.011,103,0.001,104,0.001,112,0.744,119,2.016,138,2.117,141,5.958,142,4.607,143,2.154,145,3.318,150,1.62,153,2.708,181,2.624,236,1.582,245,3.172,379,0.907,381,2.432,480,2.704,556,1.756,591,6.954,821,5.472,839,3.026,1262,4.31,1616,6.954,1650,7.168,1664,2.691,1984,5.3,2492,7.979,2548,4.289,2613,10.35,2651,9.308,2665,6.294,2962,5.481,6446,3.887,7308,7.872,7382,6.579,7385,4.542,7417,5.043,7418,5.361,12612,7.872,17554,5.819,18321,6.03,21649,8.516,21652,10.35,21707,11.762,21715,6.648,21716,6.648,21717,7.186,21718,9.722,21719,7.186,21720,8.995,21721,7.186,21722,9.722,21723,7.186]],["title/injectables/ToolLaunchService.html",[539,0.921,21700,5.765]],["body/injectables/ToolLaunchService.html",[0,0.175,3,0.011,4,0.011,5,0.006,7,0.074,8,0.93,26,2.449,27,0.47,29,0.861,30,0.001,31,0.622,32,0.157,33,0.52,35,1.232,36,2.178,39,2.467,47,0.645,95,0.155,99,0.836,101,0.008,103,0,104,0,112,0.588,131,1.964,177,2.12,226,0.755,236,1.655,262,2.515,284,1.564,347,2.779,349,0.946,379,0.971,437,1.664,519,2.367,529,2.628,539,1.03,541,1.24,556,1.879,564,3.405,603,2.753,608,2.355,631,2.62,654,2.315,990,1.771,1226,2.492,1650,6.657,1664,1.935,1898,7.097,1899,6.946,1901,4.566,1929,2.537,1971,2.408,2548,2.594,2553,5.133,2586,10.18,2627,6.574,2629,8.714,2639,7.424,2647,5.09,2651,5.135,4608,7.377,5435,9.272,5451,5.499,5459,4.336,5993,6.702,6216,4.058,6217,3.626,6308,7.613,6324,4.745,6349,7.286,6354,4.058,7944,7.115,9145,4.526,9147,3.771,12494,8.045,13405,8.045,16334,10.18,19300,4.781,21653,4.336,21700,6.453,21701,11.224,21724,11.807,21725,5.167,21726,7.69,21727,7.69,21728,9.184,21729,9.184,21730,7.69,21731,7.69,21732,5.167,21733,7.69,21734,5.167,21735,5.167,21736,5.167,21737,5.167,21738,5.167,21739,4.526,21740,5.167,21741,5.167,21742,5.167,21743,5.167,21744,5.167,21745,5.167,21746,7.115,21747,5.167,21748,5.167,21749,5.167,21750,5.167,21751,7.69,21752,5.167,21753,4.781,21754,5.167]],["title/injectables/ToolLaunchUc.html",[539,0.921,21450,5.765]],["body/injectables/ToolLaunchUc.html",[0,0.262,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,26,2.675,27,0.422,29,0.811,30,0.001,31,0.585,32,0.133,33,0.49,35,0.94,36,2.191,39,2.085,95,0.159,99,1.256,101,0.012,103,0.001,104,0.001,131,4.627,177,2.13,226,1.134,262,2.526,349,0.799,379,1.293,437,1.606,539,1.371,541,1.862,560,3.194,564,3.205,603,2.365,608,2.651,643,4.599,1650,6.457,1664,2.907,1670,5.581,1675,4.736,1899,6.548,1901,3.859,2531,3.598,2629,8.754,2639,7.469,3044,4.376,3294,6.865,6069,8.6,6307,9.887,6323,6.095,6324,4.79,6332,6.799,6336,6.095,21450,8.589,21640,9.47,21700,10.907,21746,9.47,21755,11.453,21756,7.762,21757,7.762,21758,7.762,21759,10.236,21760,7.762,21761,7.181,21762,7.762,21763,7.762]],["title/modules/ToolModule.html",[201,1.845,1827,5.125]],["body/modules/ToolModule.html",[0,0.252,3,0.016,4,0.016,5,0.008,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,131,2.836,201,3.017,203,2.707,204,2.901,205,2.983,206,2.971,207,2.959,208,4.146,209,4.252,218,3.986,219,2.924,220,2.857,225,3.97,226,1.09,493,3.642,560,3.071,564,3.516,654,2.247,1726,3.195,1739,3.441,1743,5.861,1826,6.66,1827,10.693,1832,4.102,2396,4.284,2487,3.889,2548,4.215,2651,4.984,3591,10.88,5134,4.325,5429,7.277,5435,10.88,6067,10.59,6068,10.88,6354,5.861,9374,9.825,9383,6.262,21695,11.626,21764,7.463,21765,7.463,21766,7.463,21767,7.463,21768,7.463]],["title/injectables/ToolPermissionHelper.html",[539,0.921,6307,5.125]],["body/injectables/ToolPermissionHelper.html",[0,0.2,3,0.013,4,0.013,5,0.007,7,0.085,8,1.026,26,2.485,27,0.409,29,0.786,30,0.001,31,0.568,32,0.129,33,0.475,35,1.028,36,2.321,39,2.913,95,0.154,99,0.956,101,0.009,103,0,104,0,105,0.602,131,5.06,141,2.77,177,2.136,201,1.588,226,0.863,236,0.962,239,2.328,262,2.637,285,3.89,358,2.642,379,1.071,437,1.515,454,2.726,529,1.691,539,1.137,541,1.418,560,3.491,564,2.656,603,2.372,608,2.658,639,2.786,643,4.872,654,3.265,662,3.7,839,1.84,933,3.276,1128,3.836,1607,4.41,1670,6.713,1726,2.531,1758,6.558,1813,6.964,1826,3.948,1830,4.314,1846,4.148,1851,4.642,1854,5.178,1855,5.177,1898,6.608,1899,6.518,1901,4.218,1911,8.351,1912,7.914,1922,4.787,1926,4.076,1928,3.737,1932,7.432,1933,4.227,1936,5.178,1944,3.584,1959,6.855,1961,6.531,1963,3.333,1964,4.784,1965,5.469,2443,3.785,2517,4.314,2518,7.478,2531,2.74,2532,6.191,2535,4.148,2688,4.227,2764,5.14,3157,4.41,3860,4.314,4858,3.567,5575,4.148,6307,6.329,6329,5.469,9099,9.182,9100,8.693,9108,5.469,9110,5.178,10527,3.607,14946,4.642,19957,5.178,20907,4.787,21769,10.845,21770,9.924,21771,9.924,21772,5.911,21773,5.911,21774,5.911,21775,6.663,21776,9.182,21777,9.182,21778,5.911,21779,5.911,21780,9.924,21781,8.484,21782,7.85,21783,5.911,21784,5.911,21785,5.911]],["title/classes/ToolReference.html",[0,0.232,6208,5.251]],["body/classes/ToolReference.html",[0,0.289,2,0.945,3,0.019,4,0.019,5,0.01,7,0.123,27,0.55,29,0.677,30,0.001,31,0.489,32,0.173,33,0.574,47,0.937,95,0.101,101,0.013,103,0.001,104,0.001,112,0.834,119,2.259,347,4.335,379,1.079,564,4.244,1929,4.196,1986,4.952,3474,7.485,5451,8.576,5949,7.932,5953,6.163,5973,5.471,5992,6.823,6008,5.623,6208,10.195,6226,9.712,6227,7.906,6228,7.906,6229,7.485,6230,10.064,6231,7.906,21786,13.556,21787,10.894,21788,10.894,21789,8.545,21790,8.545,21791,8.545,21792,8.545,21793,7.906,21794,7.906,21795,8.545]],["title/controllers/ToolReferenceController.html",[259,2.631,21456,6.018]],["body/controllers/ToolReferenceController.html",[0,0.212,3,0.014,4,0.014,5,0.007,7,0.09,8,1.07,27,0.365,29,0.701,30,0.001,31,0.506,32,0.158,33,0.423,35,1.072,36,2.385,95,0.148,100,2.137,101,0.01,103,0,104,0,131,3.898,138,1.588,150,1.415,153,2.797,177,1.167,223,2.616,226,0.917,236,1.021,239,3.001,259,2.403,261,3.009,262,2.689,270,6.152,271,4.516,274,6.724,294,6.31,316,6.027,330,7.683,333,4.372,335,6.191,337,3.27,338,3.343,343,3.368,345,1.993,346,5.287,349,0.912,437,1.55,564,3.923,608,2.049,631,3.182,1739,5.137,1778,2.459,2548,3.964,2627,5.54,2668,7.707,2764,2.974,2963,3.294,3779,5.233,4042,6.798,5231,6.331,5949,6.003,6013,9.35,6057,8.516,6201,5.267,6208,8.516,6210,9.873,6213,5.807,6223,5.807,9281,9.022,14789,7.486,14790,7.486,17902,7.653,21451,8.608,21456,7.755,21459,8.307,21475,5.807,21482,8.192,21494,4.929,21500,5.498,21501,5.498,21507,5.267,21587,8.192,21588,8.75,21796,6.276,21797,6.276,21798,8.986,21799,9.491,21800,6.276,21801,6.276,21802,6.276,21803,6.276,21804,6.276,21805,6.276,21806,6.276,21807,6.276,21808,6.276,21809,9.76,21810,6.276,21811,6.276,21812,6.276,21813,6.276,21814,6.276,21815,6.276,21816,6.276,21817,6.276]],["title/classes/ToolReferenceListResponse.html",[0,0.232,21809,6.018]],["body/classes/ToolReferenceListResponse.html",[0,0.319,2,1.044,3,0.021,4,0.021,5,0.011,7,0.135,27,0.478,29,0.748,30,0.001,31,0.54,32,0.163,33,0.451,95,0.137,101,0.015,103,0.001,104,0.001,112,0.887,138,1.693,150,2.127,245,2.981,284,4.067,379,1.192,556,2.306,564,3.929,814,6.623,817,6.656,819,4.753,834,5.145,1739,5.786,2548,3.184,5949,7.343,5988,9.104,6210,11.218,19233,10.992,21809,10.155,21818,9.438]],["title/classes/ToolReferenceMapper.html",[0,0.232,21819,6.018]],["body/classes/ToolReferenceMapper.html",[0,0.303,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,8,1.357,27,0.37,29,0.71,30,0.001,31,0.512,32,0.116,33,0.429,35,1.085,95,0.145,101,0.014,103,0.001,104,0.001,236,1.458,347,4.645,349,0.923,413,3.69,437,1.182,564,3.838,1778,3.51,1899,7.088,1901,4.454,1929,4.399,2627,6.713,5451,9.189,5949,6.568,5953,4.604,5992,5.097,6208,10.32,6216,7.036,6218,7.848,6226,7.255,6230,7.518,9132,7.255,9418,6.848,9781,8.289,21509,10.386,21819,9.833,21820,8.959,21821,12.259,21822,8.959,21823,8.959]],["title/classes/ToolReferenceResponse.html",[0,0.232,6210,5.563]],["body/classes/ToolReferenceResponse.html",[0,0.231,2,0.755,3,0.015,4,0.015,5,0.008,7,0.098,27,0.516,29,0.541,30,0.001,31,0.614,32,0.162,33,0.513,34,1.564,47,0.879,95,0.111,101,0.011,103,0,104,0,112,0.718,119,1.946,131,3.567,138,2.173,142,5.235,143,2.894,144,4.059,145,3.838,149,3.621,150,1.538,153,3.077,236,1.527,245,3.115,347,4.378,379,0.862,564,4.015,574,7.002,839,2.124,1262,3.28,1986,3.955,2079,3.02,2548,4.472,2921,4.033,2922,4.499,3810,5.359,5949,7.503,5953,5.512,5973,4.369,5992,6.102,6008,4.49,6017,9.397,6210,10.136,6226,8.687,6230,9.002,7308,7.6,7567,6.176,10174,6.711,12612,7.6,19232,10.76,19233,11.232,21793,6.314,21794,6.314,21824,6.824,21825,9.385,21826,9.385,21827,6.824,21828,6.824,21829,6.824,21830,9.385,21831,6.824,21832,8.683,21833,6.824,21834,6.824,21835,6.824,21836,6.824,21837,6.824,21838,6.824]],["title/injectables/ToolReferenceService.html",[539,0.921,6071,5.765]],["body/injectables/ToolReferenceService.html",[0,0.241,3,0.016,4,0.016,5,0.008,7,0.102,8,1.168,26,2.374,27,0.399,29,0.765,30,0.001,31,0.553,32,0.125,33,0.462,35,0.863,36,2.069,95,0.161,99,1.152,101,0.011,103,0.001,104,0.001,131,2.707,177,2.287,226,1.04,262,2.419,347,3.493,349,0.734,379,1.22,437,1.622,539,1.295,541,1.709,564,4.131,603,2.539,608,2.539,631,3.611,654,2.909,1778,2.791,1837,6.59,1898,6.313,1899,6.362,1901,4.805,1929,3.497,2627,6.304,3294,5.449,5435,10.185,5451,6.911,5949,6.418,6069,8.416,6071,8.11,6208,8.991,6217,4.998,6229,6.239,6308,8.661,6324,5.964,6327,5.198,6336,5.594,6349,7.825,6354,5.594,6355,5.768,9105,5.594,9106,9.675,9133,6.59,9134,6.59,9135,6.59,9147,5.198,21753,6.59,21798,8.465,21819,6.239,21839,10.969,21840,7.123,21841,9.664,21842,7.123,21843,7.123]],["title/injectables/ToolReferenceUc.html",[539,0.921,21451,5.765]],["body/injectables/ToolReferenceUc.html",[0,0.19,3,0.012,4,0.012,5,0.006,7,0.081,8,0.99,26,2.788,27,0.465,29,0.892,30,0.001,31,0.644,32,0.152,33,0.539,34,0.939,35,1.284,36,2.824,39,3.259,47,0.576,95,0.143,99,0.911,101,0.009,103,0,104,0,131,3.114,177,1.796,226,0.823,236,0.917,262,2.937,349,1.16,379,1.035,437,1.698,539,1.098,541,1.351,560,2.318,564,3.681,579,3.023,593,3.957,603,2.618,608,2.808,643,3.681,1218,2.133,1242,3.047,1670,4.467,1675,3.437,1778,2.207,1899,7.226,1928,6.703,1929,2.766,2318,3.264,2531,2.611,3044,3.176,3294,5.979,4858,6.399,5949,6.88,5952,6.978,6016,6.703,6069,7.629,6071,10.182,6208,10.262,6216,6.434,6290,4.202,6307,9.052,6323,4.423,6336,4.423,6341,4.305,6348,5.211,21451,6.876,21569,5.211,21761,5.211,21798,7.177,21799,8.935,21844,11.757,21845,5.633,21846,8.194,21847,9.657,21848,5.633,21849,8.194,21850,5.633,21851,8.194,21852,5.633,21853,5.633,21854,5.633,21855,5.633,21856,5.633,21857,5.633,21858,5.633,21859,5.633,21860,5.633,21861,8.194,21862,5.633,21863,8.194,21864,8.194,21865,5.633]],["title/controllers/ToolSchoolController.html",[259,2.631,21454,6.018]],["body/controllers/ToolSchoolController.html",[0,0.148,3,0.01,4,0.01,5,0.005,7,0.063,8,0.822,10,1.784,27,0.418,29,0.802,30,0.001,31,0.579,32,0.166,33,0.484,34,1.922,35,1.434,36,2.589,95,0.145,100,1.496,101,0.007,103,0,104,0,138,1.815,141,4.386,150,0.99,153,2.561,177,1.74,223,1.83,226,0.641,239,1.95,259,1.681,261,2.105,262,2.854,270,6.408,271,4.386,273,5.195,274,5.648,280,3.028,282,4.244,283,6.247,284,2.833,285,6.159,292,4.215,294,6.572,301,4.539,305,5.424,310,2.951,319,2.871,324,6.002,330,6.454,333,3.989,335,6.46,336,4.244,337,2.288,338,2.339,340,2.13,343,2.357,346,6.044,347,1.587,348,3.423,349,0.964,379,0.555,437,1.595,564,3.787,603,1.933,608,2.343,631,2.226,654,2.046,824,3.326,1284,2.498,1341,1.411,1778,1.721,1898,7.004,2205,4.86,2312,1.823,2313,3.101,2368,5.256,2548,2.293,2764,2.081,2961,3.14,2962,3.832,2963,2.305,3779,6.327,3865,3.205,4081,2.776,4266,1.486,4544,5.373,6089,3.357,6126,3.14,6192,3.357,6315,4.352,7502,6.684,9065,6.693,9804,5.703,14772,4.063,14787,5.503,14789,4.96,14790,7.812,17902,7.986,19049,4.063,19174,9.499,19183,9.368,19221,5.703,19226,9.778,19227,3.847,19231,8.668,19237,5.703,19246,5.703,19260,8.198,19294,6.977,19296,7.692,19297,7.692,19298,7.692,19299,7.692,21454,5.953,21459,8.668,21494,3.449,21504,8.659,21536,3.847,21538,5.953,21557,5.953,21558,5.703,21565,3.847,21593,4.063,21614,4.063,21651,6.288,21866,4.391,21867,8.314,21868,4.391,21869,4.391,21870,4.391,21871,4.391,21872,4.391,21873,4.391,21874,4.391,21875,4.391,21876,4.391,21877,4.391,21878,4.391,21879,8.314,21880,4.391,21881,4.391,21882,4.391,21883,4.391,21884,4.391,21885,4.391,21886,4.391,21887,4.391,21888,4.391,21889,4.391,21890,4.391,21891,4.391,21892,4.391,21893,4.391,21894,4.391,21895,6.796,21896,4.391,21897,4.391,21898,6.796,21899,4.391,21900,4.391,21901,4.391,21902,4.391,21903,4.391]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.232,21739,6.018]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.288,2,0.943,3,0.019,4,0.019,5,0.009,7,0.122,8,1.315,26,2.735,27,0.449,29,0.675,30,0.001,31,0.488,32,0.141,33,0.408,35,1.033,39,3.218,95,0.142,99,1.379,101,0.013,103,0.001,104,0.001,177,2.023,180,1.886,182,2.701,191,4.577,226,1.246,239,2,284,2.581,345,2.708,347,4.562,349,0.878,379,1.077,603,1.761,1025,3.381,1147,3.312,1338,5.554,1339,6.199,1341,2.74,1343,6.275,1650,6.755,2548,2.877,2680,6.943,8829,6.243,8830,6.481,9276,5.39,9278,6.098,9283,4.99,9284,5.203,9314,6.937,9469,6.223,11321,6.905,19473,6.905,21648,7.469,21649,7.469,21739,9.53,21904,11.982,21905,11.982,21906,8.527]],["title/classes/ToolStatusResponseMapper.html",[0,0.232,6214,5.765]],["body/classes/ToolStatusResponseMapper.html",[0,0.322,2,1.054,3,0.021,4,0.021,5,0.011,7,0.137,8,1.409,27,0.393,29,0.755,30,0.001,31,0.545,32,0.123,33,0.456,35,1.154,95,0.138,101,0.018,103,0.001,104,0.001,131,3.62,347,4.554,349,0.981,413,3.793,437,1.256,564,2.982,782,5.688,783,6.517,839,2.965,988,4.156,3814,10.213,5451,9.389,5459,7.994,5460,8.814,6089,7.281,6214,9.784,19232,10.574,19255,8.814,21907,11.66,21908,9.526,21909,9.526,21910,9.526,21911,9.526,21912,9.526,21913,9.526]],["title/interfaces/ToolVersion.html",[105,0.7,5453,4.06]],["body/interfaces/ToolVersion.html",[3,0.023,4,0.023,5,0.012,7,0.152,8,1.502,27,0.437,30,0.001,35,1.283,55,2.539,101,0.016,103,0.001,104,0.001,105,1.08,107,2.485,5453,7.344,5955,10.397,21914,12.426,21915,10.594,21916,10.594]],["title/classes/UnauthorizedLoggableException.html",[0,0.232,1614,5.765]],["body/classes/UnauthorizedLoggableException.html",[0,0.301,2,0.985,3,0.019,4,0.019,5,0.01,7,0.128,8,1.351,27,0.461,29,0.705,30,0.001,31,0.509,32,0.145,33,0.426,35,1.078,47,0.947,48,6.146,51,5.792,59,2.74,95,0.144,101,0.014,103,0.001,104,0.001,177,2.079,180,1.938,182,2.819,183,6.803,193,6.495,226,1.3,284,2.694,345,2.827,349,0.917,379,1.124,437,1.174,603,1.838,1025,4.432,1147,3.403,1338,5.666,1343,6.374,1614,9.381,1877,8.162,8829,6.68,9276,5.626,9278,6.365,9283,5.208,9284,5.431,11324,7.469,11325,7.469,19473,7.207,21917,12.222,21918,8.901,21919,8.235]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.232,21920,6.357]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.374,2,0.97,3,0.019,4,0.019,5,0.01,7,0.126,8,1.338,27,0.457,29,0.694,30,0.001,31,0.501,32,0.174,33,0.419,35,1.062,47,0.852,95,0.131,101,0.013,103,0.001,104,0.001,177,1.63,180,1.92,182,2.776,226,1.28,284,2.654,310,5.535,345,2.784,349,0.903,379,1.107,1025,3.476,1147,3.37,1218,3.319,1226,5.853,1338,6.224,1339,6.28,1341,2.817,1343,6.339,3083,6.269,7082,5.474,8829,6.324,8830,6.564,9276,5.541,9283,5.13,9284,5.349,9292,7.099,9293,7.099,13053,7.356,21920,10.244,21921,12.137,21922,8.766,21923,12.137,21924,8.766,21925,8.766]],["title/classes/UpdateElementContentBodyParams.html",[0,0.232,8713,4.588]],["body/classes/UpdateElementContentBodyParams.html",[0,0.455,2,0.633,3,0.012,4,0.012,5,0.006,7,0.082,9,2.726,27,0.236,30,0.001,31,0.648,32,0.178,47,0.877,83,1.645,95,0.134,99,0.925,101,0.021,103,0,104,0,112,0.634,138,1.026,143,1.267,148,1.775,149,3.758,150,1.289,153,2.235,172,1.781,180,1.965,245,3.586,248,4.873,249,4.631,284,2.949,305,3.315,480,3.153,556,2.024,807,5.305,808,3.285,839,1.781,852,2.666,1142,3.572,1262,1.999,1271,1.786,1643,3.347,1942,4.079,2255,4.34,2501,2.726,2882,2.726,2883,2.544,2922,2.742,3278,3.415,3280,3.415,3283,3.38,3286,5.076,3289,2.959,3294,3.225,3767,3.572,3788,3.572,3789,6.917,4163,5.689,5681,6.238,5683,6.322,5685,6.238,5687,6.322,5689,6.322,5734,3.764,5771,6.506,5772,6.506,5773,6.506,5774,6.506,5775,6.506,6088,6.874,7227,3.82,7287,3.38,8699,8.269,8700,5.713,8701,3.944,8704,5.452,8705,7.133,8706,7.133,8707,3.944,8708,7.133,8709,3.53,8710,3.88,8711,7.133,8712,7.133,8713,5.533,8714,5.533,8715,3.82,8716,5.533,8717,3.944,8718,3.944,8719,3.944,8720,3.944,8721,3.944,9158,5.01,21926,5.72,21927,5.72]],["title/classes/UpdateFlagParams.html",[0,0.232,13597,6.018]],["body/classes/UpdateFlagParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,95,0.157,101,0.015,103,0.001,104,0.001,112,0.913,119,2.475,138,1.775,147,6.455,148,3.072,150,2.231,153,2.271,239,2.322,245,3.069,301,7.969,821,4.588,4565,5.389,11284,8.991,11316,8.903,13597,10.453,21928,11.041,21929,9.897,21930,9.897,21931,9.897]],["title/classes/UpdateMatchParams.html",[0,0.232,13589,6.018]],["body/classes/UpdateMatchParams.html",[0,0.401,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.404,30,0.001,32,0.127,39,3.427,47,0.833,95,0.157,101,0.015,103,0.001,104,0.001,112,0.908,138,1.758,148,3.043,150,2.21,153,2.249,239,2.993,245,3.051,301,7.923,808,4.704,821,4.544,1512,7.408,1739,5.47,4565,5.357,13589,10.392,21928,10.977,21932,9.802,21933,9.802,21934,9.802]],["title/classes/UpdateNewsParams.html",[0,0.232,15964,5.765]],["body/classes/UpdateNewsParams.html",[0,0.417,2,0.888,3,0.017,4,0.017,5,0.009,7,0.115,27,0.48,30,0.001,32,0.151,33,0.5,47,0.866,83,3.009,95,0.146,99,1.298,100,3.562,101,0.012,103,0.001,104,0.001,112,0.944,138,2.087,148,2.49,149,4.758,150,1.808,153,2.829,154,2.631,247,3.451,248,4.652,249,4.832,472,5.412,759,7.995,807,6.697,1271,3.993,1643,6.121,2255,4.898,2341,6.455,2830,6.246,3286,4.18,6402,7.212,7102,7.772,7106,7.777,7281,7.027,7287,6.182,7288,8.777,7289,7.995,7299,7.095,7300,7.422,15964,8.777,21935,12.333,21936,10.46,21937,10.46,21938,9.162,21939,8.022,21940,8.022,21941,8.022,21942,8.022,21943,8.022,21944,8.022]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.232,3762,6.018]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.399,2,1.074,3,0.021,4,0.021,5,0.011,7,0.139,27,0.4,30,0.001,32,0.126,95,0.139,101,0.015,103,0.001,104,0.001,112,0.902,119,2.741,138,1.741,142,4.603,143,2.613,147,6.38,148,3.014,150,2.188,153,2.227,245,3.033,2883,5.878,3291,8.262,3762,10.332,7303,9.263,7305,8.982,7306,8.504,7307,10.332,7308,9.551,7309,8.982,21945,11.795]],["title/entities/User.html",[154,1.378,239,1.612]],["body/entities/User.html",[0,0.149,3,0.01,4,0.01,5,0.005,7,0.182,27,0.547,30,0.001,32,0.171,33,0.658,34,0.736,47,0.972,83,3.411,95,0.12,96,1.169,101,0.013,103,0,104,0,105,0.696,112,0.856,119,1.73,138,2.377,143,3.014,144,4.112,154,1.883,155,1.436,160,7.028,168,2.489,170,3.294,172,4.152,173,1.28,174,2.594,175,1.974,178,1.744,180,0.765,181,1.192,182,1.398,236,1.527,239,1.601,276,4.075,349,0.455,437,1.1,480,1.228,486,1.329,529,1.263,644,4.73,651,4.894,652,4.894,653,5.214,654,3.367,655,5.144,662,1.367,827,2.559,839,1.374,988,3.639,1108,5.605,1147,1.344,1717,2.117,1723,4.229,1724,3.868,2670,4.654,2673,3.751,2677,3.751,3122,1.908,3140,5.819,4119,2.609,4260,6.366,4266,2.31,4271,6.415,4323,7.001,4354,3.467,4355,3.294,5094,3.164,5888,3.375,6746,3.868,6760,4.164,6770,2.725,6792,2.757,6793,2.665,7119,2.636,7120,2.725,7549,5.092,10079,2.949,10080,3.222,10081,2.949,10082,3.222,10083,3.222,10084,3.575,10414,7.174,10475,3.575,10479,3.705,12634,6.755,12635,6.755,12636,6.755,12872,5.727,12989,3.705,12990,3.575,12991,3.705,12992,3.575,12994,3.705,12998,5.727,12999,3.575,13012,6.472,13038,3.467,13039,3.294,13383,3.467,13411,5.527,13412,4.085,13413,7.371,13414,7.174,13415,7.002,13416,7.371,13417,6.314,13418,6.314,13419,6.314,13420,7.001,13421,3.705,13422,4.085,13423,4.085,13424,3.705,13425,4.085,13426,3.705,13427,4.085,13428,3.705,13429,4.085,13430,4.085,13431,6.314,21946,4.415,21947,4.415,21948,4.415,21949,4.415,21950,4.415,21951,4.415,21952,4.415,21953,4.415,21954,4.415,21955,4.415,21956,4.415,21957,4.415,21958,4.415,21959,4.415,21960,4.415,21961,4.415,21962,4.415,21963,4.415,21964,4.415]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.232,21965,6.357]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.27,2,0.882,3,0.017,4,0.017,5,0.009,7,0.114,8,1.26,27,0.55,30,0.001,32,0.177,33,0.498,35,0.966,47,0.815,55,1.63,95,0.145,101,0.012,103,0.001,104,0.001,112,0.797,138,2.29,177,2.567,180,1.806,182,2.526,239,2.444,347,2.883,379,1.466,382,3.9,590,7.162,821,5.704,824,2.834,951,5.439,988,3.479,990,4.218,1025,4.601,1128,5.175,1269,8.443,1270,6.663,1271,3.841,1272,7.431,1276,5.175,1277,4.458,1278,5.175,1279,5.175,1280,5.175,1281,5.175,1282,5.175,1283,4.813,1285,6.263,1290,5.041,1739,3.677,3452,5.499,3522,8.744,4042,4.866,10144,5.106,14667,6.986,21965,9.64,21966,10.42,21967,10.42,21968,7.975,21969,7.975,21970,10.42]],["title/interfaces/UserAndAccountParams.html",[105,0.7,656,5.765]],["body/interfaces/UserAndAccountParams.html",[0,0.235,3,0.015,4,0.015,5,0.008,26,1.916,30,0.001,47,0.856,48,4.552,49,3.543,51,4.5,94,6.856,95,0.144,99,1.123,101,0.015,103,0.001,104,0.001,105,1.103,107,1.628,180,1.646,239,3.187,271,4.772,349,1.255,413,3.668,437,1.755,445,5.62,524,3.948,603,1.961,640,9.764,641,6.079,642,6.079,643,5.228,644,4.425,645,5.065,646,4.963,647,6.079,648,8.321,649,5.305,650,10.188,651,4.579,652,4.579,653,4.879,654,2.858,655,4.813,656,10.809,657,5.824,658,6.079,659,8.317,660,6.079,661,6.079,662,3.35,663,6.079,664,9.082,665,8.317,666,8.317,667,5.824,668,9.48,669,9.48,670,6.079,671,8.317,672,8.317,673,5.824,674,6.079,675,8.317,676,6.79,677,5.824]],["title/classes/UserAndAccountTestFactory.html",[0,0.232,657,5.765]],["body/classes/UserAndAccountTestFactory.html",[0,0.191,2,0.626,3,0.012,4,0.012,5,0.006,7,0.081,8,0.993,26,1.659,27,0.466,29,0.894,30,0.001,31,0.646,32,0.161,33,0.54,35,1.367,47,0.793,48,3.94,49,3.066,51,3.895,94,6.68,95,0.133,99,0.915,101,0.013,103,0,104,0,105,0.987,120,4.089,180,0.981,239,3.151,271,4.937,349,1.162,413,4.073,437,1.674,445,4.58,480,2.956,486,3.199,524,3.218,603,2.432,640,8.123,641,10.314,642,4.954,643,5.791,644,3.831,645,4.127,646,4.045,647,4.954,648,7.598,649,4.323,650,9.534,651,3.963,652,3.963,653,4.223,654,2.474,655,4.166,656,11.425,657,6.896,658,7.199,659,7.199,660,7.199,661,4.954,662,2.996,663,8.479,664,10.648,665,7.199,666,7.199,667,4.746,668,8.479,669,8.479,670,8.479,671,7.199,672,7.199,673,4.746,674,8.479,675,7.199,676,5.877,677,4.746,21971,8.218,21972,8.218,21973,5.656,21974,5.656,21975,5.656,21976,5.656,21977,5.656,21978,5.656,21979,5.656,21980,5.656]],["title/modules/UserApiModule.html",[201,1.845,19582,5.563]],["body/modules/UserApiModule.html",[0,0.319,3,0.021,4,0.021,5,0.011,30,0.001,95,0.155,101,0.015,103,0.001,104,0.001,201,3.371,203,3.423,204,3.669,205,3.772,206,3.757,207,3.742,208,4.632,209,3.573,218,4.634,219,3.698,220,3.614,222,5.893,223,4.832,225,4.615,226,1.379,259,3.614,2764,4.473,3593,8.344,13614,11.074,19582,11.328,21981,9.438,21982,9.438,21983,9.438,21984,9.438,21985,10.992,21986,9.438]],["title/interfaces/UserBoardRoles.html",[105,0.7,3139,5.251]],["body/interfaces/UserBoardRoles.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.114,26,2.57,30,0.001,32,0.165,33,0.587,34,1.319,39,3.295,47,0.918,95,0.122,101,0.02,102,4.012,103,0.001,104,0.001,105,1.057,107,1.856,112,0.793,133,2.721,180,1.797,302,6.214,349,1.068,517,2.985,556,2.533,643,3.555,651,5.916,652,5.916,839,3.227,1661,5.745,1665,4.265,1729,5.002,1747,4.63,1816,5.456,2501,3.772,2521,7.565,2522,9.995,2532,5.774,2841,6.214,3121,6.931,3122,4.48,3129,9.934,3130,6.256,3131,9.08,3132,6.408,3133,6.931,3134,3.649,3135,7.402,3136,5.897,3137,6.931,3138,6.931,3139,9.377,3140,6.179,3141,6.64,3142,6.408,3143,9.08,3144,6.931]],["title/controllers/UserController.html",[259,2.631,21985,6.018]],["body/controllers/UserController.html",[0,0.267,3,0.017,4,0.017,5,0.009,7,0.113,8,1.252,27,0.427,29,0.82,30,0.001,31,0.592,32,0.134,33,0.495,35,1.254,36,2.624,95,0.154,100,2.69,101,0.012,103,0.001,104,0.001,138,1.857,150,1.78,177,1.469,223,3.292,226,1.154,236,1.285,239,2.709,259,3.024,261,3.786,262,2.881,270,6.535,271,4.279,294,6.703,324,5.249,334,5.125,337,4.115,338,4.207,343,4.239,345,2.508,349,1.066,437,1.617,608,2.396,631,4.004,739,3.413,1723,5.249,2426,5.446,2764,3.743,2773,5.197,2963,4.145,3140,3.977,4258,10.287,13614,9.353,18378,6.918,18382,6.627,20327,10.117,21985,9.069,21987,7.898,21988,11.55,21989,7.898,21990,10.353,21991,7.898,21992,7.898,21993,10.353,21994,7.898,21995,7.898,21996,6.918,21997,7.898,21998,7.898,21999,9.579,22000,7.898,22001,7.898,22002,7.898,22003,7.898]],["title/classes/UserDO.html",[0,0.232,7322,3.659]],["body/classes/UserDO.html",[0,0.202,2,0.661,3,0.013,4,0.013,5,0.007,7,0.086,26,2.015,27,0.578,29,0.473,30,0.001,31,0.342,32,0.182,33,0.685,34,1.424,47,0.984,83,3.633,95,0.129,101,0.009,103,0,104,0,112,0.654,119,1.772,180,1.482,276,2.593,376,4.055,377,4.216,379,0.754,382,1.778,406,3.604,408,3.604,651,4.813,652,4.813,653,5.129,655,5.06,988,3.728,1108,5.96,1665,2.457,1718,3.604,1739,2.754,1746,6.376,2501,2.846,3140,5.027,4260,6.77,4266,3.378,4271,6.309,4343,3.494,4355,4.455,4471,5.525,5888,4.565,5963,4.358,7119,3.566,7322,6.141,7328,6.77,7398,4.69,7429,4.565,7432,6.712,7433,4.69,7441,5.231,8324,5.011,8325,5.011,10079,3.988,10081,3.988,10083,4.358,12634,8.082,12635,8.082,12636,8.082,13012,6.882,13039,4.455,13413,7.838,13414,7.629,13415,7.446,13416,7.838,13420,8.376,13421,5.011,13424,5.011,13426,5.011,13428,5.011,22004,5.972,22005,8.547,22006,5.972,22007,5.972,22008,5.972,22009,5.972,22010,5.972,22011,5.972,22012,5.972,22013,5.972,22014,5.972,22015,5.972,22016,5.972,22017,5.972,22018,5.972,22019,5.972,22020,5.972,22021,5.972,22022,5.972,22023,5.972,22024,5.972,22025,5.972,22026,5.972,22027,5.972,22028,5.972,22029,5.972,22030,5.972,22031,5.972,22032,5.972,22033,5.972,22034,5.972,22035,5.972,22036,5.972,22037,5.972,22038,5.972,22039,5.972,22040,5.972,22041,5.972,22042,5.972]],["title/injectables/UserDORepo.html",[539,0.921,22043,5.765]],["body/injectables/UserDORepo.html",[0,0.117,3,0.008,4,0.008,5,0.004,7,0.05,8,0.681,10,2.891,12,2.531,18,2.819,26,2.274,27,0.527,29,1.004,30,0.001,31,0.731,32,0.164,33,0.606,34,1.609,35,1.535,36,2.598,40,2.717,47,0.826,48,5.084,55,0.708,56,1.672,58,2.249,59,1.067,95,0.133,96,0.918,99,0.561,101,0.005,103,0,104,0,112,0.265,119,1.168,133,1.937,145,1.583,154,1.644,155,1.127,173,1.005,180,0.977,226,0.506,227,1.439,236,1.572,239,2.846,262,2.924,276,3.914,291,2.53,310,1.505,340,1.682,349,1.16,376,1.408,377,1.464,381,1.173,382,3.561,437,1.6,448,2.27,480,0.964,486,1.044,490,2.529,519,1.067,529,0.992,539,0.755,541,0.832,556,1.376,593,2.655,603,2.506,608,2.235,644,1.616,651,2.717,652,2.717,653,2.895,654,1.044,655,4.57,680,3.821,686,2.557,687,4.426,696,1.348,718,1.846,721,2.165,741,2.351,742,1.905,743,2.351,816,3.071,822,3.975,1108,3.364,1218,1.312,1665,2.928,2000,1.99,2093,3.176,2299,8.574,2301,4.028,2302,4.028,2303,4.028,2304,4.028,2305,3.953,2306,3.953,2307,4.028,2308,3.953,2309,4.028,2316,2.479,2318,4.749,2319,2.479,2321,2.479,2323,2.249,2324,3.953,2325,2.479,2327,2.479,2329,4.028,2333,4.028,2335,3.821,2336,3.953,2338,2.479,2340,2.092,2341,2.139,2342,2.479,2344,2.479,2346,3.953,2347,2.479,2350,3.329,2364,2.39,2365,2.586,2374,2.807,3140,4.127,3334,3.207,3417,2.351,4266,1.173,4271,3.561,4446,2.139,4456,3.036,4460,2.65,4461,2.65,4509,2.807,4661,2.479,4741,6.02,4743,2.978,5558,2.903,6105,4.727,6114,2.53,6115,2.53,6116,2.53,6117,2.53,6118,2.53,6119,2.53,6120,2.53,6121,2.53,6122,2.53,6134,2.39,6861,2.092,6926,2.909,7150,5,7160,7.592,7179,2.53,7180,2.53,7322,6.623,7328,5.558,7329,2.807,7331,2.807,7334,3.036,9006,3.096,9122,3.207,9501,4.306,9525,2.909,9529,3.036,9531,3.036,9545,3.207,9559,4.934,9688,6.435,9921,3.207,9923,3.207,9924,3.207,9925,5.212,9926,3.207,10926,3.205,11710,2.909,12634,2.807,12635,2.807,12636,2.807,13012,3.884,13411,7.82,13413,4.424,13414,4.306,13415,4.203,13416,4.424,13420,2.909,14628,2.479,14664,4.727,14862,4.934,14866,4.934,14884,3.207,14891,3.207,14895,3.207,15606,3.207,17347,3.207,19215,2.807,19217,3.036,19218,3.036,21242,4.934,21244,4.934,22043,4.727,22044,10.177,22045,5.633,22046,5.212,22047,5.633,22048,3.467,22049,3.467,22050,7.581,22051,3.467,22052,3.467,22053,5.212,22054,3.467,22055,3.467,22056,3.467,22057,3.467,22058,3.467,22059,3.467,22060,3.207,22061,4.934,22062,3.467,22063,3.467,22064,3.467,22065,3.467,22066,3.467,22067,3.467,22068,3.207,22069,3.467,22070,3.467,22071,3.467,22072,3.207,22073,6.584,22074,3.467,22075,3.207,22076,3.467,22077,5.633,22078,3.467,22079,3.467,22080,3.467,22081,3.207,22082,3.467,22083,3.207,22084,3.207,22085,3.207,22086,3.207,22087,3.467,22088,3.467,22089,3.467,22090,3.467,22091,3.207,22092,3.207,22093,3.207,22094,3.207,22095,3.207,22096,3.467,22097,3.467,22098,3.467,22099,3.467,22100,3.467,22101,3.467,22102,3.467,22103,3.467,22104,3.467,22105,3.467,22106,3.467,22107,3.467,22108,3.467,22109,3.467]],["title/interfaces/UserData.html",[105,0.7,10208,5.395]],["body/interfaces/UserData.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.791,30,0.001,31,0.36,32,0.133,34,1.049,36,2.518,47,0.942,51,5.101,55,0.814,72,1.798,95,0.146,99,0.644,101,0.006,103,0,104,0,105,0.985,107,0.934,112,0.482,119,0.826,177,1.911,203,1.445,226,0.582,236,1.672,239,0.934,262,2.595,284,3.377,349,1.236,358,1.78,379,0.503,437,1.797,475,2.006,528,2.046,529,2.539,539,0.844,560,2.591,564,2.778,593,2.349,603,2.619,608,3.117,696,2.448,933,5.357,975,4.331,1122,2.55,1779,2.43,1898,4.763,1899,4.591,1901,3.882,1911,5.296,1920,3.036,1926,4.317,1928,2.518,1933,4.502,1940,2.971,1941,2.971,2159,8.451,2232,2.246,2395,2.354,2424,2.354,2627,6.423,3602,4.086,3603,2.006,4266,1.348,4417,5,4539,2.701,4540,2.795,4541,2.378,4660,4.292,4661,2.848,4822,4.615,4833,4.96,5310,2.66,5575,2.795,5952,5.138,5991,4.419,6055,2.701,6069,5.067,6127,4.502,6217,2.795,6290,5.825,6308,5.215,6324,4.819,6327,2.906,6341,4.813,6349,4.819,6722,3.721,6725,4.936,6726,2.795,6829,2.906,6878,3.128,7322,5.148,7328,4.271,7521,3.932,9065,2.848,9125,3.044,9147,2.906,9314,4.877,9339,6.346,9457,2.848,9460,7.073,9466,5.215,9495,3.044,10168,3.044,10169,3.225,10170,3.225,10171,3.225,10172,3.225,10173,3.225,10174,2.848,10175,3.225,10188,5.384,10190,3.225,10193,3.225,10195,3.225,10197,3.225,10198,7.186,10200,3.225,10202,3.225,10204,3.225,10206,3.225,10208,8.762,10209,3.225,10211,3.225,10213,3.225,10215,3.044,10216,3.225,10217,4.945,10218,6.969,10219,4.945,10220,5.099,10221,5.099,10222,7.827,10223,5.099,10224,3.225,10225,5.099,10226,3.225,10227,3.225,10228,5.099,10229,3.225,10230,3.225,10231,5.099,10232,3.225,10233,3.225,10234,3.225,10235,3.225,10236,3.225,10237,3.225,10238,3.225,10239,3.225,10240,3.225,10241,3.225,10242,6.323,10243,3.225,10244,3.225,10245,3.225,10246,3.225,10247,3.225,10248,3.225,10249,3.225,10250,3.225,10251,3.225,10252,3.225,10253,3.225,10254,5.099,10255,3.225,10256,3.128,10257,3.225,10258,4.205,10259,2.66,10260,3.128,10261,3.128,10262,3.225,10263,5.099,10264,3.225,10265,5.099,10266,3.225,10267,3.128,10268,3.225,10269,3.225,10270,3.225,10271,3.225,10272,3.225,10273,3.225,10274,3.225,10275,3.128,10276,3.128]],["title/classes/UserDataResponse.html",[0,0.232,20159,5.765]],["body/classes/UserDataResponse.html",[0,0.306,2,1.002,3,0.02,4,0.02,5,0.01,7,0.13,27,0.532,29,0.718,30,0.001,31,0.518,32,0.167,33,0.433,39,3.566,47,0.951,95,0.107,101,0.014,103,0.001,104,0.001,112,0.865,138,2.21,150,2.042,191,4.862,245,3.532,379,1.427,651,6.402,652,6.402,774,4.623,10079,6.05,10081,6.05,20159,11.141,22110,13.276,22111,9.059,22112,9.059,22113,9.059,22114,9.059,22115,9.059]],["title/classes/UserDoFactory.html",[0,0.232,22116,6.357]],["body/classes/UserDoFactory.html",[0,0.167,2,0.547,3,0.011,4,0.011,5,0.005,7,0.071,8,0.899,26,1.501,27,0.541,29,1.048,30,0.001,31,0.734,32,0.176,33,0.606,34,1.49,35,1.511,47,0.522,49,1.844,55,2.377,59,3.284,95,0.126,99,0.799,101,0.008,103,0,104,0,112,0.569,120,4.202,133,2.557,140,2.694,153,2.051,154,1.794,155,2.418,177,1.383,180,1.289,236,0.804,239,1.159,271,4.695,319,3.141,349,0.766,379,0.624,382,3.867,413,2.239,437,0.981,447,6.97,448,4.518,449,5.468,452,4.087,453,5.468,454,5.52,455,4.087,456,4.087,457,4.087,458,4.022,459,4.503,460,4.915,461,6.425,462,5.771,463,6.933,464,2.738,469,2.716,470,4.087,471,2.738,472,5.148,473,5.299,474,4.221,475,5.01,476,4.054,477,2.716,478,2.575,479,4.109,480,3.33,481,2.652,482,2.612,483,2.716,484,5.077,485,2.738,486,3.604,487,4.837,488,2.716,489,7.058,490,4.254,491,6.58,492,2.738,493,3.629,494,2.716,495,2.738,496,2.716,497,2.738,498,2.716,501,2.716,502,6.064,503,2.738,504,2.716,505,4.087,506,3.848,507,4.087,508,2.738,509,2.632,510,2.612,511,2.187,512,2.716,513,2.716,514,2.716,515,2.738,516,2.738,517,1.864,518,2.716,519,1.521,520,2.738,521,2.937,522,2.716,523,2.738,524,2.811,525,2.837,527,2.92,651,2.383,652,2.383,653,2.539,1665,2.033,3140,4.503,4266,1.672,4374,6.275,4376,3.533,4660,4.087,7322,2.632,7329,4.001,7994,4.328,13656,4.328,22116,8.273,22117,4.941,22118,7.437,22119,7.437,22120,4.941,22121,4.941,22122,4.572,22123,4.572]],["title/classes/UserDto.html",[0,0.232,22124,5.765]],["body/classes/UserDto.html",[0,0.236,2,0.773,3,0.015,4,0.015,5,0.008,7,0.1,26,2.465,27,0.573,29,0.554,30,0.001,31,0.4,32,0.18,33,0.673,34,1.81,47,0.963,83,3.357,95,0.083,99,1.13,101,0.011,103,0.001,104,0.001,112,0.73,119,1.978,154,1.402,239,2.238,379,0.882,404,2.793,480,2.654,486,2.872,511,3.093,528,3.591,651,5.238,652,5.238,653,5.581,655,5.506,988,4.162,1108,6.485,3174,4.667,3175,4.535,4260,7.367,4266,3.676,4271,6.866,4343,4.089,4355,5.213,4841,5.659,5888,5.341,7119,4.173,10079,4.667,10081,4.667,10083,5.099,11919,8.005,12006,5.213,13413,8.529,13414,8.302,13415,8.103,13416,8.529,13421,5.864,13424,5.864,13426,5.864,13428,5.864,13983,6.121,15826,6.465,19446,6.465,22124,10.25,22125,6.988,22126,10.049,22127,6.988,22128,6.988,22129,6.988,22130,6.988,22131,6.988,22132,6.988,22133,6.988,22134,6.988,22135,6.988,22136,6.988,22137,6.988,22138,6.988,22139,6.988,22140,6.988,22141,6.988,22142,6.988,22143,6.988,22144,6.121,22145,6.988,22146,6.988]],["title/classes/UserFactory.html",[0,0.232,648,4.913]],["body/classes/UserFactory.html",[0,0.137,2,0.448,3,0.009,4,0.009,5,0.005,7,0.058,8,0.771,27,0.539,29,1.042,30,0.001,31,0.757,32,0.172,33,0.609,34,1.315,35,1.399,47,0.448,55,2.214,59,2.999,95,0.128,99,0.655,101,0.006,103,0,104,0,112,0.488,120,2.695,133,2.194,140,2.208,153,1.811,154,1.954,155,2.075,177,1.187,180,1.106,239,1.852,271,4.714,276,5.398,319,2.695,349,1.066,379,0.511,382,3.702,413,1.921,437,1.617,447,6.896,448,4.171,449,4.923,452,3.507,453,4.923,454,5.325,455,3.507,456,3.507,457,3.507,458,3.451,459,3.976,460,4.339,461,6.024,462,5.27,463,6.728,464,2.245,469,2.226,470,3.507,471,2.245,472,4.634,473,4.771,474,3.8,475,4.511,476,3.479,477,2.226,478,2.11,479,3.794,480,3.353,481,2.174,482,2.141,483,2.226,484,4.571,485,2.245,486,3.629,487,4.27,488,2.226,489,7.062,490,3.988,491,6.169,492,2.245,493,3.853,494,2.226,495,2.245,496,2.226,497,2.245,498,2.226,499,2.499,500,2.347,501,2.226,502,5.598,503,2.245,504,2.226,505,3.507,506,3.301,507,3.507,508,2.245,509,2.157,510,2.141,511,1.793,512,2.226,513,2.226,514,2.226,515,2.245,516,2.245,517,1.528,518,2.226,519,1.247,520,2.245,521,2.52,522,2.226,523,2.245,525,2.325,526,2.37,527,5.759,643,5.311,645,2.956,646,2.896,648,5.645,651,1.953,652,1.953,653,2.081,654,1.219,664,8.685,667,5.354,673,5.354,677,5.354,1723,5.491,2140,5.903,3140,5.213,4660,4.923,6985,3.181,6986,3.28,6995,3.181,10258,2.705,10259,2.705,12844,3.096,13411,3.28,13656,3.548,21226,3.747,21230,8.287,22122,3.747,22123,3.747,22147,4.05,22148,6.38,22149,6.38,22150,6.38,22151,6.38,22152,4.05,22153,4.05,22154,4.05,22155,6.38,22156,4.05,22157,6.38,22158,4.05,22159,6.38,22160,6.38,22161,6.38,22162,4.05,22163,4.05,22164,7.894,22165,4.05]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.232,17320,6.018]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.306,2,1,3,0.02,4,0.02,5,0.01,7,0.13,8,1.364,27,0.466,29,0.716,30,0.001,31,0.517,32,0.117,33,0.432,35,1.095,95,0.133,100,3.079,101,0.014,103,0.001,104,0.001,177,1.681,239,2.12,284,2.736,345,2.871,349,0.931,379,1.141,975,6.291,1025,3.584,1147,3.436,1218,3.422,1338,5.706,1339,6.368,1341,2.905,1343,6.409,1519,5.142,3083,6.464,4660,4.968,7275,5.644,8829,6.413,8830,6.657,8967,10.123,8980,6.036,11591,8.628,11837,6.596,17320,9.887,19332,8.363,19333,8.363,19334,8.363,22166,12.308,22167,9.039,22168,9.039,22169,9.039]],["title/interfaces/UserGroup.html",[105,0.7,10219,5.395]],["body/interfaces/UserGroup.html",[0,0.134,3,0.009,4,0.009,5,0.004,7,0.057,26,1.784,30,0.001,31,0.551,32,0.139,34,1.043,36,2.513,47,0.941,51,4.19,55,1.589,72,1.786,95,0.146,99,0.64,101,0.006,103,0,104,0,105,0.982,107,0.928,112,0.479,119,0.82,177,1.905,203,1.435,226,0.578,236,1.667,239,0.928,262,2.59,284,3.369,349,1.233,358,1.768,379,0.5,437,1.796,475,1.992,528,2.033,529,2.53,539,0.839,560,2.577,564,2.768,593,2.337,603,2.615,608,3.114,696,2.435,933,5.339,975,4.314,1122,2.533,1779,2.413,1898,4.745,1899,4.574,1901,3.865,1911,5.273,1920,3.02,1926,4.308,1928,2.5,1933,4.478,1940,2.951,1941,2.951,2159,6.942,2232,2.23,2395,2.338,2424,2.338,2627,6.414,3602,4.064,3603,1.992,4266,1.339,4417,4.977,4539,2.683,4540,2.776,4541,2.362,4660,4.273,4661,2.829,4822,4.594,4833,4.941,5310,2.642,5575,2.776,5952,5.115,5991,4.395,6055,2.683,6069,5.044,6127,4.478,6217,2.776,6290,5.799,6308,5.191,6324,4.797,6327,2.887,6341,4.787,6349,4.797,6722,3.701,6725,4.914,6726,2.776,6829,2.887,6878,3.106,7322,5.131,7328,4.248,7521,3.91,9065,2.829,9125,3.023,9147,2.887,9314,4.859,9339,6.321,9457,2.829,9460,7.061,9466,5.191,9495,3.023,10168,3.023,10169,3.203,10170,3.203,10171,3.203,10172,3.203,10173,3.203,10174,2.829,10175,3.203,10188,5.36,10190,3.203,10193,3.203,10195,3.203,10197,3.203,10198,7.158,10200,3.203,10202,3.203,10204,3.203,10206,3.203,10208,8.429,10209,3.203,10211,3.203,10213,3.203,10215,3.023,10216,3.203,10217,4.918,10218,6.942,10219,6.105,10220,7.801,10221,7.801,10222,7.801,10223,5.071,10224,3.203,10225,5.071,10226,3.203,10227,3.203,10228,5.071,10229,3.203,10230,3.203,10231,5.071,10232,3.203,10233,3.203,10234,3.203,10235,3.203,10236,3.203,10237,3.203,10238,3.203,10239,3.203,10240,3.203,10241,3.203,10242,6.295,10243,3.203,10244,3.203,10245,3.203,10246,3.203,10247,3.203,10248,3.203,10249,3.203,10250,3.203,10251,3.203,10252,3.203,10253,3.203,10254,5.071,10255,3.203,10256,3.106,10257,3.203,10258,4.182,10259,2.642,10260,3.106,10261,3.106,10262,3.203,10263,5.071,10264,3.203,10265,5.071,10266,3.203,10267,3.106,10268,3.203,10269,3.203,10270,3.203,10271,3.203,10272,3.203,10273,3.203,10274,3.203,10275,3.106,10276,3.106]],["title/interfaces/UserGroups.html",[105,0.7,10218,5.395]],["body/interfaces/UserGroups.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.796,30,0.001,31,0.362,32,0.14,34,1.053,36,2.522,47,0.922,51,4.217,55,0.818,72,1.807,95,0.146,99,0.647,101,0.006,103,0,104,0,105,0.987,107,0.939,112,0.484,119,0.83,120,2.67,177,1.915,203,1.452,226,0.585,236,1.676,239,0.939,262,2.599,284,3.637,349,1.237,358,1.789,379,0.505,437,1.798,475,2.016,528,2.057,529,2.546,539,0.847,560,2.601,564,2.786,593,2.358,603,2.622,608,3.119,696,2.457,933,5.369,975,4.343,1122,2.563,1779,2.442,1898,4.776,1899,4.604,1901,3.895,1911,5.313,1920,3.048,1926,4.324,1928,2.53,1933,4.52,1940,2.986,1941,2.986,2159,6.988,2232,2.257,2395,2.365,2424,2.365,2627,6.429,3602,4.102,3603,2.016,4266,1.355,4417,5.016,4539,2.715,4540,2.809,4541,2.39,4660,4.306,4661,2.862,4822,4.63,4833,4.974,5310,2.673,5575,2.809,5952,5.155,5991,4.436,6055,2.715,6069,5.083,6127,4.52,6217,2.809,6290,5.844,6308,5.231,6324,4.834,6327,2.921,6341,4.831,6349,4.834,6722,3.736,6725,4.952,6726,2.809,6829,2.921,6878,3.143,7322,5.16,7328,4.287,7521,3.947,9065,2.862,9125,3.059,9147,2.921,9314,4.891,9339,6.363,9457,2.862,9460,7.082,9466,5.231,9495,3.059,10168,3.059,10169,3.241,10170,3.241,10171,3.241,10172,3.241,10173,3.241,10174,2.862,10175,3.241,10188,5.402,10190,3.241,10193,3.241,10195,3.241,10197,3.241,10198,7.205,10200,3.241,10202,3.241,10204,3.241,10206,3.241,10208,8.467,10209,3.241,10211,3.241,10213,3.241,10215,3.059,10216,3.241,10217,4.964,10218,7.608,10219,4.964,10220,5.118,10221,5.118,10222,7.845,10223,5.118,10224,3.241,10225,5.118,10226,3.241,10227,3.241,10228,5.118,10229,3.241,10230,3.241,10231,5.118,10232,3.241,10233,3.241,10234,3.241,10235,3.241,10236,3.241,10237,3.241,10238,3.241,10239,3.241,10240,3.241,10241,3.241,10242,6.343,10243,3.241,10244,3.241,10245,3.241,10246,3.241,10247,3.241,10248,3.241,10249,3.241,10250,3.241,10251,3.241,10252,3.241,10253,3.241,10254,5.118,10255,3.241,10256,3.143,10257,3.241,10258,4.221,10259,2.673,10260,3.143,10261,3.143,10262,3.241,10263,5.118,10264,3.241,10265,5.118,10266,3.241,10267,3.143,10268,3.241,10269,3.241,10270,3.241,10271,3.241,10272,3.241,10273,3.241,10274,3.241,10275,3.143,10276,3.143]],["title/classes/UserInfoMapper.html",[0,0.232,16035,6.018]],["body/classes/UserInfoMapper.html",[0,0.326,2,1.067,3,0.021,4,0.021,5,0.011,7,0.138,8,1.42,27,0.398,29,0.764,30,0.001,31,0.551,32,0.125,33,0.461,34,1.606,35,1.168,95,0.139,99,1.559,100,4,101,0.015,103,0.001,104,0.001,236,1.569,239,3.17,349,0.993,413,3.813,437,1.271,528,4.953,651,4.648,652,4.648,783,6.564,790,4.854,3174,6.437,3175,6.255,16006,10.675,16035,10.287,18380,10.287,19368,8.443,19370,8.443,22170,11.744]],["title/classes/UserInfoResponse.html",[0,0.232,16006,5.563]],["body/classes/UserInfoResponse.html",[0,0.284,2,0.93,3,0.018,4,0.018,5,0.009,7,0.121,27,0.518,29,0.666,30,0.001,31,0.742,32,0.163,33,0.621,34,2.25,47,0.933,95,0.099,101,0.013,103,0.001,104,0.001,112,0.825,138,2.134,149,4.591,150,1.894,153,2.88,154,2.162,239,3.115,245,2.772,253,4.152,359,6.505,379,1.361,404,3.359,651,6.259,652,6.259,774,4.289,1277,6.025,2162,6.599,2917,5.53,2918,5.785,2919,5.785,4421,7.775,7234,9.442,10079,5.612,10081,5.612,16006,10.51,19375,7.361,22171,12.98,22172,8.404,22173,7.775]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.232,19978,5.563]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.282,2,0.924,3,0.018,4,0.018,5,0.009,7,0.12,8,1.298,26,2.528,27,0.443,29,0.662,30,0.001,31,0.478,32,0.139,33,0.399,35,1.012,52,6.039,83,3.413,95,0.14,99,1.351,101,0.013,103,0.001,104,0.001,128,5.41,177,1.997,180,1.861,182,2.645,226,1.22,284,2.528,345,2.653,349,0.86,379,1.055,590,7.728,603,1.725,654,2.514,1025,3.311,1147,3.268,1338,5.5,1339,6.139,1341,2.684,1343,6.226,1351,5.42,4565,5.358,5703,7.409,8829,6.182,8830,6.418,9276,5.28,9278,5.972,9283,4.887,9284,5.096,10973,6.559,13037,8.326,14831,6.559,19473,6.763,19978,8.694,20854,6.763,22174,9.956,22175,11.865,22176,7.727,22177,9.835,22178,8.352,22179,8.352]],["title/modules/UserLoginMigrationApiModule.html",[201,1.845,19583,5.563]],["body/modules/UserLoginMigrationApiModule.html",[0,0.237,3,0.015,4,0.015,5,0.008,30,0.001,52,3.387,95,0.162,101,0.011,103,0.001,104,0.001,122,4.764,128,4.771,201,2.925,203,2.548,204,2.731,205,2.807,206,2.796,207,2.785,208,4.02,209,2.66,214,5.886,218,3.826,219,2.752,220,2.689,222,4.386,223,3.99,225,3.811,226,1.026,239,1.648,631,3.561,654,2.115,1341,2.257,1380,8.565,1419,9.916,1752,7.183,1963,3.96,2531,3.256,2764,3.329,4564,10.596,4565,3.172,5434,8.085,11056,5.894,14761,9.652,16419,5.516,16577,9.916,17431,10.596,18400,10.596,19583,11.721,19603,5.894,19970,10.596,21416,10.596,22180,7.024,22181,7.024,22182,7.024,22183,10.225,22184,9.539,22185,9.539,22186,9.573,22187,9.573,22188,7.024]],["title/controllers/UserLoginMigrationController.html",[259,2.631,22185,6.018]],["body/controllers/UserLoginMigrationController.html",[0,0.11,3,0.007,4,0.007,5,0.004,7,0.047,8,0.644,27,0.408,29,0.783,30,0.001,31,0.566,32,0.178,33,0.473,35,1.198,36,2.553,47,0.477,52,6.563,55,1.089,95,0.133,99,0.524,100,1.103,101,0.005,103,0,104,0,128,5.69,138,1.773,150,0.73,153,2.976,177,1.617,223,1.351,226,0.473,236,0.527,239,3.224,259,1.241,261,1.553,262,2.825,270,6.331,271,3.465,278,2.198,292,5.236,294,6.165,310,2.314,324,5.424,330,3.676,333,2.272,335,3.217,337,1.688,338,1.726,343,1.739,346,1.935,347,1.927,349,1.018,379,0.409,437,1.573,482,1.713,517,2.011,556,1.922,569,3.812,590,6.374,603,1.796,608,2.288,631,1.643,654,2.369,822,2.586,824,2.796,990,1.111,1284,1.843,1306,3.289,1351,5.106,1456,3.508,1478,4.699,2493,5.178,2739,2.419,2764,1.536,2961,2.317,2962,1.827,2963,1.7,3134,2.458,3779,5.14,4081,2.048,4564,5.699,4565,4.664,4568,4.669,4578,6.416,4580,5.841,4582,6.18,4583,6.015,4743,4.16,5550,2.132,7010,3.89,7336,6.015,10144,5.038,11613,4.473,12218,6.372,13586,4.932,14583,3.89,14788,7.619,14789,7.537,14790,5.742,14794,8.364,14799,4.856,15384,2.998,15854,4.669,16277,4.316,16496,6.893,17902,7.376,18400,5.699,18402,4.669,19350,6.18,19423,6.603,19424,6.603,19470,4.473,19970,5.699,19973,4.669,19978,6.372,20368,2.998,20854,8.921,21416,5.699,21418,5.949,21497,2.998,21558,8.667,21996,2.838,22183,5.499,22185,4.669,22189,9.556,22190,2.998,22191,5.331,22192,6.283,22193,6.283,22194,6.791,22195,3.24,22196,3.24,22197,9.556,22198,5.331,22199,5.331,22200,3.24,22201,3.24,22202,3.24,22203,5.331,22204,3.24,22205,3.24,22206,3.24,22207,9.354,22208,3.24,22209,3.24,22210,3.24,22211,6.603,22212,3.24,22213,3.24,22214,3.24,22215,3.24,22216,3.24,22217,3.24,22218,3.24,22219,3.24,22220,3.24,22221,3.24,22222,5.331,22223,6.603,22224,3.24,22225,5.331,22226,3.24,22227,3.24,22228,6.893,22229,3.24,22230,3.24,22231,3.24,22232,4.932,22233,3.24,22234,3.24,22235,3.24,22236,3.24,22237,3.24,22238,3.24,22239,6.791,22240,5.331,22241,2.838,22242,6.372,22243,9.336,22244,6.893,22245,3.24,22246,3.24,22247,3.24,22248,3.24,22249,3.24,22250,3.24,22251,3.24,22252,3.24,22253,3.24,22254,5.331,22255,3.24,22256,6.791,22257,3.24,22258,3.24,22259,3.24,22260,3.24,22261,3.24,22262,3.24,22263,6.791,22264,3.24,22265,3.24,22266,3.24,22267,3.24,22268,3.24,22269,3.24,22270,3.24,22271,3.24,22272,3.24,22273,3.24,22274,3.24,22275,3.24,22276,3.24]],["title/classes/UserLoginMigrationDO.html",[0,0.232,4578,4.458]],["body/classes/UserLoginMigrationDO.html",[0,0.262,2,0.859,3,0.017,4,0.017,5,0.009,7,0.111,26,2.675,27,0.561,29,0.615,30,0.001,31,0.444,32,0.176,33,0.662,34,1.706,47,0.545,83,3.869,95,0.121,101,0.012,103,0.001,104,0.001,112,0.783,128,5.553,180,1.775,181,2.763,379,0.98,381,2.627,382,2.311,1664,2.907,1746,7.125,4266,3.876,4343,4.542,4344,5.791,4578,8.213,5963,5.664,5968,5.933,7429,5.933,19399,8.544,19426,8.754,22177,8.994,22277,13.61,22278,7.762,22279,9.274,22280,8.994,22281,8.994,22282,10.236,22283,7.762,22284,7.762,22285,7.762,22286,7.762,22287,7.762,22288,7.762,22289,7.181,22290,7.181,22291,7.181,22292,7.181,22293,6.799,22294,6.799,22295,6.799,22296,6.799,22297,6.799,22298,6.799,22299,6.799,22300,6.799]],["title/entities/UserLoginMigrationEntity.html",[154,1.378,13014,5.125]],["body/entities/UserLoginMigrationEntity.html",[0,0.235,3,0.015,4,0.015,5,0.008,7,0.1,27,0.532,30,0.001,32,0.17,33,0.628,83,3.776,95,0.138,96,1.843,101,0.015,103,0.001,104,0.001,112,0.728,128,5.355,138,2.312,143,2.908,144,4.18,145,2.675,154,1.909,155,2.265,160,6.009,172,3.921,173,2.019,174,3.617,175,3.113,177,1.295,178,2.75,180,1.207,181,1.88,182,2.206,556,2.649,644,5.431,654,3.264,1512,4.349,2678,7.474,5094,5.026,6792,4.349,6793,4.203,7000,6.455,9006,7.086,11726,4.887,13014,7.1,17443,8.779,17444,8.779,19149,6.443,19426,8.287,22177,8.514,22279,8.779,22281,8.514,22293,6.1,22294,6.1,22295,6.1,22296,6.1,22297,6.1,22298,6.1,22299,6.1,22300,6.1,22301,13.126,22302,6.964,22303,6.964,22304,6.964,22305,6.964,22306,6.964,22307,6.964,22308,6.964,22309,6.964,22310,6.964,22311,8.805,22312,6.964,22313,6.964,22314,6.964,22315,6.964,22316,6.964,22317,6.964]],["title/classes/UserLoginMigrationError.html",[0,0.232,22318,6.018]],["body/classes/UserLoginMigrationError.html",[0,0.262,2,0.859,3,0.017,4,0.017,5,0.009,7,0.111,8,1.237,27,0.547,29,0.615,30,0.001,31,0.444,32,0.178,33,0.548,35,0.94,47,0.804,52,5.523,55,1.586,59,2.389,95,0.121,101,0.012,103,0.001,104,0.001,112,0.783,128,4.968,138,2.27,177,2.555,180,1.775,182,2.458,226,1.134,239,1.821,340,3.765,347,2.806,379,0.98,382,3.87,595,6.317,821,5.645,824,2.758,951,5.367,988,5.312,990,4.174,1025,4.541,1269,8.399,1270,7.266,1271,3.801,1272,7.333,1276,5.037,1277,4.338,1278,5.037,1279,5.037,1280,5.037,1281,5.037,1282,5.037,1283,4.684,1284,4.416,1290,4.907,4565,4.622,7082,4.847,7275,4.847,9282,6.513,14573,5.791,14608,8.589,19353,6.799,22174,8.589,22318,8.966,22319,7.762]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.232,4582,5.395]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.279,2,0.915,3,0.018,4,0.018,5,0.009,7,0.119,8,1.289,26,2.518,27,0.44,29,0.655,30,0.001,31,0.473,32,0.138,33,0.395,35,1.001,52,6.016,83,3.396,95,0.139,99,1.337,101,0.013,103,0.001,104,0.001,128,5.489,177,1.983,180,1.849,182,2.618,226,1.208,239,1.939,284,2.502,345,2.626,349,0.851,379,1.044,603,1.707,1025,3.278,1147,3.246,1338,5.474,1339,6.109,1341,2.657,1343,6.202,4565,5.332,4582,8.376,5703,7.373,8829,6.153,8830,6.387,9283,4.837,9284,5.044,12218,10.102,13037,8.286,14831,6.492,15854,7.241,19423,10.469,19424,10.469,19425,7.649,19426,9.535,22174,9.908,22176,7.649,22320,8.267,22321,8.267,22322,8.267,22323,8.267,22324,8.267]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.232,21423,6.018]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.286,2,0.936,3,0.018,4,0.018,5,0.009,7,0.121,8,1.308,26,2.73,27,0.446,29,0.67,30,0.001,31,0.484,32,0.11,33,0.404,35,1.024,39,3.206,52,6.067,95,0.128,99,1.368,101,0.013,103,0.001,104,0.001,119,2.475,128,5.518,177,2.219,191,4.539,239,1.983,284,2.56,321,6.171,347,3.056,349,0.871,379,1.367,603,2.465,654,3.258,1025,3.353,1147,3.294,1338,5.532,1339,6.175,1341,2.718,1343,6.255,4565,5.389,8829,6.219,8830,6.455,10973,6.641,11321,6.848,12675,9.386,13037,8.829,14262,7.407,14831,6.641,21423,9.479,22325,11.042,22326,8.456,22327,8.456,22328,8.456,22329,8.456]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.232,22228,6.018]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.406,2,1.106,3,0.022,4,0.022,5,0.011,7,0.143,27,0.412,30,0.001,32,0.13,52,5.789,95,0.142,101,0.015,103,0.001,104,0.001,112,0.918,119,2.489,128,5.445,138,1.793,147,6.493,148,3.102,150,2.253,245,3.087,4565,5.421,7581,7.639,12675,9.598,22228,10.515,22330,11.106,22331,9.995,22332,9.995]],["title/classes/UserLoginMigrationMapper.html",[0,0.232,22241,6.018]],["body/classes/UserLoginMigrationMapper.html",[0,0.285,2,0.934,3,0.018,4,0.018,5,0.009,7,0.121,8,1.306,27,0.446,29,0.856,30,0.001,31,0.618,32,0.14,33,0.517,34,1.406,35,1.309,39,2.267,47,0.593,95,0.141,99,1.365,101,0.013,103,0.001,104,0.001,128,5.424,236,1.373,310,4.692,349,1.113,413,4.002,437,1.425,790,4.25,824,3.84,1665,3.472,2359,6.034,2764,3.999,4565,5.384,4578,8.158,19399,6.295,19426,6.45,22177,6.627,22211,10.549,22241,9.467,22242,10.18,22243,10.524,22279,6.833,22280,6.627,22281,6.627,22333,11.923,22334,7.808,22335,10.807,22336,10.807,22337,10.807,22338,8.439,22339,8.439,22340,10.807,22341,8.439,22342,8.439,22343,8.439,22344,8.439,22345,8.439,22346,8.439,22347,8.439,22348,8.439]],["title/modules/UserLoginMigrationModule.html",[201,1.845,14761,5.251]],["body/modules/UserLoginMigrationModule.html",[0,0.24,3,0.015,4,0.015,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,128,3.929,201,2.938,203,2.57,204,2.755,205,2.832,206,2.821,207,2.809,208,4.038,209,4.142,213,9.053,214,5.901,218,3.849,219,2.776,220,2.713,225,3.833,226,1.035,227,2.941,560,2.915,654,2.133,1341,2.277,1421,8.885,1437,5.416,1440,4.972,1963,3.995,3593,7.725,3603,3.568,4565,3.2,4571,9.826,4572,10.251,4573,11.127,5434,8.106,14761,11.083,15812,11.531,15816,9.942,16395,10.791,19603,5.946,22349,7.086,22350,7.086,22351,7.086,22352,7.086,22353,7.086]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.232,4583,5.251]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.283,2,0.928,3,0.018,4,0.018,5,0.009,7,0.12,8,1.301,26,2.724,27,0.444,29,0.664,30,0.001,31,0.48,32,0.14,33,0.401,35,1.016,52,6.048,59,2.581,95,0.14,99,1.357,101,0.013,103,0.001,104,0.001,128,5.507,177,2.002,180,1.866,182,2.656,226,1.225,239,1.967,284,2.539,345,2.664,349,0.864,379,1.059,603,1.732,654,2.525,1025,3.325,1147,3.276,1338,5.511,1339,6.151,1341,2.695,1343,6.236,2681,6.38,4266,4.023,4343,4.907,4565,5.368,4583,8.228,4743,4.434,5624,5.688,8829,6.195,8830,6.43,9276,5.301,9278,5.997,9283,4.907,9284,5.117,13037,8.802,14831,6.586,16324,10.999,19472,7.759,19473,6.791,22174,9.976,22354,8.387]],["title/interfaces/UserLoginMigrationQuery.html",[105,0.7,22242,5.563]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.023,4,0.023,5,0.012,7,0.15,30,0.001,32,0.136,33,0.591,39,3.642,47,0.922,52,5.056,101,0.016,103,0.001,104,0.001,105,1.069,107,2.459,112,0.945,128,5.039,4565,4.734,9812,9.184,22242,10.001,22355,10.484]],["title/injectables/UserLoginMigrationRepo.html",[539,0.921,15816,5.395]],["body/injectables/UserLoginMigrationRepo.html",[0,0.162,3,0.01,4,0.01,5,0.005,7,0.069,8,0.879,10,2.954,12,3.266,18,3.638,26,2.575,27,0.547,29,1.042,30,0.001,31,0.752,32,0.17,33,0.629,34,1.633,35,1.579,36,2.6,40,2.313,95,0.136,96,1.924,97,1.957,99,0.776,101,0.007,103,0,104,0,112,0.367,128,4.297,133,2.5,154,1.966,173,1.39,177,1.352,180,1.26,226,0.7,236,1.183,262,2.902,349,1.141,379,0.606,381,1.623,382,3.843,437,1.292,448,3.538,519,1.476,539,0.974,541,1.15,556,1.172,593,2.713,603,2.45,608,1.11,644,2.235,654,2.189,680,4.931,686,3.3,687,5.171,718,2.554,1341,1.541,1665,3.613,2000,2.753,2299,9.141,2301,5.199,2302,5.199,2303,5.199,2304,5.199,2305,5.102,2306,5.102,2307,5.199,2308,5.102,2309,5.199,2310,3.499,2311,5.525,2312,4.067,2313,4.471,2315,5.305,2316,3.429,2318,5.679,2319,3.429,2321,3.429,2323,3.112,2324,5.102,2325,3.429,2327,3.429,2329,5.199,2333,5.199,2335,4.931,2336,5.102,2338,3.429,2340,2.894,2341,2.959,2342,3.429,2344,3.429,2346,3.365,2347,3.429,2353,3.253,4266,2.972,4446,2.959,4578,8.278,4580,4.54,6114,3.499,6115,3.499,6116,3.499,6117,3.499,6118,3.499,6119,3.499,6120,3.499,6121,3.499,6122,3.499,6130,3.665,9006,2.636,9537,4.437,9547,3.665,13014,8.849,13015,3.883,13016,3.883,14873,4.437,14900,6.727,15816,5.709,17443,3.883,17444,3.883,19196,6.727,19206,6.727,19215,3.883,19217,4.201,19218,4.201,19399,3.578,19426,5.557,22177,5.709,22279,5.887,22280,3.766,22281,5.709,22311,10.654,22356,9.799,22357,4.796,22358,4.796,22359,4.796,22360,4.796,22361,4.796,22362,4.796,22363,4.796,22364,4.796,22365,4.796,22366,4.796,22367,4.796,22368,4.796,22369,4.796,22370,4.796,22371,4.796,22372,7.27,22373,7.27,22374,4.796,22375,4.796,22376,4.796,22377,4.796,22378,4.796]],["title/classes/UserLoginMigrationResponse.html",[0,0.232,22243,5.563]],["body/classes/UserLoginMigrationResponse.html",[0,0.225,2,0.738,3,0.015,4,0.015,5,0.007,7,0.096,27,0.536,29,0.528,30,0.001,31,0.381,32,0.168,33,0.631,34,2.123,47,0.873,52,6.56,83,4.008,95,0.079,101,0.01,103,0,104,0,112,0.707,128,5.731,138,2.285,142,3.605,149,4.635,150,1.503,153,2.851,181,2.493,245,3.089,379,0.842,381,2.256,404,2.665,405,3.525,821,4.281,1277,6.394,1351,5.993,2023,7.479,2739,4.192,3134,5.275,3291,6.98,4565,5.955,8170,8.09,10951,7.059,19399,7.905,19423,7.75,19424,7.75,19426,8.1,22177,8.322,22243,9.728,22279,8.581,22280,8.322,22281,8.322,22289,6.169,22290,6.169,22291,6.169,22292,6.169,22293,5.84,22294,5.84,22295,5.84,22296,5.84,22297,5.84,22298,5.84,22299,5.84,22300,5.84,22379,12.202,22380,6.169,22381,9.236,22382,6.667,22383,6.667,22384,6.667,22385,6.667,22386,6.667,22387,6.667]],["title/injectables/UserLoginMigrationRevertService.html",[539,0.921,4573,5.563]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.294,3,0.019,4,0.019,5,0.01,7,0.125,8,1.331,27,0.454,29,0.872,30,0.001,31,0.63,32,0.143,33,0.527,35,1.053,36,2.357,52,5.829,95,0.15,99,1.406,101,0.013,103,0.001,104,0.001,128,5.552,177,2.048,226,1.27,239,2.039,262,2.666,379,1.391,539,1.475,541,2.085,603,2.274,608,2.549,654,2.616,1959,8.034,1961,7.955,1963,4.9,4565,5.459,4570,7.038,4571,9.58,4573,8.917,4578,8.247,4580,5.427,13013,6.215,14166,7.293,17332,7.613,22388,10.589,22389,8.691,22390,11.012,22391,8.691,22392,11.012,22393,8.691,22394,8.691,22395,8.691]],["title/injectables/UserLoginMigrationRule.html",[539,0.921,1773,5.765]],["body/injectables/UserLoginMigrationRule.html",[0,0.268,3,0.017,4,0.017,5,0.009,7,0.114,8,1.255,27,0.477,29,0.917,30,0.001,31,0.662,32,0.159,33,0.553,35,1.257,95,0.151,101,0.012,103,0.001,104,0.001,119,2.711,128,5.009,131,4.398,154,2.672,177,1.474,226,1.158,239,3.205,345,2.518,349,1.069,379,1.001,437,1.369,539,1.391,541,1.902,604,3.262,662,4.047,1147,2.413,1670,6.694,1697,8.164,1718,4.785,1735,7.491,1773,8.71,1875,6.735,1879,6.481,1886,5.295,3411,6.932,3412,5.378,3415,6.83,3417,5.378,3418,5.378,3419,7.04,3420,5.915,4578,8.768,6238,5.669,19257,7.336,22396,12.278,22397,7.929,22398,7.929,22399,7.929,22400,7.929]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.232,22244,6.018]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.263,2,0.862,3,0.017,4,0.017,5,0.009,7,0.112,27,0.523,29,0.617,30,0.001,31,0.446,32,0.177,33,0.606,52,4.949,55,2.892,56,6.275,59,3.159,70,6.553,95,0.136,101,0.012,103,0.001,104,0.001,112,0.785,128,5.17,138,2.187,150,1.756,180,1.779,239,1.828,245,2.639,247,3.352,284,3.836,379,0.984,382,3.631,556,1.904,813,7.201,814,5.468,815,8.186,816,7.094,817,5.891,819,3.924,821,5.319,822,3.78,823,4.15,824,2.769,825,5.468,826,6.659,827,5.947,828,5.127,829,4.032,830,5.468,831,5.468,833,4.925,834,4.248,4565,4.634,9805,7.209,9806,7.209,17118,7.209,22243,10.742,22244,8.989,22379,9.494]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.232,22211,5.765]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.403,2,1.095,3,0.022,4,0.022,5,0.011,7,0.142,27,0.408,30,0.001,32,0.128,33,0.571,39,3.442,47,0.838,52,5.755,95,0.141,101,0.015,103,0.001,104,0.001,112,0.913,128,5.427,138,1.775,148,3.072,149,4.604,150,2.231,248,4.77,249,4.676,4565,5.389,9807,8.669,9810,8.669,22211,10.014,22330,11.041,22401,9.897]],["title/injectables/UserLoginMigrationService.html",[539,0.921,4571,4.913]],["body/injectables/UserLoginMigrationService.html",[0,0.233,3,0.007,4,0.007,5,0.004,7,0.047,8,0.654,26,2.174,27,0.478,29,0.918,30,0.001,31,0.663,32,0.15,33,0.554,35,1.376,36,2.686,39,0.887,47,0.881,48,1.582,55,1.406,59,2.117,83,2.715,95,0.127,99,0.534,101,0.005,102,1.673,103,0,104,0,119,2.447,128,5.393,143,0.731,177,1.634,226,0.482,227,1.37,236,1.92,262,2.963,333,3.392,349,1.17,355,2.086,358,2.419,379,0.683,437,1.695,519,1.016,529,2.701,539,0.725,541,0.792,556,2.832,591,1.861,593,3.882,603,2.475,608,3.029,654,2.071,990,1.855,1218,1.25,1226,1.592,1440,2.316,1818,3.614,1959,5.03,1961,4.527,1963,1.861,1964,6.074,2079,1.461,2080,1.631,2081,1.573,2396,3.107,3134,1.522,3603,1.662,3623,2.891,3940,1.861,4266,3.994,4565,5.328,4568,4.741,4571,3.87,4572,7.435,4578,8.492,4580,8.078,4583,2.523,4585,5.773,4587,5.402,4590,5.132,4591,4.741,4743,1.745,4822,5.578,5703,2.061,6990,2.523,7322,4.239,8432,2.523,10187,2.673,11880,5.314,12675,5.937,13013,2.36,13470,3.054,13925,5.57,14166,2.77,14501,2.77,14774,6.026,14845,7.213,14846,7.213,14847,7.953,14949,3.054,14957,4.382,14959,8.127,14965,3.054,14971,2.77,14972,7.363,15816,7.827,15821,2.673,15822,5.007,16394,7.273,17332,2.891,18046,2.673,18402,4.741,19017,3.87,19394,3.054,19399,2.462,19439,6.365,19440,3.054,19458,5.007,19973,4.741,20443,2.592,20543,3.054,20576,3.054,21418,4.741,22280,4.25,22281,2.592,22388,10.336,22402,5.412,22403,5.412,22404,5.412,22405,5.412,22406,5.412,22407,5.412,22408,5.412,22409,3.301,22410,5.412,22411,3.301,22412,5.412,22413,3.301,22414,5.412,22415,3.301,22416,5.412,22417,3.301,22418,5.412,22419,3.301,22420,5.412,22421,3.301,22422,5.007,22423,3.054,22424,5.412,22425,3.301,22426,5.412,22427,3.301,22428,5.412,22429,3.301,22430,5.412,22431,5.412,22432,5.412,22433,5.412,22434,6.879,22435,3.301,22436,5.412,22437,5.412,22438,5.412,22439,3.301,22440,5.412,22441,3.301,22442,5.412,22443,3.301,22444,3.301,22445,3.301,22446,5.412,22447,3.301,22448,3.301,22449,3.301,22450,5.412,22451,3.301,22452,3.301,22453,3.301,22454,5.412,22455,5.007,22456,3.301]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.232,18407,5.765]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.296,2,0.968,3,0.019,4,0.019,5,0.01,7,0.126,8,1.337,26,2.75,27,0.456,29,0.693,30,0.001,31,0.5,32,0.113,33,0.418,35,1.06,39,3.257,52,6.143,95,0.131,99,1.415,101,0.013,103,0.001,104,0.001,128,5.475,177,2.056,191,4.695,284,2.648,321,6.383,345,2.778,349,0.901,379,1.105,603,1.806,654,3.329,1025,3.468,1147,3.366,1338,5.62,1339,6.273,1341,2.811,1343,6.334,1351,5.676,4565,5.475,8829,6.318,8830,6.558,11321,7.083,13037,8.94,14831,6.869,18407,9.279,19362,8.093,19363,8.093,22325,11.218,22457,8.747]],["title/injectables/UserLoginMigrationUc.html",[539,0.921,22183,5.563]],["body/injectables/UserLoginMigrationUc.html",[0,0.129,3,0.008,4,0.008,5,0.004,7,0.055,8,0.734,26,2.472,27,0.415,29,0.798,30,0.001,31,0.576,32,0.131,33,0.482,34,0.634,35,1.145,36,2.35,39,2.949,47,0.951,52,2.927,59,2.662,95,0.148,99,0.615,100,1.296,101,0.006,103,0,104,0,122,2.58,128,5.176,177,2.041,226,0.556,236,1.786,239,2.217,262,2.66,284,2.86,292,1.928,310,3.289,330,4.186,347,1.375,349,0.78,379,0.767,437,1.394,519,1.171,529,2.882,539,0.813,541,0.913,556,1.851,560,1.565,579,2.042,593,2.827,603,2.447,604,1.565,608,2.685,643,1.709,654,3.182,696,1.479,708,1.527,763,2.838,822,4.584,951,4.053,988,1.659,990,2.964,1025,3.004,1107,3.31,1218,1.44,1242,2.057,1270,3.485,1297,3.995,1341,1.222,1422,7.886,1673,2.347,1688,2.503,1726,2.599,1758,5.63,1834,4.341,1855,2.321,1964,5.328,2255,2.324,2312,3.144,2313,3.945,2494,2.54,2530,2.271,2531,1.763,2535,2.669,2882,4.122,3601,2.446,4266,3.409,4539,2.58,4540,2.669,4541,2.271,4565,4.773,4567,3.08,4571,7.559,4572,7.886,4578,4.916,4580,6.29,4584,2.987,4586,3.519,4702,2.907,4753,7.17,8980,2.54,8989,3.838,10665,2.838,11333,3.08,11837,2.776,12249,8.079,12269,4.43,12402,5.336,12477,6.184,13915,3.332,13941,6.631,13974,7.652,14232,5.318,14679,5.617,14799,5.417,15318,3.519,15821,3.08,16277,4.916,16337,4.916,16393,8.301,16395,7.91,16419,2.987,16420,3.332,16433,3.08,16451,3.192,16505,3.519,16511,3.332,16512,3.332,16672,5.617,16843,2.987,17122,3.08,17201,3.519,17204,5.617,17209,3.519,17223,3.332,17224,8.823,17225,3.519,17226,5.617,17227,5.617,17229,3.519,17230,3.519,17324,3.519,17407,3.519,17420,4.767,17442,5.318,17443,7.002,17444,8.559,17445,7.575,17451,3.332,19377,3.332,19399,9.136,22183,4.916,22192,5.617,22193,5.617,22242,7.002,22318,5.318,22458,10.57,22459,5.617,22460,7.576,22461,3.804,22462,3.804,22463,6.071,22464,3.804,22465,6.071,22466,3.804,22467,5.617,22468,3.804,22469,3.804,22470,3.804,22471,3.804,22472,3.804,22473,7.576,22474,3.804,22475,3.804,22476,3.804,22477,3.804,22478,3.804,22479,8.648,22480,3.804,22481,3.804,22482,6.071,22483,3.519,22484,3.519,22485,3.804,22486,6.071,22487,6.071,22488,6.071,22489,3.804,22490,3.804,22491,3.804,22492,3.804,22493,3.804,22494,3.804,22495,3.804,22496,9.45,22497,3.804,22498,6.071,22499,3.804]],["title/classes/UserMapper.html",[0,0.232,22500,6.018]],["body/classes/UserMapper.html",[0,0.312,2,1.023,3,0.02,4,0.02,5,0.01,7,0.133,8,1.384,27,0.381,29,0.732,30,0.001,31,0.529,32,0.12,33,0.442,34,1.54,35,1.12,95,0.135,99,1.495,101,0.014,103,0.001,104,0.001,154,1.854,236,1.504,239,3.048,276,4.97,349,0.952,413,3.743,651,4.458,652,4.458,653,4.75,655,4.687,1108,5.52,4266,3.129,4271,5.844,4446,5.705,4456,8.098,7331,7.486,11710,7.758,13413,7.26,13414,7.066,13415,6.897,13416,7.26,18561,9.605,18565,9.605,19215,7.486,22084,8.553,22085,8.553,22086,8.553,22091,8.553,22092,8.553,22093,8.553,22094,8.553,22095,8.553,22124,10.904,22126,8.553,22500,10.026,22501,9.245,22502,9.245,22503,9.245,22504,9.245]],["title/classes/UserMatchListResponse.html",[0,0.232,13611,5.765]],["body/classes/UserMatchListResponse.html",[0,0.354,2,0.72,3,0.014,4,0.014,5,0.007,7,0.093,27,0.491,29,0.515,30,0.001,31,0.519,32,0.174,33,0.57,34,1.084,39,1.748,47,0.795,55,2.824,56,5.948,59,2.795,70,6.212,95,0.141,101,0.014,103,0,104,0,112,0.695,128,2.655,138,2.03,143,1.442,148,2.02,149,3.504,150,1.467,153,2.83,180,1.574,181,1.757,191,3.492,192,4.063,239,2.969,245,3.255,247,2.799,276,2.825,284,3.604,319,2.749,361,5.951,379,0.822,382,3.371,517,2.455,556,1.59,564,2.037,593,2.428,651,4.379,652,4.379,808,3.601,815,7.811,816,6.724,817,5.213,819,3.277,821,4.849,822,3.157,823,3.466,824,2.312,825,4.566,826,5.893,827,5.263,828,4.282,829,3.367,830,4.566,831,4.566,833,4.113,834,3.548,839,2.827,1512,7.069,1903,4.282,3134,3,3135,4.166,3136,3.702,3140,3.277,3309,4.113,4565,4.101,5126,3.97,5590,4.016,10079,4.346,10080,4.748,10081,4.346,10082,4.748,11285,4.487,11303,4.653,11304,5.541,12840,4.974,12841,4.414,12858,7.62,12880,5.46,13611,7.62,13661,10.14,13663,7.995,13666,5.46,13667,5.46,13668,5.46,13669,5.46,13733,9.163,22505,8.402,22506,6.02,22507,6.507,22508,6.507,22509,5.7]],["title/classes/UserMatchMapper.html",[0,0.232,13603,5.765]],["body/classes/UserMatchMapper.html",[0,0.246,2,0.806,3,0.016,4,0.016,5,0.008,7,0.105,8,1.187,27,0.405,29,0.778,30,0.001,31,0.635,32,0.127,33,0.469,35,1.189,39,1.958,59,2.243,95,0.146,99,1.179,100,3.343,101,0.011,103,0.001,104,0.001,143,1.615,236,1.186,239,2.907,310,4.262,321,5.319,340,3.536,349,1.315,413,3.843,437,1.684,486,2.194,528,3.745,529,2.086,593,4.141,651,3.515,652,3.515,783,5.486,790,3.671,1309,6.432,1931,4.608,3135,4.667,3136,4.146,3174,4.868,3175,4.73,4565,5.012,4660,5.395,4661,5.212,5558,4.005,11285,5.026,11318,9.964,12006,5.438,12840,7.503,12841,6.658,12842,10.741,12886,9.615,13603,8.237,13605,6.385,13661,9.325,13663,8.483,13686,5.724,13688,6.116,13740,5.724,18380,8.598,18579,9.082,18584,6.744,18585,6.744,18586,6.744,22510,11.098,22511,7.289,22512,9.816,22513,7.289,22514,7.289,22515,7.289,22516,7.289,22517,9.816,22518,7.289,22519,7.289,22520,7.289,22521,7.289,22522,9.816,22523,7.289,22524,7.289,22525,7.289,22526,7.289,22527,7.289]],["title/classes/UserMatchResponse.html",[0,0.232,13661,5.395]],["body/classes/UserMatchResponse.html",[0,0.346,2,0.69,3,0.014,4,0.014,5,0.007,7,0.09,27,0.516,29,0.494,30,0.001,31,0.585,32,0.173,33,0.489,34,1.469,39,2.746,47,0.897,55,2.089,56,4.251,70,4.44,95,0.138,101,0.014,103,0,104,0,112,0.675,128,3.597,138,2.182,143,1.953,148,1.936,149,3.401,150,1.406,153,2.791,180,1.081,181,2.38,191,3.348,192,3.895,239,3.18,245,3.217,247,2.683,276,2.708,284,2.668,319,3.723,361,6.668,379,0.788,381,2.111,517,3.325,564,2.76,593,2.327,651,5.653,652,5.653,808,3.495,815,5.44,816,3.401,817,3.581,821,5.151,833,3.943,834,3.401,839,3.459,1277,3.486,1512,7.977,1903,5.801,3134,4.065,3135,5.644,3136,5.015,3140,4.44,3309,5.573,3876,3.686,4565,5.769,5126,5.379,5590,5.44,10079,4.166,10080,4.552,10081,4.166,10082,4.552,11285,7.05,11303,6.304,11304,6.779,12840,7.815,12841,6.935,12858,7.397,12880,5.234,13611,5.234,13661,10.032,13663,8.96,13666,5.234,13667,5.234,13668,5.234,13669,5.234,13733,10.268,22505,11.82,22506,5.771,22509,7.722,22528,6.238,22529,6.238,22530,6.238,22531,6.238,22532,6.238,22533,6.238,22534,6.238]],["title/interfaces/UserMetdata.html",[105,0.7,10217,5.395]],["body/interfaces/UserMetdata.html",[0,0.135,3,0.009,4,0.009,5,0.004,7,0.057,26,1.796,30,0.001,31,0.362,32,0.14,34,1.053,36,2.522,47,0.922,51,4.217,55,0.818,72,1.807,95,0.146,99,0.647,101,0.006,103,0,104,0,105,0.987,107,0.939,112,0.484,119,0.83,120,2.67,177,1.915,203,1.452,226,0.585,236,1.676,239,0.939,262,2.599,284,3.637,349,1.237,358,1.789,379,0.505,437,1.798,475,2.016,528,2.057,529,2.546,539,0.847,560,2.601,564,2.786,593,2.358,603,2.622,608,3.119,696,2.457,933,5.369,975,4.343,1122,2.563,1779,2.442,1898,4.776,1899,4.604,1901,3.895,1911,5.313,1920,3.048,1926,4.324,1928,2.53,1933,4.52,1940,2.986,1941,2.986,2159,6.988,2232,2.257,2395,2.365,2424,2.365,2627,6.429,3602,4.102,3603,2.016,4266,1.355,4417,5.016,4539,2.715,4540,2.809,4541,2.39,4660,4.306,4661,2.862,4822,4.63,4833,4.974,5310,2.673,5575,2.809,5952,5.155,5991,4.436,6055,2.715,6069,5.083,6127,4.52,6217,2.809,6290,5.844,6308,5.231,6324,4.834,6327,2.921,6341,4.831,6349,4.834,6722,3.736,6725,4.952,6726,2.809,6829,2.921,6878,3.143,7322,5.16,7328,4.287,7521,3.947,9065,2.862,9125,3.059,9147,2.921,9314,4.891,9339,6.363,9457,2.862,9460,7.082,9466,5.231,9495,3.059,10168,3.059,10169,3.241,10170,3.241,10171,3.241,10172,3.241,10173,3.241,10174,2.862,10175,3.241,10188,5.402,10190,3.241,10193,3.241,10195,3.241,10197,3.241,10198,7.205,10200,3.241,10202,3.241,10204,3.241,10206,3.241,10208,8.467,10209,3.241,10211,3.241,10213,3.241,10215,3.059,10216,3.241,10217,6.152,10218,6.988,10219,4.964,10220,5.118,10221,5.118,10222,7.845,10223,5.118,10224,3.241,10225,5.118,10226,3.241,10227,3.241,10228,5.118,10229,3.241,10230,3.241,10231,5.118,10232,3.241,10233,3.241,10234,3.241,10235,3.241,10236,3.241,10237,3.241,10238,3.241,10239,3.241,10240,3.241,10241,3.241,10242,6.343,10243,3.241,10244,3.241,10245,3.241,10246,3.241,10247,3.241,10248,3.241,10249,3.241,10250,3.241,10251,3.241,10252,3.241,10253,3.241,10254,5.118,10255,3.241,10256,3.143,10257,3.241,10258,4.221,10259,2.673,10260,3.143,10261,3.143,10262,3.241,10263,5.118,10264,3.241,10265,5.118,10266,3.241,10267,3.143,10268,3.241,10269,3.241,10270,3.241,10271,3.241,10272,3.241,10273,3.241,10274,3.241,10275,3.143,10276,3.143]],["title/controllers/UserMigrationController.html",[259,2.631,22184,6.018]],["body/controllers/UserMigrationController.html",[0,0.287,3,0.019,4,0.019,5,0.009,7,0.122,8,1.312,27,0.35,29,0.673,30,0.001,31,0.486,32,0.11,33,0.406,35,1.029,36,2.323,52,5.232,95,0.157,100,2.892,101,0.013,102,4.305,103,0.001,104,0.001,128,4.879,138,1.523,150,1.914,177,2.018,223,3.539,226,1.24,239,1.992,259,3.251,261,4.071,262,2.638,310,3.687,337,4.425,345,2.697,349,0.874,437,1.431,603,1.754,608,1.965,631,4.305,824,3.856,2255,4.578,2764,4.024,4565,4.9,13607,7.438,17122,6.876,17420,8.521,17431,10.034,17434,9.105,17439,11.038,21996,7.438,22183,8.786,22184,9.505,22189,10.039,22190,7.856,22535,10.851,22536,8.492,22537,10.851,22538,8.492,22539,10.851,22540,8.492,22541,8.492,22542,8.492,22543,8.492,22544,8.492,22545,8.492,22546,8.492,22547,8.492]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.232,22548,6.357]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.326,2,1.067,3,0.021,4,0.021,5,0.011,7,0.138,8,1.42,27,0.398,30,0.001,35,1.168,52,6.108,95,0.114,101,0.015,103,0.001,104,0.001,239,2.261,349,0.993,654,2.902,997,4.493,1025,3.822,1147,3.575,1338,5.871,1339,6.553,1341,3.098,1343,6.554,4565,5.303,6961,6.255,8829,6.6,8830,6.851,11316,7.191,13754,6.647,22548,10.866,22549,11.744,22550,9.639,22551,9.639,22552,9.639]],["title/classes/UserMigrationMapper.html",[0,0.232,17120,6.018]],["body/classes/UserMigrationMapper.html",[0,0.327,2,1.069,3,0.021,4,0.021,5,0.011,7,0.139,8,1.422,27,0.399,29,0.765,30,0.001,31,0.553,32,0.125,33,0.462,35,1.17,95,0.139,100,3.291,101,0.015,103,0.001,104,0.001,128,3.942,236,1.572,349,0.995,413,3.817,437,1.274,790,4.866,824,4.179,2119,6.27,3603,4.866,14799,9.435,15833,10.302,15834,10.302,17112,8.463,17116,11.348,17120,10.302,22334,8.939,22553,11.761,22554,9.662,22555,9.662]],["title/classes/UserMigrationResponse.html",[0,0.232,17116,5.765]],["body/classes/UserMigrationResponse.html",[0,0.341,2,1.117,3,0.022,4,0.022,5,0.011,7,0.145,27,0.498,29,0.8,30,0.001,31,0.577,32,0.157,33,0.483,47,0.848,101,0.016,103,0.001,104,0.001,112,0.924,181,3.26,379,1.275,381,3.416,2119,8.384,2135,8.47,17116,11.486,22380,9.339,22556,12.921,22557,10.094,22558,10.094,22559,10.094]],["title/injectables/UserMigrationService.html",[539,0.921,16395,5.395]],["body/injectables/UserMigrationService.html",[0,0.111,3,0.007,4,0.007,5,0.004,7,0.047,8,0.65,26,1.598,27,0.493,29,0.822,30,0.001,31,0.593,32,0.153,33,0.496,35,1.256,36,2.367,47,0.996,52,1.579,55,0.669,59,1.655,66,7.174,83,0.942,85,5.139,94,4.674,95,0.141,99,0.53,101,0.005,102,1.66,103,0,104,0,112,0.411,128,5.061,143,0.725,177,2.369,226,0.478,236,1.946,239,0.768,262,2.674,349,1.139,379,0.679,437,1.667,480,1.903,486,2.384,529,1.957,539,0.72,541,0.785,579,1.757,593,1.222,603,2.79,608,2.622,617,7.591,654,2.384,891,2.651,990,1.843,1025,1.298,1218,2.036,1242,1.771,1262,2.391,1309,3.964,1341,1.052,1456,2.154,1605,2.442,1726,2.302,1931,2.07,1958,2.651,1959,5.006,1961,3.538,1963,1.846,1964,3.031,1971,1.526,2021,4.439,2046,2.442,2079,1.449,2080,1.618,2081,1.561,2119,4.439,2255,3.599,2295,3.029,2312,2.839,2313,3.613,2318,3.116,2680,1.897,2681,1.757,3134,1.51,3430,3.707,3601,2.166,3603,1.649,3940,1.846,4565,5.475,4699,2.651,4753,3.647,4822,5.87,4957,2.571,5554,1.862,5624,2.221,5703,2.044,6422,4.568,7275,2.044,7283,4.8,7322,6.37,7329,2.651,7614,3.399,8176,2.571,8980,6.926,8989,3.399,10665,2.442,11419,3.647,11880,6.278,12661,2.442,12776,4.011,13140,3.923,13402,2.747,13434,5.992,13934,4.974,14225,2.651,14501,2.747,14508,2.747,14628,2.341,14799,8.101,14952,4.709,15820,2.868,15821,2.651,15830,8.698,16394,7.248,16395,4.222,16407,7.082,16438,4.974,16456,6.329,16476,6.329,16477,3.029,16992,2.502,17081,4.974,17420,7.8,17423,5.74,17424,5.74,17436,3.029,17442,5.992,17443,2.651,17444,2.651,17445,6.937,17451,2.868,19387,6.329,19391,6.329,19399,9.345,22280,6.219,22388,10.62,22423,4.974,22455,3.029,22459,4.974,22467,4.974,22560,7.919,22561,5.376,22562,5.376,22563,5.376,22564,7.919,22565,5.376,22566,3.274,22567,3.274,22568,3.274,22569,3.274,22570,5.376,22571,3.274,22572,5.376,22573,7.919,22574,3.274,22575,3.274,22576,3.274,22577,5.376,22578,3.274,22579,3.274,22580,8.746,22581,3.274,22582,6.841,22583,3.274,22584,3.274,22585,3.274,22586,3.274,22587,3.274,22588,3.274,22589,3.274,22590,6.841,22591,5.376,22592,3.274,22593,3.274,22594,3.274,22595,3.274,22596,3.274,22597,3.274,22598,3.274,22599,3.274,22600,3.274,22601,3.274,22602,3.274,22603,6.841,22604,3.274,22605,3.274,22606,3.274,22607,3.274,22608,3.274,22609,3.274,22610,3.274,22611,3.274,22612,3.274,22613,3.274,22614,3.274,22615,3.274,22616,5.376,22617,3.274,22618,3.274,22619,3.274,22620,3.274,22621,5.376,22622,3.274,22623,3.274,22624,3.274,22625,3.274,22626,3.274,22627,3.274,22628,3.274,22629,3.274,22630,3.274,22631,3.274,22632,3.274,22633,3.274,22634,3.274,22635,3.274,22636,3.274,22637,3.274]],["title/modules/UserModule.html",[201,1.845,3593,4.192]],["body/modules/UserModule.html",[0,0.271,3,0.017,4,0.017,5,0.009,30,0.001,95,0.16,101,0.012,103,0.001,104,0.001,201,3.126,203,2.91,204,3.119,205,3.206,206,3.193,207,3.181,208,4.296,209,4.407,213,9.379,214,6.113,217,8.452,218,4.181,219,3.143,220,3.072,225,4.164,226,1.172,227,3.329,654,2.415,1341,2.578,1420,9.785,1437,6.132,1963,4.523,3593,8.784,4822,8.278,5434,8.398,22043,11.007,22638,8.022,22639,8.022,22640,8.022,22641,8.022,22642,8.022,22643,7.422,22644,7.422,22645,8.022,22646,8.022]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.232,16421,6.018]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.25,2,0.818,3,0.016,4,0.016,5,0.008,7,0.106,8,1.198,26,2.411,27,0.529,29,0.586,30,0.001,31,0.423,32,0.161,33,0.354,35,0.896,47,0.957,48,5.726,59,2.276,95,0.132,99,1.196,101,0.011,103,0.001,104,0.001,112,0.758,177,2.554,180,1.718,182,2.342,193,5.396,239,1.735,284,2.238,292,5.668,349,0.762,379,1.252,382,3.557,480,2.757,486,2.984,603,2.309,654,2.226,990,2.535,1025,4.432,1147,3.017,1338,5.183,1339,5.785,1341,2.376,1343,5.938,3083,5.288,3930,5.652,4743,3.91,5550,4.866,5554,5.638,6961,4.799,7082,4.618,8829,5.825,8830,6.047,8980,7.466,8983,6.477,8989,7.55,8993,5.517,9276,4.675,9278,5.288,9279,6.477,9283,4.327,9284,4.512,11837,7.233,12266,9.364,12268,6.477,16339,8.682,16340,8.682,16341,8.317,16375,6.842,16376,6.205,16421,8.682,16445,6.477,22647,11.18,22648,11.18,22649,7.395,22650,7.395,22651,7.395,22652,7.395,22653,7.395,22654,7.395]],["title/classes/UserParams.html",[0,0.232,650,5.563]],["body/classes/UserParams.html",[0,0.402,2,1.09,3,0.021,4,0.021,5,0.011,7,0.141,27,0.406,30,0.001,32,0.128,34,1.983,39,3.434,47,0.836,95,0.141,101,0.015,103,0.001,104,0.001,112,0.91,135,6.651,138,1.766,142,4.644,143,2.636,144,3.858,145,3.344,148,3.057,150,2.22,153,2.26,239,2.791,245,3.06,650,9.635,808,4.718,3876,5.821,22655,9.849,22656,9.849]],["title/injectables/UserRepo.html",[217,4.146,539,0.921]],["body/injectables/UserRepo.html",[0,0.126,3,0.008,4,0.008,5,0.004,7,0.053,8,0.72,10,2.421,12,2.677,18,2.982,26,2.114,27,0.494,29,0.912,30,0.001,31,0.659,32,0.149,33,0.551,34,1.243,35,1.426,36,2.772,39,1.601,40,2.874,47,0.789,48,4.091,49,1.387,55,0.76,56,1.792,59,1.834,70,1.872,72,2.691,95,0.124,96,1.577,97,1.516,98,2.219,99,0.601,101,0.006,103,0,104,0,141,2.793,143,1.32,145,1.675,154,0.746,155,1.938,173,1.078,180,1.033,201,1.601,217,3.596,226,0.543,236,0.97,239,2.457,262,2.941,276,3.705,340,1.803,349,1.079,361,4.855,382,2.541,437,1.708,479,4.314,480,1.034,486,2.246,490,3.543,519,1.144,521,2.946,529,1.064,539,0.798,541,0.892,574,2.773,593,2.224,603,1.541,608,2.519,644,3.978,651,1.792,652,1.792,653,3.062,654,2.569,655,3.021,679,6.013,681,6.902,683,5.514,685,2.495,686,2.705,687,3.663,696,3.632,708,1.492,711,2.219,712,2.243,713,2.219,714,2.243,716,2.219,717,2.243,718,1.98,721,2.321,723,2.658,733,3.256,742,4.1,743,4.042,816,2.026,823,1.98,975,1.814,982,6.228,996,3.597,997,3.477,998,3.556,999,3.757,1000,2.043,1001,2.563,1004,2.841,1218,2.256,1309,5.413,1371,2.268,1726,1.591,1728,2.446,1931,3.767,2093,3.36,2340,3.596,3122,4.037,3140,3.757,3452,4.109,4266,2.017,4509,3.01,4741,6.238,4743,1.965,5310,5.699,5541,4.658,6132,4.946,6861,2.243,6926,3.119,7031,2.841,7149,5.334,7150,5.207,7160,4.446,7179,2.712,7180,2.712,7222,4.555,9432,4.555,10414,2.841,10926,3.39,11012,6.534,11651,3.256,11652,3.256,12813,3.439,12848,9.134,12849,2.658,12875,3.256,12886,6.91,13686,2.919,13740,2.919,13828,3.439,13839,3.119,13840,3.439,13842,3.439,13847,3.256,13848,3.439,14628,2.658,14664,5.001,21242,5.22,21244,5.22,22046,5.514,22053,5.514,22072,3.439,22075,3.439,22081,3.439,22083,3.439,22657,3.717,22658,5.514,22659,5.514,22660,7.46,22661,5.514,22662,3.717,22663,5.514,22664,3.717,22665,3.717,22666,3.717,22667,3.717,22668,3.717,22669,3.717,22670,3.717,22671,3.717,22672,3.717,22673,3.717,22674,3.717,22675,3.717,22676,3.717,22677,5.514,22678,3.717,22679,3.717,22680,5.96,22681,5.96,22682,5.96,22683,3.717,22684,3.717,22685,7.46,22686,3.717,22687,3.717,22688,3.717,22689,5.96,22690,3.717,22691,3.717,22692,3.119,22693,5.96,22694,3.717,22695,3.717,22696,5.96,22697,3.717,22698,3.717,22699,5.96,22700,5.96,22701,5.96,22702,5.96,22703,5.96,22704,5.96,22705,5.96,22706,7.46,22707,3.717,22708,3.717,22709,3.717,22710,3.717,22711,3.717,22712,3.717,22713,5.514,22714,3.717]],["title/injectables/UserRule.html",[539,0.921,1774,5.765]],["body/injectables/UserRule.html",[0,0.274,3,0.018,4,0.018,5,0.009,7,0.116,8,1.273,27,0.482,29,0.926,30,0.001,31,0.669,32,0.16,33,0.559,35,1.275,95,0.146,101,0.012,103,0.001,104,0.001,119,2.567,131,4.444,154,2.723,177,1.507,226,1.183,239,3.356,345,2.573,349,1.084,379,1.023,437,1.542,539,1.411,541,1.944,604,3.334,662,4.071,1147,2.466,1670,6.75,1697,8.212,1718,4.89,1735,7.554,1774,8.834,1875,6.831,1879,6.574,1886,5.411,3411,7.03,3412,5.496,3415,6.928,3418,5.496,3419,7.141,3420,6.044,22715,8.102,22716,8.102,22717,8.102,22718,8.102,22719,10.528]],["title/classes/UserScope.html",[0,0.232,22061,6.018]],["body/classes/UserScope.html",[0,0.209,2,0.685,3,0.013,4,0.013,5,0.007,7,0.089,8,1.06,26,2.235,27,0.542,29,0.989,30,0.001,31,0.714,32,0.17,33,0.597,35,1.512,59,3.598,83,4.004,95,0.104,99,1.001,101,0.01,103,0,104,0,112,0.671,119,2.517,145,1.74,180,1.52,227,2.569,239,1.452,310,2.688,349,1.204,382,3.481,480,1.722,486,1.863,519,1.905,556,2.856,603,2.507,654,1.863,2350,6.017,2837,6.153,4266,3.446,5558,5.291,6242,5.855,6243,5.855,6244,5.855,6249,5.855,6250,5.855,6251,4.199,6252,4.134,6253,4.199,6254,4.199,6263,4.134,6264,5.855,6265,4.199,6266,4.134,6267,4.199,6268,4.134,6269,7.806,6724,7.28,7170,5.012,8505,7.68,10846,7.68,10855,7.68,13052,9.808,13414,7.782,13415,6.541,15121,5.422,19443,10.814,22061,11.762,22068,8.112,22720,6.19,22721,8.768,22722,8.768,22723,6.19,22724,8.768,22725,6.19,22726,8.768,22727,6.19,22728,8.768,22729,6.19,22730,8.768,22731,6.19]],["title/injectables/UserService.html",[539,0.921,4822,4.06]],["body/injectables/UserService.html",[0,0.136,3,0.009,4,0.009,5,0.004,7,0.058,8,0.765,12,2.844,18,3.168,26,2.588,27,0.518,29,0.995,30,0.001,31,0.718,32,0.163,33,0.601,34,1.055,35,1.502,36,2.938,39,2.393,40,3.053,47,0.871,48,4.271,59,1.234,66,4.108,94,1.994,95,0.153,99,0.649,101,0.006,102,2.033,103,0,104,0,107,0.941,119,1.627,133,2.177,143,1.973,157,2.504,177,1.803,217,6.22,226,0.586,227,1.664,236,0.653,239,2.909,262,3.079,285,2.639,310,1.741,349,1.259,358,1.793,379,0.799,437,1.719,490,3.165,519,1.949,529,1.148,539,0.848,541,0.962,584,7.101,598,2.324,603,2.31,608,2.664,617,8.248,653,2.061,655,2.033,822,3.071,891,3.247,940,3.71,1108,2.395,1437,3.065,1605,2.992,1720,3.513,1723,3.209,1891,4.972,2232,2.261,2308,4.443,2324,4.443,2396,2.302,2680,4.546,3122,3.39,3174,2.678,3175,4.108,3417,2.72,4260,7.319,4630,5.609,4637,3.065,4734,8.248,4756,3.365,4822,3.742,5953,3.253,7150,5.435,7310,2.992,7322,6.607,7325,4.723,7328,4.294,7334,3.513,10089,5.545,13061,3.247,14862,5.545,14866,5.545,17212,3.71,17351,5.857,18293,3.513,21999,5.857,22043,9.055,22050,8.242,22060,3.71,22073,3.71,22124,6.582,22144,3.513,22500,3.513,22643,3.71,22644,3.71,22658,5.857,22659,5.857,22661,5.857,22663,5.857,22713,5.857,22732,4.01,22733,6.331,22734,6.331,22735,6.331,22736,6.331,22737,5.857,22738,4.01,22739,6.331,22740,4.01,22741,4.01,22742,4.01,22743,4.01,22744,4.01,22745,6.331,22746,4.01,22747,6.331,22748,4.01,22749,6.331,22750,4.01,22751,6.331,22752,4.01,22753,5.857,22754,4.01,22755,5.857,22756,8.908,22757,4.01,22758,6.331,22759,4.01,22760,6.331,22761,4.01,22762,4.01,22763,4.01,22764,4.01,22765,4.01,22766,4.01,22767,4.01,22768,4.01,22769,4.01,22770,4.01,22771,4.01,22772,4.01,22773,6.331,22774,4.01,22775,4.01,22776,4.01,22777,4.01,22778,4.01,22779,6.331,22780,4.01,22781,4.01,22782,4.01,22783,4.01,22784,4.01,22785,3.71,22786,4.01,22787,3.71,22788,4.01]],["title/injectables/UserUc.html",[539,0.921,13614,5.563]],["body/injectables/UserUc.html",[0,0.253,3,0.016,4,0.016,5,0.008,7,0.107,8,1.207,26,2.65,27,0.495,29,0.95,30,0.001,31,0.686,32,0.155,33,0.574,35,1.362,36,2.568,39,2.682,95,0.152,99,1.209,101,0.012,103,0.001,104,0.001,107,1.754,143,2.212,157,4.669,177,1.857,217,7.761,226,1.092,227,3.103,236,1.217,239,2.814,262,2.837,271,4.164,345,2.375,349,1.028,379,0.944,437,1.483,519,3.073,529,2.139,539,1.338,541,1.794,584,8.641,598,4.333,603,2.478,608,2.602,790,3.765,990,3.422,1720,6.549,1723,5.062,1891,7.841,2680,4.333,4258,10.067,4260,8.137,12140,6.917,13061,6.054,13614,8.085,18293,6.549,22144,6.549,22737,9.238,22753,9.238,22755,9.238,22785,6.917,22787,6.917,22789,7.477,22790,9.985,22791,7.477,22792,9.985,22793,7.477,22794,7.477,22795,7.477,22796,7.477,22797,7.477,22798,7.477]],["title/classes/UsersList.html",[0,0.232,6787,5.765]],["body/classes/UsersList.html",[0,0.211,2,0.857,3,0.009,4,0.009,5,0.004,7,0.154,26,2.162,27,0.319,30,0.001,31,0.443,32,0.139,34,1.601,39,2.08,47,0.897,62,2.324,83,2.94,95,0.144,96,1.041,101,0.012,103,0,104,0,105,0.401,112,0.477,119,1.293,143,2.461,144,3.115,145,1.105,153,1.777,154,1.25,168,3.515,172,3.458,173,1.14,174,2.369,175,1.758,178,1.553,180,0.682,181,1.062,182,1.245,236,1.808,239,2.397,253,1.943,316,2.127,348,3.139,349,1.347,379,0.497,404,1.572,413,1.877,437,1.725,473,2.095,486,2.331,490,1.397,519,1.919,528,2.021,529,1.784,556,2.497,565,3.722,603,1.82,644,4.107,651,4.249,652,4.249,654,1.877,662,3.627,708,1.578,726,3.3,839,2.411,915,2.76,1147,1.197,1226,3.006,1271,1.228,1664,1.473,1717,2.988,1726,2.669,1732,2.064,1820,2.373,1926,3.312,2024,1.833,2044,3.426,2670,4.687,2673,5.617,2677,4.256,2685,2.76,2687,2.456,3122,3.808,3174,2.626,3175,2.552,3346,2.324,3454,2.518,3751,2.812,3797,2.456,3821,4.102,3822,4.102,4119,2.324,4266,1.331,4267,5.434,4282,3.3,4316,5.651,4342,2.759,4417,4.958,4833,2.198,4969,2.427,5094,2.89,6624,2.934,6685,2.812,6717,3.445,6718,6.415,6719,5.253,6720,5.538,6721,4.163,6722,4.577,6723,2.712,6724,5.538,6725,4.895,6726,4.374,6727,5.651,6729,3.445,6731,3.445,6734,3.445,6735,2.552,6737,3.445,6739,6.783,6742,3.445,6744,3.445,6753,3.445,6757,2.456,6758,3.445,6759,3.445,6760,3.803,6761,4.458,6762,3.445,6763,5.777,6764,3.445,6765,4.549,6766,3.184,6767,3.684,6768,2.626,6769,4.102,6770,2.427,6771,3.941,6772,2.198,6773,5.048,6774,5.048,6775,3.445,6776,3.184,6777,2.812,6778,3.445,6779,3.445,6780,3.3,6781,2.934,6782,3.445,6783,3.445,6784,3.088,6785,3.445,6786,3.847,6787,10.612,6788,5.538,6789,3.184,6790,4.228,6791,2.427,6792,2.456,6793,2.373,6794,3.184,6795,3.445,6796,3.445,6797,5.46,6798,5.46,6799,5.46,6800,7.135,6801,5.048,6802,4.765,6803,5.46,6804,4.65,6805,4.765,6806,2.934,6807,3.445,6808,3.445,6809,2.518,6810,4.163,6811,3.445,6812,3.445,6813,3.445,6814,5.46,6815,3.445,6816,3.445,6817,3.445,6818,3.445,6819,3.445,6820,3.445,6821,3.445,6822,6.271,6823,6.783,6824,3.445,6825,3.445,6826,3.445,6827,3.445,6828,3.445,6829,2.87,6830,3.445,6831,3.445,6832,3.445,6833,3.445,6834,3.445,6835,2.667,6836,3.445,6837,3.3,6838,3.445,6839,6.783,6840,5.46,6841,3.445,6842,3.445,6843,3.184,6844,3.184,6845,2.712,6846,3.445,6847,6.271,6848,3.445,6849,3.445,6850,3.445,6851,3.445,22799,3.933,22800,3.933,22801,3.933]],["title/classes/ValidationError.html",[0,0.232,283,4.24]],["body/classes/ValidationError.html",[0,0.265,2,0.869,3,0.017,4,0.017,5,0.009,7,0.113,8,1.247,27,0.548,29,0.622,30,0.001,31,0.449,32,0.178,33,0.551,35,0.951,47,0.916,55,1.605,59,2.417,95,0.122,101,0.012,103,0.001,104,0.001,112,0.789,138,2.278,177,2.56,180,1.788,182,2.487,226,1.147,283,6.365,347,2.838,379,0.992,382,3.883,821,5.67,824,2.79,951,5.398,988,5.336,990,4.354,1025,5.17,1269,8.417,1270,7.63,1271,3.818,1272,7.374,1276,5.095,1277,4.389,1278,5.095,1279,5.095,1280,5.095,1281,5.095,1282,5.095,1283,4.738,1284,4.467,1285,6.166,1286,6.589,1289,4.846,1290,4.964,1291,6.166,1691,6.166,22802,7.852,22803,7.852,22804,7.852]],["title/classes/ValidationErrorDetailResponse.html",[0,0.232,1301,6.018]],["body/classes/ValidationErrorDetailResponse.html",[0,0.347,2,1.137,3,0.022,4,0.022,5,0.011,27,0.424,29,0.814,30,0.001,31,0.588,32,0.133,33,0.491,47,0.98,101,0.016,103,0.001,104,0.001,177,1.91,379,1.297,990,4.182,1286,8.62,1297,8.566,1301,10.688,5662,8.563,22805,12.202,22806,10.273,22807,10.273,22808,10.273]],["title/modules/ValidationModule.html",[201,1.845,6677,5.765]],["body/modules/ValidationModule.html",[0,0.348,3,0.022,4,0.022,5,0.011,30,0.001,95,0.154,101,0.016,103,0.001,104,0.001,201,3.283,203,3.735,208,3.801,226,1.504,636,6.026,6677,10.255,6690,11.307,8909,7.872,8913,7.872,11540,10.704,22809,10.299,22810,10.299,22811,10.299]],["title/entities/VideoConference.html",[154,1.378,6786,4.24]],["body/entities/VideoConference.html",[0,0.357,3,0.018,4,0.018,5,0.009,7,0.178,27,0.483,30,0.001,32,0.161,47,0.741,95,0.125,96,2.153,101,0.019,103,0.001,104,0.001,112,0.897,119,2.43,138,2.101,154,2.117,155,2.645,170,6.069,172,4.098,173,2.358,174,4.011,175,3.636,177,1.513,178,3.212,180,1.41,181,2.196,182,2.576,490,4.406,839,2.532,2739,5.628,3459,6.069,4833,5.899,5208,6.587,6786,6.513,7105,7.404,7131,5.709,8542,4.586,8544,5.353,8563,5.609,8564,5.609,8565,5.936,12479,8.289,16013,6.388,16168,9.488,22812,11.472,22813,7.526,22814,9.25,22815,8.135,22816,8.135,22817,8.135,22818,7.126,22819,7.526,22820,7.526,22821,6.587,22822,6.826,22823,6.587,22824,6.388,22825,9.245,22826,7.526,22827,7.526,22828,7.526,22829,7.526,22830,7.526]],["title/classes/VideoConference-1.html",[0,0.193,708,2.292,6786,3.525]],["body/classes/VideoConference-1.html",[0,0.303,2,0.991,3,0.02,4,0.02,5,0.01,7,0.129,27,0.53,29,0.71,30,0.001,31,0.512,32,0.167,33,0.586,95,0.145,99,1.449,100,3.051,101,0.014,103,0.001,104,0.001,112,0.859,238,6.852,379,1.131,643,6.066,1998,6.895,2008,6.287,2014,5.407,2186,10.32,3971,9.419,6786,8.166,8542,5.051,8544,5.896,8555,6.178,8557,7.255,22831,11.591,22832,8.959,22833,11.225,22834,8.959,22835,9.37,22836,8.959,22837,8.289,22838,8.289,22839,8.959,22840,8.959,22841,8.289]],["title/modules/VideoConferenceApiModule.html",[201,1.845,19584,5.563]],["body/modules/VideoConferenceApiModule.html",[0,0.282,3,0.018,4,0.018,5,0.009,30,0.001,95,0.157,101,0.013,103,0.001,104,0.001,201,3.187,203,3.029,204,3.247,205,3.338,206,3.325,207,3.311,208,4.38,209,3.162,218,4.291,219,3.272,220,3.198,222,5.215,223,4.475,225,4.274,226,1.22,259,3.198,1752,7.543,1998,4.352,2531,3.872,2764,3.958,3593,8.09,3603,4.206,8542,4.709,8544,5.496,19584,11.649,19606,6.763,22842,8.352,22843,8.352,22844,8.352,22845,11.126,22846,11.126,22847,11.126,22848,11.126,22849,11.126,22850,9.956,22851,8.352]],["title/classes/VideoConferenceBaseResponse.html",[0,0.232,8545,5.395]],["body/classes/VideoConferenceBaseResponse.html",[0,0.383,2,1.391,3,0.017,4,0.017,5,0.008,7,0.109,27,0.498,29,0.602,30,0.001,31,0.435,32,0.157,33,0.542,47,0.796,95,0.119,99,1.23,101,0.017,102,6.122,103,0.001,104,0.001,112,0.773,119,2.351,180,1.75,236,1.965,238,6.336,347,4.097,358,5.399,379,0.96,490,2.701,643,5.805,824,4.291,986,4.933,1262,2.657,1986,4.406,1998,6.55,2395,7.138,6446,4.112,8540,7.928,8541,9.871,8542,7.718,8543,6.659,8544,8.272,8545,10.355,8546,9.484,8548,5.811,8551,9.179,8554,6.379,8555,5.242,8556,6.379,8557,6.156,8558,6.659,8559,8.175,8560,8.844,8561,6.379,8562,5.436,8563,5.242,8564,5.242,8565,5.548,8566,6.379,22852,10.096,22853,7.602,22854,7.602]],["title/classes/VideoConferenceConfiguration.html",[0,0.232,22855,6.018]],["body/classes/VideoConferenceConfiguration.html",[0,0.291,2,0.951,3,0.019,4,0.019,5,0.01,7,0.123,27,0.451,30,0.001,32,0.142,47,0.965,95,0.142,101,0.013,103,0.001,104,0.001,105,0.876,112,0.837,119,2.268,413,4.022,480,3.043,486,3.621,1181,6.674,1195,8.59,1998,6.268,2014,8.063,2079,3.806,2080,4.249,2081,4.099,2196,8.857,2197,9.581,2199,9.74,3940,4.848,4957,8.59,6786,7.423,8542,6.782,12411,5.833,13432,10.536,13434,9.581,19606,9.74,22855,9.581,22856,10.938,22857,10.938,22858,10.938,22859,8.599,22860,10.938,22861,10.12,22862,8.599]],["title/controllers/VideoConferenceController.html",[259,2.631,22850,5.765]],["body/controllers/VideoConferenceController.html",[0,0.13,3,0.019,4,0.008,5,0.004,7,0.055,8,0.739,27,0.358,29,0.872,30,0.001,31,0.497,32,0.143,33,0.416,35,1.464,36,2.357,95,0.137,100,2.595,101,0.006,103,0,104,0,105,0.391,138,1.558,141,4.072,142,4.297,150,0.865,153,3.213,177,1.616,223,1.599,226,0.56,236,1.645,239,2.583,259,1.469,261,1.839,262,2.666,270,6.026,271,2.822,284,3.333,285,7.245,294,6.18,319,2.582,324,3.098,333,4.044,335,5.727,336,8.008,337,1.999,338,2.043,343,2.059,346,5.188,347,4.673,349,0.629,358,4.922,379,0.484,437,1.497,529,1.098,556,3.105,603,1.794,608,2.011,643,4.947,685,2.559,829,4.91,990,1.315,1284,2.182,1291,6.823,1306,7.178,1351,5.638,1618,2.692,1998,4.945,2094,6.795,2138,8.673,2175,8.666,2190,6.391,2205,6.213,2212,5.354,2232,4.899,2368,3.864,2718,8.916,2764,1.818,2830,3.649,2963,2.013,3083,7.873,4081,2.425,6865,2.291,8262,2.602,8542,7.672,8544,8.629,8548,6.641,9282,7.291,10886,6.341,11334,8.039,11647,8.039,13910,3.36,19546,8.673,22814,6.482,22846,6.393,22847,6.393,22848,6.393,22849,6.393,22850,5.129,22863,8.78,22864,3.836,22865,3.836,22866,3.549,22867,12.087,22868,10.749,22869,3.836,22870,9.354,22871,3.836,22872,8.039,22873,3.836,22874,3.549,22875,3.836,22876,3.836,22877,3.836,22878,3.836,22879,3.836,22880,3.836,22881,6.112,22882,3.836,22883,3.836,22884,3.836,22885,7.036,22886,3.836,22887,6.112,22888,3.836,22889,3.219,22890,3.219,22891,3.106,22892,4.672,22893,4.672,22894,6.393,22895,6.393,22896,3.549,22897,3.836,22898,3.836,22899,3.549,22900,3.836,22901,6.112,22902,3.836,22903,8.689,22904,8.689,22905,3.836,22906,3.836,22907,3.836,22908,3.836,22909,3.836,22910,3.836,22911,3.836,22912,3.836,22913,3.836,22914,3.836,22915,3.836]],["title/classes/VideoConferenceCreateParams.html",[0,0.232,22885,5.563]],["body/classes/VideoConferenceCreateParams.html",[0,0.344,2,0.852,3,0.017,4,0.017,5,0.009,7,0.111,27,0.501,30,0.001,32,0.157,33,0.642,47,0.715,95,0.135,101,0.012,103,0.001,104,0.001,105,0.785,112,0.779,118,6.521,119,2.69,138,2.177,145,2.165,147,6.566,148,2.391,149,4.871,150,1.736,153,1.767,220,3.9,249,4.946,486,3.435,1025,4.038,1262,4.243,1277,4.306,1351,6.609,1778,3.99,1998,6.578,2021,7.404,2207,6.146,3122,4.401,3601,4.104,8542,7.458,8562,8.159,8563,7.868,8564,7.868,8704,6.702,9155,6.238,9162,7.127,17457,9.423,21588,7.998,22885,8.247,22916,11.681,22917,11.41,22918,11.41,22919,7.703,22920,7.703,22921,10.185,22922,8.921,22923,10.185,22924,10.185,22925,10.185,22926,7.703,22927,7.703,22928,7.703,22929,6.464,22930,6.748,22931,6.748,22932,6.748,22933,7.703]],["title/injectables/VideoConferenceCreateUc.html",[539,0.921,22846,5.765]],["body/injectables/VideoConferenceCreateUc.html",[0,0.176,3,0.011,4,0.011,5,0.006,7,0.075,8,0.934,26,2.388,27,0.471,29,0.905,30,0.001,31,0.677,32,0.148,33,0.547,35,1.321,36,2.446,47,0.803,95,0.144,99,0.841,100,1.771,101,0.008,103,0,104,0,105,0.53,177,1.714,226,0.76,236,1.257,239,1.812,262,2.739,276,3.355,349,0.536,379,0.976,437,1.507,490,4.613,519,1.601,529,1.488,539,1.035,541,1.248,556,2.252,560,2.14,579,4.147,603,2.756,608,2.925,685,3.235,756,4.811,766,2.907,829,2.691,933,2.882,950,3.209,1242,4.179,1509,8.939,1855,3.173,1888,4.084,1926,1.954,1997,5.764,1998,6.165,2002,5.525,2014,3.138,2015,4.211,2020,4.555,2060,10.009,2083,8.525,2098,4.211,2126,4.555,2160,8.563,2186,5.906,2188,8.734,2318,3.014,2443,3.33,2530,3.105,3603,2.619,4042,3.173,4266,1.76,4753,6.253,4822,6.993,5558,5.156,6786,3.209,7096,3.173,7322,4.115,8542,6.671,13056,8.83,14946,4.084,15114,4.811,16992,3.975,19546,9.659,22814,9.428,22824,4.084,22846,6.484,22934,9.928,22935,5.2,22936,7.726,22937,9.219,22938,7.726,22939,7.726,22940,4.364,22941,9.581,22942,5.2,22943,7.726,22944,5.2,22945,7.726,22946,5.2,22947,5.2,22948,9.552,22949,5.2,22950,7.726,22951,5.2,22952,7.726,22953,5.2,22954,4.364,22955,5.2,22956,5.2,22957,7.736,22958,5.2,22959,4.555,22960,4.555,22961,5.2,22962,4.811,22963,7.736,22964,4.811,22965,4.555,22966,5.2,22967,5.2,22968,9.219,22969,5.2,22970,5.2,22971,5.2,22972,5.2,22973,5.2,22974,5.2,22975,4.555,22976,5.2,22977,5.2,22978,4.811]],["title/classes/VideoConferenceDO.html",[0,0.232,22979,5.395]],["body/classes/VideoConferenceDO.html",[0,0.366,2,0.936,3,0.018,4,0.018,5,0.009,7,0.121,27,0.536,29,0.67,30,0.001,31,0.484,32,0.169,33,0.571,34,1.803,47,0.838,95,0.128,101,0.017,103,0.001,104,0.001,112,0.828,119,2.475,180,1.876,379,1.068,382,2.518,490,4.241,1665,3.479,1746,7.362,2739,5.417,5208,6.848,5963,6.171,7105,7.126,7131,5.934,7429,6.463,7432,8.498,7433,6.641,8542,4.768,8562,6.047,8563,5.831,8564,5.831,8565,6.171,16013,6.641,19547,9.372,22821,6.848,22822,7.096,22823,6.848,22824,6.641,22975,7.407,22979,10.212,22980,12.032,22981,7.824,22982,10.822,22983,10.558,22984,8.456,22985,8.456,22986,7.824,22987,7.824,22988,7.407,22989,7.824,22990,7.824,22991,7.824]],["title/controllers/VideoConferenceDeprecatedController.html",[259,2.631,22992,6.018]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.15,3,0.021,4,0.01,5,0.005,7,0.064,8,0.83,10,1.808,27,0.346,29,0.852,30,0.001,31,0.479,32,0.177,33,0.401,35,1.359,36,2.304,47,0.835,95,0.146,100,3.21,101,0.007,102,4.25,103,0,104,0,105,0.453,138,1.503,142,4.2,150,1.003,153,3.096,177,0.827,223,1.854,226,0.65,239,2.524,259,3.21,261,2.133,262,2.622,270,5.961,271,3.105,278,4.657,282,6.72,284,3.257,285,7.081,287,7.081,294,6.114,319,2.9,324,3.48,333,1.896,335,5.687,336,7.715,337,2.318,338,2.37,343,2.388,345,1.413,346,5.005,347,4.388,349,0.863,358,3.069,437,1.243,608,2.357,643,4.835,685,2.874,1226,5.409,1306,7.148,1351,4.455,1618,3.122,1998,4.911,2008,3.122,2014,2.685,2138,5.247,2175,6.877,2190,5.299,2205,6.739,2212,6.014,2232,4.726,2395,4.057,2396,3.941,2530,6.697,2680,6.5,2718,8.714,2764,2.109,2962,2.508,2963,2.335,3083,7.695,3731,2.971,4969,2.746,5558,5.24,6786,5.173,8540,6.583,8542,7.312,8544,7.988,8545,3.494,8562,3.181,8563,3.068,8564,3.068,8902,8.225,10112,10.4,19547,9.533,22835,3.401,22850,5.761,22863,8.719,22866,4.116,22870,9.956,22872,7.756,22874,4.116,22885,7.631,22892,6.407,22893,5.247,22896,4.116,22929,3.733,22930,3.897,22931,3.897,22932,3.897,22992,6.014,22993,4.449,22994,8.383,22995,4.449,22996,4.449,22997,4.449,22998,4.449,22999,4.449,23000,4.449,23001,4.449,23002,4.449,23003,3.897,23004,4.449,23005,6.352,23006,4.449,23007,4.116,23008,4.449,23009,4.449,23010,4.449,23011,8.383,23012,8.383,23013,4.449,23014,6.865,23015,4.449,23016,3.733,23017,4.449,23018,4.116,23019,4.116,23020,4.116,23021,4.449,23022,4.449,23023,4.449,23024,4.449,23025,4.449,23026,4.449,23027,4.449]],["title/injectables/VideoConferenceEndUc.html",[539,0.921,22847,5.765]],["body/injectables/VideoConferenceEndUc.html",[0,0.236,3,0.015,4,0.015,5,0.008,7,0.1,8,1.152,26,2.354,27,0.393,29,0.755,30,0.001,31,0.545,32,0.124,33,0.456,35,0.845,36,2.04,39,1.874,47,0.669,95,0.155,99,1.129,100,2.376,101,0.011,103,0.001,104,0.001,177,2.018,226,1.019,236,1.766,238,3.899,239,2.235,262,2.394,349,0.718,379,1.203,437,1.732,528,3.585,529,1.996,539,1.277,541,1.674,560,2.87,603,2.241,608,2.917,643,3.134,766,3.899,933,3.866,1855,4.256,1888,5.478,1926,2.622,1971,3.252,1997,8.095,1998,5.654,2002,4.988,2008,4.896,2014,4.21,2015,5.649,2083,8.699,2098,5.649,2186,8.913,2188,9.632,2190,6.023,2530,4.166,3603,3.513,4753,4.732,4822,7.623,5558,4.758,6786,7.196,7096,4.256,7322,5.075,8542,6.118,13056,7.716,14946,5.478,16992,5.332,19546,8.913,19605,5.649,22835,5.332,22847,7.996,22890,5.854,22891,5.649,22934,9.106,22940,5.854,22941,10.445,22948,6.111,22954,5.854,22957,7.996,22959,6.111,22960,6.111,22963,7.996,22965,6.111,22978,6.454,23028,6.976,23029,6.976,23030,9.528,23031,6.976,23032,6.111,23033,5.854,23034,6.111,23035,6.976,23036,6.976,23037,6.976,23038,6.454,23039,6.454]],["title/classes/VideoConferenceInfo.html",[0,0.232,22892,5.251]],["body/classes/VideoConferenceInfo.html",[0,0.304,2,0.993,3,0.02,4,0.02,5,0.01,7,0.129,27,0.53,29,0.711,30,0.001,31,0.514,32,0.167,33,0.429,47,0.631,95,0.145,100,3.058,101,0.014,103,0.001,104,0.001,105,0.915,112,0.86,138,2.016,170,6.699,172,2.795,180,1.949,379,1.134,382,3.654,490,4.36,1998,5.857,2014,5.419,2160,7.051,2739,5.102,3971,9.432,6786,8.336,7105,6.712,8542,6.918,8544,5.909,8565,6.552,12757,7.865,16168,7.271,22814,9.154,22831,9.846,22892,10.121,23040,8.979,23041,8.979,23042,8.979,23043,8.979,23044,8.979,23045,8.979]],["title/classes/VideoConferenceInfoResponse.html",[0,0.232,22894,5.765]],["body/classes/VideoConferenceInfoResponse.html",[0,0.289,2,0.947,3,0.019,4,0.019,5,0.01,7,0.123,27,0.495,29,0.678,30,0.001,31,0.49,32,0.156,33,0.41,95,0.142,101,0.013,103,0.001,104,0.001,112,0.835,138,1.957,150,1.93,153,2.754,238,7.297,245,3.087,379,1.081,490,4.639,821,3.97,839,2.666,1998,6.586,2162,6.725,2921,5.061,2922,5.23,8541,9.926,8542,7.877,8544,8.782,8546,8.567,8548,6.545,8551,10.982,8554,7.186,8555,5.905,8556,7.186,8565,6.249,8566,7.186,22173,10.093,22894,10.955,23046,10.074,23047,8.563,23048,7.923]],["title/injectables/VideoConferenceInfoUc.html",[539,0.921,22848,5.765]],["body/injectables/VideoConferenceInfoUc.html",[0,0.199,3,0.013,4,0.013,5,0.007,7,0.084,8,1.021,26,2.183,27,0.408,29,0.784,30,0.001,31,0.566,32,0.128,33,0.473,35,1.023,36,2.315,95,0.151,99,0.951,100,2.002,101,0.009,103,0,104,0,105,0.599,119,1.219,177,1.84,226,0.858,236,1.76,238,4.722,239,1.982,262,2.631,349,0.87,379,1.067,437,1.689,490,4.552,529,1.682,539,1.132,541,1.41,560,2.418,579,4.535,603,2.464,608,2.965,643,3.796,766,3.285,824,3.843,933,3.257,1242,4.57,1855,3.586,1888,4.615,1926,2.209,1971,2.739,1997,7.38,1998,5.636,2002,4.202,2014,3.547,2015,4.759,2083,8.548,2098,6.842,2160,4.615,2186,8.267,2188,9.118,2193,7.817,2530,3.509,3603,2.96,4753,6.71,4822,7.264,5558,4.675,7096,3.586,7322,4.5,8542,6.098,13056,6.842,14946,4.615,16992,4.492,19546,9.395,19605,4.759,22814,7.38,22824,4.615,22835,4.492,22848,7.09,22890,4.932,22891,4.759,22892,8.267,22929,7.09,22934,9.076,22940,4.932,22941,9.953,22948,5.148,22954,4.932,22957,8.301,22959,5.148,22960,5.148,22962,5.437,22963,9.076,22964,5.437,22965,7.401,22979,6.635,22983,8.301,23016,4.932,23032,5.148,23033,4.932,23034,5.148,23039,7.817,23049,5.877,23050,8.449,23051,5.877,23052,8.449,23053,5.877,23054,8.449,23055,5.877,23056,5.877,23057,5.877,23058,5.437,23059,5.437,23060,5.877,23061,5.877,23062,5.877,23063,5.877,23064,5.877,23065,5.437,23066,5.877]],["title/classes/VideoConferenceJoin.html",[0,0.232,22893,5.251]],["body/classes/VideoConferenceJoin.html",[0,0.305,2,0.998,3,0.02,4,0.02,5,0.01,7,0.129,27,0.531,29,0.714,30,0.001,31,0.516,32,0.167,33,0.431,47,0.792,95,0.133,99,1.459,100,3.072,101,0.014,103,0.001,104,0.001,112,0.862,238,6.872,379,1.139,643,6.076,1262,4.297,1998,6.909,3971,9.459,6446,4.878,8542,7.625,8544,5.935,8555,6.219,8557,7.303,22831,11.614,22835,9.398,22837,8.345,22838,8.345,22841,8.345,22893,10.134,23067,9.019,23068,11.272,23069,9.019,23070,9.019,23071,9.019]],["title/classes/VideoConferenceJoinResponse.html",[0,0.232,22895,5.765]],["body/classes/VideoConferenceJoinResponse.html",[0,0.321,2,1.052,3,0.021,4,0.021,5,0.011,7,0.136,27,0.48,29,0.753,30,0.001,31,0.544,32,0.151,33,0.455,47,0.818,95,0.112,101,0.015,103,0.001,104,0.001,112,0.891,138,1.705,150,2.142,153,2.18,245,2.994,379,1.2,821,4.406,1262,4.704,1998,6.559,2138,8.899,2155,8.793,6446,5.141,8541,9.885,8542,7.589,8544,7.662,8546,9.143,8548,7.264,8561,7.975,22895,11.296,23072,11.643]],["title/injectables/VideoConferenceJoinUc.html",[539,0.921,22849,5.765]],["body/injectables/VideoConferenceJoinUc.html",[0,0.233,3,0.015,4,0.015,5,0.008,7,0.099,8,1.141,26,2.34,27,0.389,29,0.748,30,0.001,31,0.54,32,0.122,33,0.451,35,0.834,36,2.021,47,0.483,95,0.155,99,1.113,100,2.344,101,0.011,103,0,104,0,177,2.004,226,1.005,236,1.753,238,3.846,239,1.614,262,2.377,276,4.099,349,0.709,379,1.192,437,1.655,529,1.969,539,1.265,541,1.651,560,2.832,603,2.225,608,2.812,643,3.092,1181,4.199,1262,3.299,1998,5.614,2002,4.921,2014,4.153,2015,5.572,2083,5.134,2117,6.028,2137,9.438,2138,8.236,2188,9.592,2530,5.637,3175,4.465,3603,3.466,4753,6.403,4822,7.596,5558,4.396,6786,4.247,7322,5.028,7671,5.134,8542,6.537,16992,5.26,19546,8.862,19605,5.572,22835,5.26,22849,7.921,22890,5.775,22891,5.572,22893,9.286,22934,9.042,22940,5.775,22941,10.407,22954,5.775,22957,9.042,22963,7.921,22979,7.413,23016,5.775,23032,6.028,23033,5.775,23034,6.028,23059,9.969,23065,6.367,23073,6.882,23074,6.882,23075,9.44,23076,6.882,23077,6.882,23078,6.882,23079,6.882,23080,6.882,23081,6.882,23082,9.44,23083,6.882,23084,9.44,23085,6.882,23086,6.882,23087,6.882,23088,6.882,23089,6.882,23090,6.882]],["title/classes/VideoConferenceMapper.html",[0,0.232,22889,5.765]],["body/classes/VideoConferenceMapper.html",[0,0.241,2,0.788,3,0.016,4,0.016,5,0.008,7,0.102,8,1.168,27,0.485,29,0.932,30,0.001,31,0.673,32,0.152,33,0.563,35,1.425,95,0.15,99,1.152,101,0.015,103,0.001,104,0.001,105,0.726,236,1.785,238,5.402,271,2.639,349,1.211,413,4.14,437,1.275,490,2.531,643,3.2,790,3.587,1262,2.489,1618,4.998,1998,6.407,2014,4.298,2021,4.622,2083,5.314,2098,5.768,2100,6.59,8542,4.016,8551,8.882,8562,5.093,8563,4.912,8564,4.912,22814,8.183,22835,8.991,22885,9.525,22889,8.11,22892,9.399,22893,9.399,22894,9.87,22895,9.87,22899,6.59,22929,5.977,22930,6.239,22931,6.239,22932,6.239,23016,5.977,23018,6.59,23019,6.59,23020,6.59,23033,5.977,23038,6.59,23046,5.977,23048,6.59,23058,6.59,23091,12.296,23092,7.123,23093,9.664,23094,9.664,23095,9.664,23096,9.664,23097,9.664,23098,7.123,23099,9.664,23100,7.123,23101,9.664,23102,7.123,23103,9.664,23104,7.123,23105,6.59,23106,7.123,23107,7.123,23108,7.123,23109,7.123,23110,7.123,23111,7.123,23112,7.123,23113,7.123,23114,7.123,23115,7.123]],["title/modules/VideoConferenceModule.html",[201,1.845,22845,5.765]],["body/modules/VideoConferenceModule.html",[0,0.206,3,0.013,4,0.013,5,0.007,30,0.001,80,7.598,95,0.164,101,0.009,102,3.091,103,0,104,0,105,0.621,201,2.712,203,2.211,204,2.37,205,2.437,206,2.427,207,2.417,208,4.06,209,4.164,214,5.629,218,3.467,219,2.389,220,2.335,223,3.616,225,3.453,226,0.891,227,2.53,259,2.335,340,2.958,560,2.509,636,5.076,654,1.836,964,3.533,1180,6.203,1341,1.959,1726,4.323,1752,6.87,1797,8.636,1810,8.328,1832,5.55,1834,7.22,1963,3.438,1971,2.842,1998,3.177,2014,3.68,2188,10.235,2200,10.135,2202,7.598,2531,2.826,2764,2.89,3593,7.884,3603,3.071,3605,4.788,3992,10.135,3998,5.793,5434,7.733,5444,5.116,8542,4.891,8544,6.644,10777,4.279,11057,4.66,11058,4.66,13435,8.026,14696,8.636,14955,4.549,19606,4.937,22845,12.087,22855,5.341,22861,5.641,22941,10.843,22992,9.634,23005,11.496,23116,6.097,23117,6.097,23118,6.097,23119,6.097,23120,10.579,23121,6.097,23122,6.097,23123,6.097,23124,6.097,23125,6.097,23126,6.097,23127,6.097,23128,6.097,23129,8.674]],["title/classes/VideoConferenceOptions.html",[0,0.232,22814,5.125]],["body/classes/VideoConferenceOptions.html",[0,0.355,2,0.893,3,0.018,4,0.018,5,0.009,7,0.177,27,0.51,29,0.639,30,0.001,31,0.462,32,0.166,33,0.386,47,0.567,95,0.124,96,2.136,101,0.019,103,0.001,104,0.001,112,0.893,119,2.725,154,2.106,172,3.848,173,2.34,174,3.99,175,3.607,177,1.501,178,3.187,180,1.399,181,2.178,182,2.556,379,1.019,490,4.148,839,2.512,2739,4.766,3459,6.02,4833,5.869,5208,8.503,6786,4.98,7105,6.27,7131,5.663,8542,4.55,8544,5.311,8563,8.048,8564,8.048,8565,5.889,12479,8.246,16013,6.337,16168,8.503,22812,11.857,22813,7.467,22814,9.801,22818,10.224,22819,7.467,22820,7.467,22821,6.535,22822,6.772,22823,6.535,22824,6.337,22825,9.198,22826,7.467,22827,7.467,22828,7.467,22829,7.467,22830,7.467,23130,10.5,23131,8.07,23132,8.07]],["title/classes/VideoConferenceOptionsDO.html",[0,0.232,22983,5.765]],["body/classes/VideoConferenceOptionsDO.html",[0,0.372,2,0.962,3,0.019,4,0.019,5,0.01,7,0.125,27,0.524,29,0.688,30,0.001,31,0.497,32,0.165,33,0.416,47,0.61,95,0.13,101,0.017,103,0.001,104,0.001,112,0.843,119,2.778,180,1.507,379,1.098,490,3.913,1746,6.444,2739,3.945,5208,8.917,7105,5.19,7131,6.099,7429,6.643,7432,6.825,7433,6.825,8542,4.9,8562,8.644,8563,8.335,8564,8.335,8565,6.342,16013,6.825,19547,8.648,22821,7.038,22822,7.293,22823,7.038,22824,6.825,22975,7.613,22979,8.648,22980,12.133,22981,8.041,22983,11.242,22986,8.041,22987,8.041,22988,7.613,22989,8.041,22990,8.041,22991,8.041,23133,11.012,23134,8.691,23135,8.691]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.232,23046,5.765]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.278,2,0.911,3,0.018,4,0.018,5,0.009,7,0.118,27,0.514,29,0.652,30,0.001,31,0.471,32,0.161,33,0.394,95,0.097,101,0.013,103,0.001,104,0.001,112,0.814,119,2.739,138,2.114,143,2.357,145,3.501,150,1.856,153,2.704,245,3.203,379,1.04,821,5.463,1998,6.72,2126,10.911,2138,8.131,2179,11.525,2492,7.971,8541,10.128,8542,7.272,8546,8.354,8548,6.293,8562,8.427,8563,8.126,8564,8.126,13899,8.927,22821,6.667,22823,6.667,22988,7.212,23046,10.823,23136,8.234,23137,10.638,23138,12.456,23139,10.638,23140,8.234,23141,8.234,23142,10.638,23143,8.234,23144,8.234,23145,8.234]],["title/injectables/VideoConferenceRepo.html",[539,0.921,23120,6.018]],["body/injectables/VideoConferenceRepo.html",[0,0.17,3,0.011,4,0.011,5,0.006,7,0.072,8,0.911,10,3.061,12,3.384,18,3.769,26,2.429,27,0.547,29,1.042,30,0.001,31,0.752,32,0.171,33,0.629,34,1.672,35,1.593,36,2.634,40,2.424,47,0.635,95,0.133,96,1.331,99,0.813,101,0.008,103,0,104,0,112,0.385,133,2.59,154,2.156,173,1.457,180,1.306,226,0.734,236,1.226,262,2.926,349,1.107,381,1.701,382,3.88,437,1.192,448,4.849,490,2.677,519,1.547,539,1.009,541,1.206,603,2.485,608,1.163,680,5.11,686,3.419,687,5.278,718,2.677,1665,3.717,2000,2.886,2299,9.215,2301,5.387,2302,5.387,2303,5.387,2304,5.387,2305,5.286,2306,5.286,2307,5.387,2308,5.286,2309,5.387,2316,3.594,2318,5.815,2319,3.594,2321,3.594,2323,3.262,2324,5.286,2325,3.594,2327,3.594,2329,5.387,2333,5.387,2335,5.11,2336,5.286,2338,3.594,2340,3.034,2341,3.102,2342,3.594,2344,3.594,2346,3.528,2347,3.594,2365,3.75,2739,4.101,4119,4.452,4446,3.102,4969,3.102,6114,3.668,6115,3.668,6116,3.668,6117,3.668,6118,3.668,6119,3.668,6120,3.668,6121,5.497,6122,5.497,6786,7.22,7105,5.395,8562,3.594,8563,5.194,8564,5.194,9547,3.842,10112,6.1,15594,4.218,16168,4.07,19547,9.188,22818,4.403,22825,9.884,22979,9.188,23120,6.599,23146,9.035,23147,5.027,23148,7.533,23149,7.533,23150,5.027,23151,5.027,23152,5.027,23153,5.027,23154,5.027,23155,5.027,23156,7.533,23157,7.533,23158,7.533,23159,7.533,23160,5.027,23161,5.027,23162,5.027,23163,5.027,23164,4.651,23165,5.027,23166,5.027,23167,5.027,23168,5.027,23169,5.027,23170,5.027,23171,5.027,23172,5.027,23173,5.027]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.232,23003,6.018]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.264,2,0.864,3,0.017,4,0.017,5,0.009,7,0.112,8,1.242,27,0.474,29,0.91,30,0.001,31,0.657,32,0.149,33,0.549,35,1.391,95,0.144,101,0.012,102,6.6,103,0.001,104,0.001,236,1.869,238,6.419,349,1.183,358,4.593,413,4.102,490,2.774,643,5.16,782,4.661,1262,2.728,1618,5.478,1998,6.359,2008,5.478,2014,4.711,2395,6.072,2396,5.899,6206,6.838,6786,7.531,8540,9.584,8542,4.402,8544,5.137,8545,9.584,8559,9.882,18640,7.223,19245,7.223,22889,6.551,22891,6.322,22892,9.328,22893,9.328,23003,9,23007,7.223,23105,7.223,23174,12.204,23175,10.275,23176,10.275,23177,10.275,23178,10.275,23179,10.275,23180,10.275,23181,10.275,23182,11.485,23183,11.485,23184,7.807,23185,7.807]],["title/classes/VideoConferenceScopeParams.html",[0,0.232,22868,6.018]],["body/classes/VideoConferenceScopeParams.html",[0,0.382,2,1,3,0.02,4,0.02,5,0.01,7,0.13,27,0.466,30,0.001,32,0.146,47,0.793,95,0.145,99,1.462,101,0.014,103,0.001,104,0.001,112,0.864,138,2.024,142,5.031,143,2.727,144,3.66,145,3.623,148,2.806,150,2.038,245,3.165,808,4.475,839,3.514,852,4.213,1998,6.413,2922,5.411,5558,5.022,6017,9.887,8542,6.939,10112,9.966,19547,10.626,22868,9.887,22916,11.387,23186,9.039,23187,9.039,23188,9.039,23189,9.039,23190,9.039,23191,9.039]],["title/classes/VisibilitySettingsResponse.html",[0,0.232,4141,5.765]],["body/classes/VisibilitySettingsResponse.html",[0,0.331,2,1.085,3,0.021,4,0.021,5,0.011,7,0.141,27,0.489,29,0.776,30,0.001,31,0.561,32,0.154,33,0.61,47,0.833,95,0.116,101,0.015,103,0.001,104,0.001,112,0.908,138,1.758,149,4.922,150,2.21,379,1.498,774,5.002,4141,11.394,23192,12.759,23193,9.802,23194,13.578,23195,9.802,23196,9.802,23197,9.802]],["title/dependencies.html",[204,3.218,23198,5.003]],["body/dependencies.html",[0,0.249,4,0.011,5,0.008,10,1.981,30,0.001,32,0.063,34,0.812,36,1.899,56,2.351,96,2.348,97,1.989,103,0,104,0,118,3.122,141,3.451,148,2.753,150,1.099,155,1.586,173,1.414,204,1.896,226,0.712,262,1.957,324,2.472,524,2.774,560,2.006,570,3.009,598,2.826,646,3.487,653,2.505,757,3.727,824,1.733,877,4.271,964,2.826,966,3.209,970,3.362,1122,3.122,1130,2.774,1142,3.045,1176,4.271,1224,3.422,1225,3.164,1433,4.271,1435,3.638,1443,3.638,1478,2.912,1512,4.597,1611,3.558,1643,2.853,1678,2.975,1779,5.412,1880,8.59,1982,5.167,2014,2.943,2024,2.273,2080,2.409,2081,3.509,2082,3.122,2171,2.658,2330,3.829,2405,3.307,2647,2.702,3515,3.082,3516,2.912,3600,2.424,3601,3.982,3942,5.628,3952,4.271,3953,5.782,3954,8.331,4604,3.948,5134,2.826,5174,5.373,5222,3.948,5223,3.948,5550,3.209,5554,2.774,5883,2.799,6386,4.511,6679,3.487,6681,4.092,6777,3.487,6865,6.335,7103,3.638,8023,4.511,8210,6.178,8882,5.782,8909,3.727,9255,3.948,9336,4.511,10288,4.271,10361,4.511,10462,8.281,10959,4.092,10960,4.511,11211,3.487,11304,2.975,12086,4.511,12340,4.092,12341,4.092,12450,3.362,12477,3.487,13677,3.829,14010,7.761,14080,3.638,14271,3.727,14619,4.511,15453,4.511,15763,4.092,15764,4.092,15765,4.511,15897,3.948,16250,4.271,16558,4.271,16559,4.511,17639,4.511,18318,4.271,18907,4.511,18908,4.511,19555,4.271,23199,4.876,23200,7.363,23201,4.876,23202,10.609,23203,4.876,23204,4.876,23205,8.871,23206,7.363,23207,4.876,23208,4.876,23209,4.876,23210,7.363,23211,4.876,23212,9.883,23213,7.363,23214,9.883,23215,4.876,23216,4.876,23217,4.876,23218,4.876,23219,4.876,23220,4.876,23221,4.876,23222,4.876,23223,4.876,23224,4.876,23225,4.876,23226,4.876,23227,4.876,23228,4.876,23229,4.876,23230,4.876,23231,4.876,23232,4.876,23233,4.876,23234,4.876,23235,4.876,23236,7.363,23237,4.876,23238,4.876,23239,4.876,23240,7.363,23241,4.876,23242,4.876,23243,7.363,23244,4.876,23245,4.876,23246,4.876,23247,4.876,23248,7.363,23249,7.363,23250,4.876,23251,4.876,23252,4.876,23253,4.876,23254,4.876,23255,4.876,23256,4.876,23257,4.876,23258,4.876,23259,4.876,23260,4.876,23261,4.876,23262,4.876,23263,4.876,23264,4.876,23265,4.876,23266,4.876,23267,4.876,23268,7.363,23269,4.876,23270,4.876,23271,4.876,23272,4.876,23273,4.876,23274,4.876,23275,4.876,23276,4.876,23277,4.876,23278,4.271,23279,4.876,23280,4.876,23281,8.207,23282,4.876,23283,4.876,23284,4.876,23285,4.876,23286,8.871,23287,7.363,23288,4.876,23289,4.511,23290,4.876,23291,4.876,23292,4.876,23293,7.363,23294,4.876,23295,4.876,23296,4.876,23297,4.876,23298,4.876,23299,4.876,23300,4.876,23301,4.876,23302,4.876,23303,4.876,23304,4.876,23305,7.363,23306,4.511,23307,4.876,23308,4.876,23309,7.363,23310,4.876,23311,4.876,23312,4.876,23313,4.876,23314,4.876,23315,4.876,23316,4.876,23317,4.876,23318,4.876,23319,4.876,23320,4.876,23321,4.876,23322,4.876,23323,4.876,23324,7.363,23325,4.876,23326,4.876,23327,4.876,23328,4.511,23329,4.876,23330,4.876,23331,4.876,23332,4.876,23333,4.876,23334,4.876,23335,4.876,23336,4.511,23337,4.876,23338,4.876,23339,4.876,23340,4.876,23341,4.876,23342,4.876,23343,4.876,23344,6.812,23345,4.511,23346,4.876,23347,4.876,23348,4.876,23349,4.876,23350,4.876,23351,4.876,23352,4.876,23353,4.876,23354,4.876,23355,4.876]],["title/index.html",[7,0.082,1351,3.707,23356,5.003]],["body/index.html",[30,0.001,31,0.497,34,1.017,55,2.065,102,3.096,103,0,104,0.001,131,2.321,141,4.07,153,1.401,204,2.374,236,0.994,261,4.845,292,3.096,355,5.489,358,2.73,359,3.685,360,6.441,361,3.474,458,3.303,475,3.075,486,1.838,511,3.843,517,2.303,563,3.646,564,2.719,685,4.231,755,4.018,760,4.667,765,3.962,829,3.16,850,5.124,934,3.685,935,4.795,937,10.431,950,3.768,951,4.736,990,2.976,1025,2.421,1128,3.962,1270,3.506,1271,1.906,1288,4.734,1306,5.359,1520,6.337,1643,3.573,1678,3.726,1729,3.86,1779,7.095,1794,3.91,1813,4.285,1832,3.356,1838,8.912,2024,4.047,2079,2.703,2081,2.911,2093,3.443,2406,6.152,2424,6.505,2425,5.56,2426,5.988,2431,4.211,2443,5.56,2492,3.685,2493,4.018,2806,6.388,3134,2.816,3308,4.078,3516,6.943,3519,7.243,3751,4.367,3915,6.637,3916,8.648,3990,4.667,4607,4.945,4743,3.228,5134,3.539,5284,5.489,5390,5.124,5515,5.132,5562,4.456,5576,4.667,5813,4.945,5837,4.285,6315,3.91,6402,4.211,6496,5.714,6582,4.945,6685,4.367,6686,4.555,6865,6.572,6961,5.635,7106,4.985,7111,4.667,7704,4.555,8070,4.211,9283,3.573,9428,6.637,10050,5.349,10111,4.795,10527,5.298,10547,7.091,10936,8.412,11311,4.795,11419,6.854,12095,4.367,12448,4.142,12591,4.795,12596,6.337,12641,5.349,12874,6.637,14487,8.183,14955,4.555,15015,6.819,15153,4.945,15850,4.945,16238,4.667,16254,5.124,16597,5.124,16598,4.945,17763,4.795,17769,7.032,17986,4.367,18968,6.819,19336,5.349,21588,4.795,22692,5.124,22922,5.349,23357,7.287,23358,4.667,23359,5.349,23360,5.124,23361,5.349,23362,4.945,23363,7.287,23364,7.032,23365,5.349,23366,5.349,23367,5.349,23368,8.034,23369,7.287,23370,5.65,23371,5.65,23372,5.65,23373,5.124,23374,5.349,23375,8.034,23376,5.124,23377,5.124,23378,8.034,23379,5.349,23380,4.667,23381,5.124,23382,5.349,23383,5.349,23384,4.945,23385,5.65,23386,5.349,23387,5.65,23388,5.124,23389,4.795,23390,5.349,23391,8.034,23392,8.034,23393,8.852,23394,10.186,23395,5.349,23396,5.65,23397,8.034,23398,5.349,23399,5.65,23400,5.65,23401,5.65,23402,8.034,23403,8.034,23404,5.65,23405,5.65,23406,5.65,23407,5.124,23408,5.65,23409,4.945,23410,5.65,23411,7.287,23412,5.65,23413,5.124,23414,5.65,23415,5.349,23416,5.65,23417,5.124]],["title/license.html",[1351,3.707,5844,3.707,23356,5.003]],["body/license.html",[0,0.041,4,0.027,5,0.003,8,0.148,27,0.051,30,0,53,2.876,55,0.464,56,1.094,72,3.502,74,0.993,76,1.135,77,0.786,79,1.987,83,0.353,87,0.622,95,0.014,103,0,104,0,105,0.587,107,0.742,131,0.466,133,3.364,137,1.416,142,1.538,154,0.455,172,0.382,220,0.47,236,1.016,238,0.686,239,2.014,274,1.909,284,0.958,292,0.622,301,0.819,315,1.135,316,3.378,319,0.958,324,0.622,347,0.443,348,0.618,349,0.126,358,4.374,359,0.74,362,1.135,472,0.635,475,1.985,490,0.436,493,1.924,500,0.711,502,0.664,510,2.445,511,1.745,519,0.378,521,0.484,535,0.895,560,0.933,562,0.846,567,1.075,577,1.075,578,2.405,590,0.757,603,0.253,636,3.059,643,3.177,654,0.369,662,3.383,708,1.856,710,2.182,739,0.98,763,1.692,765,4.052,766,2.203,768,1.075,769,9.274,829,0.635,935,1.781,951,5.433,993,2.203,998,0.585,1007,1.592,1108,1.354,1128,3.392,1132,0.963,1133,2.418,1134,2.262,1148,2.418,1215,0.674,1270,0.704,1296,1.692,1304,4.924,1306,3.854,1309,2.284,1371,0.749,1372,3.899,1389,3.744,1461,3.668,1512,1.416,1518,7.144,1519,2.242,1606,1.837,1643,2.307,1694,0.757,1695,1.075,1723,3.585,1728,5.104,1729,3.304,1780,0.963,1813,4.962,1815,0.807,1819,0.846,1824,1.622,1825,1.135,1832,1.247,1984,0.669,2023,0.993,2024,3.463,2064,8.211,2092,1.987,2093,1.279,2175,2.876,2190,0.776,2207,2.379,2232,1.279,2255,0.47,2318,1.315,2405,2.146,2406,3.952,2417,4.584,2420,4.667,2443,3.347,2459,2.099,2460,1.734,2480,6.124,2492,4.861,2493,0.807,2494,1.515,2723,3.604,2725,7.92,2773,2.594,3030,1.029,3122,3.21,3134,2.132,3172,0.938,3222,0.786,3308,5.38,3309,1.434,3330,1.622,3455,3.245,3565,4.667,3600,0.61,3624,1.781,3671,3.793,3893,0.963,3912,0.993,3914,1.564,3916,0.786,3918,1.781,3982,0.993,4042,1.93,4204,1.075,4206,2.771,4209,1.135,4338,1.029,4603,0.895,4607,4.667,4609,1.075,4691,1.029,4743,1.199,4744,1.029,4745,1.472,4752,1.904,4973,1.434,5111,6.15,5126,1.384,5134,0.711,5160,2.594,5161,1.539,5203,1.781,5396,0.993,5515,1.341,5553,1.075,5558,0.501,5562,2.309,5568,2.418,5758,3.188,5836,2.655,5844,8.798,6315,0.786,6402,2.182,6409,2.927,6441,1.847,6624,2.36,6681,1.029,6780,1.029,6865,1.354,6961,0.796,6989,0.895,7010,2.309,7081,3.631,7108,0.877,7135,1.655,7289,0.938,7295,0.895,7307,1.075,7308,3.192,7704,2.36,7734,3.188,7744,0.938,8170,1.075,8171,1.837,8231,2.941,8262,1.539,8709,0.757,8786,5.057,9425,0.895,9428,3.013,10130,3.013,10136,2.927,10144,3.347,10161,2.485,10174,2.262,10527,1.93,10530,0.74,10532,2.485,10534,0.963,10536,7.363,10540,0.993,10543,1.781,10546,1.781,10547,4.045,10677,0.832,10693,2.36,10931,0.938,10951,4.773,11311,6.091,11385,0.832,11420,0.861,11545,0.963,11552,1.987,11558,1.837,11951,1.734,11953,1.075,12217,1.029,12437,0.938,12443,0.895,12450,2.718,12451,0.915,12470,0.993,12515,1.135,12548,4.843,12560,1.075,12596,2.309,12617,0.915,12631,4.05,12638,2.099,12676,1.135,12697,5.158,12874,0.938,13053,1.029,13366,1.029,13546,0.963,13915,5.049,14232,1.075,14254,1.075,14262,4.05,14263,1.135,14324,2.099,14396,6.507,14487,0.993,14583,0.895,14743,0.993,14747,0.993,14765,2.22,15201,1.781,15303,5.049,15413,9.291,15448,1.135,15455,2.876,15848,0.993,15853,1.135,15910,3.308,15999,2.099,16166,1.135,16235,3.308,16238,2.418,16597,1.029,16600,7.205,17490,1.029,17507,1.135,18053,4.578,18062,1.075,18166,7.176,18968,2.485,19335,2.927,19420,1.075,19557,1.135,19638,1.075,19679,0.963,19684,1.904,19697,1.734,19946,2.418,20355,2.927,20904,1.987,20907,3.744,20909,1.075,20914,6.543,21102,1.075,21145,2.099,21336,6.234,21379,0.915,21636,4.578,21720,2.099,21938,5.85,22197,8.366,22223,1.029,23367,1.075,23369,10.041,23380,7.214,23381,9.251,23382,2.771,23413,1.904,23418,9.042,23419,8.823,23420,1.227,23421,1.227,23422,3.164,23423,10.826,23424,8.585,23425,4.624,23426,1.227,23427,1.227,23428,2.268,23429,4.624,23430,3.164,23431,3.164,23432,1.227,23433,1.227,23434,2.268,23435,4.278,23436,5.333,23437,2.268,23438,2.268,23439,7.708,23440,6.245,23441,1.227,23442,1.135,23443,5.227,23444,1.135,23445,7.429,23446,11.91,23447,3.164,23448,1.227,23449,1.227,23450,3.942,23451,6.679,23452,1.227,23453,6.679,23454,1.227,23455,4.624,23456,0.993,23457,1.029,23458,3.647,23459,1.135,23460,8.587,23461,0.993,23462,1.135,23463,7.072,23464,7.429,23465,4.624,23466,7.756,23467,1.227,23468,2.268,23469,1.227,23470,1.227,23471,1.227,23472,1.227,23473,1.227,23474,1.227,23475,1.227,23476,3.647,23477,1.135,23478,1.075,23479,1.135,23480,3.164,23481,1.227,23482,1.227,23483,1.227,23484,2.268,23485,1.227,23486,1.227,23487,2.655,23488,1.135,23489,2.268,23490,2.268,23491,3.164,23492,6.76,23493,4.624,23494,4.836,23495,3.164,23496,2.268,23497,1.227,23498,1.227,23499,1.227,23500,3.164,23501,1.227,23502,1.227,23503,2.268,23504,1.227,23505,1.227,23506,1.227,23507,3.942,23508,2.268,23509,10.381,23510,3.164,23511,6.679,23512,3.453,23513,1.227,23514,2.268,23515,3.164,23516,6.679,23517,7.072,23518,1.135,23519,3.942,23520,2.268,23521,3.942,23522,1.227,23523,3.164,23524,0.993,23525,10.488,23526,2.268,23527,1.135,23528,6.245,23529,1.227,23530,3.164,23531,4.386,23532,8.587,23533,3.164,23534,2.268,23535,7.429,23536,5.227,23537,1.227,23538,2.268,23539,8.056,23540,2.268,23541,1.227,23542,1.227,23543,2.927,23544,1.227,23545,1.227,23546,1.075,23547,3.164,23548,3.942,23549,1.135,23550,1.227,23551,1.227,23552,1.075,23553,3.164,23554,1.227,23555,4.624,23556,1.135,23557,2.927,23558,1.227,23559,1.135,23560,1.227,23561,1.227,23562,1.227,23563,2.927,23564,2.268,23565,1.075,23566,1.227,23567,1.227,23568,2.268,23569,1.227,23570,1.987,23571,4.05,23572,1.227,23573,5.764,23574,3.647,23575,1.227,23576,4.624,23577,1.227,23578,1.227,23579,1.227,23580,1.227,23581,1.227,23582,3.164,23583,1.227,23584,2.268,23585,1.227,23586,1.227,23587,1.227,23588,1.135,23589,1.227,23590,1.227,23591,3.164,23592,0.963,23593,1.227,23594,1.227,23595,1.227,23596,1.227,23597,4.624,23598,1.227,23599,1.227,23600,3.164,23601,1.227,23602,1.227,23603,3.942,23604,1.227,23605,2.268,23606,1.227,23607,1.227,23608,1.227,23609,1.227,23610,1.227,23611,1.227,23612,2.268,23613,1.227,23614,1.227,23615,1.227,23616,2.268,23617,1.227,23618,1.227,23619,1.227,23620,1.227,23621,1.227,23622,2.099,23623,6.179,23624,1.227,23625,5.227,23626,1.227,23627,1.227,23628,3.164,23629,3.942,23630,3.942,23631,3.942,23632,1.227,23633,4.624,23634,4.05,23635,1.135,23636,3.164,23637,1.227,23638,2.268,23639,1.227,23640,1.987,23641,2.268,23642,3.647,23643,3.942,23644,1.227,23645,3.164,23646,4.624,23647,1.227,23648,1.227,23649,2.927,23650,2.268,23651,1.135,23652,1.227,23653,1.135,23654,1.227,23655,1.227,23656,2.927,23657,1.227,23658,1.227,23659,2.268,23660,1.227,23661,1.227,23662,1.227,23663,3.164,23664,3.164,23665,2.268,23666,5.227,23667,3.164,23668,2.268,23669,2.268,23670,2.268,23671,3.453,23672,1.987,23673,1.227,23674,1.227,23675,1.227,23676,5.227,23677,2.268,23678,1.227,23679,1.227,23680,1.227,23681,2.268,23682,1.227,23683,2.268,23684,1.227,23685,1.227,23686,5.057,23687,1.227,23688,6.873,23689,1.227,23690,1.227,23691,1.227,23692,1.227,23693,2.268,23694,1.227,23695,4.05,23696,3.942,23697,2.268,23698,1.227,23699,1.227,23700,1.227,23701,1.227,23702,1.227,23703,2.268,23704,1.227,23705,1.227,23706,1.227,23707,2.268,23708,2.268,23709,1.227,23710,1.227,23711,1.227,23712,1.227,23713,1.227,23714,1.227,23715,1.227,23716,1.227,23717,1.135,23718,1.227,23719,1.227,23720,1.227,23721,1.227,23722,4.624,23723,1.227,23724,1.227,23725,3.942,23726,1.227,23727,1.227,23728,1.227,23729,1.227,23730,1.227,23731,1.227,23732,1.227,23733,5.764,23734,2.927,23735,1.227,23736,3.942,23737,1.227,23738,1.227,23739,3.164,23740,1.227,23741,1.227,23742,3.164,23743,1.227,23744,2.268,23745,1.227,23746,1.227,23747,1.227,23748,1.227,23749,1.227,23750,1.075,23751,1.227,23752,1.075,23753,2.268,23754,2.099,23755,1.227,23756,3.942,23757,1.227,23758,2.927,23759,1.227,23760,2.099,23761,3.164,23762,2.268,23763,1.227,23764,3.164,23765,5.764,23766,1.227,23767,2.268,23768,1.227,23769,1.227,23770,1.227,23771,1.227,23772,3.942,23773,1.227,23774,1.227,23775,1.227,23776,1.227,23777,1.227,23778,1.227,23779,2.268,23780,2.268,23781,2.268,23782,3.164,23783,1.227,23784,2.268,23785,1.135,23786,3.164,23787,1.227,23788,2.099,23789,2.268,23790,1.227,23791,1.227,23792,2.268,23793,10.091,23794,3.164,23795,1.227,23796,4.624,23797,7.072,23798,3.164,23799,1.227,23800,1.227,23801,3.942,23802,1.227,23803,3.164,23804,1.227,23805,1.227,23806,1.227,23807,1.227,23808,1.227,23809,1.227,23810,1.227,23811,1.227,23812,3.942,23813,1.227,23814,1.227,23815,3.164,23816,1.227,23817,2.268,23818,3.164,23819,1.075,23820,2.268,23821,1.227,23822,1.227,23823,1.227,23824,1.227,23825,2.268,23826,3.164,23827,1.135,23828,1.227,23829,1.227,23830,1.227,23831,1.135,23832,1.227,23833,1.227,23834,1.227,23835,3.164,23836,2.268,23837,1.135,23838,1.227,23839,1.227,23840,3.942,23841,1.227,23842,3.164,23843,1.227,23844,1.227,23845,1.227,23846,1.227,23847,1.227,23848,3.164,23849,2.268,23850,2.268,23851,1.227,23852,2.268,23853,5.764,23854,2.268,23855,3.164,23856,3.942,23857,1.135,23858,1.135,23859,2.268,23860,1.227,23861,3.164,23862,1.227,23863,1.227,23864,1.227,23865,1.227,23866,1.227,23867,3.164,23868,2.268,23869,1.227,23870,1.227,23871,1.227,23872,1.227,23873,2.268,23874,2.268,23875,1.227,23876,2.099,23877,1.227,23878,1.135,23879,1.135,23880,1.227,23881,3.164,23882,1.227,23883,1.227,23884,1.227,23885,2.268,23886,3.164,23887,1.227,23888,1.227,23889,1.227,23890,1.227,23891,2.268,23892,1.227,23893,1.227,23894,1.227,23895,1.227,23896,1.227,23897,1.227,23898,1.227,23899,1.227,23900,1.227,23901,1.227,23902,1.227,23903,1.227,23904,1.227,23905,3.942,23906,1.227,23907,1.227,23908,2.268,23909,1.227,23910,1.135,23911,1.227,23912,1.227,23913,1.227,23914,1.227,23915,1.227,23916,1.227,23917,1.135,23918,1.227,23919,1.227,23920,1.227,23921,1.227,23922,2.268,23923,1.227,23924,1.227,23925,1.227,23926,1.227,23927,1.075,23928,2.268,23929,1.227,23930,1.227,23931,1.227,23932,1.135,23933,1.135,23934,1.029,23935,1.227,23936,2.268,23937,2.099,23938,1.227,23939,1.227,23940,3.164,23941,2.099,23942,1.227,23943,2.099,23944,2.268,23945,2.268,23946,1.135,23947,1.075,23948,1.227,23949,1.227,23950,1.135,23951,1.227,23952,1.227,23953,1.227,23954,2.268,23955,1.227,23956,3.164,23957,1.227,23958,1.227,23959,1.227,23960,1.227,23961,1.227,23962,1.227,23963,1.227,23964,1.227,23965,1.227,23966,1.227,23967,1.227,23968,1.029,23969,1.227,23970,1.227,23971,1.227,23972,1.227,23973,1.227,23974,1.227,23975,1.227,23976,1.227,23977,1.227,23978,1.227,23979,1.227,23980,1.227,23981,1.075,23982,1.135,23983,2.268,23984,2.099,23985,1.227,23986,1.227,23987,1.227,23988,1.227,23989,1.227,23990,1.227,23991,1.227,23992,1.227,23993,1.227,23994,1.029,23995,1.227,23996,1.135,23997,0.993,23998,1.227,23999,1.227,24000,1.135,24001,1.227]],["title/modules.html",[203,3.42]],["body/modules.html",[30,0,103,0,104,0,202,3.86,203,1.729,213,3.409,214,2.222,616,3.744,1168,4,1376,3.744,1380,3.234,1418,3.86,1419,3.744,1420,3.557,1421,3.346,1752,2.712,1757,3.86,1797,3.409,1827,3.557,1829,3.557,2405,9.953,2417,7.755,2748,3.86,3590,3.644,3591,3.744,3592,3.557,3593,2.909,3992,4,4479,4,4667,4,4672,3.557,4719,3.86,5429,3.479,5434,3.052,6067,3.644,6068,3.744,6587,3.479,6671,3.287,6675,3.86,6676,4,6677,4,8105,4,8388,4.176,8796,3.479,9373,3.744,9374,3.644,10977,4,10988,4,11042,4.176,11046,3.86,11051,4,11206,3.346,11214,4,11216,3.409,11270,4.176,11273,3.346,11274,3.479,11370,4.176,11381,4.176,11615,3.86,11619,3.86,12173,4,12194,4.176,13485,3.744,13486,3.86,13745,3.86,14147,4,14692,3.86,14696,3.409,14697,3.557,14715,3.557,14757,3.86,14761,3.644,14975,3.86,15574,4,15648,3.744,15662,3.744,15675,4,15682,4,15703,3.86,15707,3.744,15764,10.545,16063,3.86,16573,3.86,16577,3.744,16755,3.86,16759,4,17580,4.176,17583,4,17887,3.86,18285,3.86,18468,3.86,18522,4.176,19560,4.176,19574,4,19577,3.744,19578,3.86,19579,3.86,19580,3.86,19581,3.86,19582,3.86,19583,3.86,19584,3.86,19654,4,19931,4,21234,4,21695,4,22845,4,24002,14.674,24003,14.674,24004,13.611]],["title/properties.html",[112,0.633,23198,5.003]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.806,153,2.418,1122,6.748,1778,4.129,1779,6.43,2024,4.912,2488,9.751,4622,6.581,5844,6.839,10546,8.276,17986,7.536,21368,8.055,24000,9.751,24005,10.851,24006,9.751,24007,8.844,24008,10.539,24009,10.539,24010,10.539,24011,10.539]],["title/todo.html",[1351,3.707,1726,2.446,23356,5.003]],["body/todo.html",[0,0.192,5,0.006,30,0.001,31,0.471,32,0.107,34,1.372,36,1.214,47,0.398,72,2.561,99,0.918,100,2.805,103,0,104,0,107,1.33,112,0.434,131,3.13,133,1.95,141,3.859,142,2.214,154,2.499,155,1.845,201,3.035,209,2.147,220,3.153,225,2.258,239,1.932,259,2.172,261,2.719,262,2.139,290,4.139,305,3.287,355,3.585,358,4.756,360,4.915,379,0.716,454,2.615,472,2.935,486,3.203,490,3.445,493,2.768,511,5.001,573,3.847,574,7.233,595,3.5,639,2.673,739,2.451,829,2.935,934,7.338,938,5.619,950,5.983,982,4.139,990,2.823,993,3.17,997,3.838,1081,4.335,1122,7.234,1128,3.68,1130,4.685,1262,1.982,1288,5.8,1289,3.5,1297,3.732,1478,3.387,1503,6.009,1520,6.009,1726,2.429,1748,8.079,1778,4.168,1779,5.025,1816,3.911,1822,3.387,1832,7.089,2000,4.728,2024,2.644,2079,2.51,2081,3.925,2091,4.231,2095,3.847,2171,3.092,2312,2.354,2396,3.256,2405,3.847,2421,8.136,2424,4.867,2425,7.976,2487,2.955,2764,2.688,3307,3.847,3309,3.585,3346,4.867,3519,3.732,3671,3.732,4018,4.231,4081,5.206,4381,3.423,4541,3.387,4608,3.847,4654,9.149,4677,2.914,4743,5.126,4744,6.91,4745,3.68,4973,3.585,5126,3.461,5160,3.732,5580,4.593,5935,3.021,6364,4.968,6402,5.678,6441,5.295,6679,5.889,6685,5.889,6688,3.98,6689,4.968,6692,4.76,6781,7.233,7106,3.256,7133,3.732,7275,3.542,8052,4.454,8053,4.231,8054,7.411,8384,5.678,8786,4.593,8844,4.335,8852,4.231,10144,3.632,10296,6.91,10462,6.933,10530,3.423,10922,4.76,11420,3.98,11477,5.248,11545,4.454,12443,4.139,12448,3.847,12450,3.911,12451,4.231,12469,4.139,12548,3.542,12596,6.009,13141,6.467,13754,3.911,13995,4.76,14667,4.968,14743,4.593,15910,4.76,16598,4.593,17713,4.968,17763,4.454,17986,4.056,18827,5.248,19679,7.614,19990,5.248,20722,5.248,21368,4.335,21379,4.231,21648,4.968,22232,5.248,23198,4.968,23328,5.248,23358,6.294,23374,4.968,23377,4.76,23417,4.76,23456,4.593,23559,5.248,23588,5.248,23981,7.213,23997,4.593,24012,5.672,24013,5.248,24014,4.76,24015,4.968,24016,5.248,24017,5.672,24018,5.672,24019,5.672,24020,4.76,24021,5.672,24022,5.672,24023,5.672,24024,4.76,24025,5.672,24026,5.672,24027,5.248,24028,5.672,24029,5.672,24030,5.672,24031,5.672,24032,5.672,24033,4.76,24034,4.968,24035,5.672,24036,5.672,24037,5.672,24038,5.672,24039,5.248,24040,5.672,24041,5.248,24042,5.672,24043,5.672,24044,5.672,24045,5.672,24046,5.672,24047,5.672,24048,4.968,24049,5.672,24050,5.672,24051,5.672,24052,5.672,24053,5.248,24054,5.672,24055,5.672,24056,5.672,24057,5.672,24058,5.672,24059,5.672,24060,5.672,24061,5.672,24062,9.696,24063,5.672,24064,5.672,24065,5.672,24066,5.672,24067,5.672,24068,5.672,24069,4.76,24070,8.235,24071,5.672,24072,5.672]],["title/additional-documentation/nestjs-application.html",[822,2.371,1304,2.889,3516,2.919,3916,3.13]],["body/additional-documentation/nestjs-application.html",[5,0.011,18,1.887,30,0.001,31,0.431,33,0.288,72,1.703,78,6.383,87,1.912,95,0.045,103,0,104,0,107,0.885,128,1.539,133,2.074,141,1.768,142,1.472,172,1.174,180,0.654,201,2.312,203,2.187,219,2.363,253,1.864,271,1.397,284,3.189,292,3.819,305,2.186,358,5.044,361,2.146,413,2.268,454,4.339,486,1.136,493,2.943,511,4.165,535,2.753,560,1.552,569,4.312,574,5.62,576,3.304,579,2.025,600,3.765,645,2.753,757,4.609,760,4.609,765,3.913,766,3.37,822,2.925,829,4.869,934,5.679,935,7.39,938,3.495,950,3.721,951,4.703,993,3.37,996,4.15,999,3.037,1122,6.025,1130,2.146,1196,7.393,1209,3.304,1225,5.585,1270,3.462,1288,4.692,1304,2.229,1306,4.649,1351,5.585,1456,2.482,1491,3.529,1503,5.497,1517,3.165,1518,3.054,1519,5.709,1607,2.814,1729,2.384,1748,2.697,1779,3.679,1813,2.647,1815,2.482,1816,4.158,1822,3.601,1824,2.697,1832,2.073,1903,2.482,1954,2.697,2024,4.677,2079,1.67,2080,1.864,2081,4.102,2175,4.4,2228,5.282,2255,1.444,2318,3.495,2330,7.881,2396,2.166,2417,2.328,2424,3.564,2425,7.93,2426,2.601,2427,2.355,2443,2.415,2492,4.546,2494,2.519,2651,2.519,2773,3.968,2830,5.139,2836,2.482,2884,2.276,3134,1.739,3308,2.519,3309,3.812,3514,5.195,3515,6.344,3516,6.91,3519,4.957,3600,5.61,3601,1.52,3608,2.962,3913,3.054,3914,2.601,3916,7.568,3942,2.883,4743,3.188,5111,2.04,5160,2.482,5396,3.054,5557,3.304,5573,4.09,5643,1.9,5826,2.355,5837,2.647,6403,2.519,6441,1.768,6496,2.482,6497,2.519,6576,5.579,6624,2.814,6682,3.49,6721,4.027,6777,2.697,6865,2.252,6961,2.448,7292,2.415,8050,6.604,8067,5.06,8070,5.934,8212,4.883,8231,6.42,8432,4.609,8809,3.49,9283,2.207,9425,4.4,10130,4.609,10527,2.301,10547,9.378,10644,4.736,10922,3.165,10926,4.896,10931,2.883,10973,2.962,11237,4.609,11238,4.736,11304,2.301,11420,5.287,11951,2.883,12095,4.312,12360,3.165,12437,2.883,12448,2.559,12449,4.312,12469,5.497,12471,2.753,12478,2.962,12519,3.304,12548,5.374,12645,3.304,12671,9.285,12674,3.49,12675,2.814,12782,3.165,12812,3.304,13158,2.519,13677,2.962,13897,3.054,13994,3.054,14231,3.304,14487,3.054,14745,3.054,14747,3.054,15363,6.97,15848,8.126,15897,6.1,16238,2.883,16254,3.165,16598,3.054,16600,3.165,17490,3.165,17713,8.243,19017,2.697,21336,5.06,21368,6.578,21378,3.304,21379,7.02,21777,3.49,21832,5.579,22223,3.165,23281,3.49,23336,3.49,23344,3.49,23345,3.49,23357,3.165,23358,9.467,23359,5.282,23360,3.165,23362,3.054,23365,3.304,23373,6.322,23393,3.304,23478,3.304,23524,3.054,23556,5.579,23563,3.49,23671,3.304,23686,3.054,23695,5.282,23752,3.304,23788,3.49,23831,3.49,23837,3.49,23947,5.282,23968,3.165,24004,3.49,24020,9.469,24033,5.06,24034,5.282,24048,5.282,24053,8.706,24073,3.772,24074,3.772,24075,7.897,24076,3.772,24077,3.772,24078,3.772,24079,3.772,24080,3.772,24081,6.03,24082,3.772,24083,6.599,24084,3.772,24085,3.772,24086,3.772,24087,3.772,24088,3.772,24089,3.772,24090,3.772,24091,3.772,24092,3.772,24093,3.772,24094,3.772,24095,3.772,24096,3.772,24097,3.772,24098,8.706,24099,3.49,24100,3.49,24101,3.49,24102,3.49,24103,3.49,24104,3.49,24105,3.49,24106,3.49,24107,3.772,24108,3.49,24109,3.772,24110,3.772,24111,3.772,24112,6.03,24113,3.304,24114,3.49,24115,3.304,24116,3.304,24117,3.772,24118,9.41,24119,3.49,24120,3.772,24121,3.772,24122,10.035,24123,3.772,24124,3.772,24125,3.772,24126,3.772,24127,6.03,24128,8.606,24129,3.772,24130,6.03,24131,3.772,24132,6.03,24133,6.03,24134,3.772,24135,3.772,24136,8.606,24137,3.772,24138,3.772,24139,3.772,24140,3.772,24141,6.03,24142,3.772,24143,3.772,24144,3.772,24145,3.772,24146,6.03,24147,3.772,24148,3.772,24149,3.772,24150,3.49,24151,3.772,24152,3.772,24153,3.772,24154,6.03,24155,3.772,24156,3.772,24157,3.772,24158,3.772,24159,3.772,24160,3.772,24161,3.772,24162,6.03,24163,7.534,24164,3.772,24165,3.772,24166,7.534,24167,6.03,24168,3.772,24169,3.772,24170,3.772,24171,3.772,24172,3.772,24173,3.772,24174,3.772,24175,3.772,24176,6.03,24177,3.772,24178,6.03,24179,6.03,24180,3.49,24181,3.772,24182,6.97,24183,3.772,24184,3.772,24185,3.772,24186,3.49,24187,3.49,24188,3.772,24189,3.772,24190,3.772,24191,3.772,24192,3.772,24193,3.772,24194,3.772,24195,3.772]],["title/additional-documentation/nestjs-application/software-architecture.html",[822,2.371,1304,2.889,23364,3.958,23424,4.102]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.327,2,0.696,5,0.004,7,0.057,8,0.481,27,0.398,30,0.001,72,4.638,95,0.047,101,0.014,103,0,104,0,105,1.137,107,2.693,155,2.046,201,3.497,203,4.644,204,1.547,208,2.88,209,1.506,223,3.253,225,2.504,236,0.647,239,0.933,259,1.523,316,3.403,348,2.004,353,2.744,355,2.515,357,3.041,358,2.812,454,2.901,459,4.467,474,1.688,482,2.104,500,2.306,535,2.903,539,0.533,541,0.954,560,1.637,562,5.381,564,3.024,579,3.377,662,2.415,685,1.666,755,2.618,759,3.041,765,5.064,766,4.362,769,2.744,951,5.227,993,3.517,1007,4.415,1108,2.376,1124,5.511,1128,6.665,1185,2.485,1215,2.187,1288,6.411,1289,2.455,1306,2.455,1519,2.263,1607,7.207,1664,2.922,1726,1.704,1728,2.618,1729,5.607,1778,5.136,1813,6.224,1815,2.618,1819,4.338,1820,5.83,1821,2.699,1822,2.376,1824,2.845,1994,2.792,2024,3.637,2093,3.547,2095,4.267,2190,3.977,2207,5.352,2220,3.612,2396,3.612,2406,6.013,2416,3.339,2417,2.455,2420,3.222,2425,2.548,2426,2.744,2443,4.028,2460,3.041,2491,3.681,2492,6.199,2493,4.14,2494,2.657,2647,3.487,2668,2.515,2764,1.886,2773,2.618,3134,4.96,3308,2.657,3309,4.933,3516,2.376,3610,4.694,3624,3.125,3671,4.14,3894,4.338,3912,3.222,3914,6.116,3916,4.028,4042,2.428,4081,2.515,4544,2.284,4603,2.903,4654,5.095,4691,3.339,4729,7.449,5160,5.836,5386,3.681,5515,4.612,5562,2.903,5568,3.041,5579,3.339,5693,5.821,5837,4.415,6401,3.125,6403,4.202,6413,3.681,6441,1.865,6683,2.792,7082,2.485,7083,4.591,7275,2.485,7376,3.222,7744,4.809,8054,3.041,8231,2.968,8262,2.699,8844,3.041,8852,4.694,9428,3.041,10130,3.041,10144,4.996,10326,3.041,10452,2.968,10531,3.222,10677,2.699,10777,2.792,10926,3.579,10951,3.041,11558,3.222,12447,2.618,12448,4.267,12548,3.929,12577,8.107,12596,4.591,12597,5.279,12617,4.694,13140,6.472,13141,3.125,13446,3.339,13546,4.941,13677,3.125,13899,6.548,13994,3.222,14738,3.125,14743,5.095,14745,3.222,14954,5.821,15015,6.128,15201,3.125,15303,3.485,15413,3.485,15763,6.548,15764,3.339,16256,3.681,16843,3.125,17496,3.485,17986,6.908,18914,5.511,18968,4.941,19679,4.941,19684,3.339,19946,3.041,20526,3.681,20720,3.222,20854,3.222,20902,3.485,21103,3.339,21775,10.295,21938,3.485,22223,3.339,22509,3.485,23358,3.041,23364,8.318,23366,5.511,23376,3.339,23377,3.339,23380,3.041,23389,4.941,23413,3.339,23424,5.279,23456,3.222,23457,8.107,23487,3.339,23488,7.22,23494,3.681,23509,3.485,23512,5.511,23524,3.222,23531,3.339,23543,3.681,23546,3.485,23565,3.485,23571,6.835,23592,3.125,23622,3.681,23634,3.485,23642,3.681,23671,3.485,23672,3.485,23695,5.511,23827,7.22,23878,3.681,23917,3.681,23932,3.681,23934,6.548,23982,5.821,23994,3.339,24007,3.339,24014,6.548,24024,8.107,24116,3.485,24196,3.979,24197,3.979,24198,9.661,24199,3.979,24200,3.979,24201,3.979,24202,3.979,24203,3.979,24204,8.869,24205,3.979,24206,3.681,24207,3.979,24208,3.979,24209,7.804,24210,3.979,24211,3.979,24212,7.22,24213,3.979,24214,3.979,24215,3.485,24216,3.681,24217,3.979,24218,3.339,24219,3.979,24220,7.804,24221,8.462,24222,5.279,24223,3.979,24224,3.979,24225,7.769,24226,3.979,24227,6.292,24228,3.485,24229,3.979,24230,6.292,24231,3.979,24232,3.979,24233,3.979,24234,3.979,24235,3.979,24236,3.979,24237,3.979,24238,3.681,24239,3.979,24240,3.979,24241,3.681,24242,3.979,24243,6.292,24244,3.681,24245,3.979,24246,3.979,24247,3.979,24248,8.206,24249,3.979,24250,3.681,24251,3.979,24252,3.979,24253,3.979,24254,3.681,24255,3.979,24256,3.979,24257,6.292,24258,3.979,24259,3.979,24260,3.979,24261,3.485,24262,3.979,24263,3.681,24264,3.979,24265,3.979,24266,3.979,24267,3.979,24268,3.681,24269,3.979,24270,3.979,24271,3.979,24272,3.979,24273,3.979,24274,5.821,24275,3.979,24276,3.979,24277,6.292,24278,6.292,24279,7.804,24280,7.804,24281,6.292,24282,6.292,24283,3.681,24284,3.979,24285,3.979,24286,3.339,24287,6.292,24288,3.979,24289,3.979,24290,3.979,24291,3.979,24292,3.485,24293,3.979,24294,3.979,24295,3.979,24296,3.979,24297,3.979,24298,6.292,24299,3.979,24300,3.681,24301,3.979]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.005,822,2.371,1304,2.889,5384,3.495]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.377,2,0.371,3,0.007,5,0.013,9,2.614,27,0.392,30,0.001,31,0.574,32,0.071,34,0.559,36,1.174,72,4.001,95,0.065,100,3.418,101,0.015,103,0,104,0,105,0.342,107,1.287,112,0.532,128,1.369,133,1.886,138,1.441,142,1.309,148,2.16,154,2.013,155,3.093,172,1.044,201,3.411,203,4.14,204,1.304,207,1.33,208,2.025,209,3.601,217,2.025,223,2.9,225,2.183,236,1.132,239,1.632,259,4.009,262,1.535,270,2.693,271,1.243,274,2.025,284,2.433,294,2.762,316,5.664,324,1.701,345,1.066,349,0.717,353,2.313,355,2.121,358,5.629,359,2.025,361,1.909,379,0.424,437,1.06,454,1.547,459,4.462,474,1.423,484,1.712,486,1.01,493,3.922,511,1.485,535,4.003,539,0.735,560,5.018,562,4.798,563,3.275,577,2.939,591,1.892,608,1.27,631,4.492,639,2.585,645,2.448,654,2.095,685,3.364,739,3.007,749,5.075,760,2.564,763,2.503,765,3.559,766,1.875,824,1.192,829,1.736,934,3.31,950,5.869,951,2.571,982,5.077,993,3.066,999,1.69,1082,5.191,1103,3.609,1121,2.148,1123,2.177,1128,2.177,1130,1.909,1132,2.635,1136,2.939,1148,2.564,1288,5.472,1289,4.294,1296,5.995,1297,2.208,1304,4.112,1309,5.135,1456,2.208,1478,2.003,1519,1.909,1520,5.077,1664,2.605,1717,1.608,1728,2.208,1729,3.467,1730,2.717,1744,4.805,1752,1.909,1757,5.634,1758,2.922,1764,6.508,1778,2.726,1779,7.107,1780,2.635,1794,3.512,1813,2.354,1816,2.313,1971,1.564,2000,1.926,2024,1.564,2095,3.72,2190,3.467,2207,2.025,2220,3.149,2255,2.1,2406,1.875,2425,4.455,2427,5.018,2432,2.815,2433,2.939,2487,3.625,2492,5.347,2494,2.24,2647,1.859,2668,2.121,2764,1.59,2773,4.578,2882,1.599,2962,1.892,3084,2.564,3309,3.467,3368,2.717,3430,2.313,3476,2.121,3516,6.471,3671,2.208,3751,3.922,3779,1.983,3893,4.307,3894,2.313,3895,2.503,3914,3.782,3915,4.193,3916,2.148,4042,2.047,4081,2.121,4204,2.939,4501,2.815,4541,2.003,4544,3.149,4654,4.442,4677,1.724,4702,2.564,4729,6.993,4743,1.774,4745,2.177,5126,4.903,5384,2.399,5515,4.112,5562,2.448,5574,2.564,6315,2.148,6365,3.104,6402,2.313,6403,2.24,6410,2.399,6441,3.261,6679,4.975,6688,3.849,6693,2.717,6721,4.646,7106,3.994,7279,4.442,7292,3.512,7336,2.564,7456,2.177,7744,2.564,7996,2.564,8070,4.798,8580,2.448,8685,6.437,8794,2.564,8844,2.564,8853,2.815,8943,6.94,9428,2.564,10086,3.104,10091,3.104,10130,2.564,10144,3.512,10161,2.635,10162,5.634,10163,2.717,10164,2.815,10165,2.815,10279,2.939,10296,4.603,10297,2.635,10452,2.503,10462,2.399,10527,4.245,11283,2.815,11333,2.717,11504,2.815,11918,2.717,11950,5.075,11951,2.564,12576,2.815,12577,5.838,12617,5.191,12631,2.939,12670,6.094,12873,4.603,12874,2.564,13140,5.077,13677,6.958,13984,2.939,14738,4.307,15850,2.717,15913,3.104,15975,3.104,15976,3.104,15977,3.104,15978,2.939,16015,2.939,16238,2.564,16276,6.094,16843,2.635,17763,2.635,17986,2.399,18471,4.603,18534,3.104,18968,6.311,19679,7.469,19919,2.939,20728,4.603,20819,3.104,21775,7.469,23364,4.442,23373,2.815,23388,2.815,23389,5.464,23398,2.939,23407,5.838,23409,2.717,23415,2.939,23417,2.815,23459,3.104,23461,2.717,23531,2.815,23546,2.939,23552,2.939,23570,2.939,23574,3.104,23649,3.104,23686,2.717,23752,2.939,23857,6.437,23927,2.939,23934,2.815,23950,3.104,23968,2.815,23996,3.104,23997,4.442,24007,2.815,24014,6.744,24015,6.094,24024,2.815,24069,5.838,24075,4.603,24114,3.104,24115,6.094,24116,2.939,24119,3.104,24215,2.939,24221,2.939,24222,2.815,24225,2.939,24283,3.104,24302,7.435,24303,4.805,24304,6.437,24305,3.104,24306,3.355,24307,5.485,24308,3.355,24309,9.511,24310,8.036,24311,3.355,24312,3.355,24313,3.355,24314,5.485,24315,8.036,24316,3.355,24317,3.355,24318,3.355,24319,3.355,24320,5.485,24321,2.939,24322,3.355,24323,3.355,24324,3.355,24325,3.355,24326,3.355,24327,3.355,24328,3.355,24329,3.355,24330,3.355,24331,3.355,24332,3.355,24333,3.355,24334,3.355,24335,3.104,24336,3.355,24337,3.355,24338,3.355,24339,3.355,24340,3.355,24341,3.355,24342,3.355,24343,3.355,24344,3.355,24345,3.355,24346,3.355,24347,3.355,24348,3.104,24349,3.355,24350,3.104,24351,5.075,24352,3.355,24353,3.355,24354,3.355,24355,3.355,24356,3.355,24357,3.355,24358,3.355,24359,3.355,24360,3.355,24361,3.355,24362,3.355,24363,3.355,24364,3.355,24365,3.355,24366,3.355,24367,3.355,24368,3.355,24369,3.355,24370,3.104,24371,3.355,24372,3.355,24373,3.355,24374,3.355,24375,3.355,24376,3.104,24377,3.355,24378,3.355,24379,3.355,24380,3.355,24381,3.355,24382,3.355,24383,6.437,24384,2.939,24385,5.485,24386,3.355,24387,3.355,24388,3.355,24389,3.355,24390,3.355,24391,3.355]],["title/additional-documentation/nestjs-application/api-design.html",[822,2.371,1288,2.665,1304,2.889,24007,4.102]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,23750,9.926]],["title/additional-documentation/nestjs-application/logging.html",[822,2.771,1304,3.376,6686,4.261]],["body/additional-documentation/nestjs-application/logging.html",[0,0.351,3,0.017,8,0.958,26,1.6,30,0.001,39,3.108,95,0.094,101,0.016,103,0.001,104,0.001,105,0.808,131,3.013,177,1.474,191,4.255,201,2.13,236,1.29,284,3.716,345,3.297,349,0.816,358,4.64,462,4.288,475,3.993,517,2.991,528,4.074,572,8.151,591,4.47,639,3.737,662,2.454,685,3.319,950,4.893,990,3.558,1025,5.053,1147,3.159,1297,6.83,1338,5.691,1339,5.371,1341,2.548,1343,3.942,2312,5.766,2313,3.617,2406,4.432,2417,4.893,2431,5.467,2492,7.409,4081,5.012,4381,4.785,4541,4.734,4707,6.945,4745,7.509,5558,3.235,5573,5.378,5580,6.42,5662,5.564,6582,6.42,6686,9.159,7083,5.786,7135,5.786,8384,9.186,8851,7.336,8882,6.226,11558,6.42,12435,6.06,12577,6.653,12910,9.092,12911,6.945,13141,6.226,13446,6.653,14745,6.42,15327,6.653,20051,6.945,21588,8.151,23592,6.226,23635,7.336,23686,6.42,23997,6.42,24392,7.929,24393,7.929,24394,7.929,24395,10.38,24396,7.929,24397,7.929,24398,7.929,24399,7.929,24400,7.929,24401,7.929,24402,7.929,24403,7.929,24404,7.929,24405,7.929,24406,7.336,24407,7.336,24408,7.929]],["title/additional-documentation/nestjs-application/exception-handling.html",[822,2.371,1304,2.889,4541,2.919,6685,3.495]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.31,9,3.142,30,0.001,31,0.377,32,0.155,47,0.8,48,5.457,51,4.343,72,4.138,101,0.014,103,0,104,0,105,0.672,141,3.089,172,2.852,177,1.704,180,1.143,182,2.088,183,5.038,193,4.81,201,1.771,236,1.852,283,5.655,284,3.188,345,2.094,348,4.615,349,0.679,355,4.167,358,4.708,437,0.869,459,4.615,463,3.485,472,3.411,476,3.594,486,3.171,511,4.056,529,3.014,535,4.81,579,3.538,603,1.361,662,2.04,685,2.76,763,4.917,824,3.256,951,4.936,990,4.613,1025,4.91,1130,5.992,1147,2.789,1215,3.623,1242,3.565,1270,3.784,1271,2.058,1287,6.099,1288,4.996,1289,6.5,1295,6.687,1297,8.149,1304,5.415,1306,4.068,1312,4.277,1338,5.741,1343,3.277,1606,5.338,1614,5.531,1622,6.099,1729,4.167,1877,4.402,2220,3.784,2422,5.531,2424,3.896,2431,4.545,2492,7.473,3084,5.038,3308,4.402,3330,4.713,3516,6.289,3601,2.656,3893,5.176,3912,9.688,3913,5.338,3918,8.271,4081,6.658,4541,7.954,4702,5.038,4745,4.277,5582,5.531,5662,4.626,6685,4.713,6686,6.836,6692,5.531,8239,5.531,8384,4.545,8829,3.435,8844,8.051,8902,5.038,8908,6.099,8910,5.531,9283,3.857,9284,4.022,10144,5.867,10297,5.176,11487,6.099,12227,5.774,14747,5.338,15910,5.531,21919,6.099,23357,5.531,23435,6.099,23592,5.176,23754,12.171,24222,5.531,24286,5.531,24335,6.099,24409,6.099,24410,6.592,24411,9.163,24412,6.592,24413,6.592,24414,6.592,24415,6.592,24416,6.592,24417,6.592,24418,6.592,24419,6.592,24420,6.592,24421,6.592,24422,6.592,24423,6.592,24424,6.099,24425,6.592,24426,6.592,24427,6.592,24428,6.592,24429,6.099,24430,6.592]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[133,1.469,822,2.072,1289,2.636,1304,2.525,1778,1.674]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.307,30,0.001,103,0.001,104,0.001,105,1.154,119,1.883,133,4.568,253,5.592,358,4.059,454,4.186,472,4.698,479,3.328,493,4.431,578,5.54,662,2.81,766,6.327,1123,5.892,1289,5.603,1679,6.063,1729,5.74,1778,5.205,1819,6.261,1926,3.412,2095,6.158,2395,6.69,2416,7.619,2424,6.69,2431,7.805,2487,4.731,2492,5.479,2686,5.111,2883,4.039,3136,5.165,3522,7.619,4729,6.063,5555,7.953,5562,6.626,8231,6.773,8710,6.158,10426,6.773,10534,8.889,10931,8.652,12449,6.493,13140,6.626,14738,7.13,19946,6.94,23384,7.352,23492,9.498,23524,7.352,23651,8.4,23927,7.953,24216,8.4,24383,12.958,24431,9.08,24432,9.08,24433,9.08,24434,9.08,24435,11.319,24436,9.08,24437,9.08,24438,9.08,24439,9.08,24440,11.319,24441,9.08]],["title/additional-documentation/nestjs-application/testing.html",[822,2.771,1304,3.376,12095,4.085]],["body/additional-documentation/nestjs-application/testing.html",[0,0.181,27,0.167,29,0.424,30,0.001,31,0.306,32,0.102,35,0.49,36,1.688,51,1.107,72,4.397,79,3.543,94,1.162,95,0.028,96,0.619,100,0.796,103,0,104,0,131,0.888,153,0.928,154,0.811,155,1.739,168,2.28,201,2.404,204,2.478,208,1.974,219,0.916,220,0.895,223,1.686,225,0.93,236,0.38,238,2.989,239,0.949,253,1.155,259,0.895,262,2.433,280,1.611,284,3.045,292,1.185,316,3.447,349,0.812,353,1.611,355,2.557,357,1.786,358,4.839,359,1.41,363,1.318,437,1.428,459,1.177,474,4.389,475,3.21,478,4.11,480,1.773,486,1.218,487,1.264,493,4.368,500,1.354,517,2.717,535,1.705,560,2.622,562,2.789,564,1.674,569,1.671,574,4.755,579,1.254,590,1.442,591,3.593,608,2.328,636,2.367,639,1.101,685,3.302,708,0.938,739,3.408,757,3.091,763,1.743,826,1.516,934,7.818,935,1.835,938,2.344,951,4.195,982,1.705,990,3.546,993,3.562,998,1.114,999,1.177,1004,1.786,1122,3.424,1123,1.516,1128,2.624,1130,1.329,1132,1.835,1133,1.786,1134,3.824,1135,5.897,1180,1.671,1242,2.188,1262,1.413,1288,4.88,1296,1.743,1297,1.538,1306,1.442,1308,3.543,1309,4.571,1351,1.516,1454,4.557,1457,2.162,1500,2.047,1519,1.329,1520,1.705,1607,3.017,1678,1.426,1679,2.701,1728,1.538,1729,1.477,1731,1.743,1743,1.835,1813,3.752,1816,2.789,1819,1.611,1820,1.41,1822,5.814,1823,3.091,1926,1.52,2000,1.342,2024,1.885,2091,1.743,2093,1.318,2094,2.496,2171,1.274,2175,1.705,2228,2.047,2311,3.015,2357,4.651,2368,2.557,2395,1.381,2396,3.659,2406,4.729,2417,3.3,2424,2.39,2425,8.261,2427,1.459,2432,1.961,2435,2.047,2460,1.786,2480,1.381,2487,4.409,2492,5.876,2493,5.19,2494,4.256,2548,0.788,2647,1.295,2668,1.477,2679,1.705,2725,3.394,2962,1.318,3044,2.28,3122,1.01,3134,1.077,3136,1.329,3140,1.177,3172,4.871,3308,1.561,3330,1.671,3346,2.39,3455,1.64,3516,2.415,3519,6.974,3608,1.835,3671,1.538,3894,2.789,3914,1.611,3915,1.786,3916,1.496,4018,3.017,4206,2.047,4603,4.651,4677,2.078,4702,3.091,4729,1.561,4743,1.235,4745,3.47,4751,1.835,5126,1.426,5153,1.496,5160,1.538,5284,3.38,5384,5.151,5390,1.961,5515,2.39,5562,2.951,5573,1.585,5574,1.786,5576,1.786,5577,1.892,5578,1.786,5584,1.786,5609,1.961,5758,2.789,5813,1.892,6360,1.961,6403,2.701,6476,1.561,6683,1.64,6685,2.892,6721,1.561,6777,1.671,6781,1.743,7010,4.651,7082,1.459,7083,1.705,7093,1.743,7106,1.342,7133,3.519,7183,6.309,7275,1.459,7282,1.835,7734,1.611,7744,3.091,8024,3.091,8052,1.835,8061,3.543,8067,3.394,8070,2.789,8169,2.047,8432,3.091,8580,2.951,8794,1.786,8852,6.677,9255,7.588,10130,5.505,10131,2.162,10144,4.612,10161,3.176,10297,7.028,10326,1.786,10527,2.468,10530,1.41,10536,1.705,10547,1.64,10643,1.835,10931,1.786,10932,2.162,10951,3.091,11235,1.705,11238,3.176,11273,2.838,11280,1.743,11312,1.961,11388,6.029,11418,5.884,11545,1.835,11554,2.162,11951,1.786,11952,1.835,12095,7.888,12217,1.961,12443,1.705,12448,2.743,12449,1.671,12591,1.835,12592,2.162,12596,1.705,12670,2.047,12874,3.091,13140,2.951,13447,2.162,13864,4.33,13897,1.892,13995,1.961,14254,2.047,14260,5.583,14488,1.892,14635,2.162,14685,2.047,14737,3.543,14738,1.835,14745,1.892,14746,2.162,14747,1.892,14765,1.64,14955,3.989,15015,1.835,15323,3.742,15327,3.394,15763,1.961,16016,2.047,16068,3.275,16235,3.394,16444,2.162,16843,1.835,17769,1.892,17986,3.824,18056,1.961,18066,2.047,18281,1.961,18872,2.047,18914,2.047,19036,3.543,19684,1.961,19946,1.786,20104,2.047,20720,1.892,20728,1.961,20854,3.275,20904,3.543,20906,2.162,20912,2.162,21103,1.961,21336,1.961,21366,3.742,21368,4.871,21369,5.897,21373,5.897,21378,5.583,21379,3.017,21636,3.543,21775,3.176,22422,7.829,22677,4.947,23278,2.047,23306,2.162,23358,3.091,23360,3.394,23369,3.394,23380,1.786,23384,1.892,23386,2.047,23389,5.005,23409,1.892,23424,1.961,23436,2.162,23439,2.162,23442,2.162,23444,2.162,23456,1.892,23457,1.961,23461,1.892,23462,2.162,23476,2.162,23477,2.162,23492,3.394,23509,3.543,23524,4.33,23531,1.961,23549,2.162,23552,2.047,23557,2.162,23565,2.047,23571,2.047,23634,2.047,23640,2.047,23672,2.047,23686,1.892,23750,2.047,23858,2.162,23876,2.162,23910,2.162,23937,2.162,23941,2.162,23947,2.047,23981,2.047,23994,1.961,24014,1.961,24015,2.047,24024,4.487,24039,4.947,24041,3.742,24069,1.961,24075,7.51,24113,2.047,24180,2.162,24212,2.162,24221,2.047,24222,1.961,24225,3.543,24228,2.047,24241,2.162,24248,2.162,24250,2.162,24261,3.543,24263,2.162,24268,9.009,24286,3.394,24292,3.543,24300,3.742,24302,4.947,24303,2.047,24304,3.742,24305,2.162,24321,3.543,24350,2.162,24351,2.162,24376,2.162,24407,2.162,24409,2.162,24424,2.162,24442,2.337,24443,2.337,24444,2.337,24445,2.047,24446,2.337,24447,5.347,24448,2.337,24449,4.045,24450,2.337,24451,2.337,24452,4.045,24453,2.337,24454,2.337,24455,2.337,24456,2.047,24457,2.337,24458,2.337,24459,2.337,24460,2.337,24461,2.337,24462,2.337,24463,2.337,24464,2.337,24465,2.337,24466,2.337,24467,2.337,24468,2.337,24469,6.373,24470,2.337,24471,2.162,24472,2.337,24473,2.337,24474,2.162,24475,2.337,24476,2.337,24477,7.887,24478,2.337,24479,2.337,24480,2.337,24481,2.337,24482,2.337,24483,2.162,24484,3.742,24485,4.045,24486,7.203,24487,4.045,24488,2.337,24489,2.337,24490,2.047,24491,2.337,24492,5.347,24493,4.045,24494,4.045,24495,7.887,24496,4.045,24497,2.337,24498,2.337,24499,2.162,24500,2.047,24501,5.347,24502,2.337,24503,5.347,24504,4.045,24505,7.203,24506,4.045,24507,5.347,24508,2.337,24509,2.337,24510,2.337,24511,4.045,24512,8.461,24513,2.337,24514,2.337,24515,2.337,24516,2.337,24517,2.337,24518,2.337,24519,2.337,24520,2.337,24521,2.337,24522,2.337,24523,2.337,24524,2.337,24525,2.337,24526,2.337,24527,2.337,24528,2.337,24529,2.337,24530,4.045,24531,2.337,24532,2.162,24533,5.347,24534,2.337,24535,2.337,24536,2.337,24537,2.337,24538,5.347,24539,2.337,24540,4.045,24541,4.045,24542,2.337,24543,2.337,24544,2.337,24545,2.337,24546,2.337,24547,4.045,24548,4.045,24549,4.045,24550,5.347,24551,2.337,24552,2.337,24553,4.045,24554,4.045,24555,4.045,24556,5.347,24557,2.337,24558,2.337,24559,2.337,24560,4.045,24561,2.337,24562,4.045,24563,2.337,24564,2.337,24565,2.337,24566,2.337,24567,4.045,24568,4.045,24569,2.337,24570,2.337,24571,2.337,24572,2.337,24573,7.203,24574,2.337,24575,5.347,24576,2.162,24577,2.047,24578,2.337,24579,2.337,24580,2.337,24581,2.337,24582,2.337,24583,2.337,24584,2.337,24585,2.337,24586,6.373,24587,2.337,24588,2.337,24589,4.045,24590,4.045,24591,2.337,24592,4.045,24593,2.337,24594,2.337,24595,2.337,24596,2.337,24597,2.337,24598,2.337,24599,2.337,24600,2.162,24601,2.337,24602,2.337,24603,2.337,24604,2.337,24605,2.337,24606,2.337,24607,4.045,24608,2.337,24609,2.337,24610,2.337,24611,2.337,24612,2.337,24613,2.337,24614,2.337,24615,2.337,24616,2.337,24617,2.337,24618,2.337]],["title/additional-documentation/nestjs-application/vscode.html",[822,2.771,1304,3.376,23362,4.625]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.013,30,0.001,72,4.394,103,0.001,104,0.001,511,5.228,590,6.005,759,7.438,829,5.035,934,5.873,2175,7.101,2425,7.563,2651,6.499,3516,7.053,3915,7.438,3916,7.563,4743,6.245,6403,6.499,6441,5.536,6476,6.499,6681,8.166,8231,7.26,11420,6.829,12612,7.88,12617,7.26,15295,8.524,21368,9.029,23362,9.565,23390,10.347,23653,9.004,23819,8.524,23933,9.004,23984,11.767,24013,9.004,24020,8.166,24075,8.166,24115,8.524,24150,9.004,24186,9.004,24218,8.166,24321,8.524,24384,10.347,24619,9.732,24620,9.732,24621,9.732,24622,9.732,24623,9.732,24624,9.732,24625,9.732]],["title/additional-documentation/nestjs-application/git.html",[822,2.771,1304,3.376,23363,4.793]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.432,55,2.31,72,3.414,77,4.84,103,0.001,104,0.001,153,1.734,220,2.895,324,3.832,353,5.213,358,3.379,486,2.276,511,3.346,517,2.852,766,6.318,829,3.912,937,6.344,951,5.298,998,3.603,1025,2.997,1132,5.937,1133,5.778,1271,2.36,1309,4.381,1517,6.344,1518,6.122,1519,5.722,1679,6.717,1728,7.439,1748,7.193,1815,4.975,1820,4.562,1832,4.155,1838,10.16,1839,9.902,1971,3.524,2093,4.262,2190,4.779,2220,4.34,2395,4.468,2406,4.225,2425,6.44,2427,4.721,2480,4.468,2492,6.822,2696,3.524,2830,4.514,2882,4.794,3455,5.305,4743,3.997,5160,7.439,5515,4.468,5578,5.778,5837,8.456,6364,8.811,6688,5.305,6961,4.906,7078,5.937,7292,4.84,7996,5.778,8070,5.213,8852,5.64,10532,7.899,10777,5.305,12447,4.975,12451,5.64,12591,5.937,12701,5.406,12702,5.406,12846,6.622,12873,6.344,13139,6.622,14685,6.622,14955,5.64,16157,6.622,20736,6.995,23363,10.112,23379,6.622,23384,6.122,23394,6.622,23395,6.622,23407,9.486,23411,8.441,23457,10.112,23458,6.995,23592,7.899,23640,9.902,23717,6.995,23879,6.995,23997,9.154,24027,6.995,24048,8.811,24206,6.995,24218,8.441,24238,6.995,24303,8.811,24348,6.995,24576,6.995,24577,6.622,24626,7.56,24627,7.56,24628,7.56,24629,7.56,24630,7.56,24631,7.56,24632,7.56,24633,7.56,24634,7.56,24635,7.56,24636,7.56,24637,7.56,24638,7.56,24639,7.56,24640,10.059,24641,7.56,24642,7.56,24643,10.059,24644,7.56,24645,7.56,24646,7.56,24647,7.56,24648,7.56,24649,7.56,24650,7.56,24651,7.56,24652,7.56,24653,7.56,24654,7.56,24655,7.56]],["title/additional-documentation/nestjs-application/keycloak.html",[568,3.657,822,2.771,1304,3.376]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.005,18,2.268,30,0.001,31,0.62,51,3.301,53,6.189,78,8.106,87,3.531,95,0.112,101,0.015,103,0,104,0,128,1.85,137,4.349,153,1.598,208,1.673,219,1.776,220,1.736,239,1.634,284,3.282,319,1.915,321,5.083,353,3.126,357,3.465,358,4.255,511,3.083,517,2.627,568,8.704,569,3.242,591,2.556,600,2.831,685,1.898,747,3.308,763,3.382,767,5.845,769,3.126,829,5.314,934,4.203,970,3.126,993,2.534,1079,2.679,1080,5.431,1196,3.181,1270,3.999,1288,3.797,1297,2.983,1488,5.845,1512,5.296,1519,3.962,1723,3.531,1728,4.583,1794,2.903,1815,2.983,1954,3.242,1984,3.797,2024,5.432,2081,4.537,2093,2.556,2175,3.308,2207,2.736,2318,6.753,2330,9.152,2341,2.798,2417,2.798,2426,5.849,2427,2.831,2431,3.126,2492,7.033,2836,8.029,2884,7.033,2962,3.927,3122,3.665,3134,2.09,3309,5.362,3514,5.849,3519,4.583,3601,1.827,3606,3.075,3916,2.903,3990,6.483,4603,3.308,4677,4.358,4729,3.027,4745,2.942,5515,2.679,5568,3.465,5623,3.971,5837,5.952,6403,3.027,6624,3.382,6680,3.56,6722,2.679,6961,4.52,7010,3.308,7082,4.349,7275,4.349,7292,2.903,7530,6.946,8050,5.952,8231,5.196,8384,4.803,8432,3.465,8852,3.382,9255,8.78,10547,8.839,10687,3.56,10922,3.804,11237,3.465,11304,2.766,11837,6.189,12095,6.065,12437,7.851,12447,2.983,12448,5.753,12465,3.56,12478,7.474,12519,8.337,12548,4.349,12576,3.804,12645,3.971,12773,3.671,13754,6.563,14134,7.43,14231,7.43,14234,7.707,14271,7.275,14365,3.971,14488,3.671,14490,4.194,15295,3.971,15848,3.671,15897,6.868,16255,4.194,16376,3.804,16600,3.804,17986,6.065,20909,3.971,21368,3.465,21379,5.196,23358,3.465,23361,3.971,23383,3.971,23411,3.804,23461,3.671,23478,3.971,23518,4.194,23592,5.47,23623,4.194,23656,4.194,23688,4.194,23758,4.194,24005,8.997,24020,7.987,24083,10.873,24098,9.503,24099,7.847,24100,6.444,24101,6.444,24102,6.444,24103,8.806,24104,6.444,24105,6.444,24106,8.806,24108,4.194,24182,6.444,24474,4.194,24483,4.194,24490,3.971,24532,4.194,24656,4.533,24657,4.533,24658,4.533,24659,4.533,24660,9.518,24661,4.533,24662,4.533,24663,4.533,24664,6.965,24665,4.533,24666,4.533,24667,6.965,24668,4.533,24669,4.533,24670,4.533,24671,4.533,24672,6.965,24673,4.533,24674,6.965,24675,6.965,24676,6.965,24677,6.965,24678,11.292,24679,6.965,24680,6.965,24681,6.965,24682,6.965,24683,4.533,24684,4.533,24685,4.533,24686,10.271,24687,6.965,24688,6.965,24689,4.533,24690,4.533,24691,6.965,24692,4.533,24693,4.533,24694,4.533,24695,4.533,24696,4.533,24697,4.533,24698,4.533,24699,4.533,24700,6.965,24701,4.533,24702,4.533,24703,4.533,24704,6.965,24705,6.965,24706,4.533,24707,4.533,24708,4.533,24709,4.533,24710,4.533,24711,4.533,24712,4.533,24713,4.533,24714,4.533,24715,4.533]],["title/additional-documentation/nestjs-application/rocket.chat.html",[822,2.771,1304,3.376,24716,5.285]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.008,30,0.001,31,0.429,103,0.001,104,0.001,358,3.354,696,2.917,742,4.125,757,10.046,829,3.883,938,4.349,950,6.177,992,5.266,1057,5.736,1103,6.586,1132,5.893,1195,5.893,1730,6.077,2024,4.665,2081,3.577,2318,8.395,2330,5.893,2395,4.435,2492,7.553,2651,5.011,2884,4.529,3134,3.46,3514,5.174,3515,4.744,3519,4.938,3601,4.033,3916,4.805,6624,5.598,7289,5.736,9425,5.476,10547,7.024,10677,5.09,12471,5.476,15195,6.297,15897,6.077,16276,6.573,17490,6.297,18471,8.399,20720,6.077,20729,6.943,21379,5.598,22692,6.297,23289,6.943,24005,6.573,24033,6.297,24083,10.963,24384,6.573,24716,10.42,24717,7.504,24718,7.504,24719,7.504,24720,7.504,24721,7.504,24722,10.009,24723,7.504,24724,7.504,24725,7.504,24726,7.504,24727,7.504,24728,7.504,24729,10.009,24730,7.504,24731,7.504,24732,7.504,24733,7.504,24734,7.504,24735,7.504,24736,7.504,24737,7.504,24738,7.504,24739,7.504,24740,7.504,24741,7.504,24742,7.504,24743,7.504,24744,7.504,24745,7.504,24746,7.504,24747,7.504,24748,7.504,24749,7.504,24750,7.504,24751,7.504,24752,7.504,24753,7.504,24754,7.504,24755,7.504,24756,7.504,24757,7.504,24758,7.504,24759,7.504,24760,7.504,24761,7.504,24762,7.504,24763,10.009,24764,10.009,24765,7.504,24766,7.504]],["title/additional-documentation/nestjs-application/configuration.html",[822,2.771,1304,3.376,2079,2.528]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.497,34,1.017,55,2.065,102,3.096,103,0,104,0.001,131,2.321,141,4.07,153,1.401,204,2.374,236,0.994,261,4.845,292,3.096,355,5.489,358,2.73,359,3.685,360,6.441,361,3.474,458,3.303,475,3.075,486,1.838,511,3.843,517,2.303,563,3.646,564,2.719,685,4.231,755,4.018,760,4.667,765,3.962,829,3.16,850,5.124,934,3.685,935,4.795,937,10.431,950,3.768,951,4.736,990,2.976,1025,2.421,1128,3.962,1270,3.506,1271,1.906,1288,4.734,1306,5.359,1520,6.337,1643,3.573,1678,3.726,1729,3.86,1779,7.095,1794,3.91,1813,4.285,1832,3.356,1838,8.912,2024,4.047,2079,2.703,2081,2.911,2093,3.443,2406,6.152,2424,6.505,2425,5.56,2426,5.988,2431,4.211,2443,5.56,2492,3.685,2493,4.018,2806,6.388,3134,2.816,3308,4.078,3516,6.943,3519,7.243,3751,4.367,3915,6.637,3916,8.648,3990,4.667,4607,4.945,4743,3.228,5134,3.539,5284,5.489,5390,5.124,5515,5.132,5562,4.456,5576,4.667,5813,4.945,5837,4.285,6315,3.91,6402,4.211,6496,5.714,6582,4.945,6685,4.367,6686,4.555,6865,6.572,6961,5.635,7106,4.985,7111,4.667,7704,4.555,8070,4.211,9283,3.573,9428,6.637,10050,5.349,10111,4.795,10527,5.298,10547,7.091,10936,8.412,11311,4.795,11419,6.854,12095,4.367,12448,4.142,12591,4.795,12596,6.337,12641,5.349,12874,6.637,14487,8.183,14955,4.555,15015,6.819,15153,4.945,15850,4.945,16238,4.667,16254,5.124,16597,5.124,16598,4.945,17763,4.795,17769,7.032,17986,4.367,18968,6.819,19336,5.349,21588,4.795,22692,5.124,22922,5.349,23357,7.287,23358,4.667,23359,5.349,23360,5.124,23361,5.349,23362,4.945,23363,7.287,23364,7.032,23365,5.349,23366,5.349,23367,5.349,23368,8.034,23369,7.287,23370,5.65,23371,5.65,23372,5.65,23373,5.124,23374,5.349,23375,8.034,23376,5.124,23377,5.124,23378,8.034,23379,5.349,23380,4.667,23381,5.124,23382,5.349,23383,5.349,23384,4.945,23385,5.65,23386,5.349,23387,5.65,23388,5.124,23389,4.795,23390,5.349,23391,8.034,23392,8.034,23393,8.852,23394,10.186,23395,5.349,23396,5.65,23397,8.034,23398,5.349,23399,5.65,23400,5.65,23401,5.65,23402,8.034,23403,8.034,23404,5.65,23405,5.65,23406,5.65,23407,5.124,23408,5.65,23409,4.945,23410,5.65,23411,7.287,23412,5.65,23413,5.124,23414,5.65,23415,5.349,23416,5.65,23417,5.124]],["title/additional-documentation/nestjs-application/authorisation.html",[822,2.771,1304,3.376,3608,4.486]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.075,5,0.006,8,0.469,9,1.061,10,1.576,26,1.851,27,0.092,30,0.001,31,0.353,32,0.05,33,0.107,34,0.859,47,0.614,72,4.308,74,1.803,94,1.107,101,0.008,103,0,104,0,105,0.227,119,1.069,131,3.75,133,2.639,141,1.044,142,2.406,143,1.366,145,1.09,153,0.511,154,1.839,155,1.676,172,0.693,177,0.958,180,0.386,182,0.705,201,2.563,203,1.407,209,1.468,236,1.137,239,3.015,253,1.916,261,1.068,262,1.542,271,2.589,275,5.704,276,4.411,316,2.098,321,3.76,345,0.707,349,0.9,355,3.897,358,4.657,359,1.344,363,1.255,437,1.571,459,1.953,474,0.945,475,2.595,478,3.642,487,1.204,511,0.986,517,1.463,521,2.435,535,1.625,539,0.298,560,4.802,562,4.82,563,3.682,564,0.697,576,1.95,590,3.805,591,2.187,603,1.273,604,0.916,608,1.91,643,3.14,651,1.074,652,1.074,653,1.144,654,3.38,662,1.201,685,3.66,708,0.894,739,1.676,759,1.702,763,3.844,765,3.344,766,5.125,769,1.535,829,1.152,839,1.604,936,1.426,938,5.067,950,1.374,951,1.044,993,3.907,1002,2.631,1007,1.563,1107,5.807,1123,2.517,1128,5.95,1134,3.685,1147,0.678,1225,4.001,1242,1.204,1288,3.361,1297,1.465,1304,3.644,1306,1.374,1309,2.986,1456,3.391,1460,2.06,1461,1.563,1478,1.33,1516,1.95,1519,3.976,1664,1.452,1670,1.214,1673,4.736,1678,3.144,1679,3.441,1694,8.081,1695,6.123,1697,2.422,1717,2.47,1723,6.392,1728,2.552,1729,4.419,1730,1.803,1731,1.661,1732,2.036,1735,3.144,1739,1.027,1743,1.749,1749,2.965,1763,3.844,1778,4.331,1779,1.359,1780,6.026,1815,5.05,1816,1.535,1818,4.117,1819,2.674,1821,1.51,1822,1.33,1823,4.713,1824,4.998,1832,3.842,1850,2.06,1855,4.265,1857,1.749,1875,1.445,1879,5.958,1880,1.803,1886,1.487,1920,2.485,1926,4.335,1931,2.452,1942,0.932,1994,2.722,2000,2.958,2024,2.402,2063,1.51,2081,1.061,2093,1.255,2095,2.631,2207,1.344,2208,2.06,2395,3.644,2396,1.278,2406,4.289,2407,4.172,2408,2.06,2417,1.374,2422,3.255,2424,1.316,2427,1.39,2443,6.505,2480,3.045,2492,6.961,2493,2.552,2494,5.125,2535,4.327,2617,6.306,2647,1.234,2686,1.005,2696,2.402,2739,2.339,2764,3.637,2830,1.33,2837,5.79,2958,1.316,3084,3.938,3122,1.676,3132,1.803,3134,3.804,3135,2.483,3136,3.507,3140,4.805,3222,1.426,3309,5.215,3415,1.465,3419,2.631,3430,3.553,3454,1.426,3515,1.408,3516,2.316,3600,3.065,3601,0.897,3610,1.661,3671,4.6,3892,1.803,3894,4.82,3913,1.803,3915,1.702,3916,4.475,4266,1.313,4501,1.869,4604,1.803,4608,2.631,4609,1.95,4622,5.152,4706,1.535,4729,5.125,4741,1.487,4743,1.177,4745,6.404,4969,1.374,5126,2.366,5160,2.552,5284,4.851,5384,2.773,5558,5.144,5568,1.702,5577,1.803,5662,1.563,5813,1.803,5837,1.563,5935,2.066,6402,1.535,6441,3.276,6497,1.487,6679,1.592,6683,1.563,6688,1.563,6720,1.592,6774,1.803,6781,2.893,6865,1.33,6961,4.001,7010,1.625,7040,1.95,7041,1.869,7083,1.625,7106,5.019,7108,1.592,7110,3.938,7124,1.749,7129,1.702,7233,2.06,7277,5.401,7287,1.316,7295,2.83,7529,1.803,7614,1.408,7704,1.661,7734,1.535,8024,1.702,8046,1.749,8059,3.938,8262,5.205,8432,4.713,8580,1.625,8844,1.702,8852,3.844,8853,1.869,9283,1.303,9425,1.625,10144,3.948,10163,4.172,10326,1.702,10426,1.661,10527,1.359,10536,1.625,10538,1.749,10543,1.749,10677,1.51,10777,1.563,11129,1.869,11135,1.95,11304,3.144,11316,1.661,11552,1.95,12100,4.767,12449,1.592,12451,1.661,12529,2.06,12548,1.39,12596,5.101,12768,2.59,12862,1.803,13140,5.6,13446,4.324,13769,1.95,13899,3.255,13995,1.869,13996,4.324,14640,3.588,14641,1.869,14683,2.06,14737,1.95,14738,3.046,14743,1.803,14765,1.563,15015,3.046,15032,3.255,15098,2.06,15109,2.06,15153,1.803,15201,3.046,15327,1.869,15455,2.83,15850,3.141,16235,3.255,16238,1.702,16250,1.95,16843,1.749,17334,2.06,17496,1.95,17521,2.06,17610,1.95,17763,1.749,17769,1.803,17986,2.773,18056,1.869,18714,3.397,19420,1.95,19908,2.06,20720,3.141,20721,2.06,20728,1.869,20800,2.06,20902,6.722,20907,4.172,20933,5.704,21051,2.06,21379,2.893,21397,2.06,21775,3.046,21776,2.06,22483,2.06,22484,2.06,23164,3.588,23278,8.032,23376,1.869,23380,3.938,23381,1.869,23388,1.869,23389,1.749,23409,1.803,23456,3.141,23461,5.66,23479,2.06,23487,1.869,23492,3.255,23512,1.95,23527,2.06,23570,3.397,23734,2.06,23819,5.401,23934,1.869,23943,2.06,23946,2.06,23968,1.869,23994,1.869,24016,2.06,24033,1.869,24034,1.95,24113,4.514,24187,2.06,24215,1.95,24218,3.255,24228,1.95,24244,4.767,24254,2.06,24261,1.95,24274,3.588,24292,4.514,24370,3.588,24406,2.06,24445,1.95,24456,1.95,24471,2.06,24484,2.06,24490,1.95,24499,2.06,24577,1.95,24600,3.588,24767,2.227,24768,2.227,24769,3.879,24770,2.227,24771,5.153,24772,2.227,24773,2.227,24774,2.06,24775,6.166,24776,3.879,24777,2.227,24778,2.227,24779,3.879,24780,3.879,24781,3.879,24782,2.227,24783,2.227,24784,3.879,24785,8.743,24786,2.227,24787,2.227,24788,2.227,24789,3.879,24790,2.227,24791,2.227,24792,2.227,24793,2.227,24794,2.227,24795,2.227,24796,3.879,24797,2.227,24798,2.227,24799,2.227,24800,2.227,24801,5.153,24802,2.227,24803,3.879,24804,3.879,24805,2.227,24806,3.879,24807,2.227,24808,2.227,24809,2.227,24810,2.227,24811,2.227,24812,2.227,24813,2.227,24814,2.227,24815,2.227,24816,2.227,24817,2.227,24818,2.227,24819,3.879,24820,3.879,24821,2.227,24822,2.227,24823,2.227,24824,2.227,24825,3.879,24826,2.227,24827,2.227,24828,2.227,24829,2.227,24830,2.227,24831,2.227,24832,5.153,24833,2.227,24834,2.227,24835,2.227,24836,2.227,24837,2.227,24838,2.227,24839,2.227,24840,2.227,24841,5.153,24842,2.227,24843,6.166,24844,2.227,24845,2.227,24846,3.879,24847,2.227,24848,2.227,24849,2.227,24850,2.227,24851,2.227,24852,2.227,24853,2.227,24854,2.227,24855,2.227,24856,2.227,24857,2.227,24858,2.227,24859,3.879,24860,2.227,24861,2.227,24862,3.879,24863,2.227,24864,2.227,24865,2.227,24866,2.06,24867,2.227,24868,2.227,24869,2.227,24870,3.879,24871,2.227,24872,2.227,24873,2.227,24874,2.227,24875,2.227,24876,2.227,24877,2.227,24878,2.227,24879,2.227,24880,2.227,24881,2.227,24882,2.227,24883,2.227,24884,2.227,24885,2.227]],["title/additional-documentation/nestjs-application/code-style.html",[822,2.371,951,2.291,1304,2.889,24500,4.282]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.294,2,1.218,8,1.461,30,0.001,31,0.727,35,1.053,47,0.849,101,0.013,103,0.001,104,0.001,112,0.925,119,2.284,181,2.346,206,3.46,261,5.795,314,7.613,349,0.895,358,3.885,379,1.391,474,5.774,529,2.487,708,3.488,766,4.858,938,6.382,951,4.073,990,3.775,993,6.155,1678,5.303,1729,6.961,1735,5.303,1861,6.215,1926,3.267,2093,6.209,2220,4.99,2492,6.646,2494,5.804,3037,8.041,3311,7.293,3565,7.038,3928,8.041,5616,7.613,6837,7.293,7734,5.993,8231,6.484,11543,11.184,12548,5.427,13329,6.825,16599,8.041,23380,6.643,23487,7.293,23760,8.041,23785,8.041,24006,8.041,24069,7.293,24286,7.293,24445,7.613,24456,9.646,24500,7.613,24866,8.041,24886,8.691,24887,8.691,24888,8.691,24889,8.691,24890,8.691,24891,8.691,24892,8.691,24893,8.691]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[822,2.771,1304,3.376,11216,4.085]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.374,30,0.001,31,0.501,101,0.019,103,0.001,104,0.001,124,5.613,168,4.943,177,1.63,201,3.26,203,3.179,208,4.087,225,3.49,353,8.369,358,5.425,379,1.107,437,1.46,517,3.307,539,1.175,560,3.607,591,4.943,603,1.81,685,4.635,759,6.7,766,4.9,1128,7.185,1732,4.601,2079,3.88,2094,5.41,2095,5.946,2492,5.29,3600,4.358,3601,4.89,6513,6.914,6514,6.54,6515,5.946,6516,5.946,6517,5.946,6518,5.946,8212,11.04,11129,7.356,11231,7.356,11392,7.099,11393,6.397,12450,7.635,12591,6.884,12812,9.699,14271,6.7,15201,6.884,18067,7.679,21775,6.884,21782,8.111,24429,8.111,24774,8.111,24894,8.766,24895,8.766,24896,8.766,24897,8.766,24898,8.766,24899,12.137,24900,8.766,24901,8.766,24902,8.766,24903,8.766]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":696,"title":{},"body":{"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":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.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":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":23223,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":23300,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":23329,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":23338,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":23257,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":23243,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":23231,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":23352,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":23341,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":23314,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":23304,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":23232,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":23305,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":23340,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":23238,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":23308,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":23302,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":24405,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6022,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6018,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":24402,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":20052,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14130,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":708,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionRequestProps-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/SystemIdParams-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":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.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":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":23324,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":23206,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":23284,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":23272,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":15453,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":24589,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":23322,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":23330,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":23250,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":23277,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":24590,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":23248,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":23247,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":23285,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":23225,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":23292,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":23207,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":23246,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":23252,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":23262,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":23316,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":710,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/PaginationParams.html":{},"license.html":{}}}],["10.0.1",{"_index":23218,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":23216,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":23214,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":697,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{}}}],["1000",{"_index":1636,"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":20758,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":7266,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":23127,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1835,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":24724,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":23605,"title":{},"body":{"license.html":{}}}],["123",{"_index":14843,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":24633,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":20421,"title":{},"body":{"classes/SystemFactory.html":{}}}],["124",{"_index":16275,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4338,"title":{},"body":{"entities/ClassEntity.html":{},"classes/GroupUcMapper.html":{},"interfaces/IClassEntityProps.html":{},"license.html":{}}}],["13.1.0",{"_index":23325,"title":{},"body":{"dependencies.html":{}}}],["14.14",{"_index":10974,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["15",{"_index":12638,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4189,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["15672:15672",{"_index":24085,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":24404,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":23767,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":24728,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2393,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":20053,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":23282,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":23420,"title":{},"body":{"license.html":{}}}],["1993",{"_index":24646,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":23611,"title":{},"body":{"license.html":{}}}],["2",{"_index":7734,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":15375,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":5623,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":23254,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":23221,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":23294,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":23213,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":23256,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":23290,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":23245,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":23301,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":23227,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":23317,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":23286,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":23267,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":23229,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":23253,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":23609,"title":{},"body":{"license.html":{}}}],["200",{"_index":278,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":23422,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":22218,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":2935,"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":{}}}],["2023",{"_index":20051,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":2980,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["204})@apiresponse({status",{"_index":2943,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["21.1.2",{"_index":23208,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":23288,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":6988,"title":{},"body":{"classes/CourseFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["250",{"_index":3578,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":23901,"title":{},"body":{"license.html":{}}}],["2984",{"_index":18823,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":24043,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3565,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":24011,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":23212,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":23215,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":23332,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":23319,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":23199,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":23333,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":23236,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":16601,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":23315,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":23355,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":23808,"title":{},"body":{"license.html":{}}}],["300",{"_index":14632,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":24761,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":12280,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":24172,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":24177,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":24403,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13477,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":24647,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":24687,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1840,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":7704,"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":23205,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":23323,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":23347,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":23276,"title":{},"body":{"dependencies.html":{}}}],["4.14.0",{"_index":23275,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":23298,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":23346,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":23269,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":23258,"title":{},"body":{"dependencies.html":{}}}],["4.5.11",{"_index":23202,"title":{},"body":{"dependencies.html":{}}}],["4.5.16",{"_index":23201,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":23251,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":24078,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":282,"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":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":24419,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":5588,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":24675,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":287,"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/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":290,"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":{},"todo.html":{}}}],["409/conflict",{"_index":24418,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":7249,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":8513,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":24135,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":14848,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":9326,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":11630,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18062,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":23240,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":23241,"title":{},"body":{"dependencies.html":{}}}],["5.0.3",{"_index":23279,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":23321,"title":{},"body":{"dependencies.html":{}}}],["5.13.20",{"_index":23303,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":23211,"title":{},"body":{"dependencies.html":{}}}],["5.4.2",{"_index":23210,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":8902,"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":19708,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1889,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":24087,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":24084,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14113,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":11632,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":23264,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":23265,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":23318,"title":{},"body":{"dependencies.html":{}}}],["6.3.0",{"_index":23280,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":23326,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":6989,"title":{},"body":{"classes/CourseFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":18600,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["632",{"_index":16438,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["64",{"_index":24630,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["673",{"_index":14953,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["699615164",{"_index":24036,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":23682,"title":{},"body":{"license.html":{}}}],["6d",{"_index":23701,"title":{},"body":{"license.html":{}}}],["7",{"_index":10693,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":23268,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":23219,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":23334,"title":{},"body":{"dependencies.html":{}}}],["789",{"_index":14849,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":10944,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{}}}],["8.1.0",{"_index":23260,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":23354,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":23234,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":24170,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":24142,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":24100,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["820",{"_index":22482,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["8443:8443",{"_index":24101,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":10754,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":23129,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":9324,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":23293,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":23209,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":21316,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["9000:9000",{"_index":24092,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":24097,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":24093,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":16961,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":24130,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":846,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":10325,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":23397,"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":11442,"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":11440,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":2919,"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/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":{}}}],["_",{"_index":645,"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":12528,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["_.pick(params",{"_index":659,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":15894,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":11528,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":11538,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":24306,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":11539,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":11529,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":24149,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":15893,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":22164,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":15906,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":10449,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":6242,"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":17707,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":17708,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":4965,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3392,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["_contexttype",{"_index":3394,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":5936,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_em",{"_index":2315,"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/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/LessonEntity.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":12610,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["_instance",{"_index":17709,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":10645,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_isenabled",{"_index":17710,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":10412,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14366,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":6243,"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":7375,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":10413,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":5938,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["_port",{"_index":17711,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":6244,"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":17712,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":5940,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["_self",{"_index":5420,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":985,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":7719,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":19961,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":23414,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3301,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":14556,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":15783,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":5834,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["aaa",{"_index":24475,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":6705,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["ability",{"_index":23741,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14531,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":18968,"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":23632,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":12515,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.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":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.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":{},"interfaces/INewsProperties.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.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":{},"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:108",{"_index":858,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:113",{"_index":859,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:117",{"_index":871,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:122",{"_index":870,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:127",{"_index":875,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:146",{"_index":866,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:18",{"_index":862,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:24",{"_index":867,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:29",{"_index":863,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:34",{"_index":864,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:42",{"_index":865,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:47",{"_index":869,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:83",{"_index":874,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:91",{"_index":872,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:99",{"_index":873,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":21364,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":24774,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":24210,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":24246,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2590,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2625,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2628,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2631,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2618,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2610,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2646,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16336,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2643,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2648,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2622,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2612,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2636,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2638,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2633,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2607,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["acacac",{"_index":6784,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":137,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":2796,"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/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":23812,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":2789,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":2800,"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/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":16808,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":16814,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":106,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":24023,"title":{},"body":{"todo.html":{}}}],["acceptloginrequest",{"_index":16966,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17038,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":16969,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":127,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":16847,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":16925,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17040,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":16852,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":134,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":140,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"entities/Course.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.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":1003,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14332,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":125,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7111,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":23484,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":24263,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":6517,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":686,"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/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/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":{},"injectables/SystemRepo.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":1498,"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/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":15442,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":15444,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":23667,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":23979,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":23486,"title":{},"body":{"license.html":{}}}],["accord",{"_index":23631,"title":{},"body":{"license.html":{}}}],["according",{"_index":23971,"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":{},"interfaces/OauthCurrentUser.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":538,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13518,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":281,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":14566,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":430,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":551,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":553,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":552,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":426,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":550,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":431,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14426,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":432,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":647,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14427,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":425,"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":14549,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":12890,"title":{},"body":{"interfaces/IJsonAccount.html":{}}}],["account.lastname",{"_index":14428,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":433,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1635,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":228,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17486,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17497,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17495,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17491,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17492,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17493,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":434,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":832,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":878,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":891,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":435,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":642,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:23",{"_index":21980,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:28",{"_index":21973,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:34",{"_index":21977,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:49",{"_index":21979,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:61",{"_index":21975,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":436,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":427,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":791,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":14567,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":428,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":429,"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":957,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":958,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":202,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["accountbyidbodyparams",{"_index":232,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":255,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountcontroller",{"_index":224,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":22580,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountcopy.systemid",{"_index":22616,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13524,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13527,"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":895,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":900,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":896,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":888,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":897,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":898,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":892,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":894,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":440,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":421,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":439,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":442,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":881,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":410,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":884,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":441,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":941,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":444,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":445,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":661,"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":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserMigrationService.html":{}}}],["accountid?.tostring",{"_index":955,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":540,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":547,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":545,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":638,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":634,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":554,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":557,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":213,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules.html":{}}}],["accountparams",{"_index":640,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15289,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":619,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":279,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":781,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":179,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{}}}],["accounts.'})@apiresponse({status",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":944,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":14555,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1621,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14512,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":443,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":24744,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":24743,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":24741,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":24742,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":24759,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":24740,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":24738,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":24739,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":24745,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":24746,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":24757,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":24747,"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":401,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":395,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":398,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":389,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":399,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":397,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":393,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":384,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":391,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":387,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":392,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":383,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":385,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":317,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":311,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":837,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":617,"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":620,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":621,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":12897,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":215,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15292,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":618,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["achieve",{"_index":23982,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":24574,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":23580,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":23859,"title":{},"body":{"license.html":{}}}],["acr",{"_index":129,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17262,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":24474,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1107,"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/CloseUserLoginMigrationUc.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/TaskRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1674,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1688,"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":1687,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":23819,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":17601,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17549,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17551,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17552,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2408,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":24832,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":157,"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":237,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":12447,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":23523,"title":{},"body":{"license.html":{}}}],["activity",{"_index":23896,"title":{},"body":{"license.html":{}}}],["actor",{"_index":24249,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":23879,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actually",{"_index":23717,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":23505,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":4604,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":4639,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":4649,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":4652,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":4676,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":16425,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{}}}],["adapter.service.ts",{"_index":16545,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":16548,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":16550,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":16555,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":16553,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapters",{"_index":24614,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1519,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.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":2790,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":2803,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14169,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14186,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":10527,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.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":{},"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":{}}}],["addexecutionrequest",{"_index":14250,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":9813,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":9827,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1046,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":473,"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":{},"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":{},"interfaces/ICourseProperties.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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1304,"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":{}}}],["additionalinfo",{"_index":13962,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":23388,"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":14520,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":664,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":24123,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5100,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5109,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":10529,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":10526,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5206,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5215,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2595,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2614,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":17770,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2596,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2619,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":6249,"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":6263,"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":11559,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":7712,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5207,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5219,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":5368,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5233,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17490,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":23502,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":7648,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":7669,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":12529,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5101,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5114,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":19046,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":19050,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":10528,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14054,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14062,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14038,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14044,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":11587,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":11590,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16301,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16305,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":5442,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5222,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":11304,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{},"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_pass=huhu",{"_index":24736,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":675,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminid",{"_index":972,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":960,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13491,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14078,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14085,"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":14088,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14105,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14112,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14109,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14106,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14107,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14108,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14111,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14110,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14104,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14114,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14102,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":12902,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13490,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14087,"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":321,"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":971,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":22159,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":24799,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":973,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":676,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.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":5213,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":23608,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":23747,"title":{},"body":{"license.html":{}}}],["advised",{"_index":23967,"title":{},"body":{"license.html":{}}}],["aes",{"_index":20338,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":8809,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":8806,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":24428,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affecteduserid",{"_index":22617,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["affects",{"_index":12676,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":23419,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":23841,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":23578,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":24562,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":24553,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":452,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":469,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":477,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":20875,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":20957,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":24469,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterwards",{"_index":24376,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":6497,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/MigrationResponse.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":11951,"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":11945,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":11949,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":24791,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":15774,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":23656,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14328,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":24200,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":13848,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8172,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":24000,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":23914,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":23955,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":23867,"title":{},"body":{"license.html":{}}}],["aims",{"_index":24196,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":24234,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":12108,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1104,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1138,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1118,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1160,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":23233,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":4919,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":8868,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":8873,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1490,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1441,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1462,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1476,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":13158,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"additional-documentation/nestjs-application.html":{}}}],["all('seed",{"_index":8092,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":11213,"title":{},"body":{"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":12545,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":12552,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":12556,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["alleging",{"_index":23847,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":20865,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":20868,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":20867,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":20866,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":20851,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":20852,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":20853,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":20862,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":20863,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":20864,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14288,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14291,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":6476,"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":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4042,"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":{}}}],["allowedcards",{"_index":4236,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":19913,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4251,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4250,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":19906,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":11110,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":11112,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":6250,"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":6266,"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":9529,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":15899,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2018,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":759,"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":17985,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":7649,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":10251,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":10255,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":24466,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":23634,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":590,"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":{},"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":4783,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":23471,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14263,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3280,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.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":10382,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":24373,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2040,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2041,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":20908,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":826,"title":{},"body":{"classes/AccountSearchListResponse.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":23235,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":11048,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1211,"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":18049,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":23237,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":130,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":24167,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":23351,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":24748,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":24749,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":24750,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3668,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3160,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3677,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3679,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3666,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":23813,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":24510,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":23465,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":24317,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":7361,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":16843,"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":11573,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["antareskey",{"_index":6697,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["anti",{"_index":23596,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1178,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1179,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1168,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{},"modules.html":{}}}],["antivirusmodule.forroot",{"_index":11224,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1172,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1177,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1245,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1258,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1202,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2512,"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":{},"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":1923,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2511,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":5734,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.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":720,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1460,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":23643,"title":{},"body":{"license.html":{}}}],["anything",{"_index":23512,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":24283,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1288,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/CopyApiResponse.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.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":11279,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["api.module.ts",{"_index":222,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.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.spec.ts",{"_index":24151,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":23370,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":23371,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":24173,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/news",{"_index":23378,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/sso/oauth",{"_index":16478,"title":{},"body":{"injectables/OAuthService.html":{}}}],["api/v3/sso/oauth/migration",{"_index":16477,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["api_enable_cors=true",{"_index":24752,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":24737,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":24794,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":17761,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1287,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1229,"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":6447,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":21651,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5022,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apicreatedresponse",{"_index":21557,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":10892,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":10887,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":10890,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":3766,"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":20152,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":9168,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":9968,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":3787,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":8756,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":17902,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":14787,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":22239,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinocontentresponse",{"_index":22240,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":14788,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":14789,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/OauthSSOController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.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/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":2933,"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":{}}}],["apiproperty",{"_index":245,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DownloadFileParams.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/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/MigrationBody.html":{},"classes/MigrationResponse.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/PageContentQueryParams.html":{},"classes/PageContentResponse.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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemIdParams-1.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/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":19134,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":7510,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":2779,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15161,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":5663,"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":17543,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17535,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6086,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isstring",{"_index":6470,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19185,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":5827,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":5665,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17541,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":15743,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":11437,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":6473,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":821,"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/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.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/UserLoginMigrationError.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":2921,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.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/SchoolExternalToolResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6017,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":2917,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.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({type",{"_index":819,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.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/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/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/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":149,"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/DownloadFileParams.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/MigrationResponse.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":3481,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":11290,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":11288,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":22401,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":22917,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1277,"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/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":11295,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":21829,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":6408,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/OauthSSOController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18345,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18352,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18331,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":337,"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/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LegacySchoolController.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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15381,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":2970,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":4713,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":6874,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":7632,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('file",{"_index":10894,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":11350,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":11645,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":12093,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":14991,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":15723,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":15973,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":16896,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":17907,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":18747,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('school",{"_index":14795,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["apitags('sharetoken",{"_index":19720,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17125,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":20081,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":20371,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":20642,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tool",{"_index":21494,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":21995,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":13612,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":22250,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('usermigration",{"_index":22541,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["apitags('videoconference",{"_index":22896,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":14790,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":21558,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1266,"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":{}}}],["apivalidationerror(errors",{"_index":11556,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1320,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1292,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":11531,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":2937,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["app",{"_index":1520,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.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":24377,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":17774,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":6692,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":6691,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":6689,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":6690,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":24072,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1356,"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":2734,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":23516,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":24132,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":3916,"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":1504,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"classes/TestApiClient.html":{}}}],["application/octet",{"_index":10367,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14394,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2256,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":6886,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":23357,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":12576,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":4609,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":12548,"title":{},"body":{"interfaces/ICollectionFilePath.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":13940,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applypropertiestopathparams",{"_index":2597,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2623,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["appname",{"_index":1335,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":24572,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":4607,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":23627,"title":{},"body":{"license.html":{}}}],["approve",{"_index":23142,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4203,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":23975,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":24119,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":24181,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":24185,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1333,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":17748,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":11472,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":21361,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":19563,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":19549,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":19553,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":19556,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":19552,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":6678,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1293,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":8914,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":8920,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":8919,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":8918,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":8917,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":8916,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":22805,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":8907,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":11476,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":12793,"title":{},"body":{"interfaces/IErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":10154,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":8817,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":8825,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":8828,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":8827,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":8832,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":8834,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":8823,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":8921,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":8930,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":8935,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":8927,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":8932,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":13896,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":12759,"title":{},"body":{"interfaces/ICoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":8866,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":12908,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15300,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15301,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":12925,"title":{},"body":{"interfaces/ILoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":14718,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15322,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15302,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15314,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15311,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15309,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15307,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15312,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15305,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15343,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15353,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15351,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15348,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":11541,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":22809,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1169,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1173,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1206,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1213,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1216,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1222,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1220,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1200,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":3949,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":3936,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":3938,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":3997,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":3968,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":12416,"title":{},"body":{"interfaces/ICalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":3978,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":3981,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4001,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4011,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4005,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4008,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4010,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4600,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICollaborativeStorageStrategy.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":5653,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8110,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":15885,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":12780,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":12786,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":12784,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":8799,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":20333,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":20336,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":20335,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":20334,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":10278,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":10160,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":10907,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":12419,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.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/OidcIdentityProviderMapper.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1357,"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":15649,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:11",{"_index":15651,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":15655,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:12",{"_index":15657,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:18",{"_index":15658,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":17706,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":17723,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":17728,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":17722,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":17730,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":17718,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":17732,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":17719,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":17734,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":17717,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":17720,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":17735,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":17724,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":17721,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":17726,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18305,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18312,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18314,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18316,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18310,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":18399,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18313,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18311,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":108,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":17547,"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":8892,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":8896,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":12749,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18048,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18071,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":12791,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18288,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":6509,"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":221,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/IAccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":623,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":260,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":297,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":293,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":308,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":233,"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":773,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":777,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":780,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":779,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":776,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":778,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":775,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17485,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":411,"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":678,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:10",{"_index":719,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:18",{"_index":691,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:22",{"_index":698,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:27",{"_index":693,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:31",{"_index":694,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:35",{"_index":701,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:42",{"_index":703,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:46",{"_index":699,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:50",{"_index":707,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:54",{"_index":709,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:58",{"_index":689,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:63",{"_index":690,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:73",{"_index":695,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:79",{"_index":706,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":558,"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":919,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":925,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":929,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":927,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":923,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":792,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":375,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":380,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1382,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1430,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":13989,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":14586,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15267,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15405,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15406,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":16713,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":16495,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15357,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15367,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15371,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15376,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15426,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":3878,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":14606,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/school",{"_index":19352,"title":{},"body":{"classes/SchoolInMigrationError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":21917,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":13985,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":7271,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":12771,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":7311,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1579,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1588,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1595,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1593,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1601,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1590,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1604,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1599,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1597,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":14612,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":14616,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":14618,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":14614,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14004,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14013,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14016,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14018,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":14644,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:16",{"_index":14649,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:28",{"_index":14658,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:56",{"_index":14655,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:68",{"_index":14653,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:75",{"_index":14651,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:91",{"_index":14656,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15270,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15274,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15282,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15280,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15277,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":16502,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:15",{"_index":16503,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:20",{"_index":16504,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15397,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15398,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":15434,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":15439,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":15437,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1811,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1775,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":11320,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1676,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3409,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6233,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7034,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7187,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7190,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7189,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7188,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":11841,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":11844,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":11843,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":11842,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":14904,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15081,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15093,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15092,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15095,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15097,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15099,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15091,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15089,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15087,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":19256,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":20241,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":20259,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":20254,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":20249,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":20258,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":20256,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":20253,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":20251,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":20247,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":20932,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":20938,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":20937,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":20936,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":20934,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":21181,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":21184,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":21183,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":21182,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":22396,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":22715,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":22718,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":22717,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":22716,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1836,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1698,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1711,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1713,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1707,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1716,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1709,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1858,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:11",{"_index":1864,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:18",{"_index":1870,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:24",{"_index":1876,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:31",{"_index":1866,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:38",{"_index":1873,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:42",{"_index":1868,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:49",{"_index":1874,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:53",{"_index":1872,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":12952,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:39",{"_index":18294,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:69",{"_index":18297,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:77",{"_index":18296,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":18831,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1671,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":18828,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:6",{"_index":18830,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":18829,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":10085,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":2757,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3599,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":3740,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":2924,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":2954,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":2949,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":2960,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":2945,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":2940,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4047,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:113",{"_index":4062,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:141",{"_index":4058,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:47",{"_index":4069,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:68",{"_index":4073,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:83",{"_index":4077,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:98",{"_index":4080,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5000,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5018,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5021,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5014,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5011,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":2914,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":3715,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":3719,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":3722,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":3718,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":3721,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":3717,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":3875,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":3877,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4199,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5038,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5041,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5043,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5040,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5042,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5039,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5089,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5090,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":5819,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":15914,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18299,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18302,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":19660,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4252,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4253,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4115,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4133,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:21",{"_index":4135,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:34",{"_index":4138,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:38",{"_index":4140,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:41",{"_index":4137,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:55",{"_index":4136,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4142,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4139,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":7225,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":15924,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":23192,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":7230,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":9188,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":10388,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15232,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":18446,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":20050,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":8700,"title":{},"body":{"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":7303,"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":21410,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":21414,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":21412,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":21413,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":21411,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":22110,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":8722,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:110",{"_index":8734,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:125",{"_index":8730,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:51",{"_index":8738,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:89",{"_index":8743,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2504,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":3727,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4147,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5046,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":5692,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":9210,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":10407,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15246,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":18457,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":20059,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3224,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18170,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3145,"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":4156,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:16",{"_index":4170,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:20",{"_index":4173,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:29",{"_index":4164,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:50",{"_index":4168,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:54",{"_index":4176,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:58",{"_index":4178,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:64",{"_index":4180,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:70",{"_index":4166,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:9",{"_index":4160,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":4821,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5055,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:11",{"_index":5061,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:16",{"_index":5057,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:32",{"_index":5059,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:36",{"_index":5063,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:40",{"_index":5065,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:8",{"_index":5056,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":5721,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":20171,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2514,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:12",{"_index":2523,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:28",{"_index":2529,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:44",{"_index":2526,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:6",{"_index":2519,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":3838,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:11",{"_index":3842,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:25",{"_index":3848,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:34",{"_index":3850,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:43",{"_index":3846,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:52",{"_index":3856,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:61",{"_index":3844,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:71",{"_index":3854,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4212,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:22",{"_index":4226,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:31",{"_index":4231,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:40",{"_index":4233,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:49",{"_index":4221,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:60",{"_index":4219,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:79",{"_index":4229,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:9",{"_index":4217,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:96",{"_index":4224,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5072,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:22",{"_index":5077,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:31",{"_index":5082,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:40",{"_index":5075,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:51",{"_index":5080,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:9",{"_index":5073,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":8760,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":8763,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":8771,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":8767,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":8769,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":8765,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":20186,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4485,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4517,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4264,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4277,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4279,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4281,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4283,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4285,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4287,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4289,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4291,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4293,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4295,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4297,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4298,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4299,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4275,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4373,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4375,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4524,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4317,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4321,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4322,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4330,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4329,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4319,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4331,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4318,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4320,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4328,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4324,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4327,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4363,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4366,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4530,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4533,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4535,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4536,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4538,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4432,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4444,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4440,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4442,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4438,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4486,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4497,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4495,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4493,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4491,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":4688,"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":6399,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":8395,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":8260,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":8436,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":8288,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":8332,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":8309,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":8355,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/uc/builder/deletion",{"_index":8383,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":8369,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/files",{"_index":6419,"title":{},"body":{"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":{},"classes/DownloadFileParams.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.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":{},"interfaces/GetFileResponse.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IParentInfo.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":10618,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":10411,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:106",{"_index":10436,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:109",{"_index":10425,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:116",{"_index":10450,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:39",{"_index":10432,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:42",{"_index":10431,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:45",{"_index":10433,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:48",{"_index":10434,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:51",{"_index":10442,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:54",{"_index":10448,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:57",{"_index":10443,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:60",{"_index":10430,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:63",{"_index":10445,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:66",{"_index":10446,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:69",{"_index":10447,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:72",{"_index":10440,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:76",{"_index":10441,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:80",{"_index":10429,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:88",{"_index":10428,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:95",{"_index":10438,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:99",{"_index":10423,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":10992,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8161,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":10993,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":10997,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":11006,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":11005,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":10999,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":11002,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":11021,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":11028,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":11034,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":11030,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":11032,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":11026,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8185,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":11336,"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":4380,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":11733,"title":{},"body":{"classes/GroupIdParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4416,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":9011,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":11917,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":11771,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":11776,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":11778,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":11780,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":11774,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":11773,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":11775,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":11625,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:23",{"_index":11634,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:53",{"_index":11640,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":11790,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":11904,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":11586,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:25",{"_index":11596,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:29",{"_index":11597,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:33",{"_index":11599,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:37",{"_index":11601,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:41",{"_index":11603,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:45",{"_index":11595,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:49",{"_index":11593,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:53",{"_index":11592,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":11910,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":11717,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:32",{"_index":11719,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:35",{"_index":11721,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:38",{"_index":11718,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:41",{"_index":11723,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:44",{"_index":11722,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:47",{"_index":11720,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":11621,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":11740,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":21921,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":11660,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":11744,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:10",{"_index":11747,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:100",{"_index":11748,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:13",{"_index":11751,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:27",{"_index":11750,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:46",{"_index":11753,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:60",{"_index":11754,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:75",{"_index":11755,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":11847,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:12",{"_index":11854,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:22",{"_index":11860,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:28",{"_index":11853,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:34",{"_index":11855,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:40",{"_index":11856,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:46",{"_index":11858,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:52",{"_index":11852,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:9",{"_index":11850,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4388,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":18369,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":11870,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/group/util/sort",{"_index":19956,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1105,"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.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":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5199,"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/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":6853,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":6862,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":6859,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":7613,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":7616,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":7621,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":7626,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7071,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7138,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7140,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":7223,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":7224,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":7832,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":7841,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":7837,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8006,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8008,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8007,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":7856,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":7858,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":7857,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":7855,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":7836,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":7854,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":7843,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":7846,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":7844,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":7838,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":7847,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":7848,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":7842,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8036,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8037,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":14996,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15159,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15160,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":15928,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17481,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":18692,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":18695,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":18696,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":2769,"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":18724,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":18736,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":18739,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":18742,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":18730,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":18733,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":14701,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":14716,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":3812,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7057,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7060,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":7859,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:15",{"_index":7863,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:36",{"_index":7865,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:5",{"_index":7867,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":18633,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":2992,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":4978,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5097,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":6890,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7201,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:13",{"_index":7209,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:19",{"_index":7206,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:29",{"_index":7207,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:6",{"_index":7204,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:9",{"_index":7211,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7044,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:15",{"_index":7050,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:6",{"_index":7048,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:9",{"_index":7052,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":18764,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:10",{"_index":18768,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:19",{"_index":18772,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:33",{"_index":18770,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":6945,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7217,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:10",{"_index":7221,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:7",{"_index":7219,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8009,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:13",{"_index":8015,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:26",{"_index":8017,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:41",{"_index":8019,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:57",{"_index":8021,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:7",{"_index":8014,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":14999,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":8584,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":18697,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":18705,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":18703,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":18709,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":18707,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":18787,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":18791,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":18793,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":18798,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":18796,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":10317,"title":{},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolParams.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15157,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15158,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":14986,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":14990,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":14980,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15056,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":8940,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":8946,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":8944,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15122,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:13",{"_index":15129,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:19",{"_index":15136,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:23",{"_index":15134,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:27",{"_index":15133,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:33",{"_index":15131,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:7",{"_index":15127,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16216,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16220,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16218,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15147,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:13",{"_index":15150,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:7",{"_index":15148,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":15579,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3501,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8039,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8076,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":3886,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":3899,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":3890,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":15678,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":15665,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3527,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":12502,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":11465,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":7280,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":11308,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16001,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16116,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16112,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16124,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16111,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16109,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16123,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16115,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16002,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16114,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16122,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16110,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16113,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16117,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16118,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16121,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16120,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16119,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16213,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16215,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":19374,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":20584,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":21204,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":21205,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":21935,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":22171,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":15949,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":15952,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":15957,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":15961,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":15966,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":15955,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":21137,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":15992,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16017,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:38",{"_index":16025,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:52",{"_index":16023,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:65",{"_index":16031,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:74",{"_index":16027,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:9",{"_index":16029,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":19367,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":20579,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":22170,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16069,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16143,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:100",{"_index":16159,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:122",{"_index":16171,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:148",{"_index":16153,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:159",{"_index":16163,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:179",{"_index":16169,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:197",{"_index":16161,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:207",{"_index":16165,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:23",{"_index":16150,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:39",{"_index":16152,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:67",{"_index":16155,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":135,"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":1782,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:11",{"_index":1786,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:15",{"_index":1789,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:19",{"_index":1790,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:23",{"_index":1791,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:27",{"_index":1792,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/sso",{"_index":19003,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":19983,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/system",{"_index":20447,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/user",{"_index":22556,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17077,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":16485,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":16372,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":22647,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/oauth",{"_index":16733,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":21430,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/mapper/user",{"_index":22553,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":16579,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":16753,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1388,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":6389,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":6393,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":6392,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":12300,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":12304,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":12305,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":12303,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":12306,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":12302,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":12301,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16358,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":12317,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":12329,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":12324,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":12337,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":12331,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":12336,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":12333,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":12327,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":16544,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16382,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:116",{"_index":16403,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:132",{"_index":16412,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:142",{"_index":16416,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:154",{"_index":16418,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:169",{"_index":16408,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:189",{"_index":16405,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:205",{"_index":16410,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:214",{"_index":16401,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:22",{"_index":16396,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:37",{"_index":16399,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:63",{"_index":16414,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/dto/oauth",{"_index":16721,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":12240,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts",{"_index":17193,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:142",{"_index":17200,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:26",{"_index":17198,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:40",{"_index":17208,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:66",{"_index":17206,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/oauth/uc/oauth.uc.ts:97",{"_index":17203,"title":{},"body":{"injectables/OauthUc.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":8957,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":16692,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":17862,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":17804,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":17806,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":11829,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":19331,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":22166,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":17867,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":17814,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":17820,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":17841,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":17829,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":17840,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":17833,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":17831,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":17838,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":17835,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":17858,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":17861,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":17860,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":17859,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":13919,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":13936,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:19",{"_index":13939,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:65",{"_index":13944,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17288,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17399,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17401,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17298,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":19010,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":19069,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":19072,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":19045,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:21",{"_index":19048,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:72",{"_index":19051,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":17931,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":17933,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":17934,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":17935,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":17936,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":17896,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":17901,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":17950,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":9458,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":17914,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":17915,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":17916,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":17917,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":17939,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":17948,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":17946,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":17944,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":21441,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":17919,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":17921,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":17892,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":17930,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":9472,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18016,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:10",{"_index":18022,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:21",{"_index":18021,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:36",{"_index":18020,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:44",{"_index":18018,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:65",{"_index":18019,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:7",{"_index":18017,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:71",{"_index":18024,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:82",{"_index":18023,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":10169,"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":17951,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:105",{"_index":17964,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:11",{"_index":17960,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:112",{"_index":17979,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:120",{"_index":17973,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:126",{"_index":17972,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:132",{"_index":17977,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:17",{"_index":17966,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:27",{"_index":17967,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:50",{"_index":17971,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:74",{"_index":17962,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:87",{"_index":17975,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:93",{"_index":17969,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:99",{"_index":17965,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18003,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:16",{"_index":18007,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:9",{"_index":18005,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/rocketchat",{"_index":18475,"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":961,"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":18559,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":18563,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":18566,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":18575,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":18554,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:4",{"_index":18556,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:6",{"_index":18557,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:8",{"_index":18555,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":18606,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:11",{"_index":18613,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:16",{"_index":18610,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:22",{"_index":18611,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:28",{"_index":18612,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:8",{"_index":18609,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":18624,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":18627,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":18626,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":19572,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":19573,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":13060,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":19585,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:157",{"_index":19588,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:188",{"_index":19658,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:192",{"_index":19659,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":19672,"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":19691,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":19737,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":13079,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":19688,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":15800,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":19779,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":19773,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":19791,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":19824,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":21426,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":19932,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":19765,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":19855,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":16666,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18033,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":20448,"title":{},"body":{"classes/SystemIdParams-1.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":20439,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":20445,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":20442,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":20513,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":20350,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:23",{"_index":20357,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:38",{"_index":20362,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":20471,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":20450,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":20456,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":20453,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":20454,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":16636,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17242,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":20383,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":20393,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":20386,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":20387,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":20390,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":20391,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":20389,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":20385,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":20388,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":20392,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":20484,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":20529,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":20532,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":20533,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:25",{"_index":20535,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:40",{"_index":20539,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:66",{"_index":20537,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":20345,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":20467,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":20571,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:11",{"_index":20574,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:25",{"_index":20575,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:8",{"_index":20572,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":20287,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":20294,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":20297,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":20296,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":20293,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":20295,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":20298,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":20292,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":20288,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":20289,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":20317,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":20318,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":20661,"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":20760,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":20926,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":20929,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":20918,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":20925,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":20920,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":20928,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":20919,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":20923,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":20927,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":20924,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":20921,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":20931,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":20930,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":20761,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":20917,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":21097,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":21098,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":20069,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":20077,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":20073,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":20611,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":20620,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":20621,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":20624,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":20626,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":20629,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":20632,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":20635,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":20618,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":20209,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":20212,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":20998,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":20767,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:39",{"_index":20774,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:54",{"_index":20771,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:6",{"_index":20776,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":20271,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:13",{"_index":20281,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:17",{"_index":20278,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:23",{"_index":20276,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:7",{"_index":20274,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":20663,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":20982,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:15",{"_index":20991,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:24",{"_index":20986,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:32",{"_index":20988,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:39",{"_index":20990,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:8",{"_index":20984,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":20605,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":20808,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":20299,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:13",{"_index":20307,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:22",{"_index":20303,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:39",{"_index":20305,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:7",{"_index":20302,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":20697,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":21009,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:110",{"_index":21034,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:126",{"_index":21024,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:155",{"_index":21026,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:185",{"_index":21030,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:19",{"_index":21015,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:197",{"_index":21032,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:218",{"_index":21027,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:225",{"_index":21018,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:28",{"_index":21022,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:69",{"_index":21020,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:85",{"_index":21017,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":21189,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:15",{"_index":21195,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:6",{"_index":21193,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:9",{"_index":21197,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":21235,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":21240,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":5438,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":7454,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":7498,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":9811,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":21914,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":21907,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":5445,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":21769,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":5949,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/IContextExternalToolProperties.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":{}}}],["apps/server/src/modules/tool/external",{"_index":2546,"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":{},"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/ExternalToolVersionService.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":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":7502,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.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":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1650,"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":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.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":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":21768,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4565,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.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/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":18390,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4259,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4262,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":20328,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":20330,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":20331,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":21987,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":21994,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":21991,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":13410,"title":{},"body":{"interfaces/IUserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":18379,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":22501,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":22502,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":22732,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:103",{"_index":22757,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:112",{"_index":22740,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:118",{"_index":22741,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:20",{"_index":22738,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:29",{"_index":22754,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:39",{"_index":22752,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:46",{"_index":22750,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:55",{"_index":22744,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:61",{"_index":22759,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:67",{"_index":22761,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:73",{"_index":22746,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:79",{"_index":22743,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:85",{"_index":22742,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:91",{"_index":22748,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":22125,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:20",{"_index":22132,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:22",{"_index":22128,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:24",{"_index":22130,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:26",{"_index":22135,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:28",{"_index":22139,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:3",{"_index":22127,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:30",{"_index":22140,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:32",{"_index":22136,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:34",{"_index":22129,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:36",{"_index":22133,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:38",{"_index":22131,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:41",{"_index":22138,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:43",{"_index":22134,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:45",{"_index":22137,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":22789,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:12",{"_index":22795,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:19",{"_index":22793,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:25",{"_index":22796,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:9",{"_index":22791,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":21984,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":22642,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":1998,"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/IScopeInfo.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":1267,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1690,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1692,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":3911,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":3920,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":3923,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":3922,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":3921,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":3919,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":3924,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":8811,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":11329,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":21966,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":22802,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":22803,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":8683,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":12887,"title":{},"body":{"interfaces/IInterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18354,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":21395,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":21399,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":21400,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16322,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":6380,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":6383,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":11944,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":20020,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":20023,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":20025,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17460,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17461,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17462,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17465,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17468,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17471,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17470,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17469,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17467,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":19965,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":19966,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":19968,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1662,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2296,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2298,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":2787,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4022,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:10",{"_index":4030,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:14",{"_index":4032,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:18",{"_index":4034,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:22",{"_index":4036,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":4804,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":4795,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":4799,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":4798,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":5667,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":9172,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":10370,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15208,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":18427,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":20040,"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":2841,"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":8996,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":14808,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":7424,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":15553,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":15562,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":15549,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":15560,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":15550,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":15551,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":15552,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":15558,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":15559,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":15557,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":15544,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":15548,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":15547,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":15556,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":15554,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":15545,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":15561,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":15555,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":15546,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":15543,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":7427,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":7426,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17416,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17418,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17417,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":17875,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":17877,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":17879,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":17880,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":17881,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":17882,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":18590,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":22277,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":22004,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":22007,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":22010,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":22016,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":22021,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":22022,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":22018,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":22009,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":22013,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":22011,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":22017,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":22008,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":22014,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":22012,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":22020,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":22015,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":22019,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":22005,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":22006,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":22023,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":22980,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":156,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":171,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":165,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":167,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":162,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":169,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":166,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":164,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":163,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":161,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2410,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2415,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:25",{"_index":2437,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:28",{"_index":2439,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:31",{"_index":2438,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:34",{"_index":2441,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2413,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3609,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3613,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3611,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3614,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3617,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3615,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4125,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":4855,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":9197,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":10395,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15237,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":18451,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":20056,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3183,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":6717,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":6741,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":6730,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:106",{"_index":6743,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":22800,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":22799,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":22801,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":6745,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:60",{"_index":6738,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:64",{"_index":6747,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:68",{"_index":6752,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:72",{"_index":6755,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":6754,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:79",{"_index":6736,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":6732,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:86",{"_index":6750,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":6756,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:93",{"_index":6733,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":6749,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":6996,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":6999,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7004,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":6998,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7002,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":7647,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":11583,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":11572,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":11578,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":11582,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":12827,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":11585,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":12829,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":7667,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":7665,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":7666,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":7668,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":7689,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":7695,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":12828,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":7664,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":7683,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":7687,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":12825,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":7681,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":7678,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":12824,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":7693,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":7702,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":12830,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":7699,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":7674,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":7672,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":7670,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":7680,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":7686,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":7697,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":7691,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":11568,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":11571,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":11570,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":11567,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":11576,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":11575,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":11577,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":11574,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":11569,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":11581,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":12826,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":11579,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":11580,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":11584,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":7800,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":7807,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":7808,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":7809,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":7806,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":7804,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":7888,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":7890,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":9001,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":6695,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":12838,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2666,"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":12696,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15041,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15034,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15039,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15042,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":12924,"title":{},"body":{"interfaces/ILessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15040,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15038,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15035,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15036,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":7350,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":15524,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":15531,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":15542,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":15527,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":15540,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":15528,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":15529,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":15530,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":15536,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":15539,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":15535,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":15521,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":15526,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":15525,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":15520,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":15532,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":15522,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":15541,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":15533,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":15523,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":12927,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":15686,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":15687,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":15688,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":15689,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":15690,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":15691,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":15692,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":15693,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":15694,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":15695,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7094,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":19464,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7095,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":21136,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":15946,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":15936,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":15938,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":15939,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":15942,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":15943,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":15944,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":15945,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":15941,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":15937,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":15947,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":15940,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":12988,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":18550,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":18551,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":18553,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":13009,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:104",{"_index":19150,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:107",{"_index":19140,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:47",{"_index":19478,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":19477,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:56",{"_index":19479,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":19480,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:66",{"_index":19139,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19141,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19142,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19138,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19146,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19143,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19144,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19148,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19145,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19147,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":13051,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":19513,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":19514,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":19512,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":13090,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":20012,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":20011,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":20014,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":20013,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":13103,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":20033,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":20037,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":20034,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":20029,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":20038,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":20028,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":20035,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":20032,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":20030,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":20031,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":13157,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:102",{"_index":14596,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:105",{"_index":14597,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:108",{"_index":14595,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:111",{"_index":14604,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:114",{"_index":14601,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:117",{"_index":14602,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:120",{"_index":14603,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:123",{"_index":14599,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:126",{"_index":14600,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:153",{"_index":17233,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:166",{"_index":17235,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:169",{"_index":17236,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:172",{"_index":17238,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:175",{"_index":17234,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:178",{"_index":17240,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:18",{"_index":16622,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:181",{"_index":17239,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:184",{"_index":17241,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:187",{"_index":17237,"title":{},"body":{"classes/OidcConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":20410,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:209",{"_index":20411,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:212",{"_index":20401,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:215",{"_index":20402,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:218",{"_index":20405,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":20408,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:225",{"_index":20406,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:228",{"_index":20404,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:231",{"_index":20409,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:36",{"_index":16624,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:39",{"_index":16625,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:42",{"_index":16627,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:45",{"_index":16632,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:48",{"_index":16626,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:51",{"_index":16635,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:54",{"_index":16623,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:57",{"_index":16633,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:60",{"_index":16634,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:63",{"_index":16631,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:66",{"_index":16630,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:69",{"_index":16628,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:72",{"_index":16629,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:76",{"_index":14592,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:93",{"_index":14593,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:96",{"_index":14594,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:99",{"_index":14598,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":13270,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":21100,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":21099,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":13271,"title":{},"body":{"interfaces/ITaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":20594,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":20588,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":20589,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":20585,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":20590,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":20595,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":20596,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":20599,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":20587,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":20586,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":20597,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":20593,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":20598,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":20591,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":13380,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":21209,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":21212,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":21210,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":21211,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":21213,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":21215,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":21217,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":21219,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":21108,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":21109,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":22301,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":13412,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:41",{"_index":21947,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":21950,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":21956,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:51",{"_index":21963,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:55",{"_index":21964,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:59",{"_index":21958,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":21949,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":21961,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:69",{"_index":21953,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":21951,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":21957,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":21948,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":21954,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":21952,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":21960,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:91",{"_index":21946,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":21955,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":21959,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":22812,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2402,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":12789,"title":{},"body":{"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":12822,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":12906,"title":{},"body":{"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17513,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17519,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17523,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17517,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":12883,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":12763,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":18416,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13263,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":24698,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2300,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:11",{"_index":2349,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:111",{"_index":2328,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:116",{"_index":2332,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2331,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2337,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2334,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2343,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:24",{"_index":2345,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:42",{"_index":2317,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:50",{"_index":2348,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:63",{"_index":2320,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:77",{"_index":2339,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:8",{"_index":2314,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:85",{"_index":2322,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:98",{"_index":2326,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2486,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2495,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2500,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2496,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2499,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2497,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2498,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3682,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:11",{"_index":3690,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:17",{"_index":3693,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:25",{"_index":3688,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:38",{"_index":3695,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:7",{"_index":3696,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6090,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7142,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:120",{"_index":7155,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:129",{"_index":7158,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:21",{"_index":7200,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:32",{"_index":7199,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:37",{"_index":7196,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:47",{"_index":7198,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:55",{"_index":7159,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:59",{"_index":7148,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:71",{"_index":7151,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:9",{"_index":7197,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:95",{"_index":7153,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7023,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:19",{"_index":7026,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:26",{"_index":7029,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:9",{"_index":7030,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":7892,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":7915,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":7910,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":7903,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":7921,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":7917,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":7912,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":7923,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":7919,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":7908,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":7925,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":7905,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":7977,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:14",{"_index":12778,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":12777,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":12779,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:20",{"_index":7981,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:24",{"_index":7987,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:30",{"_index":7989,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:36",{"_index":7983,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:42",{"_index":7985,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":9532,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":10311,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":13755,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:11",{"_index":13770,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:27",{"_index":13768,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:34",{"_index":13764,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:52",{"_index":13766,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:69",{"_index":13761,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":13810,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:10",{"_index":13834,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:100",{"_index":13830,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:113",{"_index":13838,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:17",{"_index":13836,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:24",{"_index":13823,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:38",{"_index":13825,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:54",{"_index":13827,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:69",{"_index":13832,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:86",{"_index":13821,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/lesson/lesson",{"_index":15116,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts",{"_index":15057,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:13",{"_index":15061,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:23",{"_index":15063,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:41",{"_index":15065,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/lesson/lesson.repo.ts:9",{"_index":15066,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":15581,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:17",{"_index":15587,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:26",{"_index":15589,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:31",{"_index":15586,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":15592,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":15701,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":15702,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":15904,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":15908,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16125,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16074,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:10",{"_index":16088,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16089,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:21",{"_index":16081,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:36",{"_index":16083,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:51",{"_index":16087,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:58",{"_index":16085,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":18593,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:11",{"_index":18601,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":18597,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:23",{"_index":18599,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:28",{"_index":18596,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:7",{"_index":18602,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":14860,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":19193,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":19529,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":19532,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":19531,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":19537,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":19534,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":19535,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":19533,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":20015,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":20018,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":20017,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":20016,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":20219,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:10",{"_index":20232,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:21",{"_index":20226,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:30",{"_index":20228,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:35",{"_index":20224,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:41",{"_index":20231,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":20527,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts",{"_index":20497,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:12",{"_index":20501,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:31",{"_index":20499,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system.repo.ts:8",{"_index":20502,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":20946,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":20809,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":20818,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":20829,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":20828,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":20824,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":20826,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":20816,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":20822,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":21241,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:12",{"_index":21246,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:35",{"_index":21243,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:42",{"_index":21245,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:8",{"_index":21247,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":19989,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":19995,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":19998,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":20000,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":22044,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":22657,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":22664,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:166",{"_index":22662,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:173",{"_index":22670,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:185",{"_index":22672,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:189",{"_index":22669,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:21",{"_index":22673,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:36",{"_index":22665,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:48",{"_index":22668,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":22720,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:12",{"_index":22729,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:19",{"_index":22727,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:28",{"_index":22731,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:35",{"_index":22723,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:5",{"_index":22725,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":22356,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":23146,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":446,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:15",{"_index":468,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:9",{"_index":466,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":1968,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2442,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2448,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2455,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2458,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2456,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2453,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2446,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2457,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2454,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2449,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2452,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2450,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2451,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2447,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":6973,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":6977,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":6978,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":6980,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":6983,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7018,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7019,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":4849,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":8568,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":8576,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":14835,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6048,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":7512,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19168,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":9239,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":10749,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":10751,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":11963,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":13644,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":7239,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14036,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14035,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15044,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":15564,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":15568,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":15566,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":15697,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18073,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":19750,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":20093,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":20098,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":20097,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":20100,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":20096,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts",{"_index":20412,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:28",{"_index":20417,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:40",{"_index":20420,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/system.factory.ts:7",{"_index":20419,"title":{},"body":{"classes/SystemFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":20752,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":20753,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":20756,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":20757,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":20755,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":21111,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":21117,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":21115,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":21220,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":21223,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":21221,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":641,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":22117,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:8",{"_index":22120,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":22147,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:11",{"_index":22158,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:17",{"_index":22156,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:23",{"_index":22153,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:32",{"_index":22154,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:41",{"_index":22152,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1496,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":24602,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1332,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1342,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":23372,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":24393,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2490,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":24207,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":23364,"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":24381,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":23995,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7080,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ITaskParent.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1036,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14323,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":24783,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":24471,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":13336,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":23239,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":19555,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1004,"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":11488,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":23959,"title":{},"body":{"license.html":{}}}],["around",{"_index":20722,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":23876,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":23886,"title":{},"body":{"license.html":{}}}],["array",{"_index":1732,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3581,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(classmap.keys",{"_index":4551,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":7968,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3316,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4090,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":12549,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["array.isarray(domainobjects",{"_index":2388,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(id",{"_index":2397,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(matches",{"_index":12869,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(permissions",{"_index":10141,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":12855,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(props.rolenames",{"_index":12852,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["array.isarray(requiredpermissions",{"_index":1733,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3312,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14465,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":10106,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14477,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":9344,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["article",{"_index":23604,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":22148,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":677,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":11008,"title":{},"body":{"injectables/FilesRepo.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2139,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":23081,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2142,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15114,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2042,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":5556,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":24676,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":23462,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":23831,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3522,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":13676,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":24350,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1013,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["assignment,@typescript",{"_index":1010,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["associated",{"_index":21102,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":453,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":483,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":22149,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":667,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":23950,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":23978,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":23781,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":22150,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":673,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":262,"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":{},"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/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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/OauthUc.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/RestartUserLoginMigrationUc.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/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":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":24509,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1516,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":23984,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1364,"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":1366,"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":23791,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":15877,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2179,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2019,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2163,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":13675,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":24838,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13538,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13535,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":3987,"title":{},"body":{"injectables/CalendarMapper.html":{},"interfaces/ICalendarEvent.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":3991,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":3989,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13540,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":23769,"title":{},"body":{"license.html":{}}}],["aud",{"_index":7240,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1482,"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":4904,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1513,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1081,"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":13986,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":10137,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":10086,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:13",{"_index":10092,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:16",{"_index":10100,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:26",{"_index":10102,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:38",{"_index":10096,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:55",{"_index":10094,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:60",{"_index":10098,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2156,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":16398,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":13993,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14002,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14001,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":12391,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":338,"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/LegacySchoolController.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/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":343,"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/LegacySchoolController.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/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('auth/sessions/consent",{"_index":16882,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":16857,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":16870,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":16872,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":16865,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":16860,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":16875,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":16878,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":16853,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":16855,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":16884,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":303,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"interfaces/OauthCurrentUser.html":{}}}],["authenticateuser",{"_index":16383,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":16397,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":24260,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1794,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentResponse.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.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":1384,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication.module",{"_index":11377,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/local",{"_index":1508,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1376,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1387,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14216,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14218,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1380,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["authenticationresponse",{"_index":1495,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1578,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1422,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationurl",{"_index":16467,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["authenticationurl.searchparams.append('client_id",{"_index":16469,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('kc_idp_hint",{"_index":16474,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('redirect_uri",{"_index":16470,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('response_type",{"_index":16471,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('scope",{"_index":16472,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.searchparams.append('state",{"_index":16473,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationurl.tostring",{"_index":16475,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticationvalues",{"_index":1649,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":13988,"title":{},"body":{"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":13987,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17181,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17184,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.tolowercase().startswith('bearer",{"_index":17183,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":10546,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":5835,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["authoriation",{"_index":24851,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3608,"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":15028,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":8586,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2541,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":3861,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3146,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":5983,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3151,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3152,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3154,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3156,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":5982,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3121,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3124,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3126,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3128,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1661,"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":{},"interfaces/IRepoLoader.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1846,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":11192,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":6329,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":6956,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":11188,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":11186,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":11190,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":11181,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":11184,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":14946,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1694,"title":{},"body":{"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":{},"injectables/HydraOauthUc.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":14587,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":14591,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15268,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":14588,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":14589,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":14590,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15269,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1878,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1831,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17124,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":19984,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":19986,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":19987,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":19988,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":19985,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1852,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":10122,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":10133,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":10129,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":10135,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":10127,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":12395,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemFactory.html":{}}}],["authorization_operation",{"_index":1693,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14089,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1817,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1670,"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":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.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":1675,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LegacySchoolUc.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/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18015,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":6345,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":21761,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":6969,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":24810,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_edit",{"_index":14973,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":9126,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":20316,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15026,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":24807,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15032,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":4764,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":6326,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":6954,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":24809,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":24811,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":24812,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":24819,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":20313,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15155,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":18411,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":19911,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1689,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1697,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1742,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1750,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1752,"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/LegacySchoolApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1781,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["authorizationreferencemodule",{"_index":1797,"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":{},"modules.html":{}}}],["authorizationreferenceservice",{"_index":1802,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":20721,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1758,"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/ExternalToolUc.html":{},"injectables/LegacySchoolUc.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/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationurl",{"_index":13246,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17496,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14091,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1695,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":23854,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":23890,"title":{},"body":{"license.html":{}}}],["authors",{"_index":5836,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":12287,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":4736,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1022,"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":1903,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1892,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":1906,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":24442,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":23823,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":9428,"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":9415,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":9454,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":1902,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2591,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":1952,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":1956,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1749,"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":2417,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"modules.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":13067,"title":{},"body":{"interfaces/IServerConfig.html":{},"interfaces/IUserConfig.html":{}}}],["availabledate",{"_index":3796,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":20876,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":9058,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":9085,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":9075,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.foreach((externaltool",{"_index":9130,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":9138,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":9141,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1823,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":608,"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":{},"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":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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/RestartUserLoginMigrationUc.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/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/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":24511,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":10671,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["awaits",{"_index":21782,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["away",{"_index":23442,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8210,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":1982,"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":{},"dependencies.html":{}}}],["axiosconfig",{"_index":12281,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosheaders",{"_index":1977,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":1991,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":1983,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":1981,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4009,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":1970,"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":1995,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseimp",{"_index":1967,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":1973,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["aythtoken",{"_index":18508,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["b",{"_index":2723,"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":7721,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3302,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":15784,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":518,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15422,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17285,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":23289,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":9329,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":9333,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":10687,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":12512,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":24712,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14143,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14144,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":13139,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badrequest",{"_index":20723,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2680,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":7743,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":19902,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2717,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":22787,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":7729,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('unknown",{"_index":22609,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["badrequestexception(`cannot",{"_index":2829,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":2827,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":8900,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":10716,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":12068,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":24426,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2000,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.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":7429,"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":14873,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2436,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":175,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":526,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":8569,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16258,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3697,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/LessonRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2114,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2010,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":13951,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":3862,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":9336,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1360,"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":9340,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":15459,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18332,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2443,"title":{},"body":{"classes/BaseFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITaskParent.html":{},"entities/Task.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":12516,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["basedo",{"_index":1746,"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":{},"interfaces/IRepoLoader.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.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":5963,"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":2401,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2299,"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:103",{"_index":6112,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:111",{"_index":6118,"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:116",{"_index":9547,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:123",{"_index":22056,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:13",{"_index":15584,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["basedorepo:19",{"_index":6120,"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:23",{"_index":9537,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:24",{"_index":6121,"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:25",{"_index":19798,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:28",{"_index":19202,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:29",{"_index":22049,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:34",{"_index":6104,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:37",{"_index":23151,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:40",{"_index":22361,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:42",{"_index":6114,"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:43",{"_index":15591,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:45",{"_index":14865,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:46",{"_index":19797,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:49",{"_index":14871,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:50",{"_index":6122,"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:55",{"_index":22360,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:56",{"_index":6107,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:60",{"_index":22055,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:63",{"_index":6115,"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:66",{"_index":14870,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:69",{"_index":15590,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:74",{"_index":19208,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:77",{"_index":6119,"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:82",{"_index":6113,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:84",{"_index":9546,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:85",{"_index":6116,"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:90",{"_index":9545,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["basedorepo:98",{"_index":6117,"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":2351,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{}}}],["baseentityproperties",{"_index":2352,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2385,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2419,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["baseentitywithtimestamps",{"_index":174,"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":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":447,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":1996,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18083,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":485,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":515,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":523,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":8578,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":516,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":503,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":464,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":520,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":508,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":492,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":499,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4376,"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":495,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":497,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":471,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":15672,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":15767,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":15780,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1336,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/ICollectionFilePath.html":{}}}],["basepermission",{"_index":24840,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baserepo",{"_index":679,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:13",{"_index":7028,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:14",{"_index":20229,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:15",{"_index":13762,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["baserepo:17",{"_index":15064,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["baserepo:18",{"_index":712,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:22",{"_index":717,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:25",{"_index":22666,"title":{},"body":{"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":714,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":715,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:32",{"_index":3691,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:63",{"_index":7156,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2503,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1521,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["baseuc",{"_index":2513,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:12",{"_index":3857,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:28",{"_index":3859,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:44",{"_index":3858,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2195,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.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":7525,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":24660,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14254,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basictoolconfig",{"_index":2545,"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":9666,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2558,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":7522,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":7571,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2568,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2578,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2586,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":8178,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":8216,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchsize",{"_index":8168,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2014,"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":1997,"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":2038,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2008,"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":2016,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2060,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2103,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2115,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2137,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2154,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2160,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2261,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2267,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2264,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2186,"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":2083,"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":2098,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2100,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2188,"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":2270,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2276,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2278,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2202,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2013,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2265,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1839,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1374,"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":876,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15299,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":877,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1506,"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":23483,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":24777,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4340,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["before",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"injectables/UserLoginMigrationService.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":24560,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":24538,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":24561,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":24133,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["beginning",{"_index":23398,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":23586,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":24427,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":756,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":6683,"title":{},"body":{"modules/CoreModule.html":{},"entities/CourseNews.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"entities/News.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":21397,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2460,"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":23884,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4187,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":5616,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":23592,"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":23468,"title":{},"body":{"license.html":{}}}],["ber",{"_index":4949,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":4932,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":24115,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":23981,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":23997,"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":10173,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":562,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/NextcloudStrategy.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":24230,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":23658,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":19012,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{}}}],["big",{"_index":24219,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":22921,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2293,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":6482,"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":10616,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":14640,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":14686,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["birthtime",{"_index":10508,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["bis",{"_index":19027,"title":{},"body":{"interfaces/SanisLaufzeitResponse.html":{}}}],["blackbox",{"_index":24449,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":24483,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":10667,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["blocks",{"_index":24452,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5286,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5293,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5295,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3310,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3314,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":1944,"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":{},"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":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.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":2934,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.children.map((column",{"_index":3733,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":3867,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":1946,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":3739,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":18648,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":2878,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":4850,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":4852,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":4805,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":4810,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":4812,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":4814,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":4809,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":18650,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":18808,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3573,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":18649,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":2763,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":3706,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":3705,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":18811,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.response",{"_index":3470,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":2771,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":2777,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":2780,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":2778,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":2776,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":2781,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":2775,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":2774,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":18647,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":4868,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":4877,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":4873,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":4886,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":4887,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":4884,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":4889,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":4875,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":4882,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":4892,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":4879,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":18780,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":3732,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":8625,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":3738,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":2770,"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":2667,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2672,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2676,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":19939,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":19944,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":19945,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":19941,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":19942,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":19943,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":19940,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3450,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3453,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3451,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":4963,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":14983,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":20609,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":2748,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["boardauthorizable",{"_index":20198,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":20200,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":2768,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":2786,"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/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":9176,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":4797,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9174,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4026,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9175,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":4808,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:23",{"_index":4796,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:25",{"_index":10371,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":4025,"title":{},"body":{"classes/Card.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4806,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:28",{"_index":20110,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:29",{"_index":10372,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:30",{"_index":18428,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":4807,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:32",{"_index":20111,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4028,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:36",{"_index":4023,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:37",{"_index":15211,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:39",{"_index":4027,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:40",{"_index":4024,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:41",{"_index":15209,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:45",{"_index":15210,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":2840,"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/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":2797,"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/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":2801,"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/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":2977,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":2913,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":2979,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":2947,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":2758,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3054,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3010,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":2991,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2528,"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":3162,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2532,"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":2534,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3422,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2537,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3141,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2518,"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":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3182,"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/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":3223,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3385,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3376,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3323,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3320,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3150,"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":1760,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4223,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4247,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3427,"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":2688,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2690,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":14984,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":14985,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":20610,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5091,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5093,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3456,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2689,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3460,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3015,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3066,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":21770,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":2746,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":18779,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":2742,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":2732,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3034,"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":3078,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3075,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3071,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3356,"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":1924,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":1947,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3523,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":4890,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3464,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3500,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3506,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1829,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules.html":{}}}],["boardnode",{"_index":3171,"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":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.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":3281,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3402,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3279,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3292,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3267,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3295,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3265,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3290,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4128,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":3317,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3276,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3263,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3284,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3287,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3626,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3638,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3399,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3285,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3264,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3266,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3282,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3258,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3293,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":12955,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["boardnodeprops",{"_index":3620,"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/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":3342,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3380,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3383,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3396,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3388,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3249,"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/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":3268,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3260,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":4860,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3274,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3270,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3271,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3272,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3273,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3288,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2698,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3003,"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":2964,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":2968,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":2975,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":2952,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3129,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3176,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3181,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":2925,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":21771,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3033,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3111,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":2762,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":18656,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":18671,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":18667,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":18664,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":18677,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":18673,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":18658,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":18662,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":18663,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":18665,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":18657,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":18675,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3463,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":18659,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":3811,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":18660,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":3807,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":3817,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":2752,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlparams",{"_index":2932,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":1937,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1127,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":324,"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":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LegacySchoolController.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":12127,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":22275,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":21169,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":21170,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":19735,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":19724,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":12151,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":22269,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":19734,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":12150,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":12149,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":12153,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":12152,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":21171,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":22276,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":19723,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":16839,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":21172,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":22274,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":21173,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":2956,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":3786,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":8753,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4102,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":2984,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5029,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":8749,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4098,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4099,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":15726,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2654,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":23343,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":119,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.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":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.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":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CreateSubmissionItemBodyParams.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/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/ExternalToolVersionService.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/IAccountConfig.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.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/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.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":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"interfaces/Options.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":{},"classes/RenameFileParams.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":{},"classes/SSOLoginQuery.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.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":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.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":{},"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":{},"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":12485,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["bootstrap",{"_index":207,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":21381,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":21363,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":21365,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":21372,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":24536,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":23917,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15259,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":24532,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":937,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5310,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":24768,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2164,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2165,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":7233,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":980,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":24227,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14231,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":20562,"title":{},"body":{"injectables/SystemService.html":{}}}],["brokering",{"_index":24667,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":24004,"title":{},"body":{"modules.html":{},"additional-documentation/nestjs-application.html":{}}}],["browser",{"_index":24002,"title":{},"body":{"modules.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1613,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1641,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":524,"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":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICollectionFilePath.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":3897,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":3885,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":3896,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["btw",{"_index":2433,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":6516,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.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":24897,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buffer",{"_index":7244,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":9335,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5262,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5244,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5249,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":9347,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":9356,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":9337,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":9349,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":10954,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":13385,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["bugs",{"_index":24010,"title":{},"body":{"properties.html":{}}}],["build",{"_index":454,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.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/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionTargetRefBuilder.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/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.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":8386,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["build(file",{"_index":10867,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":6506,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(name",{"_index":10354,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":488,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":19491,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(requiredpermissions",{"_index":1680,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":10610,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(targetref",{"_index":8446,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["build(targetrefdomain",{"_index":8538,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["build(type",{"_index":5674,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":6530,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":21971,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":660,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":674,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":21974,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3185,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3194,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3228,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3236,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3186,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3197,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3187,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3200,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":6597,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":6600,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3229,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(boardnode",{"_index":3240,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":8588,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":8602,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2063,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5150,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5145,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4132,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5037,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":4867,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":9204,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":10401,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15241,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":18456,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":20058,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":20144,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5201,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":12694,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":12691,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":12692,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":12693,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":5369,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":5372,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":5374,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":5370,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5212,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5214,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5211,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5210,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5217,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5220,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5221,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2069,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2070,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2148,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["buildexternaltool",{"_index":5669,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3188,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3203,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfile",{"_index":5670,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":17588,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3189,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3206,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":10352,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":10356,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":10353,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":10358,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13451,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13457,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":5671,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3190,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3209,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":455,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":494,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":7513,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":7514,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":456,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":496,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":9296,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":9303,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":491,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17559,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":17561,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":17560,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":17563,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildrichtext",{"_index":5672,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3191,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3212,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2228,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":6092,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":6097,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":663,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":21976,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":5673,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3192,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3215,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3193,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3218,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildteacher",{"_index":670,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":21978,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16384,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":16400,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2592,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2605,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2598,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2626,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2599,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2630,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2593,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2608,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2600,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2632,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":457,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":498,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":668,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":476,"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/SystemFactory.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":14256,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":24016,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":10361,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":3912,"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":1285,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1269,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1276,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1281,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1280,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1279,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1278,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1282,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":24411,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":24273,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":17457,"title":{},"body":{"classes/PageContentResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":20947,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":20959,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":13811,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":13820,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":9794,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":9797,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":9557,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":6245,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":6255,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":6246,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":6257,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15117,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15118,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16126,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16130,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":20948,"title":{},"body":{"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":20961,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":8500,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":8502,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":20949,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":20962,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":10826,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":10843,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":10848,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":20950,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":20964,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":13812,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":13822,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":9795,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":9799,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":9558,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":6247,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":6259,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":13813,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":13824,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":20951,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":20965,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":13814,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":13826,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":10844,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":10850,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":13815,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":13829,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":9796,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":9801,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":9556,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":20952,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":20967,"title":{},"body":{"classes/TaskScope.html":{}}}],["byparentid",{"_index":10845,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":10853,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8146,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1198,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":17940,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":17943,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":9526,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16127,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":13816,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":13831,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":13817,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":13833,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":10846,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":22065,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":10855,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":6248,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":6261,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":10847,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":10857,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":8501,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16128,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16132,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":11360,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":11354,"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":17941,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":9527,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":17945,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["byunpublished",{"_index":16129,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":17942,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuserid(query.userid",{"_index":9528,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":17947,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":20220,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":20223,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":13818,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":13835,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_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/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/SystemFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["c.id",{"_index":21042,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":21061,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":21041,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15144,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":3953,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14052,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachedstate",{"_index":17202,"title":{},"body":{"injectables/OauthUc.html":{}}}],["cacheexpiration",{"_index":18594,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cachemanager",{"_index":14043,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":3950,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":3957,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":3951,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":3935,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":3958,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":3939,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":3945,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":3944,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1418,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{},"modules.html":{}}}],["caf",{"_index":13850,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":13852,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":13343,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":24253,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendareventdto",{"_index":3967,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":3977,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":3992,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["calendarservice",{"_index":3996,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4020,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":478,"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":{},"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/SystemFactory.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":{}}}],["callable",{"_index":2229,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":24514,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1255,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1249,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":24559,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":475,"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/SystemFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.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":8690,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17521,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14092,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2221,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":17769,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["camelcase",{"_index":24349,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1458,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancel",{"_index":17456,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["cancelbuttonurl",{"_index":17423,"title":{},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"injectables/UserMigrationService.html":{}}}],["cancreaterestricted",{"_index":11991,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["caninline",{"_index":5268,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFile.html":{}}}],["caninstallrecommended",{"_index":11992,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2506,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2507,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":24285,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":11993,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":24144,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3278,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.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":10380,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":2854,"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":4054,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4060,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":4925,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":4941,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":4953,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":4960,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5024,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":7226,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":15917,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":7229,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":15919,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4153,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5052,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4155,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":2877,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4152,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4150,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4124,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4151,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4154,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":2760,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4171,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4064,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4091,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4089,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4065,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4082,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4067,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3195,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3552,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3576,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4129,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4045,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4122,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4087,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4094,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4093,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5008,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3269,"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":3569,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4185,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3594,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4198,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3562,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3566,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":2753,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4053,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":24321,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":24634,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":24582,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":24414,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":23638,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5098,"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":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IServerConfig.html":{}}}],["cartridge.config.ts",{"_index":12684,"title":{},"body":{"interfaces/ICommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5200,"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/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5137,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5277,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5291,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5294,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascading",{"_index":5441,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1309,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/CourseGroup.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/ICourseGroupProperties.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"injectables/TaskUC.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.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":5506,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1134,"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":1511,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["catch",{"_index":1242,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.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":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationUc.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":2268,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":11487,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":967,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":18367,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":3918,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"classes/SchoolMigrationError.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":8937,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":14736,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1373,"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":{}}}],["cease",{"_index":23795,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":12764,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":19365,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":23760,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":23804,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":2834,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":24421,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":24039,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":23255,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4256,"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":4254,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5160,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.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":10973,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"additional-documentation/nestjs-application.html":{}}}],["changefinishedforuser",{"_index":21010,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":21016,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":21988,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":21989,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4258,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":5837,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"injectables/LdapStrategy.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":22223,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18060,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2491,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["character",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":23738,"title":{},"body":{"license.html":{}}}],["characters",{"_index":10930,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":23451,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1103,"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":18469,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":18470,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":18472,"title":{},"body":{"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{}}}],["chat.service.ts",{"_index":962,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":18467,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":18466,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":18465,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":938,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/GuardAgainst.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.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":10453,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":10871,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":10879,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":10875,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":10876,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":10874,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":10873,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":15814,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:15",{"_index":15819,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:8",{"_index":15817,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1859,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1865,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":21339,"title":{},"body":{"classes/TestApiClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1556,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["checkavaiblelanguages",{"_index":22790,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":22792,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":22733,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":22739,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1580,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1589,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontextreadpermission",{"_index":19857,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":19863,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission",{"_index":19858,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":19865,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":14645,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":14650,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15275,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":5465,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":5473,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":20698,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":20705,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15000,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15004,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":20699,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":20707,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateincontext",{"_index":6347,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateincontext(contextexternaltool",{"_index":6351,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1459,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":10123,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":10128,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":11242,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":11251,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":19825,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":19832,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":6947,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":19867,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":21274,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":21282,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":5466,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":5477,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkifpreviewpossible",{"_index":17667,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":17673,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checking",{"_index":11543,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":24892,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":14613,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":14615,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":23404,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2720,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":19386,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":19395,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1860,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1867,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":5467,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":5479,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15001,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15007,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":20700,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":20710,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":23408,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":5468,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":5482,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":5469,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":5484,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":19859,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":19869,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1861,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1869,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2520,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1841,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1845,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":19972,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":19974,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checks",{"_index":12449,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.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":{}}}],["checkschoolauthorization",{"_index":14942,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["checkschoolauthorization(authorizableuser",{"_index":14944,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["checkscopeandvalidateparameter",{"_index":5470,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkscopeandvalidateparameter(validatabletool",{"_index":5486,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkshorttitle",{"_index":7732,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1207,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1214,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":18866,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":18875,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2515,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2524,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2219,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalue",{"_index":14646,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":14652,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":19319,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":19321,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":2806,"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/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":18243,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["child.acceptasync(this",{"_index":18160,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":2825,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":2835,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18167,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3360,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":2794,"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":3304,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":20170,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3300,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3227,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3384,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18163,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18161,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18165,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":23937,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":23939,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":23327,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":23590,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":23597,"title":{},"body":{"license.html":{}}}],["civil",{"_index":23977,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14082,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14081,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14324,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14333,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":23856,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1212,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1194,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1176,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.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/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.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/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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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/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/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.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/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/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/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.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/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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.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/TestHelper.html":{},"classes/TimestampsResponse.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.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/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/UserLoginMigrationError.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/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{}},"body":{"classes/AbstractAccountService.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"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":{},"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":{},"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/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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/ExternalToolVersionService.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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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/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/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":{},"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/SSOLoginQuery.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":4377,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":13231,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["classentity",{"_index":4316,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4362,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4369,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.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/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.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/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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"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/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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/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/HydraRedirectDto.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.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/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/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/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.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/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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.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/TestHelper.html":{},"classes/TimestampsResponse.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.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/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/UserLoginMigrationError.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/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":4547,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13862,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4484,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4372,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4378,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4379,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4554,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":6729,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":11799,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":11811,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":11808,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":11814,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":11810,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":11813,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":11815,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":11812,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":11809,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4387,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4415,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":11796,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":11805,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":11807,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4429,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":11629,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4546,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4559,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4431,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4545,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4561,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4479,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/GroupApiModule.html":{},"modules.html":{}}}],["classname",{"_index":10156,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":12839,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":13221,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["classprops",{"_index":4302,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4402,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":11898,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":11887,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":13898,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4483,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4511,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4508,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4300,"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":4325,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4526,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4519,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":8818,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4549,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":11894,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":11895,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4548,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":11896,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":11899,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":11897,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":11902,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":11903,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":10777,"title":{},"body":{"classes/FileRecordMapper.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.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":12458,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["clean(pagesize",{"_index":14338,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleans",{"_index":12454,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["cleanup",{"_index":6781,"title":{},"body":{"entities/Course.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15271,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15279,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":21340,"title":{},"body":{"classes/TestApiClient.html":{}}}],["cleanuppath(inputpath",{"_index":1559,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["clear",{"_index":12560,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8114,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8122,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearly",{"_index":24286,"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":18988,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":24182,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":22923,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":3601,"title":{},"body":{"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.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":{},"classes/H5pFileDto.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.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":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemFactory.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.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":18996,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":18864,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":18894,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":18896,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":18878,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":18883,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":18890,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":18892,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":18874,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":18888,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":18885,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":18876,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":18881,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":18886,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":18880,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":14636,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":16585,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":16588,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":16589,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":16590,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":16595,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":16616,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":16610,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":16605,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":16593,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":16594,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":16596,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.getsigningkey",{"_index":16562,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18346,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":17794,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":10613,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":11081,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":11089,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":11097,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":11091,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":11099,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":11093,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":11095,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":11122,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{}}}],["client.module.ts:25",{"_index":18995,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":3964,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":3962,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":5635,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":8258,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":6559,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":11060,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":11066,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":11068,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":11072,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":11070,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1497,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["client.ts:104",{"_index":21355,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":21346,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":21347,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":21352,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":21354,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:142",{"_index":21351,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:26",{"_index":21344,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":21345,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:30",{"_index":21343,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":21350,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:45",{"_index":21348,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:54",{"_index":21359,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:64",{"_index":21357,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:74",{"_index":21358,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":21356,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/dto",{"_index":19486,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":6420,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":10341,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":10346,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":10343,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":10344,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":10345,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":11121,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/index.ts",{"_index":6510,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":12755,"title":{},"body":{"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":12795,"title":{},"body":{"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12821,"title":{},"body":{"interfaces/IFilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14217,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14219,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14221,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14222,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14223,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14224,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14423,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":6528,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":10609,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":18863,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":6541,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/files",{"_index":11059,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client_id",{"_index":1391,"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":5639,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1392,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":16614,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":16613,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17284,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":5643,"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":{},"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.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/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14128,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":5641,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14220,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":8239,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":16909,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15255,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15260,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15263,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15256,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15264,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":24680,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":7528,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14132,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2184,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":4956,"title":{},"body":{"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["clone",{"_index":458,"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/SystemFactory.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":501,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2479,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18066,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed",{"_index":20854,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":22175,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":22177,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":20858,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":20859,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":20861,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":20860,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":20847,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":20848,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":20849,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":20850,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":20855,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":20856,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":20857,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":23974,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4568,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":22271,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":22195,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(schoolid",{"_index":22408,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closemigration(userid",{"_index":4575,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closeuserloginmigrationuc",{"_index":4564,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":24597,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16254,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":24057,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2082,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":3940,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"classes/DtoCreator.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"controllers/OauthSSOController.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":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":24727,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":24104,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":23296,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":24688,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":24034,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":210,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":212,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":211,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":612,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":613,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":615,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":614,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1377,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1378,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1379,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1414,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1416,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1417,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1415,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1753,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1754,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1756,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1755,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1798,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1800,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1799,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1801,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":2749,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":2750,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":2751,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3586,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3589,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3588,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3587,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":3946,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":3948,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":3947,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":3993,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":3994,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":3995,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4480,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4482,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4481,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":4668,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":4669,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":4671,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":4670,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":4720,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":4721,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":4722,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":4723,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":5430,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":5431,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":5432,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":5433,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":5650,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":5652,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":5651,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6063,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6066,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6065,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6064,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":6588,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":6590,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":6589,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":6672,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":6673,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":6674,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8106,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8107,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8108,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionmodule",{"_index":8389,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":8391,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_imports",{"_index":8392,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":8390,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":8797,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":8798,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":8905,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":8906,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":9369,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":9372,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":9371,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":9370,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":10157,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":10159,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":10158,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":10989,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":10990,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":10991,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":11043,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":11045,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":11044,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":11052,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":11053,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":11054,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":11117,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":11120,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":11119,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":11118,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":11202,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":11203,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":11205,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":11204,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":11271,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":11272,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":10978,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":10979,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":10980,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":11371,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":11373,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":11372,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":11382,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":11383,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":11384,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":11616,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":11618,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":11617,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":11735,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":11737,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":11736,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":12174,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":12175,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":12176,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":12195,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":12197,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":12196,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13482,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13483,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13484,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":13746,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":13747,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":13748,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14074,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14076,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14075,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14148,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14149,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14150,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14151,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14532,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14533,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14535,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14534,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":14693,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":14694,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":14695,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":14711,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":14714,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":14713,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":14712,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolapimodule",{"_index":14758,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_imports",{"_index":14760,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolapimodule_providers",{"_index":14759,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":14852,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":14854,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":14853,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":14855,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":14976,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":14978,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":14977,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15051,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15054,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15053,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15052,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15319,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15321,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15320,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":15575,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":15577,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":15576,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":15663,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":15664,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":15676,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":15677,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":15683,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":15684,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":15704,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":15706,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":15705,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":15728,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":15729,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":15731,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":15730,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16064,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16067,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16065,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16066,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":16574,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":16575,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":16576,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":16749,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":16752,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":16750,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":16751,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":16756,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":16757,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":16758,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17007,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17009,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17008,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17010,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17063,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17064,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":17581,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":17582,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":17618,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":17620,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":17621,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":17619,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":17808,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":17809,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":17811,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":17810,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":17888,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":17890,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":17889,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":17925,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":17928,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":17927,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":17926,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18286,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18287,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_rocketchatusermodule",{"_index":18523,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_exports",{"_index":18525,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_providers",{"_index":18524,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rolemodule",{"_index":18570,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":18571,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":18572,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19177,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19178,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19180,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19179,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":19561,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":19562,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":19575,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":19576,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":19656,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":19657,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":19928,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":19929,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":19930,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":19935,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":19938,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":19937,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":19936,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":20341,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":20342,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":20343,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":20463,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":20464,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":20466,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":20465,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":20600,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":20602,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":20601,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":20804,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":20806,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":20807,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":20805,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":21232,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":21233,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":21237,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":21239,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":21238,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_toolapimodule",{"_index":21447,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":21449,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":21448,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":21696,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":21697,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":21699,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":21698,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":21764,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":21765,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":21767,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":21766,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":21981,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":21983,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":21982,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":22180,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":22181,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":22182,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":22349,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":22352,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":22351,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":22350,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":22638,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":22639,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":22640,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":22641,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":22842,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":22844,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":22843,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":23116,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":23117,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":23119,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":23118,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":951,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.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":{},"interfaces/ISubmissionProperties.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":{},"injectables/OauthUc.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"classes/SystemFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.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":{}}}],["code.enum",{"_index":16381,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["codebase",{"_index":24271,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":12672,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["codes",{"_index":10539,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":11547,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":24297,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":4605,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":12493,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4599,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":4617,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":4667,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules.html":{}}}],["collaborativestoragecontroller",{"_index":4687,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":4719,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["collaborativestorageservice",{"_index":4724,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestorageuc",{"_index":4708,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":23916,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":17715,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":17767,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":17766,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":17765,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":17768,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1717,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"entities/News.html":{},"interfaces/Options.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2673,"title":{},"body":{"entities/Board.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8149,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8147,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8144,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8154,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":8115,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["collectionexists(collectionname",{"_index":8124,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname",{"_index":8085,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter",{"_index":12543,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":12550,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":12553,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionnames",{"_index":8152,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":12535,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":12573,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections",{"_index":8046,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8156,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":12568,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections.length",{"_index":12567,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8153,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":12533,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoexport",{"_index":12602,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":12604,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoseed",{"_index":12581,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":12583,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":12532,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":17716,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":24850,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":6718,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2692,"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":5007,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":4908,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":15920,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":15922,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":15923,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5050,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":3735,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5054,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":2879,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5048,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":3723,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5049,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5053,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":1925,"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":{},"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":4902,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18249,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.id",{"_index":18245,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":18246,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2691,"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":3006,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3105,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":3713,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":4848,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":4854,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":2772,"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":4986,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":18783,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":4993,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":18785,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":18683,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":18686,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":18689,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":18685,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":18688,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":18687,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":18690,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":8622,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3201,"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":3553,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3558,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":4861,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":4819,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":1913,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2693,"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":3097,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":8670,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":8668,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":8672,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":8669,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":8671,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":4970,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":4992,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":4977,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":2759,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":3852,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3198,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3554,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3575,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":4802,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":2965,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":2969,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":2990,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":2936,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3261,"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":3563,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3595,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":2754,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5005,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":7741,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18056,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":24702,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":23927,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":19946,"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":{}}}],["combineduri",{"_index":22610,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combineduri.pathname",{"_index":22612,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combineduri.tostring",{"_index":22613,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["combines",{"_index":24883,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":23479,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":23644,"title":{},"body":{"license.html":{}}}],["coming",{"_index":24802,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3514,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.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":3510,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":23259,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14363,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":12424,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["commandoutput",{"_index":18930,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":21380,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":12437,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":9432,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":24643,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":23720,"title":{},"body":{"license.html":{}}}],["commit",{"_index":23411,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":23868,"title":{},"body":{"license.html":{}}}],["commits",{"_index":24640,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":23406,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5134,"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/domain",{"_index":5966,"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/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["common/entity",{"_index":6037,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["common/enum",{"_index":1929,"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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.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/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":5967,"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":6215,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["common/service",{"_index":6354,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolReferenceService.html":{}}}],["common/uc/tool",{"_index":6323,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeexportservice",{"_index":5096,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefilebuilder",{"_index":5110,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5132,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5198,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5173,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5264,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":5400,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5228,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5329,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5346,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5234,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5245,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5232,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5235,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5330,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5347,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5230,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5240,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5237,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5133,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5275,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5171,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5180,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5179,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5332,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5348,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5112,"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":5197,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5178,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":5395,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":5401,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":5397,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":5402,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5276,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5297,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5299,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5301,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5303,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5305,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5164,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commontags",{"_index":5419,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":5429,"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":{},"modules.html":{}}}],["commontoolservice",{"_index":5435,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolReferenceService.html":{}}}],["commontoolvalidationservice",{"_index":5436,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":5504,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":24866,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":23570,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":23438,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":24353,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2722,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":24652,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":10006,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["compareparameters(oldparams",{"_index":10014,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":10564,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":24605,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":24090,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":23650,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":23657,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":23899,"title":{},"body":{"license.html":{}}}],["compile",{"_index":21378,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":23561,"title":{},"body":{"license.html":{}}}],["complete",{"_index":15850,"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":3291,"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":20123,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":15843,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":15845,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":15846,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":24557,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":24849,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":14738,"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":24769,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":23828,"title":{},"body":{"license.html":{}}}],["comply",{"_index":23585,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":24179,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":5758,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":5817,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["components",{"_index":23389,"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":{}}}],["componenttype",{"_index":5130,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.etherpad",{"_index":5181,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.geogebra",{"_index":5176,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.internal",{"_index":12711,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.lernstore",{"_index":12712,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.nexboard",{"_index":12713,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["componenttype.text",{"_index":5170,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["composedname",{"_index":6627,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composite",{"_index":2842,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4037,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.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":2788,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":2817,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":2819,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":2805,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":2810,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":2812,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":2808,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":2798,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":2802,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":2815,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":23261,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":23519,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16244,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":24310,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":24309,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":24243,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":23934,"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":24372,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":23263,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":20943,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":24456,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":23893,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":23492,"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":2254,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":8542,"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":22870,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":22864,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":22877,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":22873,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":22888,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":22883,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":22981,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":22984,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":22985,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":22982,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":23134,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":23135,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":23133,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":23154,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":22813,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":23131,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":23132,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":23130,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":22816,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":22817,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":22815,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":22891,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":23092,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":23098,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":23100,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":23104,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":23102,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":22851,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":23121,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":23124,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":23147,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:20",{"_index":23152,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:28",{"_index":23150,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":22832,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":22833,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":22836,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":22834,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":12413,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2189,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2225,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2216,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2201,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2234,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2227,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2238,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2240,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2242,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2204,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2223,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2231,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2211,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2061,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":3905,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":3907,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":3909,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":1999,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2009,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2187,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":22916,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":8541,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":22863,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":23032,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":13911,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13433,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":23174,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":23091,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":13057,"title":{},"body":{"interfaces/IScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":22831,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":22934,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":19606,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":23128,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":1971,"title":{},"body":{"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":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SystemFilterParams.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/UserMigrationService.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":20441,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2057,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2055,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2062,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2145,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2078,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2147,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2072,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2076,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2143,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2074,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":10269,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":19000,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2555,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2549,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":15467,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":15468,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":15465,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":16517,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2551,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":15466,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":9036,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":15470,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":15469,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":20395,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":16637,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17245,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":16643,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":16651,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":16640,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":16649,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":16650,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":16641,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":16647,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17246,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17249,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":16646,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17248,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":16645,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17250,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":16639,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17247,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":16642,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":16644,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":16648,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2564,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2560,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":9041,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":16535,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":15491,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":15490,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":15488,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":15489,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":15486,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2561,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":9042,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":16536,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":15487,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":9902,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2129,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2134,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2051,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.json",{"_index":24678,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2047,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2007,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2053,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":9383,"title":{},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":21467,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2045,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2576,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2570,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":9039,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":9038,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2136,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":9900,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2585,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2580,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2582,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":15494,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":15497,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":15495,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":15496,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":16676,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":15493,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":16540,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":16671,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":16679,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":9045,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":16669,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":16677,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":16678,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":9044,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":16675,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":16674,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":16673,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":16668,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":16670,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2131,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":9896,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":9898,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":12411,"title":{},"body":{"interfaces/IAccountConfig.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ToolConfiguration.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:12",{"_index":22862,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":21469,"title":{},"body":{"classes/ToolConfiguration.html":{}}}],["config.ts:4",{"_index":14145,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["config.ts:5",{"_index":14072,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":22859,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["config.type",{"_index":9034,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2132,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2049,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":12814,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["config/test.json",{"_index":12815,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["config['meta_bbb",{"_index":2059,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":22968,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":22974,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":22976,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":11212,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":17617,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":11223,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":15736,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":15673,"title":{},"body":{"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14298,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":18999,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":584,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"controllers/CourseController.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICollectionFilePath.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":635,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":13901,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":11259,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15329,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":8807,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":9951,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":21679,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2079,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.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/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.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":14158,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":12422,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:121",{"_index":14358,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14361,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14362,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14360,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14354,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14355,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14356,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14357,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14364,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14165,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14480,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:109",{"_index":21486,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14484,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:38",{"_index":21480,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:60",{"_index":21476,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:86",{"_index":21490,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6004,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":13072,"title":{},"body":{"interfaces/IServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('antivirus_exchange",{"_index":11227,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":11228,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('calendar_uri",{"_index":4013,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":11229,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":11230,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":4944,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":4928,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('cookie__expires_seconds",{"_index":17172,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__http_only",{"_index":17165,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__same_site",{"_index":17167,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('cookie__secure",{"_index":17171,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13401,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":11225,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":8642,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":6959,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":19920,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13400,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13398,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":11352,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":13074,"title":{},"body":{"interfaces/IServerConfig.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":13076,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":13075,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":13073,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":19922,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13399,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":17741,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":17411,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["configuration.get('feature_task_share",{"_index":19923,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":22860,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":12751,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":12806,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":12810,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":12819,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":12818,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":12816,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":12817,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":12820,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":11226,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":12811,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["configuration.get('host",{"_index":4957,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":12259,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":13068,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14071,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14070,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14069,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14068,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14067,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14066,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":13066,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":12809,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":13071,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18064,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":19615,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":22432,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":12804,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":12404,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":4686,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":13070,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":17744,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":17745,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":17743,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":17742,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13402,"title":{},"body":{"interfaces/IToolFeatures.html":{},"injectables/OAuthService.html":{},"classes/ToolConfiguration.html":{},"injectables/UserMigrationService.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18065,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":3960,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4015,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":19618,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":19621,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":19619,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":19620,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":19617,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":20002,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2090,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/IServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":4955,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":19624,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":19643,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":19637,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":19640,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":19642,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":19633,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":19641,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":22858,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":22856,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":22857,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":12653,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":4942,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":4926,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":3943,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":19636,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":19639,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":12652,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6009,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":21493,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":21510,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:12",{"_index":21524,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:28",{"_index":21522,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:41",{"_index":21519,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:60",{"_index":21516,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":15666,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14155,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6007,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6010,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6006,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14162,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":9048,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14190,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:12",{"_index":9055,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14191,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:15",{"_index":9068,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14192,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14187,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14209,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14195,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14213,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14200,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:24",{"_index":9064,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14215,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14197,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14184,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14204,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14201,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14189,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:46",{"_index":9059,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:77",{"_index":9070,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":12427,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["configuration.uc.ts",{"_index":9098,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:116",{"_index":9119,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:136",{"_index":9117,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14337,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:165",{"_index":9111,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:17",{"_index":9107,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:177",{"_index":9109,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14339,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14342,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":9115,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14340,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:64",{"_index":9113,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14336,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6012,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":12421,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configuration/controller/keycloak",{"_index":14479,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":12889,"title":{},"body":{"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":12895,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14141,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17272,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14168,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14334,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":12812,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configure",{"_index":12471,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":19586,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":12472,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["configureaction",{"_index":14228,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14280,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14281,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14285,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14283,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14278,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14170,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14171,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":15878,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["configureidentityproviders",{"_index":14172,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14173,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":6680,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17501,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17499,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":6914,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":24308,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":24685,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["connect",{"_index":14271,"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":14617,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":19336,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":24110,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":12450,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":14624,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":14621,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":14607,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":14609,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18070,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.unbind",{"_index":14625,"title":{},"body":{"injectables/LdapService.html":{}}}],["connectionname",{"_index":6514,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18067,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectredis",{"_index":19610,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":19627,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":19625,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14485,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["consent",{"_index":110,"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":18413,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":18414,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":17799,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":17798,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":16897,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":16930,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":5542,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":5593,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":16834,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":16833,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":5636,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":23815,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":23958,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":24295,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":23783,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2092,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"license.html":{}}}],["console",{"_index":3515,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.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":5660,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console/board",{"_index":15667,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/database",{"_index":15669,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/keycloak",{"_index":14157,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["consolelogger",{"_index":14744,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":19568,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3508,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3590,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["consolewriterservice",{"_index":3505,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":23626,"title":{},"body":{"license.html":{}}}],["const",{"_index":437,"title":{},"body":{"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":{},"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/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":{},"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/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":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.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/CommonToolValidationService.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.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":{},"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/ExternalToolVersionService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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":{},"classes/OauthLoginStateMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.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":{},"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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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/TestHelper.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.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":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.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":1445,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":23579,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18059,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":379,"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/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.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":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.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/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":{},"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":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MetaTagExtractorUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.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/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemFactory.html":{},"injectables/SystemOidcService.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":{},"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":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.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":{},"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/UserLoginMigrationError.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/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":17279,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":15901,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":10292,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(toolfeatures",{"_index":9071,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":8885,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2310,"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/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":856,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":4733,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1210,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1299,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1523,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["constructor(authenticationservice",{"_index":15272,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15002,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":18629,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":6948,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3412,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2517,"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":15436,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(bbbservice",{"_index":22940,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2198,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3149,"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":14041,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4490,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":18873,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":5640,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4982,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2003,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configuration",{"_index":5994,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":5601,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14353,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3504,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":5754,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":15874,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":5981,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":6348,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(copyhelperservice",{"_index":6546,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":6699,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":6963,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":6895,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":18835,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":1910,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{}}}],["constructor(customkey",{"_index":19994,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8013,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":817,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17275,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8164,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionlogrepo",{"_index":8359,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":8509,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3232,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":14575,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":14608,"title":{},"body":{"classes/LdapConnectionError.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["constructor(domainobject",{"_index":7432,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":3971,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":995,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":11411,"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":3341,"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/RocketChatUserRepo.html":{}}}],["constructor(entityclass",{"_index":2445,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":8813,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":8822,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["constructor(externaltoolid",{"_index":9291,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":9269,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolrepo",{"_index":9822,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":9105,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":22649,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":10126,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":8942,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":10321,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":22807,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(file",{"_index":10332,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18092,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":6443,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8192,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":19489,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":11128,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":11772,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":11849,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":22167,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4004,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2297,"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":582,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1353,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":3906,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(inusermigration",{"_index":15844,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1586,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14015,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14182,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14100,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14368,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":7425,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":13189,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(lessonrepo",{"_index":15126,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(librarymetadata",{"_index":10571,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(loader",{"_index":1843,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3002,"title":{},"body":{"injectables/BoardCopyService.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":15409,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":9277,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":13913,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":12322,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":15633,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":16950,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":10518,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1691,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":5854,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["constructor(name",{"_index":10509,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(newsrepo",{"_index":16149,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":13166,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(oauthconfigdto",{"_index":16638,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":16667,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13454,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":16780,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":12248,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["constructor(officialschoolnumber",{"_index":19468,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":13233,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["constructor(oidcconfigdto",{"_index":17244,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(oidcprovisioningservice",{"_index":17400,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["constructor(operation",{"_index":15994,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":19530,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5208,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":5379,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17476,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":14810,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["constructor(path",{"_index":10516,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":19784,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":17593,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.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/ContextExternalToolService.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"controllers/DashboardController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.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":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.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/RequestLoggingInterceptor.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolStatusOutdatedLoggableException.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":{},"controllers/UserMigrationController.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.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":181,"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":{},"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":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.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":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.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":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.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/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"entities/News.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OidcConfig.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.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":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationResponse.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2353,"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":17805,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(pseudonym",{"_index":21443,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":17959,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18004,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(readonly",{"_index":1286,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18277,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(relation",{"_index":11831,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7047,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18309,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":10303,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":21398,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18329,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":5407,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16325,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":8546,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6182,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(responsemapper",{"_index":19047,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(rocketchatuserrepo",{"_index":18544,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["constructor(rolerepo",{"_index":18608,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":18625,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1863,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":19268,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":19300,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":19472,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":19357,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":14916,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":1958,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(schoolyearrepo",{"_index":19523,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":4774,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":19861,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(state",{"_index":17750,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":17629,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":4615,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":20320,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":20273,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":20301,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":20329,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18038,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemrepo",{"_index":14648,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18034,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":17825,"title":{},"body":{"injectables/ProvisioningService.html":{},"injectables/SystemUc.html":{}}}],["constructor(task",{"_index":13278,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":20666,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":18767,"title":{},"body":{"injectables/RoomsService.html":{}}}],["constructor(teamsrepo",{"_index":21192,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":3880,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tokengenerator",{"_index":19829,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":9053,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":21757,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":6306,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":21787,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":21825,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17466,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":8915,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":774,"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/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":21922,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":11919,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":11321,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":22176,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4570,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":19343,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":15828,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":22461,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":21918,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18293,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":10187,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["constructor(validationerrors",{"_index":1273,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["construed",{"_index":23903,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":15455,"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":15463,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":17609,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":17612,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":23991,"title":{},"body":{"license.html":{}}}],["contain",{"_index":535,"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":5125,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":2884,"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":3757,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":20065,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":20067,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":16597,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":5515,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICurrentUser.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":{},"injectables/TemporaryFileStorage.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":2255,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.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":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.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":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":8701,"title":{},"body":{"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:100",{"_index":20054,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:107",{"_index":9152,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:116",{"_index":9195,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":8703,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:150",{"_index":21927,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":10330,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":10329,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":10393,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15207,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15205,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15203,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15204,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15235,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":18426,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:73",{"_index":18425,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:82",{"_index":18449,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.body.params.ts:91",{"_index":20039,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.component",{"_index":5169,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5183,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5182,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto",{"_index":17436,"title":{},"body":{"injectables/PageContentMapper.html":{},"injectables/UserMigrationService.html":{}}}],["content.dto.ts",{"_index":17422,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17426,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17425,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":5832,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["content.entity.ts:10",{"_index":5864,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:121",{"_index":11955,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:129",{"_index":11961,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:13",{"_index":5865,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:133",{"_index":11956,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:140",{"_index":11957,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:147",{"_index":11960,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:150",{"_index":11959,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:16",{"_index":5868,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:19",{"_index":5869,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:22",{"_index":5870,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:25",{"_index":5874,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:28",{"_index":5875,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:31",{"_index":5876,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:34",{"_index":5877,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:37",{"_index":5880,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:40",{"_index":5862,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:43",{"_index":5856,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:46",{"_index":5871,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:49",{"_index":5873,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:52",{"_index":5881,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:55",{"_index":5882,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:58",{"_index":5878,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:61",{"_index":5879,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:64",{"_index":5859,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:67",{"_index":5872,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:70",{"_index":5861,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:73",{"_index":5857,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:76",{"_index":5855,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":11964,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":5378,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":11428,"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":11977,"title":{},"body":{"classes/H5PContentMapper.html":{},"injectables/PageContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":11978,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:7",{"_index":17433,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":8663,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":8665,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":11429,"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":11430,"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":12011,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":12018,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":12016,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":12020,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":12021,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.response.ts",{"_index":17454,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.response.ts:12",{"_index":17455,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.response.ts:7",{"_index":17459,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["content.title",{"_index":5168,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5175,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":12105,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":7355,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1144,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":7356,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1359,"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":3597,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":5821,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":3773,"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":3794,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4114,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":1912,"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":4163,"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/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.external_tool",{"_index":5689,"title":{},"body":{"injectables/ContentElementFactory.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":5681,"title":{},"body":{"injectables/ContentElementFactory.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":5683,"title":{},"body":{"injectables/ContentElementFactory.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":5685,"title":{},"body":{"injectables/ContentElementFactory.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":5687,"title":{},"body":{"injectables/ContentElementFactory.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":5737,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":5748,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":5818,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":12129,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":5823,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1150,"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":6521,"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":{}}}],["contentmetadata",{"_index":5830,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["contentparameters",{"_index":11407,"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":11990,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":11989,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":6522,"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":12159,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":11385,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":11380,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":11379,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":11339,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":11344,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":11375,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":11349,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":11435,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":11441,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15049,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":11347,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":11391,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":11395,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":11394,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":11434,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":11338,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":11374,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":19002,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":11390,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":12177,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["contenttype",{"_index":5838,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypedetector",{"_index":9320,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":9360,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["context",{"_index":131,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.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/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IToolLaunchParams.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolUc.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":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.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":{},"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":{},"classes/ToolStatusResponseMapper.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":21475,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":4816,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3424,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["context.builder",{"_index":24859,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1677,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1685,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1683,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1681,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":19915,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":21533,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":21548,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":21556,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":21539,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":21543,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":21552,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":21407,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":21406,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":17796,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1672,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.params.ts",{"_index":6015,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6021,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6019,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":2967,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":2915,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":2920,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":2923,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":2916,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3420,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":5633,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":17261,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17268,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17269,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17271,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:6",{"_index":17266,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:9",{"_index":17267,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18360,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["context_external_tools",{"_index":6040,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["contextcanwrite",{"_index":15031,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13393,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":21779,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":1899,"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":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":21542,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":6331,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":6363,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":1905,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":1932,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6218,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6216,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":6362,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":6337,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6217,"title":{},"body":{"classes/ContextExternalToolResponseMapper.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":6219,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":5979,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":5985,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":21532,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":5987,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6013,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltooldto",{"_index":6166,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":6330,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":6328,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6024,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolentity(props",{"_index":6131,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltoolfactory",{"_index":6047,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6056,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3294,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.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":9182,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6057,"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":3591,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["contextexternaltoolpostparams",{"_index":6073,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolprops",{"_index":5956,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6098,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":5437,"title":{"injectables/ContextExternalToolRepo.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6159,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":21560,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6180,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6201,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":21574,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":21562,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":21570,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":21577,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":21813,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":21816,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":21555,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21537,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":21546,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1761,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":6290,"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":10272,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":21569,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6100,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":6270,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":21571,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":21551,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6069,"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":9063,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":9082,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":9061,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6029,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["contextexternaltooltype.board_element",{"_index":6157,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltooltype.course",{"_index":6156,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["contextexternaltooluc",{"_index":6298,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6070,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["contextid",{"_index":6016,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextparameter",{"_index":7554,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15025,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":5952,"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":10274,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":6375,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6226,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttype",{"_index":4858,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":18963,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":23744,"title":{},"body":{"license.html":{}}}],["continued",{"_index":23728,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":23780,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":23910,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":23444,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":23853,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":23855,"title":{},"body":{"license.html":{}}}],["control",{"_index":21636,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":23858,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller",{"_index":259,"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/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LegacySchoolController.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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.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/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":{},"controllers/LegacySchoolController.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/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":{},"controllers/UserMigrationController.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":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15382,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":3775,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":2971,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4088,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":4714,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5025,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":6875,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":7633,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('elements",{"_index":8745,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":11351,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":11646,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":12094,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":14992,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8097,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14493,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":15724,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":15974,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":16895,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":17908,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":18748,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('school",{"_index":14796,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["controller('sharetoken",{"_index":19721,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17126,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":20082,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":20372,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":20643,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":21144,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tools",{"_index":21495,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":21559,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":21608,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":21886,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":21810,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":21996,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["controller('user/import",{"_index":13613,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":23008,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":22897,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":24320,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":229,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":24612,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":14704,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":14705,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":15670,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/dto",{"_index":790,"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":{},"injectables/ElementUc.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":{},"injectables/MigrationMapper.html":{},"classes/NewsMapper.html":{},"injectables/OauthUc.html":{},"injectables/PageContentMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":22515,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":21307,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":810,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":23105,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/single",{"_index":18644,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":20581,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":21001,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":4787,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":11378,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":12184,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":13752,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14164,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/legacy",{"_index":14768,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["controller/news.controller",{"_index":16071,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":16581,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":17895,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":14706,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":19611,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":19933,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16072,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/transformer/sanitize",{"_index":18421,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":22186,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":223,"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":{},"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":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.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":{},"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":{},"controllers/UserMigrationController.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":14660,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1385,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":23537,"title":{},"body":{"license.html":{}}}],["convention",{"_index":24451,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":24303,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":594,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":561,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["converted",{"_index":592,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16288,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16302,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16295,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16298,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":12504,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2200,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":589,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":19992,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":19997,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":19993,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":19999,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":23525,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":23888,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":23739,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":23532,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":23779,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":12364,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14011,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":12380,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookiedefaultoptions",{"_index":17163,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["cookieoptions",{"_index":17113,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["cookies",{"_index":12290,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14012,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":6388,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":23437,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1455,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18166,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18169,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2480,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CourseCopyService.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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":18095,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3322,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":18877,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":10707,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["copy.id",{"_index":18142,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3329,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":19482,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":19485,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":6650,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":14997,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":14998,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":20662,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3040,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":2993,"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":3019,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:120",{"_index":3022,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:128",{"_index":3017,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3324,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:143",{"_index":3026,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":6897,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":4824,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copy.service.ts:164",{"_index":3032,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:177",{"_index":3029,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":20667,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:25",{"_index":4826,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:36",{"_index":3008,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":20672,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:46",{"_index":3011,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:56",{"_index":6901,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:63",{"_index":20677,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":20675,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:72",{"_index":6906,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:78",{"_index":3014,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:9",{"_index":19495,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":18744,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":6946,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:10",{"_index":6949,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:102",{"_index":20719,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":20704,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:112",{"_index":20709,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15003,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:16",{"_index":6952,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15010,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:27",{"_index":6950,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15008,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:61",{"_index":20711,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15005,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15006,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:69",{"_index":20706,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:74",{"_index":20708,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:81",{"_index":20714,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:92",{"_index":20717,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3327,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18086,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:126",{"_index":18114,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:146",{"_index":18116,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:165",{"_index":18118,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:183",{"_index":18120,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18110,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:21",{"_index":18094,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:210",{"_index":18104,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:214",{"_index":18100,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:227",{"_index":18098,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:23",{"_index":18093,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:27",{"_index":18096,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:38",{"_index":18108,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:59",{"_index":18106,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:77",{"_index":18102,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:96",{"_index":18112,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":12752,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["copyapiresponse",{"_index":6398,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":19705,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":2994,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3009,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":2995,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3012,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":2996,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3016,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":4825,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":6891,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":18728,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":6898,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":6951,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":6892,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":6899,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3109,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":6602,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3041,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3055,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18134,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18132,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":18129,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":20693,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":6943,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":6940,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.external_tool_element",{"_index":18158,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":6580,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18148,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":6585,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3115,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18151,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":6935,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":6933,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18154,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18156,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":20694,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18157,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":20696,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":6936,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":6934,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3057,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":6662,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":6660,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledto",{"_index":6418,"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":18145,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18146,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18147,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":6431,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":11103,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":6467,"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":6434,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":6503,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":6508,"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":6543,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":6549,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":11061,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":11067,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":19483,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":11132,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":11263,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":11261,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":6527,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":6566,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":6488,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.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":{}}}],["copyfilesofparentpayload",{"_index":6489,"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":{}}}],["copyfilesservice",{"_index":6540,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":6587,"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":{},"modules.html":{}}}],["copyhelperservice",{"_index":3007,"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":7081,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":6719,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":23433,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":2997,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":18731,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3018,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15009,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18087,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":6635,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":18763,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":20659,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":18760,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":6666,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":6908,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":18898,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":18899,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":18936,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":18946,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1669,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":18940,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":18950,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":23423,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":23499,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":23589,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5139,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":18952,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3025,"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":6658,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":4845,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.elements",{"_index":6663,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.status",{"_index":6657,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":6655,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":6656,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3042,"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":3065,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":6616,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":6941,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":6610,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":6581,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":2998,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":20616,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3021,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":20668,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":19873,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":20664,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":20670,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":6679,"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":24655,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":24415,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":231,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":10548,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":6671,"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/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["correct",{"_index":4702,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":23953,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1135,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":24203,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15413,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":23266,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":23677,"title":{},"body":{"license.html":{}}}],["count",{"_index":6132,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.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":13792,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16093,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":20872,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":23845,"title":{},"body":{"license.html":{}}}],["counties",{"_index":6706,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["countpipeline",{"_index":22693,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":22694,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":23522,"title":{},"body":{"license.html":{}}}],["country",{"_index":23881,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7079,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":6694,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.antareskey",{"_index":6711,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.countyid",{"_index":6709,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["county.name",{"_index":6707,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["countyid",{"_index":6698,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["coupling",{"_index":24298,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":1926,"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/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CourseUrlParams.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.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":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.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":5142,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":24828,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2683,"title":{},"body":{"entities/Board.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":6811,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":6815,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":6812,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":6823,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7020,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7063,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3180,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3178,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3173,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":10231,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":1941,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7215,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7039,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":24826,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":4839,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5135,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":18713,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":10232,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":10238,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":18711,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":10240,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5184,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":18712,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":10239,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":18777,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":6852,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":6903,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":6931,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":6942,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":6900,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":6889,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":6944,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":6965,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":6868,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":6972,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7022,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":6993,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":6739,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6767,"title":{"entities/CourseGroup.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15070,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6768,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7055,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7017,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7021,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":12715,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["coursegroupmemberids",{"_index":13124,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["coursegrouppermission",{"_index":15082,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15088,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouprepo",{"_index":1803,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["coursegrouprule",{"_index":1762,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":6720,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7054,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7043,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupsexist",{"_index":6937,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":20236,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":1920,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.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":7027,"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":18774,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":6872,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":6879,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7062,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7070,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7067,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7064,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7066,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7068,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7065,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7069,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":6871,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":6880,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7061,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":1948,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"interfaces/ITaskParent.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7093,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7125,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15083,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15090,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursequeryparams",{"_index":6857,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":4880,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1804,"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":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":6877,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1763,"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":4833,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.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":21040,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7214,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":6878,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":10264,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7161,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":1911,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.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":6924,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":18776,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":6866,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlparams",{"_index":6856,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":1934,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":23909,"title":{},"body":{"license.html":{}}}],["courts",{"_index":23973,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":23871,"title":{},"body":{"license.html":{}}}],["cover",{"_index":24447,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":935,"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":23509,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":24711,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14268,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":685,"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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.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":{},"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/SystemRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.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":15975,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2203,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":4874,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":15951,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":22943,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":10280,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":8336,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":8464,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":711,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4161,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":18879,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16151,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2017,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2036,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2030,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2034,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2032,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2037,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2031,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2035,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2029,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2033,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2028,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":9155,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":22920,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":20746,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":9163,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":22928,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":15481,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":9166,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":16530,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":15480,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":9162,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":15477,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":20750,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":15479,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":16529,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":15475,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":16528,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":20748,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":16532,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":9160,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":20744,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":9165,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":20749,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":9161,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":9164,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":22919,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2104,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":22935,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:19",{"_index":22942,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:26",{"_index":22946,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:40",{"_index":22944,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:67",{"_index":22949,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:88",{"_index":22953,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:92",{"_index":22951,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":24734,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13506,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13515,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":22994,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":22995,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":17776,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":17754,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":21431,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":21433,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3503,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3509,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":2745,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3683,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3687,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":18867,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":18900,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5001,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5004,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5074,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5006,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5010,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3529,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3537,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8188,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8196,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8116,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8126,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":2926,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":2931,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":3843,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3530,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3539,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":11220,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":3748,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":6301,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":21535,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":6310,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7143,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7147,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":24830,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2368,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseFactory.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":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":22887,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["created.id",{"_index":2371,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["createdaccountid",{"_index":14527,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14529,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":376,"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/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.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":12611,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["createdate",{"_index":2105,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":549,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdeletionlog",{"_index":8357,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":8361,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":8507,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":8511,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdir",{"_index":10911,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":10920,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":7948,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdschoolexternaltool",{"_index":19291,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":21901,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":8679,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":18631,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":6334,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":3743,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":3746,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4218,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3531,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3541,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4157,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4165,"title":{},"body":{"injectables/CardService.html":{}}}],["createentity",{"_index":2301,"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":{}}}],["createentity(domainobject",{"_index":2316,"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":{}}}],["createerrorloggable",{"_index":11479,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":11490,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":11480,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":11492,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":11481,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":11494,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":11482,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":11496,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":11483,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":11498,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":11484,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":8941,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":8945,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":9814,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":21581,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":9829,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":9933,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":21384,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":21385,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":6544,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":6551,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14247,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":7893,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":7904,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":12028,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":12147,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":12040,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":8922,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":8926,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5136,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5165,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5138,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5151,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5167,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5193,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14174,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14193,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14175,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14196,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13452,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13459,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":22936,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":22945,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13453,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13461,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7123,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14034,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":7257,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":7238,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1592,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2601,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2635,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2602,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2637,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":13408,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15058,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15060,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":24834,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15172,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15177,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":8819,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":8826,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":14720,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":14724,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15344,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15347,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":15895,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":21366,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17340,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewentityfromdo",{"_index":2302,"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":{}}}],["createnewentityfromdo(domainobject",{"_index":2319,"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":{}}}],["createnewmigration",{"_index":22402,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":22410,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewsparams",{"_index":7279,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16217,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16219,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":16775,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":16782,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17042,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":9474,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":9483,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18213,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18218,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateidmaccount",{"_index":14502,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14504,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createpath",{"_index":17565,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":17569,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":17684,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":17691,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":17566,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":17572,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":17567,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":17571,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":17755,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":17784,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":22045,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":22047,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14055,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14061,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":11243,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":11253,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":4869,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":4876,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2205,"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":18997,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":19001,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":24815,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":19296,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":21868,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":19302,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":19693,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":19696,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":19875,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":13363,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":8723,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":8726,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":8764,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":7302,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":8729,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":20810,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":20815,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":8589,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":8606,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":13354,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":4610,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":4619,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":24558,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2106,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":10912,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":10924,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":19826,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":19834,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":24818,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusermigrationdto",{"_index":22561,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["createusermigrationdto(urlpath",{"_index":22565,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["createusersearchindex",{"_index":12620,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1026,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwelcomecolumnboard",{"_index":4870,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":4878,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creating",{"_index":7282,"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":3526,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationError.html":{}}}],["creationyear",{"_index":5141,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":5935,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":10422,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":5932,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["credential",{"_index":14434,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14521,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":158,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":8244,"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":8869,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":8875,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":314,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":23545,"title":{},"body":{"license.html":{}}}],["cross",{"_index":6681,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":24379,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2407,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":16892,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":16773,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:15",{"_index":16793,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:22",{"_index":16789,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:41",{"_index":16787,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:50",{"_index":16783,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:59",{"_index":16791,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:72",{"_index":16785,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:9",{"_index":16781,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":15995,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":16899,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1611,"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":2282,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":7247,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":15451,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":20340,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":20009,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":20339,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":20006,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":15461,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17355,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":11421,"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":10172,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13394,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2423,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":23807,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14490,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":18719,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":4706,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"controllers/GroupController.html":{},"interfaces/ICollectionFilePath.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":8485,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":12525,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["currentldapid",{"_index":13982,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":569,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":12288,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":7768,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":7770,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5190,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":294,"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/LegacySchoolController.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/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":7335,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":7339,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":7340,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":7337,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":7336,"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":7338,"title":{},"body":{"classes/CurrentUserMapper.html":{},"controllers/OauthSSOController.html":{}}}],["currentuser.userid",{"_index":3779,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/LegacySchoolController.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":4753,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":7310,"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":14032,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":15441,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":16515,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":22770,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":14673,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentyear",{"_index":13035,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1130,"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":24412,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":23669,"title":{},"body":{"license.html":{}}}],["customary",{"_index":23924,"title":{},"body":{"license.html":{}}}],["customer",{"_index":23674,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":979,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":19652,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":6684,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":19996,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":7349,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":7423,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":15570,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":7564,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2616,"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/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":9455,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":9451,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":9452,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":9453,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":9443,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":9441,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":9787,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":9786,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":9785,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":9793,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":9784,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":9788,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":9789,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2615,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":9669,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":7480,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":9253,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":9260,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2642,"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":6032,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["customparameterentryparam",{"_index":6080,"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":6188,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":7511,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":7565,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":7555,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2621,"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":7557,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":9256,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":9700,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":7583,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":9701,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":9698,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":9699,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6222,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":9736,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":9735,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":9734,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":9742,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6178,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":9737,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":9738,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6179,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6169,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6221,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6177,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":7573,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":5999,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":9580,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":9638,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":9783,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":5503,"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":5523,"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":7552,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":5521,"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":7589,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":9696,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":9694,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":9695,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":1927,"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":5497,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":5498,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":1939,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":5499,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":5500,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":5496,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":5494,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":5493,"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":7592,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":9706,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":9707,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":9708,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":9709,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":9704,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":9705,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":9703,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":14735,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":7371,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":21682,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":21691,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3607,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1608,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":6624,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.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":23956,"title":{},"body":{"license.html":{}}}],["das",{"_index":4913,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":23399,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":7614,"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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8033,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":7868,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8035,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":7990,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8032,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8028,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":14710,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":7612,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":7812,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardentity",{"_index":7646,"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":7941,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":7993,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":7799,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":7810,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":7831,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":7839,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":7887,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":7637,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":7627,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":7870,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":7886,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":7636,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8001,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":7811,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":7891,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardprops",{"_index":7663,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":7976,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":7631,"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":7629,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurl",{"_index":16456,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["dashboardurl.tostring",{"_index":16464,"title":{},"body":{"injectables/OAuthService.html":{}}}],["dashboardurlparams",{"_index":7618,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":284,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.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/ElementContentBody.html":{},"injectables/EtherpadService.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":{},"interfaces/ICalendarEvent.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthUc.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/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/SchoolNumberDuplicateLoggableException.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/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.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/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.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":1348,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.body",{"_index":18919,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentlength",{"_index":18922,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":18923,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":18979,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":18978,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":18921,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":12113,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":16693,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":16696,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":16695,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":16699,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":16697,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":18924,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17413,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalgroups.map((externalgroup",{"_index":17414,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17223,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":17226,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":17227,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":16434,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17409,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":16433,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":13977,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":7872,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":6427,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1350,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":6430,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1346,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":7873,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.response",{"_index":20324,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":22111,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":22113,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":22114,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":22115,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":22112,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":15776,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":15777,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":15775,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":6429,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17407,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.ts",{"_index":17788,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":21659,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":17790,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":21660,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":17791,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":21663,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":17789,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":21661,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":12506,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":18965,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":18972,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":18973,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1822,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ITaskParent.html":{},"classes/KeycloakConsole.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.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":11236,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":15887,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":15888,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":15890,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":15886,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":11389,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8038,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8075,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8105,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["databasemanagementservice",{"_index":8109,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":8043,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":24608,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":24270,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":21301,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":16801,"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":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MigrationResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfig.html":{},"classes/OauthMigrationDto.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.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":{},"interfaces/SanisLaufzeitResponse.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.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":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.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":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1634,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":14844,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":6990,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"controllers/OauthSSOController.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date(now.gettime",{"_index":22441,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":11971,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(user.createdtimestamp",{"_index":14470,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":4597,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["date.setdate(date.getdate",{"_index":19917,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":11970,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":8523,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":8524,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["days",{"_index":8171,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8174,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":574,"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":629,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":854,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:13",{"_index":857,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:134",{"_index":868,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:142",{"_index":861,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":11217,"title":{},"body":{"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_url",{"_index":11218,"title":{},"body":{"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":11219,"title":{},"body":{"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":{}}}],["dbc",{"_index":13523,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14429,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14445,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14431,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14430,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14449,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":24005,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":15892,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15339,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":7549,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{}}}],["dealing",{"_index":24272,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":5573,"title":{},"body":{"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":15306,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":12912,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":23390,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":11238,"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":1193,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":23610,"title":{},"body":{"license.html":{}}}],["decide",{"_index":4744,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14210,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":24237,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":206,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":18054,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":3928,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":23773,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1628,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1631,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1630,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":2782,"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/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":7845,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decorated",{"_index":11551,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":8853,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":138,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"classes/DownloadFileParams.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":{},"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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"controllers/LegacySchoolController.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/MigrationBody.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.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/SystemIdParams-1.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":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/UserMigrationController.html":{},"classes/UserParams.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":24606,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":12781,"title":{},"body":{"interfaces/IEncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":12783,"title":{},"body":{"interfaces/IEncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":16481,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":20008,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":23598,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":24547,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":489,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":486,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.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/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/ICleanOptions.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.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":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.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/SystemFactory.html":{},"injectables/SystemRepo.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":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/ToolConfiguration.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.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":6778,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":6731,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":6737,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":6744,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":24080,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_errorcode",{"_index":16339,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["default_language",{"_index":12639,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["default_message",{"_index":16340,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["defaultclientinternalid",{"_index":14188,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":7703,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":12802,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":8800,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":12428,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["defaultlanguage",{"_index":5839,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["defaultmapper",{"_index":14290,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14316,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14293,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1290,"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":{},"interfaces/IErrorType.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":11232,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["defaultoauthclientbody",{"_index":16774,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":15902,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["defaults",{"_index":843,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17282,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":13249,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":12510,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":7576,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["defaultvideoconferenceoptions",{"_index":22929,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":22930,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":22931,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":22932,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":23949,"title":{},"body":{"license.html":{}}}],["defending",{"_index":23469,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":23906,"title":{},"body":{"license.html":{}}}],["define",{"_index":459,"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":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":504,"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/SystemFactory.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/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":{},"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/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/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":{},"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":{},"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":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.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/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/SSOLoginQuery.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":24116,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2432,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1296,"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":12617,"title":{},"body":{"interfaces/ICollectionFilePath.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":12446,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["delay(ms",{"_index":14359,"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":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.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":{},"injectables/SystemRepo.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":{},"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":2985,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4105,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5032,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":8754,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":21564,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21541,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':externaltoolid",{"_index":21629,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":21586,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":272,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":13583,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":14989,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":15954,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":21899,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21872,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":23025,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":22999,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":20072,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':taskid",{"_index":20619,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":16941,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":16914,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":14993,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":4881,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4167,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5058,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2394,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{}}}],["delete(domainobjects",{"_index":2321,"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":5725,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":713,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(group",{"_index":11851,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1536,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":18882,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":20275,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1534,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(task",{"_index":20985,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":14987,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15149,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3371,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18171,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:22",{"_index":18174,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:29",{"_index":18181,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:34",{"_index":18180,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:39",{"_index":18177,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:44",{"_index":18183,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:51",{"_index":18184,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:57",{"_index":18185,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:62",{"_index":18186,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:67",{"_index":18187,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:72",{"_index":18182,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:86",{"_index":18176,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:90",{"_index":18179,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":12754,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["deleteaccountbyid",{"_index":263,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13519,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":269,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14404,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":8402,"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":2927,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":2986,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":2942,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":3845,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebyexternaltoolid",{"_index":19194,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":19200,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":680,"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":688,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":8466,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2325,"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":6272,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":6278,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolids",{"_index":6093,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":6101,"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":4048,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4106,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4059,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4220,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5002,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5033,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5012,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5076,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":12012,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":12015,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":6273,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":6280,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":21540,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":6312,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":280,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedat",{"_index":10414,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"interfaces/IUserProperties.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8148,"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":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":17991,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":18865,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":15989,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":18868,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":18884,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":17990,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedsince",{"_index":6465,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["deletedusernumber",{"_index":22713,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":14558,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":8724,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":8731,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":8766,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteentitybyid",{"_index":2303,"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":{}}}],["deleteentitybyid(id",{"_index":2327,"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":{}}}],["deleteexternaltool",{"_index":9815,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":21585,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":9831,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":9935,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":17952,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":17963,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8189,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8201,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":21284,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8190,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8204,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8160,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":11062,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":11160,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":11069,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":11138,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":11269,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":11267,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8165,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":12029,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":12043,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14176,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14199,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":13756,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":13760,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":8379,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletelesson",{"_index":15123,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15128,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8163,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8167,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8206,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18172,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18175,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":16776,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":16915,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":16784,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17044,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8209,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":18945,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":18901,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":17668,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":17675,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":9475,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":9485,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletes",{"_index":273,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":19297,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":21871,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":19304,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":19262,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19269,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":20983,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":20987,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":12134,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteteam",{"_index":4611,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":4623,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":22658,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":22661,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1065,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4487,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4492,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7202,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7205,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7045,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7049,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15124,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15130,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":21190,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":21194,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":22403,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":22412,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3343,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3429,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3432,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8177,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":5440,"title":{},"body":{"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/S3ClientAdapter.html":{}}}],["deletioncommand",{"_index":8255,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletiondomainmodel",{"_index":8277,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiondomainmodel.user",{"_index":8442,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionlog",{"_index":8259,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":8348,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":8287,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":8296,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":8342,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":8308,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":8347,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":8351,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":8352,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":8281,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":8331,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogs",{"_index":8297,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":8354,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{}}}],["deletionlogstatistic",{"_index":8368,"title":{"interfaces/DeletionLogStatistic.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionlogstatisticbuilder",{"_index":8382,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":8388,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionModule.html":{},"modules.html":{}}}],["deletionoperationmodel",{"_index":8280,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":8375,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequest",{"_index":8400,"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":8495,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":8497,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestcreateanswer",{"_index":8380,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestentities",{"_index":8487,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":8489,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":8418,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":8493,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":8424,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":8435,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":8441,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":8264,"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":{}}}],["deletionrequestlog",{"_index":8373,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestlogbuilder",{"_index":8444,"title":{"classes/DeletionRequestLogBuilder.html":{}},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["deletionrequestmapper",{"_index":8448,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":8482,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":8490,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":8483,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestprops",{"_index":8377,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["deletionrequestrepo",{"_index":8394,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequests",{"_index":8425,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestscope",{"_index":8480,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":8486,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":8393,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttoupdate",{"_index":8522,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletions",{"_index":8229,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":8413,"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":8434,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":8443,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":8433,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":8370,"title":{"interfaces/DeletionTargetRef.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["deletiontargetrefbuilder",{"_index":8536,"title":{"classes/DeletionTargetRefBuilder.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["dem",{"_index":4905,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16318,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":23745,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":23869,"title":{},"body":{"license.html":{}}}],["depend",{"_index":24221,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":204,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":1607,"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":24733,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":10946,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":10932,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14486,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":24291,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AuthorizationParams.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserLoginMigrationService.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.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":22993,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":23000,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":22998,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":23002,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":23007,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":8543,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":22853,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":22852,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":8567,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":8549,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":8547,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":22854,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":8540,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":8559,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":23877,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3349,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":4918,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":6598,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":6603,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":6545,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":20673,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":6555,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":6893,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":6902,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":6599,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":6606,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":4936,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3676,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3667,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3675,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3234,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":24268,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":24460,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":24462,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":24491,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":24461,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":24565,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":24492,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":16599,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2416,"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":153,"title":{},"body":{"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/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":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentElementUrlParams.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":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.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/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsScope.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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/LdapConfig.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"interfaces/Options.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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/RedirectResponse.html":{},"classes/RenameFileParams.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/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.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":{},"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":{},"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":15224,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":24437,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":24638,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13264,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":14577,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":13368,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":12846,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":3887,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":3889,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":3891,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":24007,"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":23684,"title":{},"body":{"license.html":{}}}],["designed",{"_index":23436,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":16963,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":24490,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":6406,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3013,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3074,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3099,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":6404,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3098,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":20671,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroyed",{"_index":18068,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":23932,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.response",{"_index":1318,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":22806,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":22808,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":24205,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1270,"title":{},"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/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.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":12579,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["detectable",{"_index":21706,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":9297,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":9305,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":10783,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":24202,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":17821,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":17830,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2594,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2611,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":7650,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":7673,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determinestatus",{"_index":19263,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinestatus(tool",{"_index":19271,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":5447,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":5449,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["determining",{"_index":17507,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":24619,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":24128,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14487,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":5577,"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":23458,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":12448,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.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":4207,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":23416,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":24332,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2107,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":11207,"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":{}}}],["didnt",{"_index":24650,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diffenrent",{"_index":24064,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":23931,"title":{},"body":{"license.html":{}}}],["different",{"_index":1128,"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":24787,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":23766,"title":{},"body":{"license.html":{}}}],["differs",{"_index":24480,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dir",{"_index":12519,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14230,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":23587,"title":{},"body":{"license.html":{}}}],["directions",{"_index":23690,"title":{},"body":{"license.html":{}}}],["directly",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserLoginMigrationUc.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":10458,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":10922,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":10928,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":10968,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":997,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":16445,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":10552,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":24790,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":23620,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":23940,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":23763,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2421,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":8714,"title":{},"body":{"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":3457,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2565,"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/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/INewsProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.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":23891,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2489,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":24255,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":24753,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["display",{"_index":10174,"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":7102,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":3797,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":7289,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PageContentQueryParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":5953,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfig.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":23534,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":23270,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":6887,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":23345,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16256,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":24472,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":23935,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":24792,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":23430,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":23989,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":23894,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":23493,"title":{},"body":{"license.html":{}}}],["div",{"_index":5867,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4370,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["do.builder",{"_index":3225,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3184,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:23",{"_index":3202,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:24",{"_index":3199,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3196,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3208,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3211,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3214,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3217,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3220,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3205,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":13953,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":13920,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:13",{"_index":13927,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:5",{"_index":13924,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":22644,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3334,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:11",{"_index":3345,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:141",{"_index":22048,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:151",{"_index":22057,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:18",{"_index":3352,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:25",{"_index":22058,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:26",{"_index":3350,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:33",{"_index":22051,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:39",{"_index":3354,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:53",{"_index":3364,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:65",{"_index":3357,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:71",{"_index":22054,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:75",{"_index":3359,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:79",{"_index":22052,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:82",{"_index":3362,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:87",{"_index":3367,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:93",{"_index":3347,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3410,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3416,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3414,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3413,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4181,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3428,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3437,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3431,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3433,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dobasefactory",{"_index":4374,"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":7523,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":7542,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["docker",{"_index":24083,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":24720,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":24762,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3351,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3379,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docs",{"_index":24052,"title":{},"body":{"todo.html":{}}}],["document",{"_index":6402,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.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":{}}}],["documentation",{"_index":23358,"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":23750,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":3892,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":22123,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":13655,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3532,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3543,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesn't",{"_index":15153,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18272,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doing",{"_index":24252,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1778,"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/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.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/ExternalToolVersionService.html":{},"injectables/FederalStateService.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":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolYearService.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/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":24798,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":11756,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["domain.mapper.ts",{"_index":11661,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:15",{"_index":11668,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:43",{"_index":11671,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:60",{"_index":11675,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:72",{"_index":11673,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:81",{"_index":11680,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:90",{"_index":11678,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain/class",{"_index":4445,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":8317,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":9317,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/rocket",{"_index":18513,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["domain/rules",{"_index":1777,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types/deletion",{"_index":8295,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["domainentity",{"_index":7927,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":18824,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1665,"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/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":{},"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":3408,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.authtoken",{"_index":18521,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.closedat",{"_index":22346,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":19747,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":19812,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":19811,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":8324,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":7443,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":8456,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":8329,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":8326,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":22024,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":22036,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":19748,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":22028,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":22347,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":22025,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":22032,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":22038,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":7449,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":7452,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4470,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2359,"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":{},"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":22030,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4467,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":7453,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":7445,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":7444,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":7435,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":22037,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":22040,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":22026,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":22034,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4471,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":7437,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":7438,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":7439,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":22348,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":8328,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4462,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":7448,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":7451,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":8327,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":22991,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":11846,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":7447,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":22041,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":19746,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":19810,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":19809,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.preferences",{"_index":22039,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":22042,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":7442,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.rcid",{"_index":18520,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.removeuser(userid",{"_index":4505,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":7440,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":7441,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":22027,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":7436,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":7450,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4474,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4475,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":22343,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":22345,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":8458,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4472,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.target",{"_index":22989,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":22990,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":8455,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":8457,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":22344,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4464,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":19745,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":8325,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":7434,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4504,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4466,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.username",{"_index":18519,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.year",{"_index":4468,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":13085,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":2813,"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/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":{}}}],["domainobject:8",{"_index":2795,"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/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":{}}}],["domainobjectfactory",{"_index":8575,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2323,"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":18241,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4477,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainrolenames",{"_index":22522,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":22520,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":22523,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":23271,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":19387,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":19398,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":22568,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2431,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.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":8852,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.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":{}}}],["dont",{"_index":20736,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":2387,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dos.map((domainobj",{"_index":2389,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dosomethingcrazy",{"_index":24501,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":24506,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":24521,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":24516,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":24524,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":23714,"title":{},"body":{"license.html":{}}}],["down",{"_index":24228,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":17669,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":17677,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1254,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":10883,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":10896,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":10885,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":6483,"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":17627,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":17631,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1247,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":23825,"title":{},"body":{"license.html":{}}}],["draft",{"_index":13316,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["driven",{"_index":2488,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":12590,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["dropcollection",{"_index":8117,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8128,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":12558,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["droplibrarycss",{"_index":10549,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":24241,"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":{},"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":{},"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":{},"interfaces/ICollaborativeStorageStrategy.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MigrationMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.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":24315,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":20790,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":22840,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":10351,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":10360,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":10357,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":10355,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.cancelbuttonurl",{"_index":17438,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["dto.classes",{"_index":13718,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":12367,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":18383,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":12296,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":20788,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":20803,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":6661,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":20794,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":20792,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":6664,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.enablemigrationstart",{"_index":15840,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.factory",{"_index":18800,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":8585,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":8620,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":8618,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":8607,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":8616,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":8614,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":8604,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":18630,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":18632,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":8600,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":8599,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":8601,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":8598,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":8597,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":8612,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":8609,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":8610,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":8611,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":13706,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":13725,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":7884,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":7883,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":6659,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":13709,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":20798,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":20797,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":13712,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":931,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":548,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":542,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":544,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":546,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":555,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":412,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:22",{"_index":420,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:28",{"_index":418,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:5",{"_index":423,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":13704,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":22527,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":13721,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.oauthmigrationfinalfinish",{"_index":15839,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationfinished",{"_index":15838,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationmandatory",{"_index":15837,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.oauthmigrationpossible",{"_index":15836,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["dto.options",{"_index":23045,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":22841,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16265,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.proceedbuttonurl",{"_index":17437,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["dto.provisioningstrategy",{"_index":17872,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":17874,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.redirect",{"_index":22555,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["dto.response",{"_index":12299,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":12295,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":13715,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16321,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":18389,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":18387,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":22838,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16054,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":3976,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16320,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":3974,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16056,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":18385,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16051,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":23071,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":12090,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":2966,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4085,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":3985,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5023,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":11886,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":6325,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":6654,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/rich",{"_index":18461,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":10362,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":11348,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":12091,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/migration.dto",{"_index":22588,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["dto/oauth",{"_index":14951,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{}}}],["dto/oauth2",{"_index":22245,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/page",{"_index":22589,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["dto/pseudonym",{"_index":17906,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":20365,"title":{},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":22247,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":22248,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":16891,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":16893,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":23006,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":18615,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":19313,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17123,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":3769,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/system",{"_index":20367,"title":{},"body":{"controllers/SystemController.html":{}}}],["dto/task",{"_index":20641,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":4656,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":4758,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dto/user",{"_index":17117,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dtocreator",{"_index":8583,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":13620,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":4654,"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":3606,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/News.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3289,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":20044,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":12066,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":6360,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":6366,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":9440,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":6370,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":19467,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17527,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":6367,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":6369,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":6368,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2430,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":23668,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2108,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":8682,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":7275,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/OauthCurrentUser.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":23713,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":23566,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":5840,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1174,"title":{},"body":{"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":{}}}],["e",{"_index":2318,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.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/SchoolMigrationService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserMigrationService.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":2424,"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":{},"interfaces/ITemporaryFileProperties.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OauthCurrentUser.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":8849,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1015,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1017,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1012,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":8854,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":8856,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2406,"title":{},"body":{"classes/BaseDomainObject.html":{},"classes/CardIdsParams.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":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.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":12862,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/ImportUser.html":{},"entities/SchoolExternalToolEntity.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":23508,"title":{},"body":{"license.html":{}}}],["ease",{"_index":24858,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":24581,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":24484,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":24198,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":10283,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7110,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":24824,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3130,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":12189,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":12185,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":12027,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:104",{"_index":12074,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:124",{"_index":12048,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:137",{"_index":12077,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:152",{"_index":12045,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:163",{"_index":12064,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:171",{"_index":12057,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:183",{"_index":12042,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:200",{"_index":12080,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:220",{"_index":12082,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:54",{"_index":12070,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:67",{"_index":12061,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:76",{"_index":12054,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:83",{"_index":12051,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":12200,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":12183,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":11444,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:12",{"_index":11447,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:16",{"_index":11445,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:22",{"_index":11459,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:28",{"_index":11456,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:32",{"_index":11458,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:38",{"_index":19129,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:44",{"_index":17540,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:48",{"_index":17545,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:52",{"_index":17544,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:58",{"_index":17542,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:64",{"_index":17539,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:68",{"_index":17537,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:73",{"_index":17536,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:81",{"_index":17534,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":12092,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":11406,"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":12170,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":12171,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":12172,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":12162,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":12169,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":12163,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":12164,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":12165,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":11981,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":11983,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":11982,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":12209,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":12210,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":12211,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1106,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1115,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1116,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1117,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1114,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1112,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1119,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":5661,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":5664,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":5666,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15170,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15162,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1161,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1165,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1166,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1167,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1164,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1163,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1162,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":5824,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":11405,"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":15163,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":12026,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":11966,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":5831,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":10506,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":13891,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":13871,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":13872,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":13873,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":13874,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":13875,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":13876,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":13877,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":13879,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":13880,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":13881,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":13884,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":13887,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":13888,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":13889,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":13892,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15168,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":13894,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":13895,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":13890,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":13893,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":13878,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15169,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15167,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":10512,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":10511,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":10510,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":13882,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":13883,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":13885,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":13886,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":13870,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17512,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":12182,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":11976,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":12010,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15171,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15178,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15187,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15186,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15180,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15184,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15182,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15188,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":21257,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":21273,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":11985,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":11462,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":5841,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":12138,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":11413,"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":11415,"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":11417,"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":10535,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14287,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":23970,"title":{},"body":{"license.html":{}}}],["effected",{"_index":23617,"title":{},"body":{"license.html":{}}}],["effective",{"_index":23599,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":23986,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2209,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3670,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":24446,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":23839,"title":{},"body":{"license.html":{}}}],["einsatz",{"_index":4935,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":3901,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":3904,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":3902,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3709,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.getreferences()).flat",{"_index":7781,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":6613,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2714,"title":{},"body":{"entities/Board.html":{}}}],["elapsedtimemilliseconds",{"_index":14139,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":23992,"title":{},"body":{"license.html":{}}}],["element",{"_index":1942,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.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/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":{},"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":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":8740,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":8727,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":8732,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":5749,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":10410,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3070,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":7231,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":15926,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":15934,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":7237,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":15935,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":15927,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":15933,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":7235,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":15930,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":15931,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":10409,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":5716,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":9218,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9217,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":15251,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":2880,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["element.do.ts",{"_index":9173,"title":{},"body":{"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":18432,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":10376,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":18434,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":10378,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":18436,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15215,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15217,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15219,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15221,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9178,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":18430,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9180,"title":{},"body":{"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":20062,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":5668,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:13",{"_index":5675,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:43",{"_index":5677,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:56",{"_index":5678,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:68",{"_index":5679,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:81",{"_index":5680,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:93",{"_index":5676,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":7769,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":7773,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":7751,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9215,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15252,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":18464,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5227,"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":12686,"title":{},"body":{"interfaces/ICommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":12687,"title":{},"body":{"interfaces/ICommonCartridgeElement.html":{}}}],["element.publish",{"_index":18809,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":7772,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":7794,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":18462,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3461,"title":{},"body":{"classes/BoardElementResponse.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":9190,"title":{},"body":{"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:12",{"_index":10390,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9205,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":10389,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:17",{"_index":3468,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":10402,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:20",{"_index":15233,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:22",{"_index":3465,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9207,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9209,"title":{},"body":{"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":10404,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:29",{"_index":9206,"title":{},"body":{"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":10406,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:32",{"_index":9208,"title":{},"body":{"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":10403,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:35",{"_index":15243,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":10405,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:38",{"_index":15245,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:41",{"_index":15242,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15244,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9189,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{},"classes/RichTextElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:7",{"_index":3462,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4182,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":5722,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":5723,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":5728,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":5730,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":5724,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":5726,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":5732,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":5735,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":6668,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2704,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":4962,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15250,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5323,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5327,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":5375,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5355,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":5376,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5328,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":5391,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":5380,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":5392,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":5393,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":5394,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":5382,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":18651,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":18810,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9216,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15249,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":5820,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":5822,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":18693,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":8699,"title":{"classes/ElementContentBody.html":{}},"body":{"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:112",{"_index":9196,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":10394,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15236,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:78",{"_index":18450,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontentbody:96",{"_index":20055,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontroller",{"_index":2761,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3117,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3114,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":7871,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":7879,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":7876,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":7881,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":7885,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":7882,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":7880,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":7875,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":7874,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":1917,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":5712,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":5717,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":7926,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":7963,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":7962,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":7958,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":7953,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":7955,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":849,"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":3708,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":8635,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":8645,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":6612,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3113,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":6939,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":18654,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":18653,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":18652,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4216,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3568,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3571,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":6611,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":6615,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":2741,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":7757,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":7790,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":7789,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":2755,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":7906,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":7954,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":7956,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":11013,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3346,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.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/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RocketChatUserRepo.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":24603,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":11713,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":11697,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(systementity",{"_index":11708,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(user",{"_index":11712,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":653,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IJsonUser.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemFactory.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":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":24265,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":12636,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["embeddable",{"_index":2562,"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":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LdapConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["embedded",{"_index":4332,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["embedded(undefined",{"_index":4326,"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":{}}}],["embedded({entity",{"_index":20403,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":5842,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":23665,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":8870,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":8877,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":23998,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1731,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16134,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":6264,"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":13417,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["enable",{"_index":11545,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"classes/MigrationResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":22550,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":22551,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":13028,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1181,"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":11549,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":13029,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enablemigrationstart",{"_index":14970,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["enableoauthmigrationfeature",{"_index":22404,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":22414,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":23527,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":4707,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encoded",{"_index":2218,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{}}}],["encodeuricomponent(token",{"_index":1261,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":10910,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["encouraged",{"_index":23475,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":12782,"title":{},"body":{"interfaces/IEncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":12785,"title":{},"body":{"interfaces/IEncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":981,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":20005,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13488,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":8802,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":8804,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":15447,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":15450,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":8796,"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":{},"modules.html":{}}}],["encryptionproviderfactory(configservice",{"_index":8805,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":9824,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["encryptpassword",{"_index":855,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":860,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":12657,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":12659,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["end",{"_index":2190,"title":{},"body":{"injectables/BBBService.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":{},"interfaces/ICollectionFilePath.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":22914,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2210,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":22866,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":23030,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":19356,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":19358,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":19359,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":23028,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:11",{"_index":23029,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:18",{"_index":23031,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":24624,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":13052,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":22925,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":24654,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2094,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.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":12100,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":13091,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["ends",{"_index":2212,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":13564,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":13641,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":13572,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2166,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":21145,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":24481,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":23622,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":18564,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":18568,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":19264,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":19273,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":19286,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":19265,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":19275,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":10130,"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":3230,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3248,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":9099,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":9108,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3231,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3251,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":9928,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":9937,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":23373,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":9100,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":9110,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14056,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":21846,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":21849,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":23900,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15278,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":23642,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":23919,"title":{},"body":{"license.html":{}}}],["entities",{"_index":155,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.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":{},"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/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":{},"interfaces/ICollectionFilePath.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.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/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/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.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/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":11037,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":11036,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":2364,"title":{},"body":{"injectables/BaseDORepo.html":{},"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":10611,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":10151,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":154,"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/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/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/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":{},"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":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.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":{},"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":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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/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":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.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":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.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":{},"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":20458,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.authtoken",{"_index":18517,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.closedat",{"_index":22370,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":9602,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":6144,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":19806,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7042,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15111,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4460,"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":15608,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":8452,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":8322,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":8323,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":6146,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":8319,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":22084,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":22090,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":19808,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":11710,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":11703,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":9240,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":9249,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":9246,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":9251,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":9247,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":9245,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":14881,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":14931,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":14890,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":22371,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":22085,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":22088,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":22092,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":15613,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":15615,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":7966,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":7973,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":7975,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4455,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15107,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4446,"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":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":22087,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":14882,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":14883,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4453,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":20941,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":9611,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":15610,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":15609,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":15600,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":22091,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":22094,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":22086,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":22089,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig?.active",{"_index":20462,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4456,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":20944,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":15602,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":9609,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":9608,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":15603,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":15604,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":22368,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":11041,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":8321,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4447,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":15612,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.officialschoolnumber",{"_index":14885,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":20479,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":9612,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":8320,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":23167,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":23166,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":23168,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":11706,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":15611,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":22095,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":19805,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":19804,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.permissions",{"_index":18567,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":22093,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":14884,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":15607,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":20459,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":20460,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":9519,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.rcid",{"_index":18516,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":11038,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":15605,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.role.id",{"_index":11716,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":15606,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":22504,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":22096,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":19215,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":19257,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4448,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.id",{"_index":6143,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltool.school.id",{"_index":6239,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltool.school?.id",{"_index":6142,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltoolref.schoolid",{"_index":6240,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":14886,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":15601,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":15614,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4458,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4459,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":22366,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":22369,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":8454,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4457,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":11711,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.systems.getitems().map((system",{"_index":14888,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":14887,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":23164,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":24846,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":8451,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":8453,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":22367,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4451,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":21186,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":19807,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":19214,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":9520,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":6147,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":24314,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":20457,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4461,"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":9607,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":11715,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":9521,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{}}}],["entity.userids?.map((userid",{"_index":4449,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":14889,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.username",{"_index":18515,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.users.map((groupuser",{"_index":11698,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":11700,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":11701,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":11702,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":9613,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4454,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":12765,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":8315,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":21309,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":12885,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":9503,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17525,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":12766,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":19800,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":12767,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17526,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[key",{"_index":2386,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entity[prop",{"_index":1740,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":3882,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":12022,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydictionary",{"_index":11007,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2335,"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/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.closedat",{"_index":22377,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":9626,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.contextref.id",{"_index":6149,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.customs",{"_index":15624,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.displayname",{"_index":6151,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.email",{"_index":22099,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":14891,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":14892,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":14903,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":22378,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":22100,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":22106,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":15629,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":15631,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18031,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":14893,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":14894,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":9635,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":15626,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":15625,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":15616,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":22105,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":22108,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":22101,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":22104,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":9633,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":15618,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":9632,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":15619,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":15620,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":22375,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":9630,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":15628,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":14896,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":9636,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":23172,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":23171,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":23173,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":15627,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":22109,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":22107,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":14895,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":15623,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":9522,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":15621,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles",{"_index":15622,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":22102,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":19218,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schooltoolref.schooltoolid",{"_index":6153,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.schoolyear",{"_index":14897,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":15617,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":15630,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":22373,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":22376,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":14898,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":14899,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":23169,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":22374,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":19220,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":6154,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":9631,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":14901,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":9637,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":2346,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.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":2358,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entityfactory",{"_index":2304,"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":{}}}],["entityfactory(props",{"_index":2329,"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":{}}}],["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/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/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":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionRequest.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":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/ImportUserRepo.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.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":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.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/RenameFileParams.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/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":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams-1.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.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/ToolLaunchService.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":{},"injectables/UserMigrationService.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":2311,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.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/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":687,"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/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/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":291,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":886,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":22079,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14462,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":20494,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":10145,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":10149,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":2378,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entityschema",{"_index":2428,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16062,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":6557,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2468,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entries",{"_index":9583,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":9642,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":5539,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":7494,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":7496,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":7495,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":7499,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":7501,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":7500,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":9643,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":19188,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":7504,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":7506,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":7505,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":19234,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":7507,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":7509,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":7508,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":9644,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":839,"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":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileContentBody.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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":{},"classes/SchoolExternalToolResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.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":{},"entities/TeamNews.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":15537,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13554,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":15534,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":6740,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":2922,"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/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.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/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5225,"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":15897,"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":24026,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":20742,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":6958,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":19918,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14488,"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":10918,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15121,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":20905,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":23582,"title":{},"body":{"license.html":{}}}],["eric",{"_index":24431,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":20734,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1243,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.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":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TimeoutInterceptor.html":{}}}],["err.code",{"_index":24522,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":18976,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.cause?.name",{"_index":18942,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":18925,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":990,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"injectables/DeleteFilesUc.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IError.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.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":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.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":3305,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3068,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('error",{"_index":12489,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["error('gradelevel",{"_index":4339,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["error('idm",{"_index":12429,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["error('invalid",{"_index":13740,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15194,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14447,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('not",{"_index":2747,"title":{},"body":{"entities/Board.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["error('nothing",{"_index":18123,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":5403,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":12992,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["error('root",{"_index":3170,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15200,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":13860,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('unknown",{"_index":6158,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["error('user",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1477,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1576,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14440,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3085,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":5816,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14530,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`login",{"_index":15294,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":11113,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":15770,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":14627,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":20511,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["error(error",{"_index":1573,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":3933,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":8938,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":8879,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":12914,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":3934,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":11514,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1795,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":6759,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["error.filter",{"_index":8912,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":11477,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":11500,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":11486,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":11489,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":11491,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":11502,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":11493,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":11497,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":11495,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":11499,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":11532,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":9351,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":12208,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":10155,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.mapper",{"_index":18817,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":12202,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":12206,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.officialschoolnumberfromsource",{"_index":22487,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["error.officialschoolnumberfromtarget",{"_index":22488,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["error.response",{"_index":1317,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1294,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1300,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1316,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.ts",{"_index":21968,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":21969,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":8847,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":22955,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13463,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":5545,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1783,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":5546,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1784,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":16341,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["errorhandler",{"_index":17079,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorhandler(error",{"_index":17086,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorloggable",{"_index":8816,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":11512,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":11515,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":8865,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":8829,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":8891,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":18825,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1509,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":8846,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":6675,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules.html":{}}}],["errorobj",{"_index":8897,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":8899,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorredirect",{"_index":17133,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('error",{"_index":17135,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('provider",{"_index":17137,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('sourceschoolnumber",{"_index":17143,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorredirect.searchparams.append('targetschoolnumber",{"_index":17144,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["errorresponse",{"_index":1283,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":11530,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1310,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1307,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1305,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1302,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1303,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":11631,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":11633,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1297,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"injectables/UserLoginMigrationUc.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":14620,"title":{},"body":{"injectables/LdapService.html":{}}}],["errors/school",{"_index":16507,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["errorstatus",{"_index":22954,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":23086,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":994,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorurl",{"_index":22627,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.searchparams.append('sourcesystem",{"_index":22629,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.searchparams.append('targetsystem",{"_index":22630,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorurl.tostring",{"_index":22631,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["errorutils",{"_index":1227,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1244,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2269,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":8904,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":11523,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":8842,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":11521,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":8840,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":11525,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":8843,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":4912,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":24098,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":24099,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":13418,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["es256",{"_index":1469,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1470,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1471,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":23273,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":15909,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":12649,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["escapedclasses",{"_index":13861,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":13845,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":13853,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":13856,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":22685,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":996,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22689,"title":{},"body":{"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2483,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1000,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.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/UserRepo.html":{}}}],["eslint/restrict",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.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":{},"injectables/SystemRepo.html":{}}}],["eslintrc.js",{"_index":24169,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":24300,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":23557,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":6520,"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":23374,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":8955,"title":{},"body":{"injectables/EtherpadService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["etherpadservice",{"_index":8939,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":24416,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":24417,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":24432,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":23413,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":3982,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":3988,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":3986,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":3969,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":3973,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":3972,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":3984,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":12417,"title":{},"body":{"interfaces/ICalendarEvent.html":{}}}],["eventid",{"_index":4007,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":12479,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":8562,"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":22818,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":8563,"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":23428,"title":{},"body":{"license.html":{}}}],["everything",{"_index":24782,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13546,"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":22509,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":705,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2492,"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":24692,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":24290,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":7737,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":24289,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":24280,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":24773,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":24288,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":9361,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":15910,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":4541,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.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":11536,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":11533,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13464,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13442,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13443,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13444,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":11534,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":9276,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:10",{"_index":19473,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:14",{"_index":16329,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception.ts:16",{"_index":11323,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":9279,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:18",{"_index":21445,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:20",{"_index":9363,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:26",{"_index":15875,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":9292,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":9278,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":21444,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:7",{"_index":11322,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":9293,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception/not",{"_index":16323,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exceptionfactory",{"_index":1157,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1159,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":11478,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":11535,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":23754,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":20140,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1185,"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":18063,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":23705,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":20953,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":20969,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":20954,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":20971,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":23904,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":23987,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":23863,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":19684,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":23911,"title":{},"body":{"license.html":{}}}],["exec",{"_index":24704,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":23553,"title":{},"body":{"license.html":{}}}],["execute",{"_index":21379,"title":{},"body":{"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":8432,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executes",{"_index":24122,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":23518,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":14260,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution.id",{"_index":14261,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executioncontext",{"_index":8689,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14258,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14237,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":14259,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["exercise",{"_index":23840,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":23618,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1456,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ITaskParent.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":2830,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseGroupProperties.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":14526,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14523,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14524,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14525,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":6915,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":6917,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2712,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4550,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4553,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4557,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4552,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":11764,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["existinggroup",{"_index":17357,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17388,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.id",{"_index":17364,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.users",{"_index":17369,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17393,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17384,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17387,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15020,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15022,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":22680,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":6604,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":6628,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":6621,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":7775,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":7778,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17321,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.externalid",{"_index":19437,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17361,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17327,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingtargets",{"_index":4989,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":4995,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":20737,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":20739,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":16440,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17346,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17342,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17344,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17348,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17349,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguserloginmigration",{"_index":14959,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["existinguserloginmigration?.closedat",{"_index":14963,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["exists",{"_index":2837,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":12013,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":12017,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":10958,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":10966,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15330,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":7265,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":24261,"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":24523,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":24504,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":24526,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":24569,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":24507,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":24570,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":24496,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":3172,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expecting",{"_index":24512,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":23718,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":20913,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":24780,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":7278,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":21303,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":19677,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":10692,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["expired",{"_index":12218,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":10825,"title":{},"body":{"injectables/FileRecordRepo.html":{},"controllers/OauthSSOController.html":{}}}],["expiresat",{"_index":159,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1484,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":19674,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":24648,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":24772,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":1994,"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":1007,"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":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":6968,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5099,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:140",{"_index":5124,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:148",{"_index":5128,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:18",{"_index":5108,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:25",{"_index":5117,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:41",{"_index":5113,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:65",{"_index":5115,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:85",{"_index":5120,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":6870,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":6962,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:15",{"_index":6966,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:9",{"_index":6964,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8079,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8103,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8082,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8040,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8045,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":12599,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exportcourse",{"_index":5102,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5116,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":6855,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":12577,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":12603,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":12616,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["exporting",{"_index":24114,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":209,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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":{},"interfaces/ICollectionFilePath.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":13141,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":5579,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":24406,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":6865,"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":12128,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":23942,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.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":{},"injectables/SystemRepo.html":{}}}],["expressly",{"_index":23790,"title":{},"body":{"license.html":{}}}],["ext",{"_index":13905,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["ext_official_school_missing",{"_index":19434,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ext_official_school_number_mismatch",{"_index":19460,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ext_official_school_number_missing",{"_index":19430,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["extend",{"_index":472,"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/SystemFactory.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":24199,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":3893,"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":19967,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":180,"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/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.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":{},"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":{},"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":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.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/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.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":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.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":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"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":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.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":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":10531,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":23653,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":23536,"title":{},"body":{"license.html":{}}}],["external",{"_index":564,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.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/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IToolLaunchParams.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.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":{},"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":{},"injectables/ReferenceLoader.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"classes/ToolStatusResponseMapper.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_sub",{"_index":7241,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":9280,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":9289,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":9294,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":9364,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":9366,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["external_tools",{"_index":9235,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["externalauthconfig",{"_index":13991,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17308,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalid",{"_index":17359,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.externalorganizationid",{"_index":17360,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17367,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17365,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17366,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17368,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.users.map(async",{"_index":17373,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":8956,"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":19337,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":16694,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17392,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17374,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":8967,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":655,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.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":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":7323,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":8959,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":11839,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":13972,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17323,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17325,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17326,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":8987,"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":{}}}],["externalschoolid",{"_index":14679,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":8995,"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":11707,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":11709,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":9000,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":9003,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4390,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":9010,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":7269,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2627,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolRepo.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/ExternalToolVersionService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":21590,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":9775,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":9996,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":9999,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":9856,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":9992,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":9339,"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":9148,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":9855,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":9858,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":9991,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":9869,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":9885,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":9334,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":9132,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":9418,"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":9781,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":9093,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":9094,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":9420,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.url",{"_index":9780,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":9782,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2550,"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":2554,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2552,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2571,"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":2573,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2575,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":9766,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2563,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":9665,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2581,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2583,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2584,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":9046,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":9096,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":5771,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":9659,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":9153,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":9724,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":9732,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":9731,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":9729,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":9733,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":9728,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":9730,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":21609,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":2861,"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":5814,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18267,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":9187,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":8712,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"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":3204,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":9201,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":9185,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4083,"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":5707,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":5699,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":9214,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":9219,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentity(props",{"_index":9552,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":9238,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":9258,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":7558,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":7569,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":5991,"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":9266,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":9267,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":9273,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":9272,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":9286,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":9346,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":9274,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":9350,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":9290,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":9354,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":9106,"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":9318,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":9319,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmodule",{"_index":6067,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["externaltoolparametervalidationservice",{"_index":9377,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":21582,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":7518,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":9457,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":9513,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":17995,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":9471,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":17982,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":9378,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":6128,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":6155,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.parameters",{"_index":6148,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":19216,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":9561,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":9560,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":9645,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":9747,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":9758,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":21525,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":21612,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":21624,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":21619,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":21628,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21606,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21583,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":9060,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":9140,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":9073,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":9086,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":21527,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":19247,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":9551,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":9804,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21880,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":21594,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":9661,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":9538,"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":6349,"title":{"injectables/ExternalToolService.html":{}},"body":{"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":5443,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":9379,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":19951,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":9549,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":9554,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":9927,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":9692,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":9690,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":9711,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":9718,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":9722,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":9721,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":9719,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":9723,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":9717,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":9720,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":9375,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":19322,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionservice",{"_index":9376,"title":{"injectables/ExternalToolVersionService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionService.html":{}}}],["externaluser",{"_index":13970,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.email",{"_index":17345,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17350,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17341,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17343,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17336,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":19067,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":19068,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":10075,"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":8980,"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/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":24845,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":12866,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/IservProvisioningStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["extractaccount",{"_index":14400,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14406,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14401,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14409,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractids(users",{"_index":6816,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":11554,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extractjwt",{"_index":14020,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14024,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14023,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14021,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":15735,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":15714,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:20",{"_index":15720,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":15712,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":15733,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":15738,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:15",{"_index":15744,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":15742,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":15740,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":15741,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:5",{"_index":15739,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":15746,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:15",{"_index":15752,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:25",{"_index":15759,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:44",{"_index":15761,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:58",{"_index":15756,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14005,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14008,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":15794,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:13",{"_index":15797,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:7",{"_index":15795,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":15737,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":15713,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":11467,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/meta",{"_index":15709,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":15745,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor/uc/meta",{"_index":15793,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":14647,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":14654,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":2999,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3024,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2235,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["extractuserlist(users",{"_index":6828,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1298,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1314,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_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":{},"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":2918,"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/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":24458,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":23925,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":23584,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8061,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":463,"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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":512,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2462,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1501,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":23478,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":14633,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":595,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"injectables/OauthAdapterService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/UserLoginMigrationError.html":{},"todo.html":{}}}],["failing",{"_index":15295,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":8219,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":8220,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":8227,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":8232,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":12443,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":11953,"title":{},"body":{"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["fair",{"_index":23581,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":21056,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":5793,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":15790,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":145,"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":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.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":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.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/LdapConfig.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolParams.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":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.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/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.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":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":10427,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":22927,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18301,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":24778,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":19030,"title":{},"body":{"interfaces/SanisNameResponse.html":{}}}],["family",{"_index":23709,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":23401,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":14565,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":23506,"title":{},"body":{"license.html":{}}}],["fast",{"_index":24455,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":23337,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":23715,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":7277,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1779,"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":10294,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":10301,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1759,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1764,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":8933,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":8936,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":10299,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":24374,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/authentication",{"_index":23200,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":23203,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8023,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":10288,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":23204,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1757,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"modules.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":10168,"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":10277,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":10281,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":8943,"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":10290,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":6961,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.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":23410,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":23400,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":17764,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":17757,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":12834,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":12835,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":12836,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":12685,"title":{},"body":{"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IServerConfig.html":{}}}],["features",{"_index":6721,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.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":24549,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":13018,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":10327,"title":{},"body":{"injectables/FederalStateService.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{}}}],["federalstateentity",{"_index":6713,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":14837,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":14850,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17317,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17331,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstaterepo",{"_index":10310,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":6712,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["federalstateservice",{"_index":10316,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":23636,"title":{},"body":{"license.html":{}}}],["feedback",{"_index":4950,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":4943,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1517,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2718,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":9298,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":9308,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":9281,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["fetchedentity",{"_index":2373,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["fetchlogo",{"_index":9299,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":9310,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchmetadata",{"_index":15747,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["fetchmetadata(url",{"_index":15751,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["fetchmetadata(userid",{"_index":15796,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["fetchoptions",{"_index":15773,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":24886,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":9321,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":9323,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":6994,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":5662,"title":{},"body":{"classes/ContentBodyParams.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":11969,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2670,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2091,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.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":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":8252,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":12557,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["file.data",{"_index":10339,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":21308,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":6421,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":12238,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":12236,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":12237,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":12235,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":6425,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":6426,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":6424,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":12213,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":12215,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":8250,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5274,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":12688,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":12689,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":12690,"title":{},"body":{"interfaces/ICommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":8247,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":10340,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":10338,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":21313,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":21258,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":21268,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":21264,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":21269,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":21266,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":21271,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":21272,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":8254,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":8256,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":5825,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":5828,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15165,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":5829,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15166,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":6560,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":12584,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filecontentbody",{"_index":5772,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":18137,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18144,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3331,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":4823,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":6570,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":6561,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedto",{"_index":6573,"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":10349,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":10363,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":10368,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":6553,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":6579,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":6572,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":2864,"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":5782,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":5779,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18254,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":10387,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":8705,"title":{"classes/FileElementContentBody.html":{}},"body":{"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":3207,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":10398,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":10385,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":3771,"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":3750,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":5708,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":5695,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":10408,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":8202,"title":{"entities/FileEntity.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":10455,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":21275,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":21286,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":12085,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":6584,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":6583,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":10359,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":10364,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":11076,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filemetadata",{"_index":10505,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5826,"title":{},"body":{"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":21318,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":12540,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filename.startswith",{"_index":21319,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":11200,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":11368,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":10745,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filenameobj.name",{"_index":10747,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filenameprefix",{"_index":6469,"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":10940,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filenames.map((filename",{"_index":12538,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":10744,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["fileownermodel",{"_index":10437,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":11011,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":6558,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":6565,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":6564,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":6481,"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":10945,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filepermissionentity",{"_index":10435,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":10622,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":10627,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":6437,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":6455,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":6460,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":6462,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":6444,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":6457,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":6445,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":6453,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":6458,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":11196,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":6451,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":6449,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":10709,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":10711,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerecordfactory",{"_index":10748,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":10755,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":6484,"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":6466,"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":10776,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":11101,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":10760,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":10775,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":6472,"title":{"classes/FileRecordParams.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/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":6438,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":10787,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18143,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":10757,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":11114,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":11116,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":11115,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordrepo",{"_index":10790,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":6442,"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":10772,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":11106,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":11107,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":11108,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":10686,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":10774,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":6463,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":10801,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":10818,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":10820,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":10821,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":10823,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":10824,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":10827,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":10659,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/FilesStorageModule.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["filerequestinfo",{"_index":6535,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["fileresponse",{"_index":10870,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":11201,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":11199,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":10866,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":17702,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":6441,"title":{},"body":{"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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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":18971,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8162,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8173,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8166,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14146,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":12896,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":8228,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":8222,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":11123,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":6542,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":6548,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":6550,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":6552,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":6556,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8186,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8205,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8195,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8207,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8208,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8198,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8203,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":12073,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":12130,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":12132,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":12801,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":11100,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":10439,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":10872,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":10877,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":10878,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":10880,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":10988,"title":{"modules/FilesModule.html":{}},"body":{"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["filespreviewevents",{"_index":17599,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":17604,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":17597,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8193,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":11020,"title":{"injectables/FilesService.html":{}},"body":{"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1183,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":11042,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules.html":{}}}],["filesstorageapimodule",{"_index":11051,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules.html":{}}}],["filesstorageclientadapterservice",{"_index":6547,"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":{}}}],["filesstorageclientmapper",{"_index":10612,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":11077,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":11104,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":10614,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":11079,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":11102,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":11105,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3592,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{},"modules.html":{}}}],["filesstorageconsumer",{"_index":11047,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":11055,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":11147,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":11153,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":11159,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":11155,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":11134,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1230,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":11150,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":11158,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":11197,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":11046,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules.html":{}}}],["filesstorageproducer",{"_index":11065,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":11129,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":11270,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{},"modules.html":{}}}],["filesstorageuc",{"_index":10893,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":6578,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":24808,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":12807,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":11064,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":8047,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":10906,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"interfaces/ICollectionFilePath.html":{}}}],["filesystemmodule",{"_index":10977,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["filetype",{"_index":18076,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18079,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":24754,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":6480,"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":6554,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":6568,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":20689,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":24601,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":9429,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":9331,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4381,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.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":12566,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filter((element",{"_index":6667,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":20483,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19125,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":11889,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":9924,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":13866,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((rolename",{"_index":22525,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((sanisgroupuser",{"_index":19114,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((user",{"_index":14561,"title":{},"body":{"classes/KeycloakSeedService.html":{},"injectables/SanisResponseMapper.html":{}}}],["filter(issubmissionitem",{"_index":8791,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16142,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":8911,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4213,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4222,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":8590,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":8608,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":10176,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":10190,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":6614,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":6618,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6617,"title":{},"body":{"injectables/CopyHelperService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["filtered.some((status",{"_index":6620,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":943,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":947,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":954,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":12551,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":12554,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["filteredpathobjects",{"_index":18981,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":21861,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17381,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filterforavailableexternaltools",{"_index":9049,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":9057,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":9050,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":9062,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":9051,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":9066,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":11281,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":11294,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":13734,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":13736,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":13738,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":11307,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":9052,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":9069,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":11628,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":20377,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":11650,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2350,"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":11299,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":18587,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":18589,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":18588,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":7149,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":20894,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":13786,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":20887,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":13778,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":13790,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":13780,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":13782,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":13788,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":22686,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":13784,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":20890,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":20892,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":20898,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":20885,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15072,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":22683,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":20900,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7176,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":20300,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":20304,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":6302,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":6314,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":15518,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":11318,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":12102,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":15853,"title":{},"body":{"classes/MigrationResponse.html":{},"license.html":{}}}],["find",{"_index":4743,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.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":8792,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find(@query",{"_index":20374,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":20352,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":10284,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":6105,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13507,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13521,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13508,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13525,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":264,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13528,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":295,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14413,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13509,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13530,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15950,"title":{},"body":{"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":15956,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":21019,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":9533,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":9540,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":6274,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":6282,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15059,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15062,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":8334,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":8338,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":20811,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":20817,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4531,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4534,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":20272,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":20277,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":20306,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":20221,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":20225,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7218,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7220,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":21259,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":21263,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4488,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4494,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7046,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7051,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7203,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7208,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":20612,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":20622,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":21021,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":20812,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":20821,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":21011,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":21023,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7144,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":21025,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7152,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7145,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7154,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":21139,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":21140,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16144,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16154,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":13565,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":13575,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":8508,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":8515,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":8460,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":8468,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15125,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15132,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16076,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16079,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":20613,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":20625,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":13566,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":13578,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16077,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16082,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":10792,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":10800,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":3839,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":3847,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":3840,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":3849,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3335,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3348,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":15582,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":15635,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":15585,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3684,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3689,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7024,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7025,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbydeletionrequestid",{"_index":8358,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":8363,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":4871,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":4883,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyemail",{"_index":22659,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":22663,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":14862,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":14866,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":22046,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":22053,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":11745,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":11749,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":19195,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":19204,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":20498,"title":{},"body":{"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":20500,"title":{},"body":{"injectables/SystemRepo.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/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":4885,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4169,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5060,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":12019,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":6284,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7210,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":8340,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":8470,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":5727,"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/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":15135,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":19277,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":20280,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":20989,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyids",{"_index":3336,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4172,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3353,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":9534,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15179,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":9542,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15173,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15181,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":18595,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":18598,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":9535,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":9544,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":15583,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":15588,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":10994,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":10998,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":10793,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":10803,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":10995,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":11001,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":19196,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":19206,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandparentid",{"_index":10794,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":10805,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":10795,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":10807,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolnumber",{"_index":14863,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":14868,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":23148,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":23149,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":10796,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":10809,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":20813,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":20823,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":20530,"title":{},"body":{"injectables/SystemService.html":{}}}],["findbytype(type",{"_index":20534,"title":{},"body":{"injectables/SystemService.html":{}}}],["findbyuser",{"_index":11746,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(user",{"_index":11752,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyuser(userid",{"_index":21265,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":21260,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":21267,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":17953,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16292,"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":9476,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":9488,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":9477,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":9490,"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":4214,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4225,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":11626,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":11627,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4489,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findclassesforschool(schoolid",{"_index":4496,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findcontextexternaltools",{"_index":6275,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":6286,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":19516,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3645,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3649,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3646,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3651,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8118,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8130,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4003,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4006,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":7894,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":7907,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":4980,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":4984,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":21261,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":21262,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":21270,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":9929,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":21592,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":9939,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":9816,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":9834,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":9817,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":9836,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":17954,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":17968,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":9818,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":9838,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":10320,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":10323,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":11022,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":11027,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":11023,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":11029,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":10996,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":11004,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":6854,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":7634,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":6860,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findidsbyexternalreference",{"_index":3337,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3355,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":13757,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":13763,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":13758,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":13765,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3664,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16228,"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":22405,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":22416,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":22406,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":22418,"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":15174,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15183,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16078,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16084,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16229,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7146,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":15984,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7157,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":15959,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":10797,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":10811,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16145,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16158,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":10798,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":10813,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15175,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15185,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":19793,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":19794,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":10799,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":10815,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":11233,"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":{}}}],["findorcreatepseudonym",{"_index":17955,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":17970,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":4981,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":4987,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3338,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3358,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":5729,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":9478,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":9492,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":9479,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":9495,"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":18006,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":17956,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":17974,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":692,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":19266,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":19278,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":19307,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":20070,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":20074,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":20188,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":20192,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":20814,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":20825,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":4732,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":4740,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":16948,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":16952,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":16385,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":16402,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":21191,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":21196,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":22192,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":22205,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":22463,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":22734,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":22745,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":22660,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":22667,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":24489,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":20614,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":20652,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":20627,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":6894,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":6905,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8184,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":20754,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":19426,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":6922,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":20838,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":13313,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":13311,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":13314,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":13325,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":13321,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":13324,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":13374,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":19425,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"entities/ImportUser.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/NewsUc.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PatchMyAccountParams.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":17280,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":6839,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":13657,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":651,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonUser.html":{},"interfaces/INameMatch.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.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":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13846,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":12634,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["firstvaluefrom",{"_index":2245,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2259,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(respobservable",{"_index":12409,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":525,"title":{},"body":{"classes/AccountFactory.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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":5540,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":23945,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1748,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":24165,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7135,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixes",{"_index":24037,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":24878,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4500,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":24584,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":24651,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":11316,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":21929,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":21931,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":11284,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":8059,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flags.ts",{"_index":19382,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["flexible",{"_index":24239,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14232,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/UserLoginMigrationUc.html":{},"license.html":{}}}],["flow.id",{"_index":14246,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13467,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":16947,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":16951,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":16953,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":16955,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":16890,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":16807,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:102",{"_index":16976,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":16813,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":16817,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:24",{"_index":16972,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":16819,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:29",{"_index":16974,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:44",{"_index":16970,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":16822,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":16815,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17002,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":16825,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17004,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:90",{"_index":16978,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14229,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14242,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14244,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":681,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["fn",{"_index":3546,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3582,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":976,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":8070,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.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":11937,"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":16262,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16273,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":10923,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["folders",{"_index":16276,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":4952,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":5568,"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":8231,"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":24674,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":24184,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7167,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7192,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7162,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":23616,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":11333,"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":21647,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":11326,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":11332,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2530,"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":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":16842,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":22474,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15030,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":24423,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2540,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":18806,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":2824,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":8901,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":23063,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":22978,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":2938,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["forbiddenexception})@get",{"_index":4068,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":3759,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1851,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1882,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1854,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":288,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":11553,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":11555,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":3879,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":3881,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":132,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":13413,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["forcepathstyle",{"_index":8241,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8145,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":6498,"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":7193,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7171,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":9926,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":14684,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":22691,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":14396,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CreateJwtParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.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":21538,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":286,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":13273,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/RichText.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":571,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1522,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":24163,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":23662,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1170,"title":{},"body":{"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":{}}}],["forroot(options",{"_index":1171,"title":{},"body":{"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":{}}}],["forroutes",{"_index":19645,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7194,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7166,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7195,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7165,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1826,"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":292,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.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/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.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":8812,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":8814,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":9121,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16324,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":19332,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":19333,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":19334,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":945,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":438,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":23425,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":5480,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":5534,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":5531,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":5527,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18008,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18010,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":19509,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":19511,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16314,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16316,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16319,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":932,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":946,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":952,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1518,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":23443,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2185,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":23283,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":4946,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":7556,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":7380,"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":22926,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":23185,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":23183,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":23184,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14006,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14007,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":11560,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":7727,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":11561,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":7725,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":11562,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":7724,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":11563,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":7726,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15421,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":16592,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":7383,"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":7531,"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":10959,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":14568,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":14570,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.rm",{"_index":10972,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":10957,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":24611,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":24250,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":23602,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":24435,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":24890,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":10931,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":18333,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2117,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18306,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":10550,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":22483,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":474,"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":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.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":6682,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":24658,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":21103,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":23729,"title":{},"body":{"license.html":{}}}],["functions",{"_index":22422,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":4917,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":23686,"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":24548,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":24568,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1815,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"interfaces/INewsProperties.html":{},"entities/News.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":11340,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":11396,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":11436,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":11335,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":11370,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules.html":{}}}],["fwulearningcontentstestmodule",{"_index":11381,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules.html":{}}}],["fwulearningcontentsuc",{"_index":11345,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":6576,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":21317,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":24166,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["general",{"_index":10536,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2409,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":23565,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":500,"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/SystemFactory.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":17660,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3533,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3545,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":20531,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatebrokersystems(systems",{"_index":20536,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatechecksum",{"_index":2191,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2213,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":12318,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":12326,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":6496,"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":2467,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2470,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":20564,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.id",{"_index":20566,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":20567,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":20568,"title":{},"body":{"injectables/SystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":20570,"title":{},"body":{"injectables/SystemService.html":{}}}],["generateemptydashboard",{"_index":7991,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8004,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16230,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16241,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16231,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16245,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1581,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1591,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":21726,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":21731,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":17592,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":17605,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":17634,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":17596,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16243,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":12505,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":12564,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["generatesharetoken",{"_index":21427,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":24174,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_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":{},"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":{},"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":17640,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":17587,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":17589,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":17613,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":17591,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":17595,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":17598,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":17602,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":17625,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":17630,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":17635,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:37",{"_index":17632,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:43",{"_index":17637,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":21428,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":17575,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":17578,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17548,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":17586,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":17658,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":17659,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":17661,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":507,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":24874,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":24215,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":987,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":19958,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":19959,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":12701,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["geschlecht",{"_index":19037,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["get('*/:fwulearningcontent",{"_index":11343,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":21814,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":21806,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":21631,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":21600,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":11655,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":11637,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/class",{"_index":11648,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":12142,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":12056,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":12136,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":12063,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":12096,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":2972,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":2976,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":21572,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":21545,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":21567,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":21550,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":21473,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":6858,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":21621,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":21597,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":296,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":15960,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":17909,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":17899,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':roomid/board",{"_index":18735,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":21891,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21876,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolid/migration",{"_index":14806,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["get(':schoolid/migration')@authenticate('jwt')@apifoundresponse({description",{"_index":14777,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":23023,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":23001,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":22913,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":22869,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":22910,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":22875,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":22907,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":22879,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":3776,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":21142,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":19727,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":12047,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17180,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17105,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":16935,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":16867,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":16903,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":16900,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":16928,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":12050,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":21482,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":21654,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":21643,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":20623,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17176,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17095,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":12060,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('login/:systemid",{"_index":17091,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('loginrequest/:challenge",{"_index":16863,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":21993,"title":{},"body":{"controllers/UserController.html":{}}}],["get('oauth",{"_index":17110,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('oauth/migration",{"_index":17186,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('oauth/migration')@authenticate('jwt')@apiokresponse({description",{"_index":17098,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('page",{"_index":22537,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["get('params/:id",{"_index":12053,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":20373,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":20354,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":20379,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":20360,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":21488,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":21478,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":22258,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":22206,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":20076,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":12072,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":13579,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":22212,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":21593,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":312,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":10895,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":10286,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1074,"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":11341,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1529,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["get(url",{"_index":12328,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":12109,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":13937,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":13943,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14093,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":12030,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":12123,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":12046,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15176,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13510,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":12014,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":10375,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3339,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3361,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":10177,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":10193,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18335,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18351,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthenticationurl",{"_index":16386,"title":{},"body":{"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{}}}],["getauthenticationurl(oauthconfig",{"_index":16404,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getauthenticationurl(session",{"_index":17088,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getauthtoken",{"_index":18484,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getavailabletoolsforcontext",{"_index":9101,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":21472,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":9112,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":9102,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":21477,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":9114,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2237,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2192,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2222,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":18788,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":18792,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3147,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3153,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":2928,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":2946,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":4872,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":4888,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":2929,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":2950,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":1908,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":1915,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":20955,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":20973,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":20956,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":20975,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":9511,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18028,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2702,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":10373,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4049,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4063,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":2814,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3253,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14094,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14095,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":17731,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8119,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":17733,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":20113,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":21470,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":21481,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":21471,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":21487,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":16809,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":16929,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":16816,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":16859,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":7706,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":12031,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":12049,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":12032,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":12115,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":12052,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":4811,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":6303,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":21544,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":6317,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":9177,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":6304,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":21549,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":6319,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18089,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18097,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":20701,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":20712,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18090,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18099,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":6832,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":13123,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["getcoursesfromuserspseudonym",{"_index":10178,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":10195,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":1909,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":1918,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":2816,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["getcurrentschoolyear",{"_index":19522,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":7978,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":7982,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":13938,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(currentuser",{"_index":15715,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getdata(input",{"_index":13945,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":17832,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8120,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8133,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8137,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":21012,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdeleteafter",{"_index":8407,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":8273,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionrequestid",{"_index":8275,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":15214,"title":{},"body":{"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":20702,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":20716,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":20703,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":20718,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":22735,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":22747,"title":{},"body":{"injectables/UserService.html":{}}}],["getdomain",{"_index":8267,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":20041,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":7651,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":7676,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2705,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":8761,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":8768,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":718,"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/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/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":10124,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":10132,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":10955,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":4923,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":580,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":587,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":11598,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14177,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":9930,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":21596,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":9941,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":9300,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":9312,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":21580,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":21632,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":21599,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":6519,"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":21276,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":21288,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":21277,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":21290,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":10869,"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":11127,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":11156,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":11140,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":21278,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":21292,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":21279,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":21294,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17300,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17306,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":13308,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":7652,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14248,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14238,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":17568,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":17570,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":11342,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":13337,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4288,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":7653,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":10179,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":10197,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":11635,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1050,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["geth5pcontentparams",{"_index":11443,"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":12033,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":12143,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":12055,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":11450,"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":11449,"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":11423,"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":4033,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":19550,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17080,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17093,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":7654,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14178,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14203,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":17957,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":17976,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15218,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":19551,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":19554,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":18433,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9211,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":581,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":596,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4284,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":17725,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":22097,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtforuser",{"_index":17195,"title":{},"body":{"injectables/OauthUc.html":{}}}],["getjwtforuser(userid",{"_index":17199,"title":{},"body":{"injectables/OauthUc.html":{}}}],["getjwtfromresponse",{"_index":21341,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1570,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":21727,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":21733,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapdn",{"_index":4290,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":12739,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlessonlinkedtasks",{"_index":12740,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlessonmaterials",{"_index":12741,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getlibrary",{"_index":12103,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":11461,"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":12110,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":12058,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":11463,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":15435,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":15438,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":16848,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":16917,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":16971,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":16862,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginurl",{"_index":22562,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getloginurl(system",{"_index":22570,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getlogmessage",{"_index":1343,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaxsubmissions",{"_index":13315,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2193,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2224,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":23052,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":6843,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["getmetadatastorage",{"_index":8824,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":11464,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmigration",{"_index":14773,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{}}}],["getmigration(schoolid",{"_index":14947,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["getmigration(schoolparams",{"_index":14775,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["getmigrationconsentpageredirect",{"_index":22563,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrationconsentpageredirect(officialschoolnumber",{"_index":22572,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrationpagedetails",{"_index":22535,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationpagedetails(@query",{"_index":22542,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationpagedetails(pagetypequery",{"_index":22536,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["getmigrationredirecturi",{"_index":22564,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["getmigrations",{"_index":22193,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":22210,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":22465,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":8271,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4276,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/Group.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getnewh5peditor",{"_index":12034,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":12137,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":12062,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16146,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16160,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":12735,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getnumberofplannedtasks",{"_index":12737,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getnumberofpublishedtasks",{"_index":12731,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getoauth2client",{"_index":16777,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":16786,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17048,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13497,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":12245,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":12252,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":18902,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":682,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":700,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":8269,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":7895,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":7909,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3685,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3692,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":5371,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":11600,"title":{},"body":{"classes/Group.html":{}}}],["getpagecontent",{"_index":22459,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["getpagecontent(pagetype",{"_index":22467,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["getparametervalue",{"_index":2603,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2640,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":12726,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":13367,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentinfo",{"_index":10732,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getpath",{"_index":21342,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getpath(routenameinput",{"_index":1562,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getpermittedcourses",{"_index":21013,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":21028,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":10125,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":10134,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":21070,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":21014,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":21031,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":10087,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":10093,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":10088,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":10095,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":12035,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":12097,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":12065,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":17729,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpostloginredirecturl",{"_index":16387,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getpostloginredirecturl(idtoken",{"_index":16406,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getpresentationurl",{"_index":2241,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":17670,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":17680,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":17685,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":17699,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":10733,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getpropertyvalue",{"_index":8820,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":8831,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1668,"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/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":{}}}],["getprotectedroles",{"_index":18607,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningstrategy",{"_index":17822,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":17834,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":17876,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":17897,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":7256,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":16549,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":19536,"title":{},"body":{"classes/Scope.html":{}}}],["getrcid",{"_index":18482,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getredirecturi",{"_index":16388,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getredirecturi(migration",{"_index":16409,"title":{},"body":{"injectables/OAuthService.html":{}}}],["getreferences",{"_index":7711,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":7655,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":7684,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":17958,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":17978,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16147,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16164,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3125,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":22736,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":22749,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3045,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3087,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":5373,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1272,"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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":18725,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":18734,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":17727,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":481,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2239,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":3767,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.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":9169,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":8721,"title":{},"body":{"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":4108,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":8717,"title":{},"body":{"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":3791,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":8718,"title":{},"body":{"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":4109,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":9170,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":9969,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":9171,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":9970,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":8719,"title":{},"body":{"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":3790,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":8720,"title":{},"body":{"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":4110,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":21216,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":14911,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":14918,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":14912,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":14920,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":14913,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":14922,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":19298,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":21875,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":19309,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":21867,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":21878,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolid",{"_index":4278,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsecuritytoken",{"_index":10706,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["getseedfolder",{"_index":12520,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["getservice",{"_index":10302,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":10293,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":6837,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4294,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4296,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":8411,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":3937,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6809,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":6820,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":3744,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":3755,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":13331,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":13142,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["getsubstitutionteacherids",{"_index":6813,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":6826,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4292,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":20351,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":20380,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":20359,"title":{},"body":{"controllers/SystemController.html":{}}}],["gettargetfilters",{"_index":16148,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16167,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":12522,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":8405,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":8409,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":12727,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["getteacherids",{"_index":4282,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":6824,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":13126,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["gettempfile",{"_index":12106,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":9103,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":9116,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":9104,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":9118,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":12036,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":12071,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":6776,"title":{},"body":{"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/ICourseProperties.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":18429,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":23356,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4029,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3340,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3363,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolid",{"_index":17878,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":21640,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":21641,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":21759,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":21798,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":21841,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":21800,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":21851,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":21799,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":21805,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":21853,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4521,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":11602,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":9510,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":2818,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["geturl",{"_index":1208,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2226,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1219,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":10089,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":22751,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":10097,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13511,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13534,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":10180,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":10200,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":7656,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4280,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1030,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getusername",{"_index":18480,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getuserparams",{"_index":21972,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":658,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":10181,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":10202,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3123,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":10090,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":10099,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":7979,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":7984,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":10182,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":10204,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":10091,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":10101,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1862,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1871,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":1896,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":1897,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":5955,"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":23050,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":23054,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14096,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getyear",{"_index":4286,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":24103,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":24682,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":15907,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":11743,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":23363,"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":23295,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":23311,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":23359,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":23633,"title":{},"body":{"license.html":{}}}],["given",{"_index":274,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/LegacySchoolController.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":13224,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["gives",{"_index":10161,"title":{},"body":{"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":23639,"title":{},"body":{"license.html":{}}}],["global",{"_index":6688,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":11471,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":8910,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":13897,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":7550,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":11473,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":24337,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":24338,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":11540,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":17639,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":23418,"title":{},"body":{"license.html":{}}}],["go",{"_index":22922,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":24060,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":23488,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":24545,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1224,"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":21367,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":24235,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":14685,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":23756,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":23489,"title":{},"body":{"license.html":{}}}],["grace",{"_index":19423,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":22440,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":12935,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["gradecomment",{"_index":13104,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["graded",{"_index":3819,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":13338,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4270,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["grant",{"_index":1389,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":113,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":114,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1393,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":16586,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":23573,"title":{},"body":{"license.html":{}}}],["grants",{"_index":23818,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":12394,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ISystemProperties.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":15764,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"modules.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":23685,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":23980,"title":{},"body":{"license.html":{}}}],["grep",{"_index":24731,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7077,"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":7992,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":7716,"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":7935,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":7793,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":7784,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":7959,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":7952,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":7950,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":7957,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8034,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":7707,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":7823,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["gridelementwithposition",{"_index":7682,"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":7657,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":7688,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":7677,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":7685,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":975,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.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/ICourseGroupProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/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":11759,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":11770,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(user",{"_index":17371,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":16702,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":8958,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":18374,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":8962,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":18375,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":8966,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":18371,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":8965,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":18370,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":8960,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":8961,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":18372,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":8963,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":18373,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":8968,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":11787,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":11687,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19121,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19124,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.laufzeit?.bis",{"_index":19123,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.laufzeit?.von",{"_index":19122,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19113,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":11784,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17396,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":11624,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1058,"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":11789,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17482,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17484,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17395,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15100,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7035,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7038,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7037,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7036,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.type",{"_index":11785,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":11786,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":10220,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":11615,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["groupcontroller",{"_index":11622,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":7738,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":11659,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":11762,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":11758,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":11769,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":11695,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":7833,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":6763,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":11763,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":11669,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":11681,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes.class",{"_index":11684,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":11683,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":11705,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16236,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":11934,"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":11938,"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":11936,"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":7715,"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":11636,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":6742,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":7740,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1039,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1043,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3672,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":7735,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":11619,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{},"modules.html":{}}}],["groupname",{"_index":1035,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":11741,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["groupprops",{"_index":11604,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["grouprepo",{"_index":11739,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":11643,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":11644,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":11654,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":11658,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":11639,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19092,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19126,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":11828,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19127,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1765,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":6722,"title":{},"body":{"entities/Course.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/ICourseProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.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":{}}}],["groupservice",{"_index":11738,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17386,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17390,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17389,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17394,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19108,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19095,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19109,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":11777,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":11803,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":8964,"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":11685,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":11686,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":11691,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuc",{"_index":11620,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":11869,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":11591,"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":11890,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":11714,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":11892,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":11610,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":11677,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":11912,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16284,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16297,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16303,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":11779,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":11925,"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":11682,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":11940,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":19011,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":19019,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":19024,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":19020,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gruppenzugehoerigkeiten",{"_index":19117,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["gt",{"_index":3657,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7170,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":577,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":24352,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":11943,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15293,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15290,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15288,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15298,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15297,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":11950,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2118,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":24089,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2020,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":23087,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":24615,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":19061,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":5843,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5p",{"_index":1125,"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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":21311,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_library",{"_index":10523,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":12191,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontent",{"_index":5934,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IH5PContentProperties.html":{}}}],["h5pcontentfactory",{"_index":11962,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":11967,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":11975,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":11431,"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":11984,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":5930,"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/IH5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17538,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":11968,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentrepo",{"_index":12009,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":11424,"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":12025,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":12120,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":11425,"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":12145,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":11410,"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":12141,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":12166,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":12167,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":12168,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":12173,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules.html":{}}}],["h5peditorprovider",{"_index":12190,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":12186,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":12194,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{},"modules.html":{}}}],["h5peditoruc",{"_index":12088,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":12205,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":12201,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":12131,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":11460,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5pplayerprovider",{"_index":12192,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":11432,"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":12155,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":12212,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":12219,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":21937,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":8710,"title":{},"body":{"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":3084,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":18765,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":18769,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handled",{"_index":3913,"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":115,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15333,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2604,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2644,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":24049,"title":{},"body":{"todo.html":{}}}],["handlerejections",{"_index":15334,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handles",{"_index":24600,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":6685,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.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":16444,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":24371,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":10538,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccesstoentity",{"_index":1699,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1704,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":20242,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":20248,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1700,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1708,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1701,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1710,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2109,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2662,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":10007,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameternames(oldparams",{"_index":10018,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterregex",{"_index":10008,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterregex(newparams",{"_index":10020,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterscope",{"_index":10009,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparameterscope(newparams",{"_index":10023,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparametertypes",{"_index":10010,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedparametertypes(newparams",{"_index":10025,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedrequiredparameters",{"_index":10011,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":10027,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["haschild",{"_index":2791,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":2807,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hascontextexternaltool",{"_index":9081,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":18716,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":18698,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":18702,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":18699,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":18704,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":9384,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":9395,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":10722,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasfeature",{"_index":14914,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":14925,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":11402,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":15458,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14522,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14137,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":15460,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":15462,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":7705,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2182,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15101,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":18700,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":18706,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":13759,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":13767,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmigrated",{"_index":15825,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["hasname",{"_index":10718,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasname(name",{"_index":10717,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":10012,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":10029,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["hasnewspermission",{"_index":24843,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1702,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1712,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3639,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":20933,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":20935,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15108,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":20243,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":20250,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":20244,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":20252,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15110,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18308,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18315,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1735,"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/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":1875,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1842,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1848,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":10147,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{}}}],["hasreadaccess",{"_index":20245,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":20255,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":20940,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":10721,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":10724,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["hasschoolmigrated",{"_index":19388,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":19401,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4593,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":19405,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hastaskreadpermission",{"_index":18701,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":18708,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17514,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17516,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2110,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":22454,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15105,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2183,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":10725,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["haswriteaccess",{"_index":20246,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":20257,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3624,"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":18869,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":18887,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1488,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerconst",{"_index":1502,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1547,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":12368,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1079,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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":18903,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":18904,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":18975,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":23474,"title":{},"body":{"license.html":{}}}],["height",{"_index":3275,"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":4041,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4086,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":19661,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":19663,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":5423,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":6779,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":5574,"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":3044,"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":20607,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":6592,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":6594,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":6596,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":6607,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":6605,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":6601,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":19957,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:13",{"_index":21772,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":21387,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:26",{"_index":21773,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":19960,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:51",{"_index":21774,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":21386,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":6591,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":6400,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":6412,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":6415,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":6416,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":6407,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":6414,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":6411,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":6405,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":6636,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:10",{"_index":6648,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:30",{"_index":6641,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:39",{"_index":6645,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":6595,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":6417,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":24336,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":24513,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":4927,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":24498,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":24147,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":6386,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2427,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"classes/FileMetadata.html":{},"interfaces/ICourseGroupProperties.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":23860,"title":{},"body":{"license.html":{}}}],["hex",{"_index":575,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15340,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3476,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":4922,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":5386,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":24296,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":24223,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":24784,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":4939,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5584,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":24019,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":24653,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":15457,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":23797,"title":{},"body":{"license.html":{}}}],["holders",{"_index":23762,"title":{},"body":{"license.html":{}}}],["holds",{"_index":24862,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":24008,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":24313,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homeworkid",{"_index":13107,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["homeworkid'})@index",{"_index":20036,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":13282,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":24872,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":470,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":23278,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":6780,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":24293,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1195,"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":11508,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":11518,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":24671,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1201,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":23692,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13434,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":24053,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["household",{"_index":23710,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2080,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5166,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1463,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1464,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1465,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5174,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":18422,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1368,"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":1370,"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":1295,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.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":12917,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":24870,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":24669,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":23427,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14266,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":24691,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14379,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":24662,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5350,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5351,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5337,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5339,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://mock.de",{"_index":20436,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/auth",{"_index":20425,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/jwks",{"_index":20429,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/logout",{"_index":20427,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mock.de/mock/auth/public/mocktoken",{"_index":20423,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://mockhost:3030/api/v3/sso/oauth",{"_index":20424,"title":{},"body":{"classes/SystemFactory.html":{}}}],["http://www.gnu.org/licenses",{"_index":24001,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5353,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5354,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5352,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5345,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5343,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":5426,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5344,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5342,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5300,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5349,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":5427,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5341,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5335,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":5425,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5298,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5306,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5302,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5304,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5283,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":11517,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":11519,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":2961,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(201",{"_index":8750,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(204",{"_index":2981,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21565,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15384,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":3730,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5051,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":12207,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":8928,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":24410,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3998,"title":{},"body":{"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.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":17164,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14267,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14380,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":24009,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":24340,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":21722,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":24617,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":24033,"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":10688,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2444,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":24056,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":24189,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":24380,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":7572,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":9259,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":24190,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":24192,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.tld/auth",{"_index":20431,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/logout",{"_index":20434,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/token",{"_index":20432,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":20433,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://nestjs.com",{"_index":24188,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":20438,"title":{},"body":{"classes/SystemFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":24018,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2392,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":18822,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/n21",{"_index":14952,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["https://url.com",{"_index":7570,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":7524,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":5794,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":7532,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5177,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":5428,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":7544,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18051,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":7540,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":24193,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":7534,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":963,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.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":1284,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":14611,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1291,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.conflict",{"_index":3929,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":11334,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":9282,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":8815,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":11647,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":3883,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1696,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationError.html":{}}}],["httpstatus.unprocessable_entity",{"_index":3736,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":5582,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":12401,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17068,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_public_uri",{"_index":12242,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraadapter",{"_index":17067,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":6390,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":12381,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":12382,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":12274,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":12278,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthuc",{"_index":12239,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":12264,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":12353,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":12250,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17127,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":12390,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":12397,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":12392,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":12400,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":12407,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":6783,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":12628,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["i.width",{"_index":15789,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":23287,"title":{},"body":{"dependencies.html":{}}}],["iaccountconfig",{"_index":12410,"title":{"interfaces/IAccountConfig.html":{}},"body":{"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["iat",{"_index":7264,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2199,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icalendarevent",{"_index":3980,"title":{"interfaces/ICalendarEvent.html":{}},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"interfaces/ICalendarEvent.html":{}}}],["iclassentityprops",{"_index":4335,"title":{"interfaces/IClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/IClassEntityProps.html":{}}}],["icleanoptions",{"_index":12418,"title":{"interfaces/ICleanOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["icollaborativestoragestrategy",{"_index":4616,"title":{"interfaces/ICollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["icollectionfilepath",{"_index":12501,"title":{"interfaces/ICollectionFilePath.html":{}},"body":{"interfaces/ICollectionFilePath.html":{}}}],["icolumnboardproperties",{"_index":4853,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgeconfig",{"_index":12683,"title":{"interfaces/ICommonCartridgeConfig.html":{}},"body":{"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IServerConfig.html":{}}}],["icommoncartridgeelement",{"_index":5226,"title":{"interfaces/ICommonCartridgeElement.html":{}},"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/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgefile",{"_index":5267,"title":{"interfaces/ICommonCartridgeFile.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFile.html":{}}}],["icommoncartridgefilebuilder",{"_index":5202,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgefilebuilderoptions",{"_index":5209,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5269,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5324,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5326,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5218,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5216,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5122,"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":5129,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":5398,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icomponentetherpadproperties",{"_index":12695,"title":{"interfaces/IComponentEtherpadProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentgeogebraproperties",{"_index":12705,"title":{"interfaces/IComponentGeogebraProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentinternalproperties",{"_index":12710,"title":{"interfaces/IComponentInternalProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentlernstoreproperties",{"_index":12707,"title":{"interfaces/IComponentLernstoreProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentnexboardproperties",{"_index":12709,"title":{"interfaces/IComponentNexboardProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icomponentproperties",{"_index":5119,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{}}}],["icomponenttextproperties",{"_index":12704,"title":{"interfaces/IComponentTextProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["icons",{"_index":24625,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":5858,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["icontentchange",{"_index":5860,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["icontentmetadata",{"_index":5833,"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icontextexternaltoolproperties",{"_index":6039,"title":{"interfaces/IContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["icopyfiledo",{"_index":11148,"title":{"interfaces/ICopyFileDO.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["icopyfiledomainobjectprops",{"_index":6423,"title":{"interfaces/ICopyFileDomainObjectProps.html":{}},"body":{"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDomainObjectProps.html":{}}}],["icopyfilesofparentparams",{"_index":11245,"title":{"interfaces/ICopyFilesOfParentParams.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["icopyfilesrequestinfo",{"_index":6533,"title":{"interfaces/ICopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/ICopyFilesRequestInfo.html":{}}}],["icoremoduleconfig",{"_index":12758,"title":{"interfaces/ICoreModuleConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{}}}],["icoursegroupproperties",{"_index":7005,"title":{"interfaces/ICourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["icourseproperties",{"_index":6773,"title":{"interfaces/ICourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["icreatenews",{"_index":12762,"title":{"interfaces/ICreateNews.html":{}},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["icurrentuser",{"_index":270,"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/LegacySchoolController.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/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":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.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":{},"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":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.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":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/IservProvisioningStrategy.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":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.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":{},"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":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.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/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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/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":{},"classes/SchoolParams.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":{},"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":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.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":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.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":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.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":21644,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":11638,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":234,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":244,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":242,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":240,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14433,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":19342,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":19347,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":19345,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":20368,"title":{},"body":{"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":256,"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":{},"classes/SystemIdParams-1.html":{}}}],["id.params.ts:11",{"_index":258,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:7",{"_index":6059,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6062,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams-1.html":{}}}],["id.pipe.ts",{"_index":24362,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":1895,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":1900,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14331,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":5608,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":5644,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":2831,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":126,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17263,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardmodelproperties",{"_index":7822,"title":{"interfaces/IDashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["idashboardrepo",{"_index":7995,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2404,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2206,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14049,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":23883,"title":{},"body":{"license.html":{}}}],["identified",{"_index":12227,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2418,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["identifier",{"_index":1312,"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":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiername",{"_index":16326,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["identifierref",{"_index":5292,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":12845,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/JwtValidationAdapter.html":{}}}],["identifies",{"_index":19926,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":5609,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":24659,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":2836,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"classes/OauthConfigDto.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementmodule",{"_index":616,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{},"modules.html":{}}}],["identitymanagementoauthservice",{"_index":13487,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"injectables/SystemService.html":{}}}],["identitymanagementoauthservice:24",{"_index":14371,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14372,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14374,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":583,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:113",{"_index":14415,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:126",{"_index":14416,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:131",{"_index":14405,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:136",{"_index":14417,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:14",{"_index":14403,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:152",{"_index":14418,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:46",{"_index":14420,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:62",{"_index":14422,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:76",{"_index":14414,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:84",{"_index":14411,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:98",{"_index":14412,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14321,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14320,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14205,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14208,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":4894,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":4895,"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/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":630,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":24105,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":543,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":176,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13516,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmoauthservice",{"_index":15273,"title":{},"body":{"injectables/LocalStrategy.html":{},"injectables/SystemService.html":{}}}],["idmreferenceid",{"_index":378,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":586,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14518,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":12773,"title":{},"body":{"interfaces/ICurrentUser.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14198,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13437,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":13188,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":565,"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":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4066,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.map((id",{"_index":2709,"title":{},"body":{"entities/Board.html":{}}}],["ids.map(async",{"_index":2398,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.params.ts",{"_index":4116,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4120,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3164,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":121,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.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":17295,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":13956,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13440,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13479,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenservice",{"_index":13448,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["ieditormodel",{"_index":11408,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["iencryptionservice",{"_index":9825,"title":{"interfaces/IEncryptionService.html":{}},"body":{"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["ientity",{"_index":2411,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithschool",{"_index":6760,"title":{"interfaces/IEntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["ientitywithtimestamps",{"_index":12790,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":8895,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["ierrortype",{"_index":3917,"title":{"interfaces/IErrorType.html":{}},"body":{"classes/BusinessError.html":{},"interfaces/IErrorType.html":{}}}],["iexternaltoolproperties",{"_index":9234,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["iexternaltoolpseudonymentityprops",{"_index":9465,"title":{"interfaces/IExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["if/else",{"_index":24482,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifederalstateproperties",{"_index":6704,"title":{"interfaces/IFederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["ifiledo",{"_index":11149,"title":{"interfaces/IFileDO.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["ifiledomainobjectprops",{"_index":10342,"title":{"interfaces/IFileDomainObjectProps.html":{}},"body":{"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IFileDomainObjectProps.html":{}}}],["ifilerecordparams",{"_index":11249,"title":{"interfaces/IFileRecordParams.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["ifilerecordproperties",{"_index":10684,"title":{"interfaces/IFileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ifilerecordsecuritycheckproperties",{"_index":10676,"title":{"interfaces/IFileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ifilerequestinfo",{"_index":6531,"title":{"interfaces/IFileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.html":{}}}],["ifilesstorageclientconfig",{"_index":11257,"title":{"interfaces/IFilesStorageClientConfig.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IServerConfig.html":{}}}],["ifilestats",{"_index":10507,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ifilestorageconfig",{"_index":12796,"title":{"interfaces/IFileStorageConfig.html":{}},"body":{"interfaces/IFileStorageConfig.html":{}}}],["ifindoptions",{"_index":7150,"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":{},"interfaces/IPagination.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":5866,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":24758,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13481,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2340,"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/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2435,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14026,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":7679,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5pcontentproperties",{"_index":5931,"title":{"interfaces/IH5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{}}}],["iidentitymanagementconfig",{"_index":12831,"title":{"interfaces/IIdentityManagementConfig.html":{}},"body":{"interfaces/IIdentityManagementConfig.html":{},"interfaces/IServerConfig.html":{},"injectables/LocalStrategy.html":{}}}],["iimportuserproperties",{"_index":12837,"title":{"interfaces/IImportUserProperties.html":{}},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{}}}],["iimportuserrolename",{"_index":12843,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":12882,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["iinstalledlibrary",{"_index":10513,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":11409,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["iinterceptorconfig",{"_index":12760,"title":{"interfaces/IInterceptorConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/IInterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["ijsonaccount",{"_index":12888,"title":{"interfaces/IJsonAccount.html":{}},"body":{"interfaces/IJsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["ijsonuser",{"_index":12892,"title":{"interfaces/IJsonUser.html":{}},"body":{"interfaces/IJsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":12894,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":12901,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilearnroom",{"_index":6761,"title":{"interfaces/ILearnroom.html":{}},"body":{"entities/Course.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["ilearnroomelement",{"_index":2682,"title":{"interfaces/ILearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["ilegacylogger",{"_index":12907,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilessonparent",{"_index":6769,"title":{"interfaces/ILessonParent.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["ilessonproperties",{"_index":12699,"title":{"interfaces/ILessonProperties.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{}}}],["ilibrarymetadata",{"_index":10514,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":5863,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iloggerconfig",{"_index":12761,"title":{"interfaces/ILoggerConfig.html":{}},"body":{"interfaces/ICoreModuleConfig.html":{},"interfaces/ILoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["iltitoolproperties",{"_index":7351,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["im",{"_index":4938,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":15768,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":9327,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":9322,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":9325,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":21390,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":9307,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":9359,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":17626,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":15754,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":15757,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":12229,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["images[0",{"_index":15791,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":15792,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":9358,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3283,"title":{},"body":{"classes/BoardDoBuilderImpl.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":15226,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":5796,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":5798,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":10289,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":10300,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imaterialproperties",{"_index":12926,"title":{"interfaces/IMaterialProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["imigrationoptions",{"_index":12434,"title":{"interfaces/IMigrationOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["immediately",{"_index":10166,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":9995,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":23376,"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":24645,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":7346,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["impersonates",{"_index":12772,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["impl",{"_index":3369,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3226,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:113",{"_index":3244,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:128",{"_index":3245,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:142",{"_index":3246,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:157",{"_index":3247,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:175",{"_index":3242,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:189",{"_index":3237,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:194",{"_index":3254,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:200",{"_index":3252,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3250,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:30",{"_index":3233,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:39",{"_index":3241,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:43",{"_index":3239,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:60",{"_index":3238,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:75",{"_index":3235,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:99",{"_index":3243,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":24879,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":14743,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2494,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/UserLoginMigrationUc.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":24222,"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":13996,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17475,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":24254,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1147,"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/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.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":{},"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":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.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":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.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/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/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/SchoolYearEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":24391,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":24775,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":24796,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":23905,"title":{},"body":{"license.html":{}}}],["implies",{"_index":5628,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"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":{},"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":{},"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/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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.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/OAuthMigrationError.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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/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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.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":{},"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":19759,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":19763,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":19762,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":13751,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":13608,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":11282,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":13658,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":19962,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":21928,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":22505,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":13561,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":24706,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":15842,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":19341,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":22549,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":13679,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":13726,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:12",{"_index":13732,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:5",{"_index":13730,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":18577,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":22510,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":14572,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":13750,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":353,"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":8080,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8100,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8088,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8081,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8098,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8091,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":12597,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":12594,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["importhash",{"_index":13420,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["importing",{"_index":23851,"title":{},"body":{"license.html":{}}}],["imports",{"_index":225,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionModule.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":{},"interfaces/ICollectionFilePath.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":14482,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":19694,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":19701,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":19877,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":12849,"title":{"entities/ImportUser.html":{}},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":13700,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":13696,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":13701,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":13694,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":13697,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":13695,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":13703,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":13698,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":13772,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":13702,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":13798,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13560,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":13794,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":13797,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":13643,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":13651,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":13674,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":13618,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":13621,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":13609,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":13623,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":13600,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":13617,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":13616,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":13622,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":13627,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":13688,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":13723,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":22526,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":13745,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["importuserrepo",{"_index":13749,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":13610,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":12848,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":19344,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":13771,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":13687,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":13691,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":13692,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":13582,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":23782,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":23908,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16139,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":23470,"title":{},"body":{"license.html":{}}}],["improves",{"_index":24443,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5356,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5309,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5308,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5307,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":21589,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":24316,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":23960,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":23963,"title":{},"body":{"license.html":{}}}],["inamematch",{"_index":12886,"title":{"interfaces/INameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["inc",{"_index":23426,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":23957,"title":{},"body":{"license.html":{}}}],["include",{"_index":2420,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":6409,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16235,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":10951,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":23661,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1124,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":12805,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":12808,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IServerConfig.html":{}}}],["incomplete",{"_index":12101,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":23473,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":23926,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":23712,"title":{},"body":{"license.html":{}}}],["increase",{"_index":10050,"title":{},"body":{"injectables/ExternalToolVersionService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":10013,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":10031,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["indefinitely",{"_index":5565,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":23778,"title":{},"body":{"license.html":{}}}],["independent",{"_index":23651,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"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/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.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":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"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":{},"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":{},"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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"classes/UserAndAccountTestFactory.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":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.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":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":10657,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3616,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":7805,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":6751,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":21962,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":6997,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":7803,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":20592,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":7889,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":6746,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15037,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":10649,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3612,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":10652,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":24015,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":8053,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":12627,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["indicate",{"_index":23822,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":7307,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":23659,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":23504,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":23721,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1499,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inewsproperties",{"_index":7101,"title":{"interfaces/INewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["inewsscope",{"_index":12770,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":13678,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":22874,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15308,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":5658,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4389,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4396,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4401,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4400,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4398,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4395,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4397,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4403,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4399,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":13058,"title":{},"body":{"interfaces/IScopeInfo.html":{}}}],["info.mapper",{"_index":16033,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":19368,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":19370,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":19767,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":19771,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":19770,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":19769,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":19768,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4430,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2162,"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":23047,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4422,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":19376,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":22173,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4419,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4424,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":22172,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4423,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4421,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4418,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":19375,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4420,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4425,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":12757,"title":{},"body":{"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":23040,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":23049,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:12",{"_index":23051,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:19",{"_index":23053,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:74",{"_index":23055,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":23013,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":23015,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":23698,"title":{},"body":{"license.html":{}}}],["information",{"_index":1306,"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":4930,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":15674,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":6475,"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":1436,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14053,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":23122,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":3983,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":4728,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3513,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8056,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":11278,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/database/mongo",{"_index":11387,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":9382,"title":{},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.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":1776,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16221,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":12503,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":599,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/IServerConfig.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{}}}],["infra/mail",{"_index":19608,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":17756,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":9381,"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":11215,"title":{},"body":{"modules/FilesStorageModule.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":8898,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.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":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":11146,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":19609,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":10337,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.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":{},"classes/H5pFileDto.html":{},"interfaces/IFileStorageConfig.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":24326,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":19651,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":23820,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":23848,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":23515,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2422,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":24779,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16104,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":382,"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/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":{},"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":{},"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":{},"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/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":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.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/OAuthMigrationError.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.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/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationError.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":3908,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":12319,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":12330,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":14630,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialized",{"_index":18055,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8191,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":23843,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":12775,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":12256,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":12292,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":639,"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":{},"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":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.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":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.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":1234,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('dashboard_repo",{"_index":8025,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["inject('icollaborativestoragestrategy",{"_index":4641,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('mail_service_options",{"_index":15660,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1019,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2247,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14058,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":9854,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":17686,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3157,"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":11397,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":21314,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":14551,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14115,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":12513,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["inject(redis_client",{"_index":19646,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":18911,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":18912,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":9328,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":24901,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":539,"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/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/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/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{}},"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/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/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":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IRepoLoader.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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{},"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":541,"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/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/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/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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/ExternalToolVersionService.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/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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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/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/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/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.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":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":10162,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":12644,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["injecting",{"_index":24894,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":14745,"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":24852,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1363,"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":1362,"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":13010,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":5390,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":12996,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerrole.resolvepermissions",{"_index":12997,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerroles",{"_index":12993,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["innerroles.foreach((innerrole",{"_index":12995,"title":{},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["input",{"_index":2220,"title":{},"body":{"injectables/BBBService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IParentInfo.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.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":19060,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.dto.ts",{"_index":16709,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":16711,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":16712,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":16710,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.mapper",{"_index":17844,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":17868,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":17871,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":13975,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":19059,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":13961,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["inputdto",{"_index":17852,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14540,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3286,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":18440,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":5781,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":13288,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3580,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1558,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inputpath.charat(pos",{"_index":1555,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["inputroles",{"_index":17524,"title":{},"body":{"injectables/PermissionService.html":{}}}],["insensitive",{"_index":13828,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8143,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":3915,"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":24730,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":24616,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":23563,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":23725,"title":{},"body":{"license.html":{}}}],["installed",{"_index":23742,"title":{},"body":{"license.html":{}}}],["installedlibrary",{"_index":10524,"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":10565,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":10567,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":10569,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["instance",{"_index":5284,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.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/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":604,"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":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.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":{},"entities/Task.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":5813,"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":6782,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2396,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"entities/CourseGroup.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserLoginMigrationService.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":24333,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":7354,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":23628,"title":{},"body":{"license.html":{}}}],["integration",{"_index":11418,"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":12673,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["intended",{"_index":4204,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5172,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":23621,"title":{},"body":{"license.html":{}}}],["interact",{"_index":23994,"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":23921,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":23530,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":24266,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":23533,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":8686,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":8688,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":6693,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptormodule",{"_index":6676,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"modules.html":{}}}],["interchange",{"_index":23670,"title":{},"body":{"license.html":{}}}],["interest",{"_index":23836,"title":{},"body":{"license.html":{}}}],["interface",{"_index":105,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileSecurityCheckEntityProps.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/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.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/RejectRequestBody.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/ToolVersion.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.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/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/File.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/Meta.html":{},"entities/News.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"interfaces/Options.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":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.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":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.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/SuccessfulRes.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.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":{},"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":3941,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4012,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/json",{"_index":14548,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1615,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14073,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":13274,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1402,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":17795,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/page",{"_index":17451,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["interface/preview",{"_index":10663,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18290,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1793,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interfaces",{"_index":107,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"injectables/ErrorLogger.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageClientAdapterService.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/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/InlineAttachment.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/LegacyLogger.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.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/RejectRequestBody.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolMigrationFlags.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/ToolVersion.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"injectables/UserUc.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":6534,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":14740,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfered",{"_index":23731,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1814,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":563,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"entities/CourseNews.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"classes/NewsListResponse.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":21924,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13445,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":1975,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":879,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internally",{"_index":18914,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2111,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":24277,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1226,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthSSOError.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":3623,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":6960,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":6834,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":4844,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":11353,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":19921,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('lessons",{"_index":12729,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":18861,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":17857,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":18956,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":18935,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":18944,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":18929,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":18949,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":13306,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":13310,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":16988,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":7944,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4502,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2266,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":16986,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":14877,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":12298,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":8903,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1257,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":12388,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":19707,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":12069,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":19713,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":15719,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":24278,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":23969,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":23562,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":23569,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":10163,"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":24370,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":24073,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":24012,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17035,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17050,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":13903,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":13011,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":285,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ICollectionFilePath.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":13914,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":5569,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalidate",{"_index":23648,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":13910,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":22902,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["inversion",{"_index":24220,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4268,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1044,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":24693,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":24729,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":24732,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipagination",{"_index":9501,"title":{"interfaces/IPagination.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{}}}],["iparentinfo",{"_index":10685,"title":{"interfaces/IParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ipath",{"_index":10515,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":11208,"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":{}}}],["irelatedresourceproperties",{"_index":12932,"title":{"interfaces/IRelatedResourceProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["irepoloader",{"_index":12951,"title":{"interfaces/IRepoLoader.html":{}},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["iretryoptions",{"_index":12431,"title":{"interfaces/IRetryOptions.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["iroleproperties",{"_index":12987,"title":{"interfaces/IRoleProperties.html":{}},"body":{"interfaces/IRoleProperties.html":{},"entities/Role.html":{}}}],["irrevocable",{"_index":23575,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":8641,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":2792,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":20112,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":2809,"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":5736,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":5740,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":3411,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(user",{"_index":3415,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":8676,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":5590,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.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/SchoolExternalToolPostParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":16527,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@ismongoid({each",{"_index":17506,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":5605,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":5548,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":6609,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":6619,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isauthenticated",{"_index":24887,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1567,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1566,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorizedstudent",{"_index":2516,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2527,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":9385,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":9397,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isblocked",{"_index":10719,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isboolean",{"_index":147,"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/MigrationBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SSOLoginQuery.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":7581,"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":7306,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":5552,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/MigrationBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":139,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2167,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":8923,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":8929,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4046,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["ischoolexternaltoolproperties",{"_index":13000,"title":{"interfaces/ISchoolExternalToolProperties.html":{}},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["ischoolproperties",{"_index":13008,"title":{"interfaces/ISchoolProperties.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ischoolyearproperties",{"_index":13050,"title":{"interfaces/ISchoolYearProperties.html":{}},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["isclientidunique",{"_index":9971,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":9976,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":4803,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":4827,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":4843,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":4820,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":8591,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3035,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3079,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":4976,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscopeinfo",{"_index":13056,"title":{"interfaces/IScopeInfo.html":{}},"body":{"interfaces/IScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["iscopyfrom",{"_index":10647,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["iscoursefinished",{"_index":13326,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":18714,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":9386,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":9399,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":807,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.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":7286,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":9387,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":9401,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":9388,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":9403,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":10415,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":3820,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskScope.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["isemail",{"_index":251,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17489,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":11588,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":6268,"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":17714,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":852,"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/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.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/PageContentQueryParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.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":853,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":838,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4516,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":7227,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.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":7236,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":8702,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":7596,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":7584,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":7595,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":7590,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":7597,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":7593,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":19954,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":6479,"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":11305,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":11306,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":11455,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":19964,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":8707,"title":{},"body":{"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":18424,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4263,"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":15483,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":15476,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":15484,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":15478,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":7301,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":7294,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(pagetypes",{"_index":17452,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":6491,"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":6493,"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(schoolyearquerytype",{"_index":4386,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":19686,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":19681,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":19969,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1796,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":16621,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":16607,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":20446,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":16620,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":16612,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":16533,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":16531,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2577,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2574,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6023,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6076,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6020,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":6378,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":23191,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":13952,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{}}}],["iserverconfig",{"_index":601,"title":{"interfaces/IServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/IServerConfig.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["iservlogouturl",{"_index":16460,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.searchparams.append('id_token_hint",{"_index":16462,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.searchparams.append('post_logout_redirect_uri",{"_index":16463,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservlogouturl.tostring",{"_index":16465,"title":{},"body":{"injectables/OAuthService.html":{}}}],["iservmapper",{"_index":13918,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":13973,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":13971,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":13935,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":17827,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isession",{"_index":16737,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["isexpired",{"_index":12214,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternaltoolelement(reference",{"_index":9186,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":7273,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{}}}],["isfeatherserror",{"_index":8924,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":8931,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":20120,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":20125,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":20133,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":10386,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":5704,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":5719,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":3821,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":13328,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":13320,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":13819,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":13837,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":9456,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":9389,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":9405,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":4569,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":4577,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["isgraded",{"_index":13152,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":13155,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["isgradedforuser(user",{"_index":13153,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":7708,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":23059,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["isharetokenproperties",{"_index":13078,"title":{"interfaces/IShareTokenProperties.html":{}},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{}}}],["ishidden",{"_index":7384,"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":12357,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1235,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17036,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15345,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15350,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":5591,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":5560,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":19676,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":848,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":842,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["islatest",{"_index":5448,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":5452,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3036,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3076,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":12748,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["islinkelement(reference",{"_index":15230,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2181,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":7373,"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":15482,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":15474,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1189,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":9016,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":9027,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismandatory",{"_index":19383,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["ismarked",{"_index":10852,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":10477,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3419,"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/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":13135,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["ismongoid",{"_index":808,"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/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/PageContentQueryParams.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/SchoolParams.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/SystemIdParams-1.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":6061,"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-1.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":3876,"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/SchoolParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6058,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":7291,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":15916,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":9151,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4117,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":9390,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":9407,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":5502,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":5495,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":8925,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":8934,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":16964,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":16949,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":16954,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":2735,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":809,"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":20021,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":20022,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3493,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.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":5586,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3490,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":15918,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3487,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15261,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":15932,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15257,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":9017,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":9029,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13498,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":16389,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16411,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":11448,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isolate",{"_index":24770,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":24530,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":24465,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":6974,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":249,"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/DownloadFileParams.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/MigrationBody.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/SSOLoginQuery.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":5612,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":5603,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isboolean",{"_index":386,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isboolean()@apiproperty",{"_index":19005,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":235,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":11315,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":390,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":21941,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4512,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":19952,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":11300,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":19963,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4384,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4514,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1788,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":7232,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":396,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":11310,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isstring",{"_index":388,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty",{"_index":19007,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":19760,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":243,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":11313,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1785,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":11286,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":21943,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text)@apipropertyoptional({description",{"_index":21939,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoutdated",{"_index":19443,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":22724,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":22066,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isowner",{"_index":22719,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":10727,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isplanned",{"_index":13330,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":19664,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":19662,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispossible",{"_index":19384,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["ispresenter",{"_index":2180,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":10730,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["ispropertyprivacyprotected",{"_index":8821,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":8833,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":22779,"title":{},"body":{"injectables/UserService.html":{}}}],["ispublished",{"_index":13329,"title":{},"body":{"interfaces/ITaskParent.html":{},"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":9391,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":9409,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":9392,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":9411,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":5792,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":5799,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":10265,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":20121,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":20126,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":20132,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":18444,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":5705,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":5720,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":7242,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":24436,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":19503,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":19505,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1554,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isslash(inputpath",{"_index":1552,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isstring",{"_index":248,"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/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/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/SSOLoginQuery.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/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2572,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":257,"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":{}}}],["isstring()@apiproperty({nullable",{"_index":17932,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":18300,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":20745,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":400,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":7579,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1113,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15202,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":5567,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6078,"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":20747,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7139,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":7297,"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":7284,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":20024,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstudent",{"_index":7163,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":8772,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":20048,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":8784,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":20184,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":8773,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":8788,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":8781,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":20130,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":20131,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":13133,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":13138,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["issubmittedforuser(user",{"_index":13134,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":3822,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1486,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":24162,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3081,"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":3037,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3072,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":13378,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7164,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":21185,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":7372,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":21728,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":21735,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istorageproviderproperties",{"_index":13089,"title":{"interfaces/IStorageProviderProperties.html":{}},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["isubmissionproperties",{"_index":13102,"title":{"interfaces/ISubmissionProperties.html":{}},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{}}}],["isuniqueemail",{"_index":920,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":924,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":921,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":926,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":922,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":928,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4391,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":8704,"title":{},"body":{"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GetMetaTagDataBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isurl()@apiproperty",{"_index":15206,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isurl()@apiproperty({required",{"_index":11469,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["isuserinfinisheduser",{"_index":13323,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17391,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isuserreferenced",{"_index":1703,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1714,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":13149,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["isusersubstitutionteacher(user",{"_index":6830,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":13352,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3311,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":5471,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":5488,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":10728,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["isvisible",{"_index":15106,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14039,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14046,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["isystemproperties",{"_index":13156,"title":{"interfaces/ISystemProperties.html":{}},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["it's",{"_index":24499,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":24464,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":24503,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":24505,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":24567,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itargetgroupproperties",{"_index":12933,"title":{"interfaces/ITargetGroupProperties.html":{}},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["itask",{"_index":13262,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{}}}],["itaskcreate",{"_index":13266,"title":{"interfaces/ITaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["itaskparent",{"_index":6771,"title":{"interfaces/ITaskParent.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["itaskproperties",{"_index":13267,"title":{"interfaces/ITaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{}}}],["itaskstatus",{"_index":3815,"title":{"interfaces/ITaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["itaskupdate",{"_index":13265,"title":{"interfaces/ITaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["iteamproperties",{"_index":13379,"title":{"interfaces/ITeamProperties.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{}}}],["iteamuserproperties",{"_index":13384,"title":{"interfaces/ITeamUserProperties.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["item",{"_index":3222,"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":3749,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":3763,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":7305,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":7309,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":4996,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":2885,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":20109,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:10",{"_index":20116,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:14",{"_index":20117,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:18",{"_index":20119,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:6",{"_index":20114,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":20135,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":20136,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":9445,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":20325,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":20145,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":20149,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":20150,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":20147,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":20151,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":20148,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":20146,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":8775,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":20172,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:11",{"_index":20173,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:14",{"_index":20176,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:24",{"_index":20175,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:44",{"_index":20178,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":12379,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":2767,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":20187,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":20189,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":20193,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":20195,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":20191,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":20207,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":20208,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":8793,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":7304,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":20064,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":3770,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":20319,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":20322,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":20323,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":20321,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":21945,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":9442,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":12232,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfileproperties",{"_index":12216,"title":{"interfaces/ITemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["itemporaryfilestorage",{"_index":21305,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":827,"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":{},"interfaces/IRoleProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["itemsperpage",{"_index":11932,"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":8530,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["itoolfeatures",{"_index":9054,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/ToolConfiguration.html":{}}}],["itoollaunchparams",{"_index":2606,"title":{"interfaces/IToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["itoollaunchstrategy",{"_index":13405,"title":{"interfaces/IToolLaunchStrategy.html":{}},"body":{"interfaces/IToolLaunchStrategy.html":{},"injectables/ToolLaunchService.html":{}}}],["itself",{"_index":1819,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.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":12769,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":11987,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserconfig",{"_index":13061,"title":{"interfaces/IUserConfig.html":{}},"body":{"interfaces/IServerConfig.html":{},"interfaces/IUserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["iuserloginmigration",{"_index":22311,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["iuserproperties",{"_index":13411,"title":{"interfaces/IUserProperties.html":{}},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.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":7568,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":22825,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ivideoconferencesettings",{"_index":13432,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2236,"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":21368,"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":24171,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":24578,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":24555,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":24563,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":24575,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":23395,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8169,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14489,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":22122,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":13654,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2138,"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":2230,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":22878,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":23075,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2150,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2116,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2121,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2124,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2125,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2122,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2123,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2120,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2155,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":23072,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":23067,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":23070,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":23069,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":23068,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":23073,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:11",{"_index":23074,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:18",{"_index":23076,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":23078,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":23085,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":23083,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":22881,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":10913,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":10934,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3642,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":23138,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":23291,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":9367,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":6777,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.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":1503,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":14569,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":12587,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.replace",{"_index":12646,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":12650,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify",{"_index":12555,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8068,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":8850,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2661,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1575,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1572,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":12613,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["json.stringify(where",{"_index":19570,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsondocuments",{"_index":3903,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["jsondocuments.length",{"_index":8141,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":5885,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["jsonwebtoken",{"_index":1443,"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":1623,"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":16558,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":12396,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":16557,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":16560,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":16561,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":16551,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1478,"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/OauthUc.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":13955,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1629,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":7259,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":16454,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":12291,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":13984,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1444,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14028,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1481,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1483,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1485,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1489,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1487,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1492,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14003,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14025,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14022,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14009,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1549,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1626,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1431,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1494,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1432,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":13990,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1612,"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":7341,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":7348,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":7343,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":7344,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":7347,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":7342,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":7345,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1587,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1423,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":7255,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":7313,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":7317,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1602,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1424,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1706,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":4921,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14126,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14297,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14273,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14129,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14131,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14289,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14274,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14294,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14308,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14319,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14313,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14276,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14314,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14311,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14315,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14243,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14239,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14133,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14450,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14425,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14528,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":14563,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14435,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14451,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14461,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14432,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14466,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14185,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14103,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14370,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14101,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14117,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14118,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":24637,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":12596,"title":{},"body":{"interfaces/ICollectionFilePath.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":8716,"title":{},"body":{"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":24120,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":19034,"title":{},"body":{"interfaces/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":23558,"title":{},"body":{"license.html":{}}}],["key",{"_index":1984,"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":{},"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":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.getpublickey",{"_index":16563,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.substring(path.length",{"_index":18970,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":568,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14080,"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":13492,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13494,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":24713,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14079,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14065,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13485,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules.html":{}}}],["keycloakadministrationservice",{"_index":14077,"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":14140,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14335,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14083,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14167,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14086,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":12899,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14147,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{},"modules.html":{}}}],["keycloakconfigurationservice",{"_index":14152,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":12425,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakconsole",{"_index":12438,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{}}}],["keycloakconsole.retryflags",{"_index":12455,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13493,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13495,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14142,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14156,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14494,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14154,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13486,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["keycloakseedservice",{"_index":14153,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":12904,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14438,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14442,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14446,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14458,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":7246,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":7254,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":7251,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":7245,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":567,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1653,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":24006,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1038,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":23526,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":23434,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":24226,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":23456,"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":24267,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":23873,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":23880,"title":{},"body":{"license.html":{}}}],["known",{"_index":12670,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":12398,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14123,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":4914,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19111,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":6785,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["l.course.isfinished()).map((l",{"_index":21044,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":21045,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15023,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":23403,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18348,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18350,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1108,"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/IH5PContentProperties.html":{},"interfaces/IUserProperties.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":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":12643,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["languagetype",{"_index":4260,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/IUserProperties.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":11457,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":11446,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4261,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":24479,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":23654,"title":{},"body":{"license.html":{}}}],["last",{"_index":7234,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14090,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":13414,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":19462,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":19461,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":19444,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":13214,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastname",{"_index":652,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonUser.html":{},"interfaces/INameMatch.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.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":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13854,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":12635,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["lastsuccessfulfullsync",{"_index":13212,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastsuccessfulpartialsync",{"_index":13213,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["lastsyncattempt",{"_index":13211,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.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":3737,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":965,"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":16570,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14378,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3455,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15195,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15198,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["laufzeit",{"_index":19013,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{}}}],["launch",{"_index":2651,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":21464,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":21639,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":21650,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":21667,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":21673,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":21678,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":21675,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":21681,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":21703,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":21708,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":21709,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":21725,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:22",{"_index":21730,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:38",{"_index":21732,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:51",{"_index":21734,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:73",{"_index":21738,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:86",{"_index":21736,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2650,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2589,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":21756,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:11",{"_index":21758,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:18",{"_index":21760,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":21707,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":21463,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":15872,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17474,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":21904,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":15503,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":21666,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":1893,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2587,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":15446,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":21724,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":24032,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":21702,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1651,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":17787,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":21658,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":21465,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":21755,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":7548,"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":5288,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":21751,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":21676,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":21649,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17479,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":21746,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2613,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2665,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2664,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":23517,"title":{},"body":{"license.html":{}}}],["laws",{"_index":23496,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":23846,"title":{},"body":{"license.html":{}}}],["lax",{"_index":17168,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":21775,"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":24378,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":24014,"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":17520,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13754,"title":{},"body":{"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/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15364,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":14610,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":8810,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":13022,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":20384,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":14571,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":14585,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":13159,"title":{"classes/LdapConfig.html":{}},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":13191,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.federalstate",{"_index":13192,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":13200,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":13196,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":13198,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":13194,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.provider",{"_index":13208,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.provideroptions",{"_index":13210,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.rootpath",{"_index":13203,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.searchuser",{"_index":13205,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.searchuserpassword",{"_index":13207,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconfig.url",{"_index":13201,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["ldapconnectionerror",{"_index":14605,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4271,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["ldapencryptionservice",{"_index":8801,"title":{},"body":{"modules/EncryptionModule.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IEncryptionService.html":{}}}],["ldapid",{"_index":12872,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["ldapjs",{"_index":14619,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":23297,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":20430,"title":{},"body":{"classes/SystemFactory.html":{}}}],["ldapschool",{"_index":13966,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":13034,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1425,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":14638,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1426,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":13023,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":13959,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":13968,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":14574,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4208,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":20909,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3306,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":23306,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":24109,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":7353,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":11337,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":5387,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3605,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DashboardModelMapper.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":14707,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":14692,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["learnroommetadata",{"_index":6765,"title":{},"body":{"entities/Course.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":14696,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["learnroomtypes",{"_index":6766,"title":{},"body":{"entities/Course.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/ICourseProperties.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":6844,"title":{},"body":{"entities/Course.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/ICourseProperties.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":6364,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":21396,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":24294,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":950,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LoggerModule.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.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":24848,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":24175,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":24152,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":24061,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2313,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.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":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.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":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschoolapimodule",{"_index":14757,"title":{"modules/LegacySchoolApiModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["legacyschoolcontroller",{"_index":14766,"title":{"controllers/LegacySchoolController.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{}}}],["legacyschooldo",{"_index":1964,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["legacyschooldofactory",{"_index":14841,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":14834,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":14842,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":5434,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthApiModule.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":{},"modules.html":{}}}],["legacyschoolrepo",{"_index":1427,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1766,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":1959,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["legacyschooluc",{"_index":14762,"title":{"injectables/LegacySchoolUc.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{}}}],["legal",{"_index":23464,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":18836,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":205,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":3548,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{}}}],["lernstore",{"_index":12702,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":13032,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":2696,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/ContentMetadata.html":{},"classes/DtoCreator.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.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":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":24836,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5154,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15143,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":18723,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":8661,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":20832,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":18682,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":8659,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2685,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":8664,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":8666,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":8662,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":8658,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":8657,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":14982,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5152,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":18680,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":18681,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":18679,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3471,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3475,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3485,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3486,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3482,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3491,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3488,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3480,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3489,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3483,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3492,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3484,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":20939,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.updatedat",{"_index":8660,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":19761,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":14975,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["lessonboardelement",{"_index":2695,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":14981,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":6640,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":6642,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3005,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":14698,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3103,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":3711,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2684,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15043,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15045,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":13281,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5121,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.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":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":20874,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":20839,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":20837,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":8623,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":14697,"title":{"modules/LessonModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["lessonname",{"_index":13280,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonreadpermission",{"_index":15084,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15094,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":1805,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["lessonrule",{"_index":1767,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5146,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":21043,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5148,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":21066,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15142,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15067,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5106,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/ShareTokenService.html":{}}}],["lessonuc",{"_index":14979,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlparams",{"_index":14988,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15085,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15096,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":24631,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":23481,"title":{},"body":{"license.html":{}}}],["level",{"_index":3610,"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":3656,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15327,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["liability",{"_index":23765,"title":{},"body":{"license.html":{}}}],["liable",{"_index":23514,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15196,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15197,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libraries",{"_index":1148,"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":12104,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1143,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["library",{"_index":10530,"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":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.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":{}}}],["libraryfileurlparams",{"_index":12059,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymetadata.addto",{"_index":10581,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":10583,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":10585,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":10586,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":10588,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":10589,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":10590,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":10591,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":10593,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":10594,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":10595,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":10572,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":10573,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":10597,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":10574,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":10576,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":10599,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":10600,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":10602,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":10605,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":10578,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":10606,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":10579,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":10603,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":10517,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1152,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1145,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":12178,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":12179,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["libs",{"_index":15191,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15192,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15193,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":5844,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":23500,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":23501,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":23503,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":5845,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["licenses",{"_index":23440,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":5846,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["licensing",{"_index":23824,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":23772,"title":{},"body":{"license.html":{}}}],["likes",{"_index":24641,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":23816,"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/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":{},"interfaces/IPagination.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":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":23954,"title":{},"body":{"license.html":{}}}],["limited",{"_index":23943,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":23764,"title":{},"body":{"license.html":{}}}],["line",{"_index":998,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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":{},"injectables/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":24206,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2232,"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":{},"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":5773,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":23567,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18205,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":2867,"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":5789,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18256,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":5800,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":5787,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":5785,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementcontent",{"_index":15231,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":8706,"title":{"classes/LinkElementContentBody.html":{}},"body":{"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":{}}}],["linkelementcontentbody)@apiresponse({status",{"_index":8741,"title":{},"body":{"controllers/ElementController.html":{}}}],["linkelementnode",{"_index":3210,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15239,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15229,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4055,"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":5709,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":5696,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15248,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":7547,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["linter",{"_index":24048,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":24213,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.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":{},"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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.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/SystemFactory.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":18889,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":20366,"title":{},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":814,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4123,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4121,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":818,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":5988,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":9805,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":12753,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["listconsentsessions",{"_index":16849,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":16936,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":16869,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17053,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17071,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listenercount",{"_index":2168,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1352,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":6523,"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":21298,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":11063,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":11071,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":11248,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":11266,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":11264,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":21333,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":16778,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":16788,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17055,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15253,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":18870,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":18891,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":18905,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":20088,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":10939,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2715,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":120,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.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/ICalendarEvent.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.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/SystemFactory.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":{}}}],["litigation",{"_index":23844,"title":{},"body":{"license.html":{}}}],["load",{"_index":1821,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":24025,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":24322,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1582,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1594,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14538,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":12530,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":12536,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":12981,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18295,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":12544,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["loaded",{"_index":4119,"title":{},"body":{"classes/CardIdsParams.html":{},"entities/Course.html":{},"injectables/ExternalToolUc.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":9952,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":9953,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":5476,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":5516,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":19329,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":9850,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":9891,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":10222,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":6357,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":9841,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":9997,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":9993,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1743,"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":{}}}],["loading",{"_index":21776,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":21778,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":4606,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":21729,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":21737,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14539,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1512,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.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":15266,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":6391,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":12383,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":12384,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":12352,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":12376,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":12371,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":12365,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":12369,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":12370,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":12377,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":12372,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":12374,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":12355,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":12354,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":12363,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1199,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":22690,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1191,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":24088,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":24726,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":24125,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":11237,"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":1428,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":24389,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":24304,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":7456,"title":{},"body":{"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":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":12356,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":12358,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":9697,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":9791,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":9740,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":12359,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":10424,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":646,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ICollectionFilePath.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":8384,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.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":12920,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.builder.ts",{"_index":8445,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["log.builder.ts:4",{"_index":8447,"title":{},"body":{"classes/DeletionRequestLogBuilder.html":{}}}],["log.do",{"_index":8318,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":8261,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":8265,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":8266,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":8268,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":8270,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":8272,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":8274,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":8276,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":8316,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":8289,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:21",{"_index":8292,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:24",{"_index":8294,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:27",{"_index":8293,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:30",{"_index":8290,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:33",{"_index":8291,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":8345,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":8310,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:19",{"_index":8314,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:32",{"_index":8312,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:36",{"_index":8313,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":8311,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":8333,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":8343,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":8341,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":8339,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":8337,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":8335,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.service.ts",{"_index":8356,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:10",{"_index":8360,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:13",{"_index":8362,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":8364,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":24050,"title":{},"body":{"todo.html":{}}}],["loggable",{"_index":1338,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.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/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/OauthAdapterService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.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/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":22320,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":22322,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":22321,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15354,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1334,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:10",{"_index":1354,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:13",{"_index":1355,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":9287,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:6",{"_index":9288,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":11505,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16172,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/oauth",{"_index":12267,"title":{},"body":{"injectables/HydraOauthUc.html":{},"controllers/OauthSSOController.html":{}}}],["loggable/preview",{"_index":17600,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":12910,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":21588,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2312,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"modules/CoreModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.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":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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":{},"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":{},"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":17772,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":3963,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":17786,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":24517,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":14741,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":12909,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":12919,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":12921,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":12916,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":12923,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":12913,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":3966,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15325,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":14719,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":14723,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":14729,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":14734,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":14726,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":14728,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":14727,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":14731,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":14725,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":14733,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":8694,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18291,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":19647,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":19655,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":8867,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":8878,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":8874,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":8876,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":8880,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":8872,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":19629,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":8835,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":8836,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggermodule",{"_index":214,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/DeletionModule.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/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["logging",{"_index":6686,"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":18368,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":8684,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":8687,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18356,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":8691,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18355,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":8884,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":8883,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":8886,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":11511,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":13140,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"injectables/OAuthService.html":{},"entities/Submission.html":{},"injectables/UserMigrationService.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":128,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/OAuthMigrationError.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1544,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.query.ts",{"_index":19004,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.query.ts:13",{"_index":19006,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.query.ts:8",{"_index":19008,"title":{},"body":{"classes/SSOLoginQuery.html":{}}}],["login.response",{"_index":16717,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":16714,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":16715,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":1637,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["login_challenge",{"_index":5595,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17264,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":5570,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":5596,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":5615,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1383,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1617,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":15433,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15358,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15386,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15361,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15359,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15392,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15368,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":11285,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":13857,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15360,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15372,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1507,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15401,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17015,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17016,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15365,"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":16996,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":16985,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":16716,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15379,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15388,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15395,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":5618,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1381,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginurl",{"_index":22560,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.searchparams.append('migration",{"_index":22636,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.searchparams.append('postloginredirect",{"_index":22635,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginurl.tostring",{"_index":22637,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["loginuseruc",{"_index":24355,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1339,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":8841,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1340,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15349,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logmigrationinformation",{"_index":22460,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["logmigrationinformation(userid",{"_index":22469,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["logo",{"_index":7567,"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":9984,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":9295,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":9306,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":9302,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":9304,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":9316,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":9311,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":9309,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":9313,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":9268,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":9271,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":9270,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":7365,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":9221,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":9355,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":5992,"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/IFederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":12776,"title":{},"body":{"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserMigrationService.html":{}}}],["logoutendpoint",{"_index":12399,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17001,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17003,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":16898,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17005,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2021,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ISystemProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{},"injectables/UserMigrationService.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1028,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":5580,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["lokalisierung",{"_index":19038,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["long",{"_index":5562,"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":24629,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":13994,"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":15262,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":24245,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":12813,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":633,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":559,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":585,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":597,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":588,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":19695,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":19711,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":19879,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":19827,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":19836,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":19828,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":19838,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":12293,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":23961,"title":{},"body":{"license.html":{}}}],["losses",{"_index":23964,"title":{},"body":{"license.html":{}}}],["lot",{"_index":24580,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":24299,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":24224,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":12873,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":8505,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3659,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5265,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":9575,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":9615,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":9620,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":9625,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":9622,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":9624,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":9623,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":9621,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":9614,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":15445,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":7519,"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":9672,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":9156,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":9223,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":7541,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":7562,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":9751,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":9676,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":9674,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":21701,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":7366,"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":7367,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":7516,"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":7546,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":7360,"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":7369,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":15571,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":7545,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":12325,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":15508,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":15513,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":15512,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":15511,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":15502,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":15515,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":15519,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":7352,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":15572,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":15573,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":15538,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":7364,"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":15595,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["ltitooldo",{"_index":7431,"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":15563,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":15569,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":15574,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{},"modules.html":{}}}],["ltitoolpromise",{"_index":16312,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":4673,"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":7363,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":15578,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13395,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":21334,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":5883,"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":11988,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":24718,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":10540,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1109,"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":10541,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":10532,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":16962,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1371,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/ISystemProperties.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfig.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":15659,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":15653,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail_service_options",{"_index":15654,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1358,"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":{}}}],["mailcontent",{"_index":1365,"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":{}}}],["mailmodule",{"_index":15648,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["mailmodule.forroot",{"_index":19614,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":15650,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailservice",{"_index":15652,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":15656,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":23407,"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":10296,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":5847,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["mainlibraryubername",{"_index":11453,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":23689,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":24197,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":15847,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":23555,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1110,"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":1728,"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":1132,"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":21938,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15029,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":10643,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["managed",{"_index":15391,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15370,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":600,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LocalStrategy.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SystemService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config.ts",{"_index":12833,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{}}}],["management.console",{"_index":15668,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3502,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8044,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3512,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8051,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8048,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3507,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8055,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":15671,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8077,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8090,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8087,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8084,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8096,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8093,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":24696,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":15680,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8111,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8112,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":24699,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8113,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:100",{"_index":13541,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8138,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:15",{"_index":8134,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:17",{"_index":13517,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:170",{"_index":14408,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:186",{"_index":14410,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8135,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:26",{"_index":13543,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8131,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:35",{"_index":13545,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8123,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:43",{"_index":13529,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:44",{"_index":8132,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:51",{"_index":13522,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8125,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:58",{"_index":8127,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:59",{"_index":13526,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8129,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8136,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:67",{"_index":13532,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:74",{"_index":13533,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8121,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:81",{"_index":13520,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:89",{"_index":13536,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:9",{"_index":14402,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.uc",{"_index":3518,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3528,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["management.uc.ts:13",{"_index":3535,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:16",{"_index":3536,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:39",{"_index":3540,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:49",{"_index":3538,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:60",{"_index":3542,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:71",{"_index":3547,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:75",{"_index":3551,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:79",{"_index":3544,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8078,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/identity",{"_index":12832,"title":{},"body":{"interfaces/IIdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{}}}],["management/idm",{"_index":14481,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":12420,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"classes/OidcIdentityProviderMapper.html":{}}}],["management/keycloak/keycloak.module",{"_index":19565,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14536,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14365,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["managementmodule",{"_index":15662,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["managementservermodule",{"_index":15675,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules.html":{}}}],["managementservertestmodule",{"_index":15682,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules.html":{}}}],["manager",{"_index":1880,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":18832,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:23",{"_index":18837,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:57",{"_index":18841,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:64",{"_index":18839,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":12675,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":22326,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":22328,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":22327,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":22249,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":22331,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":22332,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":22232,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":22279,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5229,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":23861,"title":{},"body":{"license.html":{}}}],["manual",{"_index":11303,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":24407,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":8592,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15201,"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":2677,"title":{},"body":{"entities/Board.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/LessonEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2674,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":7820,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["manytomany('material",{"_index":12716,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["manytomany('user",{"_index":6788,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":6728,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":18552,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5094,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5092,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":7006,"title":{},"body":{"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":12714,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["manytoone('dashboardmodelentity",{"_index":7821,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":13284,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":13106,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7137,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7112,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7000,"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":9198,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2647,"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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolLaunchService.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((element",{"_index":6665,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":7869,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":20482,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19107,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":11891,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":18969,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":13865,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":18967,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((relation",{"_index":19118,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":22098,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":22524,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5186,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":12569,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["map.set(key",{"_index":6632,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":6634,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map[node.id",{"_index":3389,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3680,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3681,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":414,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":417,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":9563,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":9573,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":9759,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":9764,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":9564,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":9576,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":18634,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":21165,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":21166,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":11872,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":11875,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":18635,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":8593,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":8613,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17017,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17022,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17018,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17024,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5103,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5118,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6162,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6164,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6202,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6205,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontexttypetodotype",{"_index":6094,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetodotype(type",{"_index":6108,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype",{"_index":6095,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype(type",{"_index":6110,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":11082,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":11088,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":11083,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":11090,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5104,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5123,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3148,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3155,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17013,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17014,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16018,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16022,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":9647,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":9657,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":7314,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":7319,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":9565,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":9578,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":9566,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":9581,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":9567,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":9584,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":9568,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":9586,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":9760,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":9767,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":7896,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":7911,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":7897,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":7914,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":9480,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":9497,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":11667,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomaintoadapter",{"_index":4650,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":4651,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":24328,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":9918,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":9919,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2305,"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":19796,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2333,"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":9905,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":9906,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdtotoresponse",{"_index":15833,"title":{},"body":{"injectables/MigrationMapper.html":{},"injectables/PageContentMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["mapdtotoresponse(dto",{"_index":15834,"title":{},"body":{"injectables/MigrationMapper.html":{},"injectables/PageContentMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["mapelementtoentity",{"_index":7898,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":7916,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2306,"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":2336,"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":9481,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":9499,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":11662,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":11670,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapentitytodto",{"_index":21125,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":21126,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":11084,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":11092,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":11663,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":11672,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":11664,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":11674,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":9648,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":9660,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":11085,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":11094,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":11086,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":11096,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":11166,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":11170,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":24329,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":20514,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":20517,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":20515,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":20518,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":18560,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":18562,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":20452,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":18561,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":18565,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":20516,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":20519,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":20451,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":20455,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":20473,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":20476,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":7860,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":7862,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":7899,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":7918,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":11873,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":11877,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":11665,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":11676,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":11666,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":11679,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":12203,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":12204,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":13680,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":13681,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":13727,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":13729,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["maplearnroom",{"_index":7861,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":7864,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":18636,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":6637,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":6639,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":8594,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":8615,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17019,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17025,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":9569,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":9590,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":9761,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":9769,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":9570,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":9592,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":13728,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":13731,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16019,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16024,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":9571,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":9594,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":9572,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":9597,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":9762,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":9771,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17020,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17027,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapped",{"_index":4544,"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/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":21614,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":18684,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":9710,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":9715,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":11804,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":7965,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":7969,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":20492,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":18678,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":21690,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":18661,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":18670,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":18668,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":18676,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":18674,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":18672,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":21526,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":21692,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mapper",{"_index":631,"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":{},"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/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":{},"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":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":5714,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":5706,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2505,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2510,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2508,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":8759,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":3782,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14292,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":24327,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":930,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4000,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":4638,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":6873,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":7628,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":8344,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14160,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":13601,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15380,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/migration.mapper",{"_index":14770,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{}}}],["mapper/news.mapper",{"_index":15968,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":16769,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{}}}],["mapper/provisioning",{"_index":17843,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":17904,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":18614,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":14708,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":20370,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":4757,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":16423,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":21492,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":13604,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/OauthSSOController.html":{}}}],["mapper/user.mapper",{"_index":22763,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":23004,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":22890,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14295,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":5693,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":24302,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mappseudonymtouserdata",{"_index":10183,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":10206,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17021,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17028,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":7900,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":7920,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":7901,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":7922,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":9649,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":9663,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":9650,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":9667,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6163,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6167,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":9651,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":9670,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":9652,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":9673,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":9653,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":9677,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":9654,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":9680,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":15505,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":15506,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":8893,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":8894,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":4653,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":19074,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19078,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":10762,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":10765,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":19223,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":19224,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":22335,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":22337,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":415,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":419,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsessiontodto",{"_index":16735,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["mapsessiontodto(session",{"_index":16736,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["mapsortingquerytodomain",{"_index":9655,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":9684,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":11087,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":11098,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":5694,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":5700,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":20153,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":20155,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":18637,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":6638,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":6643,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":20768,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":20770,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":8595,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":8617,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5105,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5127,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":20769,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":20772,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":11167,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":11172,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":15802,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":15803,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":23176,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":23179,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":2738,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":11791,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":11794,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":11792,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":11797,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":21511,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":21515,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":21512,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":21518,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":19238,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":19241,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4433,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodo(entity",{"_index":4437,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodomain",{"_index":18579,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":22512,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":18580,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4434,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4439,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":416,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":422,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":3979,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":8596,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":8619,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4435,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4441,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4436,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoentity(domainobject",{"_index":4443,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":19075,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19080,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19076,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19082,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":13921,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":13923,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19084,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":9763,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":9773,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":13922,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19085,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":13926,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":10763,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":10768,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":10764,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":10770,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":11793,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":11800,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":23177,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":23180,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":17869,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":17870,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":23178,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":23181,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":21432,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":21435,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17274,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17277,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15427,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":15429,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16020,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16026,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7058,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7059,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":7315,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":7321,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":15428,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":15431,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":21668,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":21672,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":11874,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":11882,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":783,"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/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/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":785,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":3728,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4148,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5047,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":6647,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":7866,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2509,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":13684,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16028,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":17920,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":18582,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":19369,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":19819,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":19774,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":3814,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":20156,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":20580,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":20775,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":18380,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":784,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":787,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":21513,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":21521,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":21514,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":21523,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":19239,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":19243,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":19240,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":19244,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":11168,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":11176,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":20210,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":20211,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":11169,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":11178,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":21669,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":21674,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":21670,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":21677,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":21671,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":21680,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":21821,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":21822,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6203,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6207,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6204,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6211,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16021,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16030,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":9656,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":9689,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":22336,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":22340,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":20154,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":20157,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":23902,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":8461,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":8472,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":8462,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":8474,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8170,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":10750,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":11024,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":11031,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":10712,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["markfordeletion",{"_index":10474,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":23777,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":19389,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(schoolid",{"_index":19407,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":23498,"title":{},"body":{"license.html":{}}}],["master",{"_index":24701,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.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":13605,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":22511,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:20",{"_index":22514,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:8",{"_index":22513,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":21932,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":21934,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":13662,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":22506,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":22534,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":22531,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":22529,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":22530,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":22533,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":22532,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":22507,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":22528,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":12877,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["match_userid",{"_index":12875,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3673,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3678,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":12842,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":13743,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":13741,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":12884,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.auto",{"_index":13735,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":13737,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":13739,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":3927,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":13646,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":12840,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":250,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7141,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":254,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":6625,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":12870,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["matches[1",{"_index":12871,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":2641,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":10021,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["matchingparams.some((param",{"_index":10069,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["matchsinglerule",{"_index":18833,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":18838,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":13733,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":13744,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":13742,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":12697,"title":{"entities/Material.html":{}},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"license.html":{}}}],["materialfactory",{"_index":15696,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":15699,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":12706,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materialids",{"_index":12717,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materially",{"_index":23746,"title":{},"body":{"license.html":{}}}],["materials",{"_index":12700,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{}}}],["materials.entity",{"_index":12698,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["materialsrepo",{"_index":15700,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1640,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":7746,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3583,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":10756,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":24626,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3550,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17464,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15265,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":12798,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["max_redirects",{"_index":12243,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":12799,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["maxage",{"_index":19644,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":12126,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":14631,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":9362,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":845,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["maxkeys",{"_index":6524,"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":12457,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["maxredirects",{"_index":12283,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":13318,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":3823,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2169,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":9600,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":24054,"title":{},"body":{"todo.html":{}}}],["me(@currentuser",{"_index":21997,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1020,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":21992,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":22753,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":23785,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":23412,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":23380,"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":23601,"title":{},"body":{"license.html":{}}}],["measures",{"_index":23382,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":24276,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":23625,"title":{},"body":{"license.html":{}}}],["meet",{"_index":23637,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2161,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2039,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2001,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2004,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2005,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2157,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2002,"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":2170,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":23544,"title":{},"body":{"license.html":{}}}],["member",{"_index":1002,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"interfaces/OauthCurrentUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":13146,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["memberids.some((id",{"_index":13151,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["members",{"_index":1057,"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":11388,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":19632,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":24649,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":24247,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":7357,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":23542,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":23944,"title":{},"body":{"license.html":{}}}],["mere",{"_index":23529,"title":{},"body":{"license.html":{}}}],["merge",{"_index":23417,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":7658,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":7690,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":23833,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":12708,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LessonEntity.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["message",{"_index":1025,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthorizationError.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.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/InvalidOriginForLogoutUrlLoggableException.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/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.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":12792,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagekey",{"_index":2011,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":24644,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagewithcontext",{"_index":15356,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":23577,"title":{},"body":{"license.html":{}}}],["meta",{"_index":11930,"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":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2022,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":2171,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":5912,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":5927,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.authors",{"_index":5921,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.changes",{"_index":5925,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":5929,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":5893,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":5900,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":5902,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":5887,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.h",{"_index":5904,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.language",{"_index":5889,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.license",{"_index":5895,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":5923,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":5914,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":5891,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.metadescription",{"_index":5906,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":5908,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.preloadeddependencies",{"_index":5898,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7072,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7088,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7091,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7089,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7087,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7090,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7085,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7092,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7086,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7073,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.source",{"_index":5919,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.title",{"_index":5896,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.type",{"_index":7943,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":5910,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":5916,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadata.yearto",{"_index":5918,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metadataprops",{"_index":5325,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":8857,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":8861,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":10551,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":15799,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":5848,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metakeywords",{"_index":5849,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":15703,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["metatagextractorconfig",{"_index":15734,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":15710,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":15707,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["metatagextractorresponse",{"_index":15721,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":15717,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":15732,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":15708,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["method",{"_index":591,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.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":{},"injectables/UserLoginMigrationService.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":16619,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":24871,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":8579,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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/ExternalToolVersionService.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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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/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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"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":17762,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":17759,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":17749,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":17752,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":17753,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":24801,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":24134,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":24864,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":17763,"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":19587,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":17760,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":12477,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/OauthUc.html":{},"classes/SchoolMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":12480,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["migrate(skip",{"_index":14341,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14506,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":17201,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16277,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migrated.'})@apiresponse({type",{"_index":17100,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migratedaccounts",{"_index":14510,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":19451,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":19452,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrates",{"_index":22480,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrateschool",{"_index":19390,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(externalid",{"_index":19409,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":17081,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":22577,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(jwt",{"_index":17097,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrateuserlogin",{"_index":22194,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":22216,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":22313,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/SSOLoginQuery.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{}}}],["migration.controller",{"_index":22187,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":22190,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":22238,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":22226,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":22233,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:17",{"_index":22538,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":22204,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":22219,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":22215,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":22209,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":22278,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":22284,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":22287,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":22283,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":22282,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":22285,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":22286,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":22288,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.dto",{"_index":14793,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{}}}],["migration.dto.ts",{"_index":16743,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:10",{"_index":16744,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:2",{"_index":16748,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:4",{"_index":16747,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:6",{"_index":16746,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.dto.ts:8",{"_index":16745,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["migration.entity",{"_index":13016,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":22302,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":22306,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":22307,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":22309,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":22305,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":22308,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":22303,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":22304,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error",{"_index":16508,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{}}}],["migration.error.ts",{"_index":14573,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OAuthMigrationError.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["migration.error.ts:11",{"_index":14578,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:12",{"_index":16350,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["migration.error.ts:14",{"_index":16344,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["migration.error.ts:17",{"_index":15869,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":15870,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":15806,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":15807,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:4",{"_index":19353,"title":{},"body":{"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/UserLoginMigrationError.html":{}}}],["migration.error.ts:6",{"_index":14576,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.mapper",{"_index":17121,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migration.mapper.ts",{"_index":22334,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{},"classes/UserMigrationMapper.html":{}}}],["migration.mapper.ts:13",{"_index":22341,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:5",{"_index":22554,"title":{},"body":{"classes/UserMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":22338,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":22188,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":22353,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":22246,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":16498,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":16499,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":16501,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":16500,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":22357,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:14",{"_index":22358,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:19",{"_index":22362,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:27",{"_index":22359,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":17118,"title":{},"body":{"controllers/OauthSSOController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":22380,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserMigrationResponse.html":{}}}],["migration.response.ts:1",{"_index":22557,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":22385,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":22387,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":22384,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":22386,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":22382,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":22381,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":22383,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:6",{"_index":22558,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":22397,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":22400,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":22399,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":22398,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14166,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts",{"_index":14501,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:106",{"_index":19417,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:111",{"_index":22425,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":22581,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:12",{"_index":19394,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:129",{"_index":22409,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:130",{"_index":19400,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:135",{"_index":22569,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:141",{"_index":19412,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:147",{"_index":19397,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:149",{"_index":22411,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:158",{"_index":19403,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:159",{"_index":22566,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:165",{"_index":19406,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:169",{"_index":22571,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:171",{"_index":22429,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14507,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:180",{"_index":22415,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:188",{"_index":22417,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:194",{"_index":22419,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:20",{"_index":19419,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:21",{"_index":22584,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:214",{"_index":22413,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:23",{"_index":22586,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:25",{"_index":22583,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:27",{"_index":22585,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:28",{"_index":19410,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:29",{"_index":22423,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:42",{"_index":22574,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:43",{"_index":19415,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14505,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:54",{"_index":22576,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:81",{"_index":19408,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:82",{"_index":22427,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14503,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:91",{"_index":22575,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:95",{"_index":22421,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:97",{"_index":22578,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.uc",{"_index":22540,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["migration.uc.ts",{"_index":4567,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4574,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:14",{"_index":18403,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:15",{"_index":21419,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:155",{"_index":22470,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:18",{"_index":22462,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4576,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":19977,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":21422,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:24",{"_index":18406,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:30",{"_index":22468,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:40",{"_index":22466,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:42",{"_index":19975,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:47",{"_index":18404,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:51",{"_index":21420,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:58",{"_index":4579,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:60",{"_index":22464,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:78",{"_index":22471,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":16497,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/page",{"_index":17440,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["migration/controller/dto/request/school",{"_index":19351,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":22330,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/page",{"_index":17453,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["migration/controller/dto/response/user",{"_index":22379,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":22189,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.html":{}}}],["migration/error",{"_index":22622,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration/error/oauth",{"_index":16338,"title":{},"body":{"classes/OAuthMigrationError.html":{},"controllers/OauthSSOController.html":{}}}],["migration/error/school",{"_index":19378,"title":{},"body":{"classes/SchoolMigrationError.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/error/user",{"_index":22174,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["migration/loggable/user",{"_index":22325,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["migration/mapper/page",{"_index":17432,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["migration/mapper/user",{"_index":22333,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service",{"_index":17211,"title":{},"body":{"injectables/OauthUc.html":{}}}],["migration/service/dto",{"_index":17112,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/UserMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":15827,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":15829,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17421,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/dto/school",{"_index":19381,"title":{},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["migration/service/migration",{"_index":15813,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":19385,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":22388,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/success",{"_index":22626,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4566,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":22355,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":18401,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":19971,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":21417,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":22458,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":19603,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":14584,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationbody",{"_index":14783,"title":{"classes/MigrationBody.html":{}},"body":{"controllers/LegacySchoolController.html":{},"classes/MigrationBody.html":{}}}],["migrationbody.oauthmigrationfinished",{"_index":14804,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationbody.oauthmigrationmandatory",{"_index":14803,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationbody.oauthmigrationpossible",{"_index":14802,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationcheckservice",{"_index":15812,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationconsentredirect",{"_index":16435,"title":{},"body":{"injectables/OAuthService.html":{}}}],["migrationdto",{"_index":14799,"title":{"classes/MigrationDto.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{}}}],["migrationdto.redirect",{"_index":22495,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrationdto.redirect.includes('migration/error",{"_index":22494,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrationerror",{"_index":17139,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerror.officialschoolnumberfromsource",{"_index":17141,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerror.officialschoolnumberfromtarget",{"_index":17142,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerrorhandler",{"_index":17082,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationerrorhandler(error",{"_index":17102,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["migrationflags",{"_index":14778,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationmapper",{"_index":14763,"title":{"injectables/MigrationMapper.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{}}}],["migrationmaybecompleted",{"_index":15841,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":15849,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationpage",{"_index":22252,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":22255,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":22257,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":14794,"title":{"classes/MigrationResponse.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":22254,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse})@apiunauthorizedresponse",{"_index":14785,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrationresponse})@apiunauthorizedresponse()@apinotfoundresponse({description",{"_index":14779,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["migrations",{"_index":22191,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationsflags",{"_index":14780,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.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":{},"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":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.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":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.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":8054,"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":24046,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":11209,"title":{},"body":{"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":{}}}],["mikroormmodule.forroot",{"_index":11235,"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":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":15896,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":15891,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":11210,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mikroservice",{"_index":24301,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":19450,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":10664,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1361,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3494,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.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":3499,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.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":17463,"title":{},"body":{"classes/PaginationParams.html":{}}}],["mind",{"_index":24776,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":844,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":24081,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":24095,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":24094,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":24091,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1111,"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":15913,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minwidth",{"_index":15755,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["misrepresentation",{"_index":23770,"title":{},"body":{"license.html":{}}}],["missed",{"_index":7276,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":936,"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":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":19471,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":15876,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4556,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":14581,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":15871,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16138,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":20903,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":14683,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":23299,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":10962,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":10967,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":10963,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":10971,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15338,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":5363,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":5365,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":5359,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":5358,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":5362,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":5361,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":5360,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":5364,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":24178,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":24468,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":9255,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17290,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17289,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":24683,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":24684,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":20428,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mock_type",{"_index":20426,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mockbaseurl",{"_index":9252,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mockcomment",{"_index":9257,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":24573,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":24533,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":24571,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":24495,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":20422,"title":{},"body":{"classes/SystemFactory.html":{}}}],["mockservice",{"_index":24550,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":24566,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mode",{"_index":15848,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":7295,"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":8279,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["modelentity",{"_index":7913,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":7938,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":7937,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":7970,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":7930,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":7936,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":7942,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":7933,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":7934,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16202,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2126,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2172,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":8564,"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":2025,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":23494,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":23547,"title":{},"body":{"license.html":{}}}],["modified",{"_index":22197,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":8263,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["modifies",{"_index":23641,"title":{},"body":{"license.html":{}}}],["modify",{"_index":23466,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":23520,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":24076,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":20001,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":201,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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/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":{},"modules/DatabaseManagementModule.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":{},"interfaces/ICoreModuleConfig.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/LegacySchoolApiModule.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":{},"injectables/OauthUc.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/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/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":24554,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":24551,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":24552,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":24331,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":24531,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":24360,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":24356,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":24539,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":24543,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":24542,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":203,"title":{"modules.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":{},"modules.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":1437,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/IServerConfig.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":19589,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":17815,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14508,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1605,"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":789,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":2963,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.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/LegacySchoolController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.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":{}}}],["modules/authentication/authentication",{"_index":12199,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":11056,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/OauthApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":12087,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":17212,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18358,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":22762,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/services/authentication.service",{"_index":17209,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/authorization",{"_index":2531,"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/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthApiModule.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/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.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":11057,"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":24367,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":3860,"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":1830,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/IRepoLoader.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":19590,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/board/service/column",{"_index":3039,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["modules/class",{"_index":11623,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":11885,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4368,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":6762,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":4633,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3043,"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/feathers/feathers",{"_index":24365,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":24366,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1231,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"classes/FileRecordFactory.html":{},"interfaces/IServerConfig.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":19566,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":8969,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":6764,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":19591,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom",{"_index":1922,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":13064,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":6649,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":19592,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":10215,"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":3469,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":1963,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.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":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":14703,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{}}}],["modules/lesson/lesson",{"_index":19593,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":3047,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":6651,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":16956,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":19567,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":21371,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":19594,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":19595,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":122,"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":12339,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":13949,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OAuthMigrationError.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":19596,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1438,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":12307,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":12265,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/oauth.service",{"_index":16505,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/provisioning",{"_index":16419,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/provisioning/dto",{"_index":16420,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":4679,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":19597,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":16981,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/rocketchat",{"_index":19598,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1439,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":22645,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":4637,"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":4756,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":18576,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1609,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":602,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":19755,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":19599,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1440,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18044,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/dto/system.filter.params",{"_index":20363,"title":{},"body":{"controllers/SystemController.html":{}}}],["modules/system/controller/system.controller",{"_index":20347,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/mapper/system",{"_index":20489,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["modules/system/mapper/system.mapper",{"_index":20540,"title":{},"body":{"injectables/SystemService.html":{}}}],["modules/system/service",{"_index":14225,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/UserMigrationService.html":{}}}],["modules/system/service/dto",{"_index":13505,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":20394,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":20478,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":17210,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["modules/system/service/system",{"_index":14226,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/service/system.service",{"_index":20468,"title":{},"body":{"modules/SystemModule.html":{},"injectables/SystemUc.html":{}}}],["modules/system/system",{"_index":19600,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":17816,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":20348,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":14717,"title":{},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{}}}],["modules/task/controller/dto/task",{"_index":6652,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":3048,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":19601,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":6653,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams/teams",{"_index":19602,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":21236,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tool",{"_index":1828,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{}}}],["modules/tool/common/domain",{"_index":6054,"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":9599,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6055,"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":6124,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["modules/tool/common/interface",{"_index":9550,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3602,"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":{},"interfaces/IRepoLoader.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":7521,"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":6127,"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":16957,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3603,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IServerConfig.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolApiModule.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.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":{},"classes/UserMigrationMapper.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":22059,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":22503,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":19604,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":19605,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":7248,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moment",{"_index":16250,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":573,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BsonConverter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":13840,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":24735,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":24082,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":11276,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mongodb",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongoexport",{"_index":12588,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["mongoimport",{"_index":12575,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":11273,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"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.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":11280,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":24339,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":10462,"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":13839,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":23313,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1729,"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":23805,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":24867,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":23375,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":23368,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":24028,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1337,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3430,"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":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4174,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3434,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5062,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":5731,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":24795,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4050,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4070,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5078,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4071,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":3841,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5015,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":3851,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5016,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":8736,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":17194,"title":{},"body":{"injectables/OauthUc.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4215,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":7692,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":7617,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":8735,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4227,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8010,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8016,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":7619,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":15929,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":12476,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["movetotrash",{"_index":18871,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":18893,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":24877,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":12456,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["ms",{"_index":12491,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":3965,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":977,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":24476,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3511,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2095,"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":{}}}],["multivalued",{"_index":14330,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":23139,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2026,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":23242,"title":{},"body":{"dependencies.html":{}}}],["n/a",{"_index":22496,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["n21",{"_index":1834,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/FederalStateService.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"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":{},"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/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":{},"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/IClassEntityProps.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"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/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"classes/TaskCreateParams.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":{},"classes/TaskUpdateParams.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":{},"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/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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/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":{},"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":9254,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":10715,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["name.mapper",{"_index":13690,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":18578,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:12",{"_index":18581,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:5",{"_index":18583,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":6623,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":1907,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:12",{"_index":1914,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:19",{"_index":1921,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:42",{"_index":1919,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:48",{"_index":1916,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.tolowercase",{"_index":5508,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["named",{"_index":23409,"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":24656,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nameonly",{"_index":8151,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5126,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"interfaces/ICollectionFilePath.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":24635,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":24069,"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":12340,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/OauthUc.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":21429,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":12348,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["nanoid(16",{"_index":17214,"title":{},"body":{"injectables/OauthUc.html":{}}}],["narrowed",{"_index":11954,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":23331,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":23652,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":13906,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":10859,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":20904,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.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":1824,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/ISubmissionProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":21029,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1820,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.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/ICourseProperties.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":1122,"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":356,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":24059,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":24118,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":24121,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":24145,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":24146,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":24140,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":24141,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":24161,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":24164,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":24117,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":24124,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":24129,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":24126,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":24136,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":24131,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":24154,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":24155,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":24156,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":24158,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":24160,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":24157,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":24159,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":12803,"title":{},"body":{"interfaces/IFileStorageConfig.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":24375,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":11973,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":10298,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":8692,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3516,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/ErrorModule.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/Options.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":964,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.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":3952,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":24183,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":226,"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":{},"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":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.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":{},"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":{},"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":{},"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":{},"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":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DomainObjectFactory.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":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.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/ExternalToolVersionService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.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":{},"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/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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":{},"classes/OAuthSSOError.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":{},"injectables/OauthUc.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"injectables/RequestLoggingInterceptor.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":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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":{},"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/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":16556,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4581,"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":{}}}],["nestjs/common/exceptions/internal",{"_index":6758,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":9120,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":598,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"controllers/CourseController.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICollectionFilePath.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":8909,"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":1433,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":23217,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1435,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":12086,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":150,"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.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/DownloadFileParams.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/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/LegacySchoolController.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/MigrationBody.html":{},"classes/MigrationResponse.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/PageContentQueryParams.html":{},"classes/PageContentResponse.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/SSOLoginQuery.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolParams.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/SystemIdParams-1.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/ToolConfigurationController.html":{},"controllers/ToolContextController.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":{},"controllers/UserMigrationController.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":21370,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":24534,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestmodule",{"_index":19607,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":24401,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":23387,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":23439,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":4906,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":8580,"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":236,"title":{},"body":{"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/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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/CommonToolValidationService.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/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":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.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":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.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/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":{},"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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.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":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationMapper.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.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":{},"classes/OauthLoginStateMapper.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.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":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.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":{},"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":{},"injectables/SubmissionRule.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.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":{},"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":14304,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14302,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14211,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14299,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14306,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":8365,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":8525,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":8528,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":8527,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":7783,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":2366,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{}}}],["newentity._id",{"_index":2382,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newentity.id",{"_index":2381,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newfactory",{"_index":2473,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":7739,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":6574,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":6577,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":22756,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":2743,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":6909,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":10063,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":10066,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":10067,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparams",{"_index":10061,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":10064,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam",{"_index":10052,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.isoptional",{"_index":10053,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.name",{"_index":10042,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.regex",{"_index":10072,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.scope",{"_index":10074,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparam.type",{"_index":10073,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams",{"_index":10015,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.filter((parameter",{"_index":10062,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.find((p",{"_index":10070,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.some",{"_index":10051,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newparams.some((newparam",{"_index":10040,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newpath",{"_index":1259,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2471,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5239,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5242,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":7763,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":7765,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7106,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.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":{},"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":16041,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16073,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":21138,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":21143,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16047,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16181,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16042,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16039,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":7281,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":11314,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":7298,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":21944,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":7285,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:25",{"_index":21940,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":7290,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["news.params.ts:32",{"_index":21942,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:37",{"_index":7296,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:44",{"_index":7293,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16049,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16043,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16044,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16045,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16046,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16040,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16048,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16050,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16196,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":24388,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":24390,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16198,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16007,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16011,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":15948,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16187,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":15991,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16183,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16200,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16197,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16101,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16105,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16097,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16214,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":15979,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":15982,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16190,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":15971,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":15983,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":15967,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":15977,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":15981,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16000,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":15978,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":15988,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16063,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["newspermission",{"_index":16162,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsrepo",{"_index":16068,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":15972,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":24839,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16090,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7098,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16080,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7099,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7124,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7129,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7126,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":15969,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16193,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16185,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":15953,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":10032,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newtool.parameters",{"_index":10036,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newtool.version",{"_index":10038,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["newuser",{"_index":24821,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":12703,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16225,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16226,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16222,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15055,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.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":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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/SystemFactory.html":{},"injectables/SystemRepo.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18365,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":8696,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":12405,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISchoolProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16259,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":4674,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":11927,"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":16257,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":4675,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16274,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16286,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":6525,"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":19087,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3307,"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":3221,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4126,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":9199,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":10396,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":18452,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15238,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4127,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":4859,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":4857,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":10397,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":23365,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3658,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3660,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3370,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3644,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:19",{"_index":3650,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:30",{"_index":3652,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:6",{"_index":3647,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:9",{"_index":3648,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3390,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3297,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":14547,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node_env",{"_index":13062,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["node_env=test",{"_index":19653,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1175,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1192,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":13065,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["nodejs",{"_index":10533,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":18986,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":23310,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":23312,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3653,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3674,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3662,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":20896,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":8786,"title":{},"body":{"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":23680,"title":{},"body":{"license.html":{}}}],["none",{"_index":1475,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"entities/LtiTool.html":{},"classes/OauthClientBody.html":{},"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16207,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":10058,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":10068,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":10065,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparams",{"_index":10055,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":10059,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["normal",{"_index":1825,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1583,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1596,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1584,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1598,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":23708,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":18932,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":18926,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16330,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":21306,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":21320,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2484,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":21063,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8022,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":15593,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":15597,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2681,"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":{},"interfaces/IGridElement.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":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["notfoundexception('board",{"_index":2724,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":9149,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":7756,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":18928,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4186,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":5742,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception(`school",{"_index":22592,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["notfoundexception(`the",{"_index":11234,"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":{}}}],["notfoundexception(`there",{"_index":3378,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":16960,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":18960,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5009,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":19706,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":2953,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":2948,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":8742,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":2944,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4061,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5013,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":8733,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":2959,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4076,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4079,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5020,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":3764,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4072,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5017,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":8737,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":2939,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4057,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":3753,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4539,"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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":22477,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4555,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":4896,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":10273,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":10268,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":11862,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":10261,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":10271,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17383,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":23817,"title":{},"body":{"license.html":{}}}],["notice",{"_index":15303,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15310,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":23535,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":23806,"title":{},"body":{"license.html":{}}}],["notify",{"_index":23802,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3255,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"interfaces/IRepoLoader.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.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":15104,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":19905,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":19924,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":4832,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":12980,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["notimplementedexception('rooms",{"_index":18718,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3315,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":5691,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":5715,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19709,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":19441,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":19445,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":23761,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7168,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":23421,"title":{},"body":{"license.html":{}}}],["now",{"_index":1818,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ISubmissionProperties.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":12526,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["now.getmonth",{"_index":12527,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["nowplusdays",{"_index":19860,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":19881,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":8698,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":24020,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":24697,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":593,"title":{},"body":{"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/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.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":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ITaskParent.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":{},"injectables/LegacySchoolUc.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.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":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.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/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["nullable",{"_index":144,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.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":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.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/MigrationBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.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":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemIdParams.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":20003,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":11946,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":11947,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":6622,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.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":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.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":{},"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/File.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.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/IAccountConfig.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IError.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IServerConfig.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.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":{},"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":{},"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":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.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/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.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":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":15785,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":15786,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8182,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":6626,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.pagesize",{"_index":12461,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["number(options.skip",{"_index":12483,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":10478,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":1957,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":1962,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":1960,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":23936,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3477,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":8224,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":8217,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3478,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":8218,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3479,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":6981,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":13350,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":13358,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":6984,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":20101,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":15911,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":24478,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":24670,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":24077,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8060,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3397,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":18966,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":5554,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":16583,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13489,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/SystemService.html":{}}}],["oauth.service.ts",{"_index":13496,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14369,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13501,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13503,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14373,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13500,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc",{"_index":17115,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauth.uc.ts",{"_index":12241,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:14",{"_index":12251,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":12261,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:25",{"_index":12260,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:27",{"_index":12253,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:47",{"_index":12262,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:49",{"_index":12258,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:66",{"_index":12255,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":5550,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ICurrentUser.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":22217,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15416,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15373,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":10198,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":9596,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":9617,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":9618,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":9908,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":9914,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":9913,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":9909,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":9619,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":9911,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":9616,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":16496,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":7537,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1429,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":7520,"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":9679,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":9157,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":9222,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":7526,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":7560,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":7538,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":9750,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":9683,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":9681,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16334,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":13024,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthadapterservice",{"_index":16392,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":16573,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["oauthclient",{"_index":9859,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17030,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":9903,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":9901,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":9897,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":9899,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":16584,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":7379,"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":5611,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":12263,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{}}}],["oauthconfig.authendpoint",{"_index":13179,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":12346,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":13169,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":13175,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":13171,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":13185,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":13187,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":13183,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":13181,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":12347,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":12344,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":12345,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":13173,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13504,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":16658,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":16652,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":16653,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":16656,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":16654,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":16663,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":16664,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":16662,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":16661,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":16655,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":16659,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":16660,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":16657,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse",{"_index":16665,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":16685,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":16680,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":16683,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":16681,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":16690,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":16691,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":16689,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":16688,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":16682,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":16686,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":16687,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":16684,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":9894,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":7325,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthUc.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":13974,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externalschool?.externalid",{"_index":22498,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externalschool?.officialschoolnumber",{"_index":22497,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdata.externaluser.externalid",{"_index":22499,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatadto",{"_index":13941,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":13946,"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":12323,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1401,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1398,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15378,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthloginstate",{"_index":17147,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstate.provider",{"_index":17175,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstate.state",{"_index":17149,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthloginstatedto",{"_index":16720,"title":{"classes/OauthLoginStateDto.html":{}},"body":{"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["oauthloginstatedto(session.oauthloginstate",{"_index":16741,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["oauthloginstatemapper",{"_index":16732,"title":{"classes/OauthLoginStateMapper.html":{}},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{}}}],["oauthloginstatemapper.mapsessiontodto(session",{"_index":17148,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthmigrationdto",{"_index":14791,"title":{"classes/OauthMigrationDto.html":{}},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/OauthMigrationDto.html":{}}}],["oauthmigrationerror",{"_index":16337,"title":{"classes/OAuthMigrationError.html":{}},"body":{"classes/OAuthMigrationError.html":{},"controllers/OauthSSOController.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthmigrationfailed",{"_index":16345,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthmigrationfinalfinish",{"_index":14968,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["oauthmigrationfinished",{"_index":14847,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmigrationmandatory",{"_index":14845,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmigrationpossible",{"_index":14846,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationBody.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthmodule",{"_index":1419,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["oauthprocessdto",{"_index":16357,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["oauthprocessdto.jwt",{"_index":17162,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthproviderapimodule",{"_index":16755,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["oauthproviderclientcruduc",{"_index":16760,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":16761,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":16767,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13455,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":16762,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":16763,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":16759,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules.html":{}}}],["oauthproviderrequestmapper",{"_index":16979,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":16994,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":16764,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":9823,"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":9373,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules.html":{}}}],["oauthprovideruc",{"_index":16765,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":13025,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":5544,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":5572,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":5581,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":5583,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":5585,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":5589,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13465,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":12249,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":16580,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerror",{"_index":12266,"title":{"classes/OAuthSSOError.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror('failed",{"_index":13957,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["oauthssoerror('requesting",{"_index":16571,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["oauthssoerror(`requested",{"_index":16428,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthssoerror:10",{"_index":16346,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:11",{"_index":22650,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:4",{"_index":16349,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:5",{"_index":22653,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:6",{"_index":16348,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:7",{"_index":22652,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerror:8",{"_index":16347,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["oauthssoerror:9",{"_index":22651,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthsystems",{"_index":20543,"title":{},"body":{"injectables/SystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":22443,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17178,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":12269,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":16424,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":12276,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["oauthuc",{"_index":16578,"title":{"injectables/OauthUc.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["obfuscated",{"_index":11557,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":13907,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj.id",{"_index":2839,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["object",{"_index":133,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.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":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LessonFactory.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfig.html":{},"classes/OidcContextResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.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":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.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":{},"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":2469,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3458,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsProperties.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1883,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":8570,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16195,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":8577,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entity).foreach((key",{"_index":2384,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(object).foreach((key",{"_index":2286,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2660,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":9923,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1008,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1663,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":8574,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":8573,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":8572,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2403,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":11111,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16009,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":10731,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["object.values(validationerror.constraints",{"_index":1326,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2324,"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":{}}}],["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":{},"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":{},"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":{},"entities/ExternalToolPseudonymEntity.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.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":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4188,"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":7994,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":893,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":890,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":5946,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":8350,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":8330,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.id",{"_index":2383,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["objectid(domainobject.schoolid",{"_index":4463,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4473,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.userid",{"_index":18518,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["objectid(domainobject.year",{"_index":4469,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":9523,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":9524,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":606,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{}}}],["objectid(id).tohexstring",{"_index":19756,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":11010,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":5944,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":11014,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":4972,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":4865,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":13088,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["objectid(props.creatorid",{"_index":10498,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":10699,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(props.lockid",{"_index":10502,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":7410,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":10495,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":10493,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["objectid(props.refid",{"_index":10631,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":10696,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["objectid(reference.id",{"_index":3393,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":10470,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4543,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["objectid(systemid",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4465,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":9505,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(user.id",{"_index":11761,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["objectid(userid",{"_index":725,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":7814,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":7824,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3520,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":605,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":13842,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":13844,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":726,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":6819,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":24767,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":6526,"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":12982,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["objects",{"_index":3894,"title":{},"body":{"injectables/BsonConverter.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"interfaces/ICollectionFilePath.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":23915,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":23694,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":23603,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2244,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["obsolete",{"_index":22486,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["occasionally",{"_index":23679,"title":{},"body":{"license.html":{}}}],["occur",{"_index":354,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":4699,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["occurring",{"_index":23814,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":23732,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":11929,"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":11928,"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":16156,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":23463,"title":{},"body":{"license.html":{}}}],["offered",{"_index":23700,"title":{},"body":{"license.html":{}}}],["offering",{"_index":23683,"title":{},"body":{"license.html":{}}}],["offers",{"_index":24143,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["offical",{"_index":22593,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["official",{"_index":14583,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":19396,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":8989,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.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":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["officialschoolnumberfromsource",{"_index":16342,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["officialschoolnumberfromtarget",{"_index":16343,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["offline",{"_index":7529,"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":15762,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":12891,"title":{},"body":{"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{}}}],["oidc",{"_index":14234,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper",{"_index":20490,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.mapper.ts",{"_index":20472,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":20477,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":20474,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":20475,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14227,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":20485,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:12",{"_index":20488,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:21",{"_index":20487,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:9",{"_index":20486,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":19054,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":19055,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":5597,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":13160,"title":{"classes/OidcConfig.html":{}},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":13238,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":13234,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":13235,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["oidcconfig.defaultscopes",{"_index":13245,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":13236,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":13241,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":13240,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":13243,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":20481,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14307,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14194,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17256,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17253,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17254,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17260,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17255,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17259,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17252,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17257,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17258,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidccontextresponse",{"_index":5620,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14235,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14159,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":4685,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":24668,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17287,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":17828,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17297,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17398,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":20545,"title":{},"body":{"injectables/SystemService.html":{}}}],["oidcuserattributemappername",{"_index":14233,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":22924,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":20912,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":6582,"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":14301,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14207,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14305,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14300,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":23485,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":10041,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams",{"_index":10017,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.every((oldparam",{"_index":10054,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.filter((oldparam",{"_index":10039,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldparams.filter((parameter",{"_index":10056,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldtool",{"_index":10034,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["oldtool.parameters",{"_index":10035,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["once",{"_index":18281,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":10144,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ITaskParent.html":{},"injectables/JwtStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.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":6987,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":3788,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.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":6365,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6757,"title":{},"body":{"entities/Course.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":6734,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":7829,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":13285,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":12718,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["onetoone",{"_index":2678,"title":{},"body":{"entities/Board.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19149,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2669,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":21088,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":21089,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongoing",{"_index":7084,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7174,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":2730,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8058,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":20440,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":21082,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":21081,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":15889,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2434,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":15763,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":24211,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":13677,"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":20836,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":21060,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":21065,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":21832,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":7530,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":22827,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6230,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":24686,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":7382,"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":23966,"title":{},"body":{"license.html":{}}}],["operated",{"_index":23687,"title":{},"body":{"license.html":{}}}],["operates",{"_index":24444,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":23560,"title":{},"body":{"license.html":{}}}],["operation",{"_index":8262,"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":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":22871,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":11330,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":11331,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16173,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":15993,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:13",{"_index":15997,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:6",{"_index":15996,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":24785,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":24439,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":10561,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":24723,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":23923,"title":{},"body":{"license.html":{}}}],["ops",{"_index":24047,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":10559,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":24106,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":14681,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":24233,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":23758,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.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":{},"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/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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.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/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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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":{},"entities/Course.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":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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/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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IError.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonAccount.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.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":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"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":{},"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/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.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":{},"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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17270,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":24413,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":12542,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["options",{"_index":490,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.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/ICleanOptions.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IShareTokenProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.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":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"interfaces/Options.html":{},"injectables/PseudonymService.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":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.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.collection",{"_index":8063,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.do",{"_index":4301,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["options.do.ts",{"_index":4518,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["options.do.ts:12",{"_index":4522,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:6",{"_index":4520,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.enabled",{"_index":1182,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4334,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["options.entity.ts",{"_index":4525,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4527,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":22975,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":22820,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":22822,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1186,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1184,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.hostname",{"_index":1190,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":22824,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8064,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":13615,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.port",{"_index":1197,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.response",{"_index":23048,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":23136,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":23141,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":23137,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":23140,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.retrycount",{"_index":12463,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.retrydelay",{"_index":12464,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.routingkey",{"_index":1188,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.skip",{"_index":12482,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options.ts",{"_index":12823,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{}}}],["options.verbose",{"_index":12484,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["options?.collection",{"_index":8062,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":19843,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14452,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":19844,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":19891,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14454,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":9555,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8072,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":9525,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":19887,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14453,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":24800,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":24251,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":24292,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2093,"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":{},"interfaces/IPagination.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.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":9559,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":22700,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":22704,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17505,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17508,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":12609,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["orderedlist",{"_index":18795,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":22699,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":22701,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":22705,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":5383,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":19033,"title":{},"body":{"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5161,"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":5252,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5254,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5149,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5157,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5163,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":5389,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":5381,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":11589,"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":5203,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["orgid",{"_index":19014,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{}}}],["origin",{"_index":2023,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["original",{"_index":3330,"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":18121,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18136,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18135,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18162,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.context",{"_index":18126,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18155,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18133,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18140,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18150,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18153,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18152,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18125,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18149,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3050,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":4831,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3051,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3096,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":6904,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":6927,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":6938,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":6919,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3058,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3020,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15018,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3091,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3090,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":19413,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3023,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":20685,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":20686,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3094,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":20684,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":20687,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3093,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":20715,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":11403,"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":12936,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["originsystemid",{"_index":22573,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["origintool",{"_index":7374,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":7377,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7133,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":24191,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":173,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.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":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.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":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.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":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":24585,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":10690,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["orm/issues/2165",{"_index":13386,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["orm/mikro",{"_index":10689,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.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":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/ExternalToolPseudonymEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/ShareToken.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":11211,"title":{},"body":{"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":{},"dependencies.html":{}}}],["orphan",{"_index":5812,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6735,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/LessonEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["os",{"_index":10933,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":10965,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":9446,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":9444,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":10563,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":10566,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":10568,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":10570,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":24282,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":20418,"title":{},"body":{"classes/SystemFactory.html":{}}}],["others",{"_index":11552,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otherwise",{"_index":1461,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":24346,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":220,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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":{},"interfaces/IImportUserProperties.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":24457,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":21648,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":21905,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":13415,"title":{},"body":{"interfaces/IUserProperties.html":{},"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":24485,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":24262,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":11558,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["outputformat",{"_index":6492,"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":{}}}],["outside",{"_index":7744,"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":20720,"title":{},"body":{"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":24703,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["overenginiering",{"_index":24231,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":15900,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":2088,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["overrideprovider(consolewriterservice",{"_index":21377,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":21375,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":8908,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":6687,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":24535,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":24148,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":24760,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":24537,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":23857,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":12221,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":10426,"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":10456,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16015,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":11000,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":20819,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":2330,"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":18980,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":10071,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["p.sourcepath",{"_index":18947,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":24719,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":23198,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":23647,"title":{},"body":{"license.html":{}}}],["packages",{"_index":24021,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":23554,"title":{},"body":{"license.html":{}}}],["pad",{"_index":8951,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":8953,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":8948,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":8949,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":8947,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":822,"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":{},"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/PageContentQueryParams.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":22476,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":9531,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17420,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{}}}],["pagecontentmapper",{"_index":17431,"title":{"injectables/PageContentMapper.html":{}},"body":{"injectables/PageContentMapper.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserMigrationController.html":{}}}],["pagecontentqueryparams",{"_index":17439,"title":{"classes/PageContentQueryParams.html":{}},"body":{"classes/PageContentQueryParams.html":{},"controllers/UserMigrationController.html":{}}}],["pagecontentresponse",{"_index":17434,"title":{"classes/PageContentResponse.html":{}},"body":{"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"controllers/UserMigrationController.html":{}}}],["paged",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":850,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":12423,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{}}}],["pagetype",{"_index":17442,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["pagetypequery",{"_index":22539,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.pagetype",{"_index":22544,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.sourcesystem",{"_index":22545,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypequery.targetsystem",{"_index":22546,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["pagetypes",{"_index":17445,"title":{},"body":{"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_source_system",{"_index":22606,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_source_system_mandatory",{"_index":22608,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes.start_from_target_system",{"_index":22600,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["pagetypes})@isenum(pagetypes",{"_index":17446,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["paginate",{"_index":10117,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":6861,"title":{},"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":{},"interfaces/IPagination.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.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":11652,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.skip",{"_index":11651,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7180,"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":7179,"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":836,"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":847,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":851,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationresponse",{"_index":815,"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":820,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16003,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":831,"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":830,"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":825,"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":22508,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":10759,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7074,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":9806,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":13660,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":20762,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":6436,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pairwise",{"_index":9916,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":23320,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":23993,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":23794,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":23866,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":24583,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":333,"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":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.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":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.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":{},"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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('file",{"_index":12121,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17177,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":23011,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":23012,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":10904,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":24527,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":24525,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":6529,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":6532,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":9448,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":9639,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":9438,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":5528,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.location",{"_index":9641,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":5530,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.name.tolowercase",{"_index":5519,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["param.regex",{"_index":5536,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.regexcomment",{"_index":9640,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":5520,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["param.type",{"_index":5535,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionService.html":{}}}],["paramdisplayat",{"_index":16180,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":363,"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/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/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":7455,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":7459,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":7464,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":7465,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":7466,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":7462,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":7467,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":7458,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":7463,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":7461,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":7460,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":7483,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":7487,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":7486,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":7485,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":7490,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":7491,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":7492,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":7488,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":7493,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":7484,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":7489,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":10057,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["parameter.name",{"_index":10060,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["parameter.params",{"_index":9167,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":7575,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":7586,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":7580,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":7578,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":7577,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":7587,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":7588,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":7591,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":7585,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":7594,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":7582,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6002,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":7599,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":7605,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":7603,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":7602,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":7601,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":7606,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":7607,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":7608,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":7604,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":7609,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":7600,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":9095,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":1904,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":1950,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":1951,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":7482,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17478,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":15879,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":15881,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":15884,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.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":{},"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":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"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/ExternalToolVersionService.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":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":22872,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":15880,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameterstoinclude",{"_index":2645,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17477,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":1930,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":271,"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":{},"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":{},"interfaces/IToolLaunchStrategy.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":{},"classes/MigrationResponse.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthMigrationDto.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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/SystemFactory.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":{},"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":514,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4016,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2287,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":20801,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":16922,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":16944,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":16907,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":9746,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16058,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":12099,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15047,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15048,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":21507,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":21500,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":21501,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":20683,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15046,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":6669,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":20800,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16059,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":24257,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":20802,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":18756,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.enablemigrationstart",{"_index":15868,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.everyattendeejoinsmuted",{"_index":23018,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":23019,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":14822,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":21623,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":14823,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":14833,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":12112,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":12119,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":11194,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":18962,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":13630,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":7639,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":11657,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15050,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":12118,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":14824,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2652,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["params.interface.ts",{"_index":13404,"title":{},"body":{"interfaces/IToolLaunchParams.html":{}}}],["params.inusermigration",{"_index":14825,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":12140,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":6670,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":16905,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":22899,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":23020,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":9745,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.oauthmigrationfinalfinish",{"_index":15866,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationfinished",{"_index":15864,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationmandatory",{"_index":15862,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.oauthmigrationpossible",{"_index":15860,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["params.officialschoolnumber",{"_index":14827,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":16906,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3059,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":16908,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":19498,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":17646,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":17696,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":14826,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":17911,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":21504,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":21497,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":14828,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":19497,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":17153,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["params.systems",{"_index":14830,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16177,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16061,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16060,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":19500,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":20084,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":7645,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":7640,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4382,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":11734,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4385,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":13626,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":14832,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":18754,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":7267,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":7263,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":7268,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":7262,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":7270,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":7260,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":24318,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":948,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3366,"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":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4190,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5067,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":5744,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18271,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18270,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.getstudentids",{"_index":12747,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["parent.getstudentids().length",{"_index":13319,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":10615,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3439,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":20713,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18238,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18247,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18248,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentid",{"_index":3632,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"classes/LumiUserWithContentData.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":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3635,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":20880,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":20878,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":20882,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":20877,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":20881,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":20883,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":20879,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentmeetingid",{"_index":2112,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":19766,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18221,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":11994,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15016,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":11998,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":11996,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":11999,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15086,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15098,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1315,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":24844,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":4834,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{}}}],["parentsfinished",{"_index":20844,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":20845,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":20846,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18212,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":20841,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":20842,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":20843,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17243,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttype",{"_index":5933,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.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/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"classes/LumiUserWithContentData.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":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":24361,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":24387,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":24363,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":23249,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1813,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.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":484,"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/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":12876,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["partialtype",{"_index":21936,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2173,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":20914,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":23528,"title":{},"body":{"license.html":{}}}],["parts",{"_index":23571,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":23688,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":23834,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":24347,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":760,"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":487,"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/SystemFactory.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":24803,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14010,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1434,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14019,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["passportstrategy(strategy",{"_index":14014,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["passthrough",{"_index":6881,"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":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.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":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":307,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17498,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17503,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17502,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1648,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17487,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17488,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":252,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14136,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7107,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":24604,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":334,"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":21990,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":2982,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4100,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4103,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5030,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":8751,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":7625,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":7620,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":325,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":13598,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":13590,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":15965,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":18741,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":18738,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":3783,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":20628,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":20631,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":20634,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":16933,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":16920,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":16924,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":300,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":4717,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":4697,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1542,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1541,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":16810,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":16818,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":16874,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":18726,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":18737,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":7615,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":7622,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":7624,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17483,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":22737,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":22755,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":16850,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":16973,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":16877,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":328,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":299,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":18727,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":18740,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17504,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":10525,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17509,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":23793,"title":{},"body":{"license.html":{}}}],["patents",{"_index":23852,"title":{},"body":{"license.html":{}}}],["path",{"_index":360,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CopyFiles.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OAuthService.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":10976,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":10746,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["path.replace(':token",{"_index":1260,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1561,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["path.targetpath",{"_index":18954,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3619,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":18957,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":18982,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3637,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2624,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3661,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3663,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":10936,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":18943,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":18958,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":17692,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":18951,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":17633,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3643,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":253,"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":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICourseProperties.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":24434,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.test(firstchar",{"_index":6842,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern_login_from_dn",{"_index":12864,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["payload",{"_index":1616,"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":19704,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":20179,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":19789,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":19788,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":19817,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":19783,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":19787,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":19786,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":19785,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":7272,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2658,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":23895,"title":{},"body":{"license.html":{}}}],["peer",{"_index":23696,"title":{},"body":{"license.html":{}}}],["peers",{"_index":23699,"title":{},"body":{"license.html":{}}}],["pem",{"_index":7253,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":10666,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["per",{"_index":8794,"title":{},"body":{"injectables/ElementUc.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":19421,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":24488,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":19420,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":19438,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["performing",{"_index":15999,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":19424,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":11727,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":11939,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":11942,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":11941,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":23801,"title":{},"body":{"license.html":{}}}],["permission",{"_index":643,"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":{},"interfaces/INewsProperties.html":{},"interfaces/IRoleProperties.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.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":4703,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":24805,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":19908,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":24835,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":8640,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":24820,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":10454,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":10619,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":10626,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":10628,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":10629,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":10625,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":10624,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":10623,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":24863,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":19910,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16212,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":23107,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16179,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16175,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16174,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":16991,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":16800,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":16797,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":10473,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":24816,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":23106,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":21036,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":21037,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":9946,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":19909,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15154,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15152,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":4586,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":20315,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":24813,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":4775,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":23033,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":23039,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":23090,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":11003,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1723,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.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":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":4705,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":4711,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":21150,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":21155,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":21151,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":21152,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":21154,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":21153,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":4664,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":4665,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":4635,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":21156,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":21157,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":21160,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":21161,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":21158,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":21159,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":10148,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16211,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1725,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":10142,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":4786,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":21164,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":21167,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":4662,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":10457,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":4666,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":4663,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":4695,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":4781,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":216,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":23630,"title":{},"body":{"license.html":{}}}],["permit",{"_index":23660,"title":{},"body":{"license.html":{}}}],["permits",{"_index":23480,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":23429,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":21071,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":21087,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":22681,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":20309,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":23737,"title":{},"body":{"license.html":{}}}],["persist",{"_index":7376,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"interfaces/ICollectionFilePath.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":7986,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":7980,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":7988,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":14580,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["persistent",{"_index":1256,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["person",{"_index":19036,"title":{},"body":{"interfaces/SanisPersonResponse.html":{},"interfaces/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":23707,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":19041,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{}}}],["personenkontexte",{"_index":19070,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["personenstatus",{"_index":19042,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{}}}],["perspective",{"_index":24786,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":23913,"title":{},"body":{"license.html":{}}}],["php",{"_index":10537,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":23666,"title":{},"body":{"license.html":{}}}],["physically",{"_index":23678,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":15748,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":15753,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":19071,"title":{},"body":{"interfaces/SanisResponse.html":{}}}],["piece",{"_index":24209,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":23454,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":22552,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pipe",{"_index":1082,"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":1120,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1139,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":22810,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":11012,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":22706,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":24335,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1140,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":7252,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":20907,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":12511,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["placeholder.length",{"_index":12648,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["placeholders",{"_index":12674,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":12654,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["places",{"_index":24244,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":3895,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1369,"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":1367,"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":1141,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1151,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":11195,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1149,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1153,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["player",{"_index":10542,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2395,"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":24609,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":23838,"title":{},"body":{"license.html":{}}}],["png",{"_index":9368,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":7287,"title":{},"body":{"classes/CreateNewsParams.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":23988,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3069,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":24882,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pool",{"_index":23349,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":4741,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"interfaces/IRepoLoader.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":20827,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3686,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3694,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3454,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/ICourseProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":20222,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":20230,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":21242,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":21244,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1196,"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":23703,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1553,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{}}}],["pos.x",{"_index":7742,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":7745,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":2804,"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":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.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":7788,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":7877,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":7878,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":7659,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":7694,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":23675,"title":{},"body":{"license.html":{}}}],["possession",{"_index":23645,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":23968,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2493,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/MigrationBody.html":{},"classes/MigrationResponse.html":{},"controllers/OauthSSOController.html":{},"classes/SchoolInMigrationError.html":{},"controllers/SystemController.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":2962,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.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":{},"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":21625,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":21605,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/delete/:contentid",{"_index":12044,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":12146,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":12041,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":12157,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":12079,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":2988,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4111,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5035,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":8757,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":18757,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":18729,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":23010,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":22996,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":3792,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":20657,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20617,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":19732,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":12125,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":12076,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":16910,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":22270,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":22196,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8086,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8083,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15385,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":18761,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":18732,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15390,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":13586,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15394,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14483,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8089,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":22260,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":22235,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":13573,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":13594,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8095,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":21536,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{}}}],["post(subpath",{"_index":1543,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["post.body.params",{"_index":1146,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6074,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6085,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6075,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19186,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6077,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19184,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6079,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":19187,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6084,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6087,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":12037,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":12075,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["posth5pcontentcreateparams",{"_index":11454,"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":11452,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["postloginredirect",{"_index":16407,"title":{},"body":{"injectables/OAuthService.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"classes/SSOLoginQuery.html":{},"injectables/UserMigrationService.html":{}}}],["potential",{"_index":6913,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":24895,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":24040,"title":{},"body":{"todo.html":{}}}],["power",{"_index":23615,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":24661,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":23394,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":23441,"title":{},"body":{"license.html":{}}}],["practice",{"_index":23870,"title":{},"body":{"license.html":{}}}],["practices",{"_index":24618,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":24045,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":23432,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4209,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":23360,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":23835,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":24409,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":24467,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":13416,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["preferred",{"_index":23546,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18058,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18061,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":261,"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/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ISchoolProperties.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LegacySchoolController.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":{},"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/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/UserMigrationController.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":12436,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["preloadedcss",{"_index":10553,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":5850,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":10554,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":24232,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":24487,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":14737,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":22937,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":22947,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":24494,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":23385,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4205,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["present",{"_index":23930,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2197,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":23541,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":23768,"title":{},"body":{"license.html":{}}}],["preset",{"_index":22826,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":24168,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2429,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["prevented",{"_index":23730,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1642,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":6495,"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.producer",{"_index":17624,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":17651,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":17652,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":10674,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":10672,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":10673,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":10675,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["preview_possible",{"_index":10670,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewactionsloggable",{"_index":17546,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview",{"_index":17607,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":17648,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":17642,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":17665,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":17663,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17557,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":17689,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":17703,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":17574,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17550,"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":11401,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":11404,"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":17580,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules.html":{}}}],["previewgeneratorbuilder",{"_index":17585,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":17645,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":17590,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":17583,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":17584,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":11214,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules.html":{}}}],["previewgeneratorservice",{"_index":17594,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":17614,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":10662,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewmoduleconfig",{"_index":17577,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17553,"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":17555,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17556,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":6477,"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":17654,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":6490,"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":17700,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":17573,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":17622,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":17579,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":11130,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":6439,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":10740,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":10735,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":10743,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":10742,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":10737,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":10738,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":6478,"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":17656,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":23837,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":13012,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["previously",{"_index":5629,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5191,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":23450,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":23897,"title":{},"body":{"license.html":{}}}],["primary",{"_index":566,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{}}}],["primarykey",{"_index":2412,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["principle",{"_index":24212,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":24204,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":23803,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":8851,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":7370,"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":246,"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":241,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":394,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17494,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17500,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":8860,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":603,"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/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"classes/ClassMapper.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/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":{},"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":{},"classes/DeletionRequestScope.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/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MigrationCheckService.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":{},"injectables/OauthUc.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":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":{},"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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.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":{},"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":16615,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14059,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":7243,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":10544,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3669,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":5576,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":23933,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":23726,"title":{},"body":{"license.html":{}}}],["proceed",{"_index":17458,"title":{},"body":{"classes/PageContentResponse.html":{}}}],["proceedbuttonurl",{"_index":17424,"title":{},"body":{"classes/PageContentDto.html":{},"injectables/PageContentMapper.html":{},"classes/PageContentResponse.html":{},"injectables/UserMigrationService.html":{}}}],["process",{"_index":7082,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.html":{},"classes/SchoolMigrationError.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process.dto.ts",{"_index":16359,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16361,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16360,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":15898,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":12320,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":12332,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":12500,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["processing",{"_index":4700,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processoauthlogin",{"_index":17196,"title":{},"body":{"injectables/OauthUc.html":{}}}],["processoauthlogin(cachedstate",{"_index":17205,"title":{},"body":{"injectables/OauthUc.html":{}}}],["processredirect",{"_index":12321,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":12335,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":12246,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":12254,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":23887,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1606,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":17623,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":18812,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":18816,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":18814,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":18815,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":18813,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":24400,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2064,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":12469,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":23898,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14384,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":23446,"title":{},"body":{"license.html":{}}}],["program's",{"_index":23624,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":23999,"title":{},"body":{"license.html":{}}}],["programming",{"_index":23551,"title":{},"body":{"license.html":{}}}],["programs",{"_index":23455,"title":{},"body":{"license.html":{}}}],["progress",{"_index":6413,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":23588,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":23612,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":23892,"title":{},"body":{"license.html":{}}}],["project",{"_index":22692,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18318,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":17758,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":17783,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":17785,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":17781,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":17705,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":17778,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":17771,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":17782,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":17751,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":17775,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":17773,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":17747,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":17779,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":17780,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":17777,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":23543,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":23538,"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":{},"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/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IToolLaunchStrategy.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":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.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/MigrationCheckService.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/OauthUc.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/RestartUserLoginMigrationUc.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/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":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.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":{},"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":{},"controllers/UserMigrationController.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":14634,"title":{},"body":{"injectables/LdapService.html":{}}}],["promise.all",{"_index":933,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/LegacySchoolUc.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/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":16308,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":7939,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":18955,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18210,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":7960,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2362,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":7931,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16306,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":10241,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":10244,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":10243,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":21860,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18159,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3086,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":22679,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3067,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2653,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":16945,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":13976,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17296,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":19726,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promises",{"_index":2357,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":23274,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17286,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1715,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["propagate",{"_index":23511,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":23821,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":23521,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":13317,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3133,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":24564,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.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":{},"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":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.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":{},"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":{},"injectables/CollaborativeStorageAdapter.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":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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/File.html":{},"classes/FileContentBody.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":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.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/LdapConnectionError.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":{},"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":{},"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":{},"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/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MigrationBody.html":{},"classes/MigrationDto.html":{},"classes/MigrationResponse.html":{},"classes/MissingToolParameterValueLoggableException.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/NewsListResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthMigrationDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.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/SchoolInMigrationError.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/Scope.html":{},"classes/ScopeRef.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":{},"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":{},"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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemScope.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.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":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TimestampsResponse.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/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.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":{},"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/UserLoginMigrationError.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/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2655,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2663,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16075,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":172,"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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.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":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.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":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.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":{},"entities/News.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.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":170,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/News.html":{},"entities/RocketChatUserEntity.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@unique",{"_index":9461,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":20137,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({fieldname",{"_index":4856,"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":160,"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/LdapConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfig.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/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2440,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":11958,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2656,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2659,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2609,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2649,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2657,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":21683,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":21684,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2620,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1322,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1324,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":381,"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":{},"injectables/ContextExternalToolRepo.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/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":{},"interfaces/INewsProperties.html":{},"classes/ImportUserResponse.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":{},"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/OauthLoginStateDto.html":{},"classes/PageContentDto.html":{},"classes/PageContentResponse.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/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.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/UserMigrationResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["props.abbreviation",{"_index":6715,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":13097,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.accesstoken",{"_index":15400,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.activated",{"_index":200,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.alias",{"_index":13251,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.alternativetext",{"_index":10400,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.authtoken",{"_index":18501,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.availabledate",{"_index":13290,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":12316,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2557,"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.bucket",{"_index":10466,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.cancelbuttonurl",{"_index":17430,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["props.caption",{"_index":10399,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":13671,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":12856,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["props.client",{"_index":12939,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.client_id",{"_index":1405,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1407,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":16518,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":16519,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.closedat",{"_index":22298,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1413,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":6797,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":7747,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":13112,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.completed",{"_index":20143,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":1993,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.content",{"_index":7114,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":12723,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.context.type",{"_index":4863,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":9203,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":9192,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6044,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.contextref",{"_index":5972,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6046,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.cookies",{"_index":12313,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":6803,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":7007,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7008,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":12721,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["props.create",{"_index":10638,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":407,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.creator",{"_index":7117,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.credentialhash",{"_index":190,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":12309,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":7403,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":1985,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":7469,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":7611,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":10640,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":8429,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":10480,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":10479,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.deletedcount",{"_index":8304,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":10700,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.deletionrequestid",{"_index":8306,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":6790,"title":{},"body":{"entities/Course.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Material.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":13287,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":4846,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7116,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":5974,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.domain",{"_index":8299,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":13292,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":10084,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["props.enddate",{"_index":13055,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["props.endpointurl",{"_index":13095,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.expiresat",{"_index":198,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.externalgroups",{"_index":16708,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7120,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{}}}],["props.externalidtoken",{"_index":16719,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalorganizationid",{"_index":8978,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.externalschool",{"_index":16706,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":11692,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4406,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":16704,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":8984,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":6805,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":13049,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18081,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":22300,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":10080,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.flagged",{"_index":12860,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":13422,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.friendlyurl",{"_index":7414,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":8974,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":7420,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":16525,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":13118,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.gradecomment",{"_index":13120,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.graded",{"_index":13116,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.gradelevel",{"_index":4337,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.grant_type",{"_index":1411,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":7749,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":7827,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["props.height",{"_index":4131,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":12719,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.hydracookies",{"_index":6397,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":405,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.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":812,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":16492,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15240,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importuserid",{"_index":13665,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":13041,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":18455,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":13042,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4349,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":10697,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.isdirectory",{"_index":10463,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":7422,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":7407,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":7479,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.istemplate",{"_index":7405,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4412,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":7387,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1658,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":13423,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.lastloginsystemchange",{"_index":13427,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.lastname",{"_index":10082,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.lasttriedfailedlogin",{"_index":196,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":15472,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":13257,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.ldapdn",{"_index":4354,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{}}}],["props.lesson",{"_index":13297,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":12940,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.localcookies",{"_index":6395,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":7471,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":10500,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":13667,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":9032,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":7391,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":9237,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":6716,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":7393,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":7395,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":22294,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":13672,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":12858,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":12724,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.merlinreference",{"_index":12942,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.method",{"_index":21715,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":10695,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.modifiedcount",{"_index":8302,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4342,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.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":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/LessonEntity.html":{},"entities/LtiTool.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":7412,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":13253,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.officialschoolnumber",{"_index":8994,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":13255,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["props.opennewtab",{"_index":7418,"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":8300,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":22830,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":11732,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":11696,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":4829,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":7408,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.outdatedsince",{"_index":13429,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.parameters",{"_index":5976,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3621,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3622,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3628,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":10348,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parenttype",{"_index":10347,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.password",{"_index":186,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":21716,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.permissions",{"_index":10499,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IRoleProperties.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.position",{"_index":3630,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["props.postloginredirect",{"_index":16730,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.preferences",{"_index":13425,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["props.previousexternalid",{"_index":13038,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{}}}],["props.privacy_permission",{"_index":7401,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":13293,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17428,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["props.properties",{"_index":21665,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":16731,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.provisioningstrategy",{"_index":13259,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{}}}],["props.provisioningurl",{"_index":13261,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{}}}],["props.pseudonym",{"_index":9468,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":13301,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.rcid",{"_index":18500,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.read",{"_index":10636,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":10680,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect",{"_index":22559,"title":{},"body":{"classes/UserMigrationResponse.html":{}}}],["props.redirect_uri",{"_index":1409,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":16521,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":7723,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":12311,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":10497,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":10633,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":16494,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":7475,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":7477,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":13101,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.relatedresources",{"_index":12944,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.requesttoken",{"_index":10682,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.resource_link_id",{"_index":7397,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":12314,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.role",{"_index":11916,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.roleid",{"_index":11909,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":8986,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":13669,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":12853,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["props.roles",{"_index":7399,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/IRoleProperties.html":{},"entities/LtiTool.html":{},"entities/Role.html":{}}}],["props.school",{"_index":6793,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/ICourseProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/News.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4344,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":13007,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["props.schooltool",{"_index":6042,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":19192,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":5970,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4410,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":7473,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":7389,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":13099,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["props.secretvalue",{"_index":1660,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":10489,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":21163,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":10491,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":10464,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["props.skipconsent",{"_index":7416,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4358,"title":{},"body":{"entities/ClassEntity.html":{},"entities/CourseNews.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7122,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4360,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":22315,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":22290,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":6801,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":22296,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.state",{"_index":16728,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["props.status",{"_index":1987,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":1989,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":10465,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":10467,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":13110,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.studentcount",{"_index":4414,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7009,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["props.subjects",{"_index":12946,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.submitted",{"_index":13115,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.successor",{"_index":4356,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.system",{"_index":9009,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.systemid",{"_index":194,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/ProvisioningSystemDto.html":{}}}],["props.systems",{"_index":13044,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":12948,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.target",{"_index":3459,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":12950,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["props.targetmodel",{"_index":22829,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":8427,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":8431,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":22317,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":22292,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":13114,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.teacherids",{"_index":4348,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.teachernames",{"_index":4408,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4428,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":21178,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":13121,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["props.teamname",{"_index":21180,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":13303,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":13390,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{}}}],["props.teamusers.map((teamuser",{"_index":13391,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.text",{"_index":18454,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":10486,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":10487,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":9193,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3631,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":188,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["props.tokenendpointauthmethod",{"_index":16523,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":13005,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["props.toolid",{"_index":9470,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":5978,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":12756,"title":{},"body":{"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/IFileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4528,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4404,"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":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":8976,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":6799,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":409,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.updater",{"_index":7118,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":7385,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/LdapConfig.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":11915,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/ImportUser.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["props.userid",{"_index":192,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":4345,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":13046,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/OauthLoginStateDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":184,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.users",{"_index":8972,"title":{},"body":{"classes/ExternalGroupDto.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":11694,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":11689,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":11730,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":11690,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":7497,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{}}}],["props.version",{"_index":9033,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.versionkey",{"_index":10503,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":10634,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4351,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["propsfactory",{"_index":449,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2481,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":23459,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":448,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.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":{},"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":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.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":{},"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/SystemFactory.html":{},"classes/TaskFactory.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":22783,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":22777,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":22782,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":23595,"title":{},"body":{"license.html":{}}}],["protection",{"_index":23635,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14270,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14326,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14202,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":23749,"title":{},"body":{"license.html":{}}}],["prototype",{"_index":1006,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":23948,"title":{},"body":{"license.html":{}}}],["provide",{"_index":636,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.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":3308,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"interfaces/OauthCurrentUser.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":4677,"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":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginStateDto.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.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":12475,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["provider.client",{"_index":16772,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":16806,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":16768,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":16846,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":16858,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":16864,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":16879,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":16854,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":16861,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":16876,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":16871,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":16883,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":16868,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":16866,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":16873,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":16856,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":16885,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13466,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":16889,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14161,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17273,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17276,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17278,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":16770,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17011,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17066,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17034,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17047,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17039,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17058,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17046,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17037,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17057,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17041,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17051,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17052,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17056,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17043,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17049,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17062,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17045,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17054,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17060,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":16894,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17069,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17072,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17074,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17070,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":16827,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":136,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":146,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4255,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4257,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":5543,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13438,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13439,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15254,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15402,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16365,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":18412,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":22655,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":22656,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":5637,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":5594,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":5604,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":5607,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":5610,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":5613,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":5614,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":5617,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":5619,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":5621,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":5625,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":5602,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":5626,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":5627,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":5630,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":5631,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15407,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15414,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15411,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15412,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15415,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15417,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15418,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15419,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15423,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15424,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15425,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15410,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":5634,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":5632,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18276,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18282,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18278,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":16845,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":9851,"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":17801,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":109,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18298,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":17797,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":17792,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":13904,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":17800,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":17802,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13441,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":16794,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":123,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":16617,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":16618,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/mapper/oauth",{"_index":16980,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":16766,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13449,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":16946,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":16771,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":16824,"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":16887,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14253,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":16886,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":9847,"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":17793,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":13218,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["providerredirectresponse",{"_index":16826,"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":208,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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":{},"injectables/DeleteFilesUc.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":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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/LegacySchoolApiModule.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/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/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/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":8234,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4603,"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":4691,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":19335,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":23799,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":17823,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":17837,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17301,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17309,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17302,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17311,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17303,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17313,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning",{"_index":11837,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":22648,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17405,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17299,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:121",{"_index":17310,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:166",{"_index":17307,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:191",{"_index":17316,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:20",{"_index":17305,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:32",{"_index":17312,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:69",{"_index":17314,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":13165,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["provisioningdto",{"_index":13950,"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":17807,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningmodule",{"_index":16577,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["provisioningservice",{"_index":16393,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":13161,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["provisioningstrategy:10",{"_index":17293,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17292,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:24",{"_index":13948,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:28",{"_index":13947,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:30",{"_index":19053,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17291,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:34",{"_index":19052,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17403,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:61",{"_index":13942,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17402,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningsystemdto",{"_index":16698,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":17842,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":17853,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":13162,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["provisionuser",{"_index":16390,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":16413,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":19638,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":23938,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1472,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1473,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1474,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":9460,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":17949,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":9459,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":9462,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":9463,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":9464,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":17922,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":17894,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":10275,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":9473,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:10",{"_index":9482,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:104",{"_index":9498,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:112",{"_index":9494,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:13",{"_index":9491,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:24",{"_index":9489,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:39",{"_index":9487,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:48",{"_index":9484,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:69",{"_index":9486,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:77",{"_index":9496,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:91",{"_index":9500,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":10216,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":17923,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":17924,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":17887,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["pseudonymcontroller",{"_index":17893,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":17913,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18029,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":17918,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":17903,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":17912,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":4672,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{},"modules.html":{}}}],["pseudonymous",{"_index":7362,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":17898,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":17980,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":17883,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":17961,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":17905,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":17900,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":9466,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":21442,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":21446,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18013,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":9502,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":9493,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":10188,"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":17929,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":17891,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18011,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18009,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":662,"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/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.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":{},"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":{},"classes/FileRecordSecurityCheck.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.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/MigrationMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.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":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.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":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"entities/Task.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/TestHelper.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"classes/UsersList.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":{}}}],["publicbackendurl",{"_index":16476,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["publicclient",{"_index":14272,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":23771,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":7250,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16223,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":20355,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":24279,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13268,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18032,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":20523,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18035,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":4973,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":2773,"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":23194,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":23393,"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/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4206,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":23885,"title":{},"body":{"license.html":{}}}],["put",{"_index":4081,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/LegacySchoolController.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":21894,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":21883,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4095,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5026,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":8746,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":21575,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":21554,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':schoolid/migration",{"_index":14798,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["put(':schoolid/migration')@authenticate('jwt')@apiokresponse({description",{"_index":14784,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["put(':scope/:scopeid/start",{"_index":22898,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":22886,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":16912,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":22267,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":22229,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":22264,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":22221,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":10902,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1539,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1538,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":24111,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":7274,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":24102,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":24681,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":6841,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14444,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":12341,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14398,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":23811,"title":{},"body":{"license.html":{}}}],["quality",{"_index":23947,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":24709,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":24096,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":13864,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":13867,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":310,"title":{},"body":{"controllers/AccountController.html":{},"controllers/CardController.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.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/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.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":{},"controllers/UserMigrationController.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":13639,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":7641,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":7642,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":16831,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":13719,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17160,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.error",{"_index":17161,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.firstname",{"_index":13707,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":13724,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":22070,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":22069,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":13710,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":13713,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":13720,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":13722,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.migration",{"_index":17154,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.name",{"_index":22517,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.postloginredirect",{"_index":17155,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.role",{"_index":13714,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":19284,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.state",{"_index":17150,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["query.targetid",{"_index":16055,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16053,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":9812,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":22060,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16057,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":22473,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":24386,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":19538,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":22682,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":22688,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7178,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7160,"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":9925,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":22674,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":22703,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":22702,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2214,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2290,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2280,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":6884,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":11239,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2279,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":12342,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":16565,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":11135,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq",{"_index":1225,"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":18052,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":24086,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":24079,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18050,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18057,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":11206,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rabbitmqwrappertestmodule",{"_index":11274,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rabbitpayload",{"_index":11142,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":11143,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":11133,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3534,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3549,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1610,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":11361,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":12161,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":12160,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":21296,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":21330,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":11359,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":21295,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":11019,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":11015,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":11017,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15080,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15076,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15078,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":12441,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["rcid",{"_index":18478,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rd",{"_index":12445,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["re",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":12430,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["react",{"_index":24201,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1678,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":1682,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1215,"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":18084,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":21389,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18075,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18082,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18072,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18077,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":21079,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":21075,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":21080,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":10914,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":10937,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3131,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":10915,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":10941,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readily",{"_index":23875,"title":{},"body":{"license.html":{}}}],["reading",{"_index":23752,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":21084,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":177,"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":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.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":{},"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/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.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/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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IErrorType.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.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/OauthUc.html":{},"classes/OidcConfig.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":{},"injectables/RestartUserLoginMigrationUc.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/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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/SystemFactory.html":{},"injectables/SystemOidcService.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":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.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":{},"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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":21302,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ready",{"_index":14496,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["real",{"_index":24113,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":6774,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14134,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":12903,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14240,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14249,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14251,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":10677,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.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":23676,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":20526,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":23809,"title":{},"body":{"license.html":{}}}],["receive",{"_index":23453,"title":{},"body":{"license.html":{}}}],["received",{"_index":13915,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"license.html":{}}}],["receives",{"_index":23826,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":23889,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":24546,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":24269,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":23736,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":23882,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1372,"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":23549,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":24577,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":24623,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":24621,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":14629,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":14682,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":988,"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":{},"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":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IUserProperties.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":10761,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":10769,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":10766,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":10771,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2174,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3326,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3325,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3332,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3344,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":10950,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3372,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3404,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":24038,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2119,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/RedirectResponse.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{}}}],["redirect_to",{"_index":17803,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1394,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":9912,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18279,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18284,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":16836,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":16672,"title":{},"body":{"classes/OauthConfigResponse.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturi",{"_index":12402,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthUc.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturi.tostring",{"_index":16480,"title":{},"body":{"injectables/OAuthService.html":{}}}],["redirecturis",{"_index":7533,"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":18280,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":3954,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18289,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":19631,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":3955,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14060,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18285,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["redisstore",{"_index":19626,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":23983,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":3959,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":24884,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5189,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":3789,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.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":8537,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.builder.ts:6",{"_index":8539,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{}}}],["ref.do.ts",{"_index":19189,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":19191,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":19190,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":6376,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":6377,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":6379,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":2737,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":6372,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":6374,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":6373,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["refactor",{"_index":7996,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacySchoolUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":10326,"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":3467,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1739,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.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":{},"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":1741,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":21460,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":21796,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":21804,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":21808,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":7731,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.loader",{"_index":1850,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":21820,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":21823,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":11058,"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":1812,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":21818,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":21824,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":21831,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":21828,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":21833,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:28",{"_index":21826,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":21827,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1837,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1844,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":21840,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1847,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":21842,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1849,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3474,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":21792,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":21788,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":21789,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":18592,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":21791,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":18591,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":21790,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3395,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":21845,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:10",{"_index":21848,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:17",{"_index":21854,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:40",{"_index":21856,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:57",{"_index":21852,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:71",{"_index":21850,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3452,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/INewsProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":8491,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedid",{"_index":7714,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":7791,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2675,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["referenceloader",{"_index":1806,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["referencemodels",{"_index":7929,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2668,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.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":2731,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3108,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3104,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(taskelement",{"_index":3102,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":2736,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":7792,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referer",{"_index":12289,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":23449,"title":{},"body":{"license.html":{}}}],["refers",{"_index":23495,"title":{},"body":{"license.html":{}}}],["refid",{"_index":10620,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":24627,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":23328,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":21402,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":21405,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":10469,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":10416,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":10621,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":23918,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":16792,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":18987,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":16487,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["regard",{"_index":23757,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":23383,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":23646,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":23572,"title":{},"body":{"license.html":{}}}],["regex",{"_index":5541,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.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":15905,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":7457,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":6562,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`${sourceid",{"_index":6575,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":22712,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":9447,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":5537,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":9449,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["region",{"_index":6515,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":17610,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":17611,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":18994,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18214,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18220,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":17824,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":17839,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":24853,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["regular",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":23798,"title":{},"body":{"license.html":{}}}],["reject",{"_index":14635,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":14643,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":5592,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16366,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16367,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16368,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16369,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16370,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16371,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":16811,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":16820,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":16967,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":16975,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":5753,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":5756,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":16821,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":7292,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"classes/KeycloakConsole.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"entities/Submission.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":{}}}],["relatedresources",{"_index":12928,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["relation",{"_index":11834,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19128,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":10644,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":13366,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":12937,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["relative",{"_index":12361,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{}}}],["relative.org",{"_index":5795,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":24596,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":23490,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":23482,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":23640,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":23491,"title":{},"body":{"license.html":{}}}],["reload",{"_index":17713,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":23874,"title":{},"body":{"license.html":{}}}],["remain",{"_index":23693,"title":{},"body":{"license.html":{}}}],["remains",{"_index":23447,"title":{},"body":{"license.html":{}}}],["remember",{"_index":116,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":117,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":5563,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":5561,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":23920,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":23922,"title":{},"body":{"license.html":{}}}],["removal",{"_index":23759,"title":{},"body":{"license.html":{}}}],["remove",{"_index":1832,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/OauthUc.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.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":{}}}],["removechild",{"_index":2793,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":2811,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.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":{},"classes/RpcMessageProducer.html":{},"modules/VideoConferenceModule.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":2729,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":10916,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":10947,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17304,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17315,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":14915,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":14927,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":7660,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":7696,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14040,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14050,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1048,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1585,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1600,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":13567,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":13581,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":10468,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2307,"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(entity",{"_index":2338,"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":11564,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":7710,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":11565,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":7709,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":7661,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":7698,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":10949,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["removesecrets(collectionname",{"_index":12677,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":12680,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":12682,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7015,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":6850,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":6848,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4265,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":11594,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4274,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16296,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16300,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":11025,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":11033,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":9601,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":2957,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16278,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":6487,"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":8011,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8018,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":23962,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":18789,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":18794,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2707,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2719,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":23952,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":24240,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14352,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":12487,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["repeats",{"_index":15681,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":12488,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["replace",{"_index":1888,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":11537,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":14756,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1816,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.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":6563,"title":{},"body":{"injectables/CopyFilesService.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":265,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":298,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":24717,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":24042,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":24721,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replyto",{"_index":1375,"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":2487,"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":{},"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":{},"interfaces/IRepoLoader.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"injectables/TemporaryFileStorage.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":7184,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":24588,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.ts",{"_index":24325,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":625,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":8398,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":19840,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":21312,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repoloader",{"_index":12983,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["repoloader.populate",{"_index":12985,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":12986,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["report",{"_index":8067,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":24420,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":24628,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":24599,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":5444,"title":{},"body":{"modules/CommonToolModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":24024,"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":17986,"title":{},"body":{"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":17989,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":17988,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":12953,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["represent",{"_index":23723,"title":{},"body":{"license.html":{}}}],["representation",{"_index":576,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":5587,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":10886,"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":18323,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":11355,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17182,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":22901,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18322,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":10898,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18363,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":11356,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18364,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18327,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18362,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18361,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18336,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18341,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18342,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18340,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18343,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18317,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":141,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileRequestInfo.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":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.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'})@apiresponse({status",{"_index":4701,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["request(event",{"_index":11255,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request.body",{"_index":14674,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.ts",{"_index":111,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":5551,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15403,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":5559,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15404,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":5566,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6172,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6173,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6174,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":8440,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":8401,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:16",{"_index":8403,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:20",{"_index":8404,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:24",{"_index":8406,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:28",{"_index":8408,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:32",{"_index":8410,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:36",{"_index":8412,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":8419,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:21",{"_index":8420,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:24",{"_index":8423,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:27",{"_index":8422,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":8421,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":8437,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:9",{"_index":8439,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":8479,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6161,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:113",{"_index":9664,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:117",{"_index":9671,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:123",{"_index":9675,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:129",{"_index":9678,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:135",{"_index":9682,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:141",{"_index":9668,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:158",{"_index":9686,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":8450,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:170",{"_index":9662,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":21436,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6168,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":8449,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":21434,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":9691,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6165,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":19225,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:87",{"_index":9658,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":8399,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":8459,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:10",{"_index":8463,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:13",{"_index":8478,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:17",{"_index":8471,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:27",{"_index":8465,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:33",{"_index":8469,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:48",{"_index":8477,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:55",{"_index":8473,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:66",{"_index":8475,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:77",{"_index":8467,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":21717,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":21719,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":21723,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":21721,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":21718,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.schoolid",{"_index":19229,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6171,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":8397,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":8506,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:10",{"_index":8510,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:13",{"_index":8512,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:34",{"_index":8517,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:40",{"_index":8516,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:46",{"_index":8521,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:50",{"_index":8518,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:54",{"_index":8519,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:58",{"_index":8514,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":19228,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6175,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":21710,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":21711,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":21712,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":21714,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":21713,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.user.user",{"_index":24030,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":19230,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2149,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":24385,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":5571,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":5598,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":12247,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(userid",{"_index":12257,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17083,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17104,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestdata",{"_index":15454,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":5624,"title":{},"body":{"classes/ConsentResponse.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["requested_access_token_audience",{"_index":5599,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":5600,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requesthandler",{"_index":18320,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":8381,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{}}}],["requestinfo",{"_index":18304,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18337,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":16603,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":12918,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18353,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":21887,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":15452,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":13899,"title":{},"body":{"modules/InterceptorModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requesttimeout",{"_index":18743,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":18758,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":21401,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1223,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/OAuthService.html":{}}}],["requesttoken(code",{"_index":16415,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":5622,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":12631,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":13992,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":11474,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":10961,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":22933,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":142,"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":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.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":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.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":{},"classes/MigrationBody.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":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolParams.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/SystemIdParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.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":277,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4196,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4162,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredextensions",{"_index":10556,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1673,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.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":1721,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1734,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1736,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2521,"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":3144,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14262,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":23695,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":9425,"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":23507,"title":{},"body":{"license.html":{}}}],["res",{"_index":6863,"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":{},"controllers/OauthSSOController.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":10901,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1514,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.cookie('jwt",{"_index":17173,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.data.destroy",{"_index":10899,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":18974,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.redirect(errorredirect.tostring",{"_index":17138,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(oauthprocessdto.redirect",{"_index":17174,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(redirect",{"_index":17156,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.redirect(response.redirect",{"_index":17190,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["res.send(externaltoollogo.logo",{"_index":21638,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":11358,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":21635,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":21634,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":11364,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":11363,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18330,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":19634,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":219,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":14097,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14367,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18338,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18344,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":17628,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":17636,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":5575,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":14642,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3030,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/ICollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"license.html":{}}}],["resolvedgroup",{"_index":11802,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":11819,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":11820,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":11821,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":11816,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":11817,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":11827,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":11822,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":11642,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":11879,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":11883,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":9867,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":9874,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":21999,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":18378,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":22000,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":18382,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":11878,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":11893,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":12990,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["resolvepermissions(user",{"_index":17518,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17515,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17522,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":12651,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["resolverepo",{"_index":18292,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":12978,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["resolves",{"_index":13769,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":16546,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":16552,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5231,"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":21587,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5248,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5266,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":5416,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5270,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":5417,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5271,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":5411,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5272,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":5412,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":5413,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":5418,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5273,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":7368,"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":5410,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":5408,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceid",{"_index":16327,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourcename",{"_index":16328,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13499,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13502,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5155,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5153,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":8548,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2263,"title":{},"body":{"injectables/BBBService.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":23143,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":23144,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":23145,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":8566,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":8558,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":8556,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.url",{"_index":8561,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":23619,"title":{},"body":{"license.html":{}}}],["respective",{"_index":24424,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":12408,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":24065,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":15958,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":24242,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":824,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.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":{},"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":{},"injectables/MigrationMapper.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":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/PageContentMapper.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":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/SystemController.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.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":21439,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14387,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1577,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":6505,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":6507,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":10868,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":9754,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":11369,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":11362,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":11367,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6195,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6196,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":10369,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14399,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":11365,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.displayname",{"_index":6197,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":24258,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14388,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1571,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4149,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":1969,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":1976,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":1979,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":1980,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":1978,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":1974,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:26",{"_index":5702,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:38",{"_index":5701,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":10365,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6192,"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":21437,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":9755,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14385,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14389,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16363,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.logourl",{"_index":6200,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":3731,"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":782,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.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/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:11",{"_index":21908,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:111",{"_index":19083,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":15432,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":19245,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":18638,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":786,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":18460,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":11795,"title":{},"body":{"classes/GroupResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17029,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6206,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:23",{"_index":17023,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":9212,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":18458,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":18640,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15247,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":20060,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":19077,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:35",{"_index":19242,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:37",{"_index":11798,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6212,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17026,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:43",{"_index":20158,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":9774,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6209,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":18643,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":15430,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["response.mapper.ts:52",{"_index":11801,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:53",{"_index":19086,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":788,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:64",{"_index":19079,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:68",{"_index":19081,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":3729,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:71",{"_index":9765,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":18642,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:75",{"_index":9770,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:79",{"_index":9772,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9213,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:83",{"_index":9768,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":18459,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":18641,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":18821,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":12156,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":9752,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":9756,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6198,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16364,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":21438,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.schoolid",{"_index":19235,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6194,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":6885,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":11109,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":23062,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.status",{"_index":19236,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":11520,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":16841,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.token_endpoint",{"_index":14386,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":17937,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6199,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18037,"title":{},"body":{"classes/PublicSystemResponse.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18042,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:17",{"_index":18043,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:24",{"_index":18040,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:31",{"_index":18041,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18039,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.url",{"_index":9753,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":17938,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":9757,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":24319,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":12343,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":16587,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":16568,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":10773,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18328,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18339,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":19049,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":11935,"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":18319,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18349,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":16449,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":16572,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":16566,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":9343,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":24382,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":24208,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":23827,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":24854,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":24855,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":21777,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":24066,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":8685,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":22198,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":15854,"title":{},"body":{"classes/MigrationResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":18402,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":22265,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":22220,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(schoolid",{"_index":22420,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(userid",{"_index":18405,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartuserloginmigrationuc",{"_index":18400,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":24694,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":18872,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":20655,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":18895,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":20630,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":24579,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":13376,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":10545,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restricting",{"_index":23613,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":23786,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":23784,"title":{},"body":{"license.html":{}}}],["result",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.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/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsScope.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":{},"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.content",{"_index":20063,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19131,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19133,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19132,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.image?.url",{"_index":15727,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14303,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":7779,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":19539,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4249,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":8226,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result[sortby",{"_index":13693,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":7759,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":23476,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18088,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.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":8225,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map((account",{"_index":14455,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":8647,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["resultuser",{"_index":22677,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14467,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14475,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14471,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14473,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14513,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":23740,"title":{},"body":{"license.html":{}}}],["retried",{"_index":12444,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrieve",{"_index":15962,"title":{},"body":{"controllers/NewsController.html":{}}}],["retry",{"_index":12442,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrycount",{"_index":12432,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retrydelay",{"_index":12433,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["retryflags",{"_index":12440,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["return",{"_index":349,"title":{},"body":{"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":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.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/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":{},"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/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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.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/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":{},"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/ExternalToolVersionService.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PageContentMapper.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/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/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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":{},"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/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.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/TestHelper.html":{},"injectables/TimeoutInterceptor.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":{},"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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.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":2012,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":482,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.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/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemFactory.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":22213,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":18964,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":6401,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.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":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.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/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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"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":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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/ExternalToolVersionService.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":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ITaskParent.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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/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":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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/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":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"injectables/MigrationMapper.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/OauthLoginStateMapper.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":{},"injectables/OauthUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PageContentMapper.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":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.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":{},"controllers/SystemController.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.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":{},"injectables/TimeoutInterceptor.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":{},"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":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.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":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":24502,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":5555,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":24334,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":21637,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":22389,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:13",{"_index":22393,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:7",{"_index":22391,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":22203,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":20615,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":20633,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":21033,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":22390,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":22392,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":24642,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":23405,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":23972,"title":{},"body":{"license.html":{}}}],["revised",{"_index":23928,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":16881,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":16851,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":16942,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":16880,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17059,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17073,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":12881,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["rewindsequence",{"_index":460,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":16602,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rich",{"_index":2881,"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":18415,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":5774,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":2870,"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":18260,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":5805,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":5802,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":18445,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":8708,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"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":3213,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3555,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3579,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":18453,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":18443,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":3772,"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":5710,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":5697,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":18463,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":20922,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":4836,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":23734,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":23460,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":10960,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":10975,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":23946,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":11510,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":983,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":18471,"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":24716,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":13020,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":24766,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":24765,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":18473,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":24764,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":992,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/ISchoolProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat/rocket",{"_index":18532,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["rocketchat_service_enabled=true",{"_index":24763,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":989,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1084,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1009,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":974,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":18468,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["rocketchatmodule.forroot",{"_index":19616,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":969,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1018,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"modules/RocketChatUserModule.html":{}}}],["rocketchatuser",{"_index":18474,"title":{"classes/RocketChatUser.html":{}},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserentity",{"_index":18492,"title":{"entities/RocketChatUserEntity.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatuserentityfactory",{"_index":18506,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserentityprops",{"_index":18498,"title":{"interfaces/RocketChatUserEntityProps.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory",{"_index":18503,"title":{"classes/RocketChatUserFactory.html":{}},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory.define(rocketchatuserentity",{"_index":18507,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatusermapper",{"_index":18509,"title":{"classes/RocketChatUserMapper.html":{}},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermapper.maptodo(entity",{"_index":18540,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermodule",{"_index":18522,"title":{"modules/RocketChatUserModule.html":{}},"body":{"modules/RocketChatUserModule.html":{},"modules.html":{}}}],["rocketchatuserprops",{"_index":18488,"title":{"interfaces/RocketChatUserProps.html":{}},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rocketchatuserrepo",{"_index":18526,"title":{"injectables/RocketChatUserRepo.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserservice",{"_index":18527,"title":{"injectables/RocketChatUserService.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{}}}],["role",{"_index":276,"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":{},"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/ICollaborativeStorageStrategy.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfig.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OidcConfig.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":13383,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{}}}],["role.factory",{"_index":22163,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":7331,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":15504,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":15507,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":4661,"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":4712,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":21174,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":21175,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":21176,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1724,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["role.roles.isinitialized(true",{"_index":21254,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":13229,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleattributenamemapping",{"_index":13226,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roledto",{"_index":4630,"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":18616,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":21226,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":21228,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":21230,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":4748,"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":22126,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":18558,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":18623,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":18621,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":18619,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":15509,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":15517,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19105,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1420,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{},"modules.html":{}}}],["rolename",{"_index":4660,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.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":12844,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":24861,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":10259,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.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":15514,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":10258,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":15510,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":13689,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":13716,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":13699,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":12841,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":15516,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":13230,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["rolepermissions",{"_index":13431,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["roleref",{"_index":22781,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":7334,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":13969,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":7328,"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":17335,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":18573,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3140,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{},"interfaces/OauthCurrentUser.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.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":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":13430,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["roles.length",{"_index":17378,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17338,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":21253,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17379,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17529,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":4734,"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":13227,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleteacher",{"_index":13228,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roletype",{"_index":13222,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roleuc",{"_index":18574,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":18939,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["rollbackmigration",{"_index":19391,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["rollbackmigration(originalschooldo",{"_index":19411,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["rollbackmigration(userdocopy",{"_index":22579,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":19043,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":19025,"title":{},"body":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":23743,"title":{},"body":{"license.html":{}}}],["room",{"_index":7671,"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":8605,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":8678,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":8603,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3466,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":8667,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":8656,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":8652,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":14699,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":18691,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1042,"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":7700,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":7771,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1034,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":7675,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":8626,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":7777,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":6907,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["roomsauthorisationservice",{"_index":8587,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":14702,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":6896,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":14700,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":18694,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2426,"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":3165,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3167,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":5385,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3163,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":13215,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["roster",{"_index":10171,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":10170,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:100",{"_index":10199,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:137",{"_index":10194,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:145",{"_index":10203,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:153",{"_index":10192,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:163",{"_index":10196,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:169",{"_index":10191,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:199",{"_index":10210,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:211",{"_index":10214,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:222",{"_index":10212,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:232",{"_index":10207,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:53",{"_index":10189,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:63",{"_index":10205,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:78",{"_index":10201,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":10111,"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":18334,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1563,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["routenameinput",{"_index":21353,"title":{},"body":{"classes/TestApiClient.html":{}}}],["routepath",{"_index":18307,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":23377,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1187,"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":23842,"title":{},"body":{"license.html":{}}}],["rp",{"_index":12774,"title":{},"body":{"interfaces/ICurrentUser.html":{},"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":18818,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":11145,"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":11241,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":11256,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":11252,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":11254,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":24725,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":24722,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1466,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1467,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1468,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":16559,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7103,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1879,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":5505,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1885,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":18858,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1768,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1780,"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":18860,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":18862,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":10547,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.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":10555,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":24529,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2175,"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":22880,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":23367,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1457,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":966,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.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":968,"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":1645,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["s3",{"_index":8212,"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":18909,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":18910,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8200,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":11393,"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":18998,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":18918,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":18984,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":18977,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":18961,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8187,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":11216,"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/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"modules.html":{}}}],["s3clientmodule.register",{"_index":24896,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":11231,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":12193,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":17616,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":6513,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.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":12187,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["s3configlibraries",{"_index":12188,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["safest",{"_index":23985,"title":{},"body":{"license.html":{}}}],["safety",{"_index":23386,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":23850,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2196,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2207,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/SchoolMigrationService.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":10104,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":17166,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":24657,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":10297,"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":24540,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":24351,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":24541,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":24430,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":24397,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":19017,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":24112,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisgrouprole",{"_index":19026,"title":{},"body":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19094,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19093,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":19016,"title":{},"body":{"interfaces/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19096,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupuser.ktid",{"_index":19115,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupuser.rollen",{"_index":19116,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgroupusers",{"_index":19110,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":19018,"title":{"interfaces/SanisGruppenResponse.html":{}},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":19022,"title":{"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":19009,"title":{"interfaces/SanisGruppeResponse.html":{}},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{}}}],["sanislaufzeitresponse",{"_index":19015,"title":{"interfaces/SanisLaufzeitResponse.html":{}},"body":{"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{}}}],["sanisnameresponse",{"_index":19029,"title":{"interfaces/SanisNameResponse.html":{}},"body":{"interfaces/SanisNameResponse.html":{},"interfaces/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":19032,"title":{"interfaces/SanisOrganisationResponse.html":{}},"body":{"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":19040,"title":{"interfaces/SanisPersonenkontextResponse.html":{}},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":19035,"title":{"interfaces/SanisPersonResponse.html":{}},"body":{"interfaces/SanisPersonResponse.html":{},"interfaces/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":17812,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":19056,"title":{"interfaces/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":17813,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole",{"_index":19044,"title":{},"body":{"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19088,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19090,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19089,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19091,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":11832,"title":{"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"interfaces/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":17826,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":22442,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":22446,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":23335,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":7299,"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":7300,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5",{"_index":20751,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizer",{"_index":24017,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":5769,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":18423,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":5783,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":5780,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":5803,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":24259,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":10140,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":313,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":10136,"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/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/SystemRepo.html":{},"injectables/SystemService.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":3365,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["save(entities",{"_index":716,"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/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(entitydo",{"_index":2342,"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":{}}}],["save(group",{"_index":11857,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":14929,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(systemdto",{"_index":20538,"title":{},"body":{"injectables/SystemService.html":{}}}],["save(user",{"_index":22758,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":402,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":793,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":796,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":804,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":806,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":801,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":803,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":797,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":805,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":802,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":800,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":798,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":795,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":794,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":799,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3373,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18211,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:109",{"_index":18233,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:125",{"_index":18234,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:139",{"_index":18235,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:152",{"_index":18236,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:165",{"_index":18231,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:181",{"_index":18228,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:188",{"_index":18222,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:196",{"_index":18225,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:202",{"_index":18219,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:36",{"_index":18217,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:40",{"_index":18223,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:54",{"_index":18230,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:68",{"_index":18229,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:81",{"_index":18226,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:95",{"_index":18232,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2308,"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(entitydos",{"_index":2344,"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":22760,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":13568,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":13637,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":13585,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":6276,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":6288,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":9954,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":6293,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":9516,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["saveddos",{"_index":2354,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddos[0",{"_index":2356,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":11765,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedgroup",{"_index":11866,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedmigration",{"_index":22433,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["savedpassword",{"_index":15276,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":11768,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17333,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["saveduser",{"_index":17351,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17354,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":22773,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":21280,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":21300,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":12038,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":12078,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":11451,"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":18215,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18224,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":12154,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":19267,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":19280,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":19635,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3403,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3406,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":683,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":702,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":22671,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":23691,"title":{},"body":{"license.html":{}}}],["sc",{"_index":3990,"title":{},"body":{"injectables/CalendarMapper.html":{},"interfaces/ICalendarEvent.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":18347,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":13063,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["sc_theme",{"_index":4954,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":10785,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":10679,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanresult",{"_index":1203,"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":1241,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":10780,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":10779,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1238,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1239,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":10767,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":6485,"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":10784,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":10778,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":10781,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":12541,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["scanstatus",{"_index":6440,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":10720,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.error",{"_index":10723,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.pending",{"_index":10678,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.verified",{"_index":10729,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":10726,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["scdomain",{"_index":14264,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":24486,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":24477,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":3751,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"controllers/ElementController.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":24323,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":24324,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":5357,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":654,"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":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.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":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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":{},"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":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.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":21479,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":24817,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":13388,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["school._id",{"_index":13841,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.controller",{"_index":14769,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.controller.ts",{"_index":14772,"title":{},"body":{"controllers/LegacySchoolController.html":{},"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:101",{"_index":21874,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:121",{"_index":21870,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:28",{"_index":14786,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school.controller.ts:46",{"_index":21881,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":14781,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school.controller.ts:61",{"_index":21877,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:79",{"_index":21885,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":14809,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":14814,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":14815,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":14818,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":14816,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":14817,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":14820,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":14813,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":14819,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":14821,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":14811,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":14812,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":16700,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":8988,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":8991,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":8992,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":8990,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":6770,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"classes/UsersList.html":{}}}],["school.factory",{"_index":6986,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":14836,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":14932,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":14934,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":14933,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":16447,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":15821,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["school.module",{"_index":14767,"title":{},"body":{"modules/LegacySchoolApiModule.html":{}}}],["school.module.ts",{"_index":14859,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17324,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["school.officialschoolnumber",{"_index":1966,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":14688,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":14691,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":14861,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":14864,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:24",{"_index":14872,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:28",{"_index":14867,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:35",{"_index":14869,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":14905,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":14906,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":14908,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":14907,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":22075,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":14910,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:10",{"_index":14917,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:16",{"_index":14926,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:21",{"_index":14928,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:29",{"_index":14921,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:35",{"_index":14919,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:41",{"_index":14923,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:47",{"_index":14930,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":14664,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":14665,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(systemid",{"_index":17328,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems?.filter((systemid",{"_index":22445,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school.uc.ts",{"_index":14941,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:101",{"_index":14945,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:16",{"_index":14943,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:26",{"_index":14950,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school.uc.ts:77",{"_index":14948,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school/controller/dto/migration.body.ts",{"_index":15808,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:12",{"_index":15811,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:21",{"_index":15810,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.body.ts:30",{"_index":15809,"title":{},"body":{"classes/MigrationBody.html":{}}}],["school/controller/dto/migration.response.ts",{"_index":15851,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:14",{"_index":15857,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:20",{"_index":15856,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:26",{"_index":15855,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:31",{"_index":15852,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/migration.response.ts:8",{"_index":15858,"title":{},"body":{"classes/MigrationResponse.html":{}}}],["school/controller/dto/school.params.ts",{"_index":19475,"title":{},"body":{"classes/SchoolParams.html":{}}}],["school/controller/dto/school.params.ts:11",{"_index":19476,"title":{},"body":{"classes/SchoolParams.html":{}}}],["school/controller/legacy",{"_index":14771,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["school/error/school",{"_index":19466,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/legacy",{"_index":14764,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"modules/LegacySchoolModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["school/mapper/migration.mapper.ts",{"_index":15832,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["school/mapper/migration.mapper.ts:7",{"_index":15835,"title":{},"body":{"injectables/MigrationMapper.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":19515,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":19517,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":19518,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":10318,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":14909,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":19520,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":19502,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17318,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school/uc/dto/oauth",{"_index":16742,"title":{},"body":{"classes/OauthMigrationDto.html":{}}}],["school/uc/legacy",{"_index":14940,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["school?.id",{"_index":17410,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["school_external_tools",{"_index":13003,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["school_in_migration",{"_index":19354,"title":{},"body":{"classes/SchoolInMigrationError.html":{}}}],["school_migration_failed",{"_index":19379,"title":{},"body":{"classes/SchoolMigrationError.html":{}}}],["school_number_duplicate",{"_index":19469,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":19474,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schooldo",{"_index":13925,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":13929,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldo.features",{"_index":22450,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":22451,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":22452,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":13928,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":13930,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldo.previousexternalid",{"_index":19457,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldo.systems",{"_index":19455,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldo.systems.push(targetsystemid",{"_index":19456,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":19427,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":644,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolentity(props",{"_index":14880,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolexclusive",{"_index":19675,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19173,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":1898,"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":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":21873,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":9083,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":19250,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":1955,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":19253,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":9087,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":19252,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19160,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":21529,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19162,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltooldto",{"_index":19226,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6034,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolentity(props",{"_index":19211,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["schoolexternaltoolfactory",{"_index":19167,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19172,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":5993,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19174,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":6103,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmodule",{"_index":6068,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["schoolexternaltoolparams",{"_index":21879,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":21889,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19183,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolprops",{"_index":19152,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":19197,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":19308,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":5961,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1807,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolService.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":19221,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":19231,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":19237,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":21884,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":21869,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1769,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":9065,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.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":9079,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10270,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":9881,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":19199,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":19246,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":19249,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":19260,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":6308,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"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":9124,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":9128,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":19294,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19181,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolexternaltoolversion",{"_index":19324,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":6985,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":6995,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":21231,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":13013,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":22437,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17332,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17319,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17362,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4266,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"injectables/NewsUc.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OidcProvisioningService.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":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.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":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7001,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":19340,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":19350,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":19371,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":19372,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":19373,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16032,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16037,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16004,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationerror",{"_index":16506,"title":{"classes/SchoolInMigrationError.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationError.html":{}}}],["schoolinusermigrationendloggable",{"_index":19355,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":19361,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":19435,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationerror",{"_index":19377,"title":{"classes/SchoolMigrationError.html":{}},"body":{"classes/SchoolMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationerror(details",{"_index":22491,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationflags",{"_index":19380,"title":{"interfaces/SchoolMigrationFlags.html":{}},"body":{"interfaces/SchoolMigrationFlags.html":{}}}],["schoolmigrationservice",{"_index":4572,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/OauthUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":13219,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{}}}],["schoolnews",{"_index":7130,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7128,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":14924,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":19073,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":19465,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":19508,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermissingloggableexception",{"_index":19470,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":19982,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":22236,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":7553,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":13002,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolparams",{"_index":14776,"title":{"classes/SchoolParams.html":{}},"body":{"controllers/LegacySchoolController.html":{},"classes/SchoolParams.html":{}}}],["schoolparams.schoolid",{"_index":14801,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["schoolrepo",{"_index":12954,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":13030,"title":{"classes/SchoolRolePermission.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":13033,"title":{"classes/SchoolRoles.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":24841,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":10669,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":14878,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":1961,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3328,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":19484,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3598,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":19493,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":19494,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":19487,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schooltomigrate",{"_index":17224,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schooltomigrate(currentuserid",{"_index":19414,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schooltool",{"_index":6027,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["schooltool.school",{"_index":6135,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["schooltoolid",{"_index":6053,"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":5954,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltype",{"_index":12934,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["schooluc",{"_index":14797,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["schoolvalidationservice",{"_index":14857,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4392,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":13017,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":14840,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":11901,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":11376,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":14839,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":14851,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearquerytype",{"_index":4383,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":14858,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":14856,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":7288,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2081,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/CourseCopyUC.html":{},"classes/DtoCreator.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.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":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.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":12360,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":16965,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["scope",{"_index":5558,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.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":{},"interfaces/ISystemProperties.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/LegacyLogger.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/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfig.html":{},"classes/PseudonymScope.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemRepo.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":24797,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":20871,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":20870,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":20869,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":20884,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":20891,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":6141,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":20895,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":13787,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycontextid(query.context?.id",{"_index":6139,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycontexttype(query.context?.type",{"_index":6140,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":20897,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15071,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16096,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":20889,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":20886,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":13779,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15073,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.byid(query.id",{"_index":6137,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":13781,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":13783,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":13789,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16092,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":13785,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":13777,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":19212,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byschooltoolid(query.schooltoolref?.schooltoolid",{"_index":6138,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16091,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":19213,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16095,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":13775,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":22987,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":20899,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":20888,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":20893,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7177,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7175,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7186,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7182,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7185,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":22957,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":13791,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":22519,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":20901,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":23186,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":23190,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":23188,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":6134,"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/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SystemRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":10291,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":22963,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16204,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":21146,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":21148,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":14742,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":8499,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":15120,"title":{},"body":{"classes/LessonScope.html":{},"classes/SystemScope.html":{}}}],["scope.ts:12",{"_index":8504,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":10849,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":20528,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":20968,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":10856,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":10858,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:31",{"_index":10851,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/NewsScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:37",{"_index":16131,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":20966,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":20963,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":15119,"title":{},"body":{"classes/LessonScope.html":{},"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":20970,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":8503,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:60",{"_index":20960,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":20977,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":10854,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":20972,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:8",{"_index":16133,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:83",{"_index":20958,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":20976,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:95",{"_index":20974,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":20506,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":20508,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":20510,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["scope:11",{"_index":6253,"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":6251,"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":6265,"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":6267,"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":6254,"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":16201,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16184,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":21069,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":10112,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/IScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":22948,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":22973,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":22965,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":9693,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":9790,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":9739,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":13059,"title":{},"body":{"interfaces/IScopeInfo.html":{}}}],["scopeoperator",{"_index":6252,"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":22867,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":22904,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":21068,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":21067,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":19546,"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":22903,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":22959,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2617,"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":13474,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13468,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13475,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":24880,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":15765,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":15766,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":11420,"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":23244,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":8211,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":18908,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":813,"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":9807,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":9809,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":9810,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":835,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":840,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":841,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":24392,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":266,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":309,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":684,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":704,"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":21547,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":13851,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13531,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":22339,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":22342,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":9744,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":13216,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["searchusername",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":13217,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["second",{"_index":2721,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":23513,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":23467,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":6840,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":5564,"title":{},"body":{"classes/ConsentRequestBody.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["secret",{"_index":1491,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/ICollectionFilePath.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/SystemFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":6518,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14519,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14027,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":12671,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1654,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":16600,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":23663,"title":{},"body":{"license.html":{}}}],["secure",{"_index":17170,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5290,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":10452,"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":10882,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":10888,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":10891,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":10417,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":10691,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["securitycheckstatus",{"_index":6464,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["see",{"_index":511,"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":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.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":8050,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":12466,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["seed.service",{"_index":14163,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14537,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14541,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":14546,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14542,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14543,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14544,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14545,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8041,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8049,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":24470,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":12563,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":12578,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeded",{"_index":14491,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":12574,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":12598,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["seeding",{"_index":24664,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":12465,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":24055,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":24217,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":4948,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":24842,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14179,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14206,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14667,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":18856,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":18834,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":18840,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":24789,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":23865,"title":{},"body":{"license.html":{}}}],["selling",{"_index":23849,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":23497,"title":{},"body":{"license.html":{}}}],["senario",{"_index":24493,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1209,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1540,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{}}}],["send(params",{"_index":1548,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1221,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":16547,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":16554,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendhttpresponse",{"_index":11485,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":11501,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":24264,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1730,"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":20358,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1126,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1308,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":23702,"title":{},"body":{"license.html":{}}}],["separate",{"_index":14747,"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":16598,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":23649,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15015,"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":24274,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":23366,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":461,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.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":{},"interfaces/ICollectionFilePath.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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":11974,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":12220,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":13656,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":20437,"title":{},"body":{"classes/SystemFactory.html":{}}}],["serialization",{"_index":19990,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":3888,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/ICollectionFilePath.html":{}}}],["serialize(documents",{"_index":3898,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2414,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":3900,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":23336,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":24176,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2024,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.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":{},"injectables/TemporaryFileStorage.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.config",{"_index":19612,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":19569,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module.ts",{"_index":15679,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":15685,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":24195,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":24194,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":24873,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/types",{"_index":5884,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":24058,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":24035,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":632,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":24677,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":13077,"title":{},"body":{"interfaces/IServerConfig.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":19548,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":19560,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{},"modules.html":{}}}],["servercontroller",{"_index":19571,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":19574,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["servermodules",{"_index":19613,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":23477,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":19654,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules.html":{}}}],["serves",{"_index":23556,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":560,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.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/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolUc.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":{},"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":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.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":24876,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":8952,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":19488,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":19490,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":19492,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":10115,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":24369,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":10110,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":9852,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":9904,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":9907,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17065,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":10167,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":10279,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":10287,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":10285,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":10282,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":10304,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":10305,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1744,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:10",{"_index":1751,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:5",{"_index":1745,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3418,"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/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":21704,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3321,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":3956,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":3999,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3604,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":6967,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/copy",{"_index":6593,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":17122,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{}}}],["service/dto/page",{"_index":17435,"title":{},"body":{"injectables/PageContentMapper.html":{}}}],["service/files",{"_index":11124,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":12270,"title":{},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthModule.html":{}}}],["service/id",{"_index":17012,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14084,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":21705,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/oauth",{"_index":16754,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":12271,"title":{},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthModule.html":{},"injectables/OauthUc.html":{}}}],["service/oidc",{"_index":17404,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":11151,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":17817,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18085,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rocket",{"_index":18530,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["service/rooms.service",{"_index":18799,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":19481,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":8774,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/system",{"_index":20469,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/user.service",{"_index":22646,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":21128,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":19886,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":19888,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":19892,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":18906,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":4729,"title":{},"body":{"modules/CollaborativeStorageModule.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":628,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":626,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":627,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1446,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/deletion",{"_index":8396,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":424,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":21168,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":21129,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/ldap.service",{"_index":1447,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14492,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":23951,"title":{},"body":{"license.html":{}}}],["session",{"_index":118,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17033,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17031,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17032,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.destroy((err",{"_index":17131,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["session.oauthloginstate",{"_index":17145,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["session.response.ts",{"_index":5638,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":5646,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":5647,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":5645,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":5642,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15408,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2158,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":19623,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessionhandler",{"_index":17084,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sessionhandler(session",{"_index":17107,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sessions",{"_index":16937,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":16939,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":517,"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/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/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"controllers/LegacySchoolController.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":{},"classes/MigrationBody.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.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/SystemFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.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('authorization",{"_index":1537,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":5510,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1546,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":13148,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["set(permissions",{"_index":12999,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["set(tasksubmitterids",{"_index":13349,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":10377,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":10374,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":20115,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":14721,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":4813,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":14730,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":9179,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":12334,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":12378,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":15216,"title":{},"body":{"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":20042,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setgroupname",{"_index":11566,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":7713,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4035,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4075,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15220,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":18435,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setlearnrooms",{"_index":7662,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":7701,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":13569,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":13588,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":12878,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["setmigration",{"_index":14774,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigration(schoolid",{"_index":14949,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigration(schoolparams",{"_index":14782,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["setmigrationmandatory",{"_index":21418,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":22227,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(schoolid",{"_index":22424,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(userid",{"_index":21421,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setname(name",{"_index":10714,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14098,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setrangeresponseheaders",{"_index":12039,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":12081,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3127,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":4751,"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":21218,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":4612,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":4625,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":22794,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":18431,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":18989,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":12490,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["setting",{"_index":7134,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":24384,"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":2246,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":12414,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4144,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":23193,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":23195,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":23196,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4031,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15213,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3519,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICollectionFilePath.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":24673,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":24108,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":24715,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":24714,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":12580,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["setupsessions",{"_index":19622,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":19648,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["seturl(value",{"_index":15212,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":21214,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13512,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13539,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":20118,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setuserstatus(authtoken",{"_index":1023,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2281,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2285,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2283,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2217,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18053,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1129,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":19697,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":19679,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":340,"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":{},"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":{},"interfaces/ICoreModuleConfig.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4540,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2243,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15283,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/controller",{"_index":247,"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/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":152,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":11317,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":24341,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"modules/AccountApiModule.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/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.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":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto-1.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/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.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/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.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":{},"classes/RenameFileParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.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":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.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":{},"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/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1747,"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":{},"interfaces/IRepoLoader.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":3417,"title":{},"body":{"injectables/BoardDoRule.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CurrentUserMapper.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/OidcProvisioningService.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/ShareTokenDO.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserService.html":{}}}],["shared/domain/domainobject/base.do",{"_index":5965,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/link",{"_index":5770,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3038,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":12338,"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":9122,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/UserDORepo.html":{}}}],["shared/domain/domainobject/user.do",{"_index":7329,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":1718,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TeamRule.html":{},"classes/UserDO.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["shared/domain/entity/account.entity",{"_index":722,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4333,"title":{},"body":{"entities/ClassEntity.html":{},"entities/ContextExternalToolEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/ShareToken.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18237,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":11724,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":7428,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":15698,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":11726,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ITaskParent.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":22310,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":13015,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":23153,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/index",{"_index":16795,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["shared/domain/interface",{"_index":4969,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/Course.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/TaskRepo.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15011,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":13164,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["shared/domain/interface/video",{"_index":22986,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/types",{"_index":2501,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardExternalReference.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ContentElementFactory.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/ElementContentBody.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/NexboardService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"classes/ShareTokenDO.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{}}}],["shared/domain/types/entity",{"_index":13084,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["shared/domain/types/input",{"_index":13272,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/domain/types/session",{"_index":16739,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["shared/pipes",{"_index":24364,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":227,"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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"interfaces/IRepoLoader.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.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":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.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":15594,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":723,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":4678,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":9803,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":8213,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":20504,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":13093,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["shared/repo/user/user",{"_index":22643,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":23123,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":3556,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/RocketChatUserFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4367,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":21227,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":21224,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":21119,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":21225,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":15998,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":24342,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":24359,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":24345,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":10557,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":6723,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken(props",{"_index":19802,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["sharetoken.context",{"_index":19898,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":19822,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":19821,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":19901,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":19849,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":19820,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":19671,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":19740,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":13081,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":19889,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":19687,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":19914,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":19690,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":19736,"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":19749,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":19757,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":19703,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":19728,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":19777,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":19776,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":19775,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":19764,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":19718,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":19715,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":19731,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":19712,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":13082,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"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":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":19758,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":19851,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":19853,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":19778,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":19916,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":19907,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":19742,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":19782,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":19818,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenrepo",{"_index":19790,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":19719,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":19716,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":19725,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":19699,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":10418,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["sharetokenservice",{"_index":19823,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":13083,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":19717,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":19702,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":19577,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["sharingmodule",{"_index":19931,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules.html":{}}}],["shit",{"_index":6775,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7078,"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":24632,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":23309,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":6845,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":10043,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["shouldskipconsent",{"_index":16968,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":16977,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":15815,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":15818,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16157,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":13026,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":13027,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15420,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2208,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":24891,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":15448,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":15449,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1480,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":15456,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":23724,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1479,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1442,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":23487,"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":24225,"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":10562,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":24071,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":24307,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":24497,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":23384,"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":23912,"title":{},"body":{"license.html":{}}}],["sind",{"_index":4937,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3309,"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":3318,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3319,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":24689,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":24690,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":18639,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":6486,"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":11302,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":24771,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":10929,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":823,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":7830,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["skeleton",{"_index":2951,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5044,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4200,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4202,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4210,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4201,"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":{},"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/ICleanOptions.html":{},"interfaces/IFindOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IPagination.html":{},"interfaces/IRetryOptions.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":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":7381,"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":828,"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":24063,"title":{},"body":{"todo.html":{}}}],["slow",{"_index":12592,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":24218,"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":15787,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":13225,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["snapshotlogicchecks",{"_index":10560,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":10558,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socketio",{"_index":23339,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":23424,"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":23711,"title":{},"body":{"license.html":{}}}],["sole",{"_index":23583,"title":{},"body":{"license.html":{}}}],["solely",{"_index":23591,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3132,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":23996,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":20902,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somemethod",{"_index":24422,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":24281,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13446,"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":24868,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":19023,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":19021,"title":{},"body":{"interfaces/SanisGruppenResponse.html":{}}}],["soon",{"_index":24781,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4509,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":9921,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":9922,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":19950,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3049,"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":3119,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3000,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3028,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3118,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3120,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":12608,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["sortedchildren",{"_index":3299,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":15781,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":15788,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":15782,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":9685,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":19955,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":13576,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":20820,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":9917,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":9920,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":24031,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4510,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4513,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":19953,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4515,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":9687,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":11653,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":9743,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":721,"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":{},"interfaces/IPagination.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.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":743,"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":7222,"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":9688,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"interfaces/IPagination.html":{},"classes/ImportUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":7717,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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":{},"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":{},"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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.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/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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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/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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICoreModuleConfig.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.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":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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/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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"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":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"interfaces/ShareTokenInfoDto.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":{},"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":{},"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":{},"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":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.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":{},"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":{},"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":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.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":{},"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":{},"interfaces/ToolVersion.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/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":11725,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":9002,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":9005,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":9004,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.name.familienname",{"_index":19102,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19101,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19112,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19100,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19097,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19099,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation?.id",{"_index":19120,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0]?.gruppen",{"_index":19106,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19104,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":11781,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":9012,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":9014,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":9013,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":8997,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":8999,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":8998,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":24312,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7104,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceexternalid",{"_index":19404,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":6422,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"injectables/UserMigrationService.html":{}}}],["sourceoptions",{"_index":4273,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["sourceparent",{"_index":3444,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3446,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18139,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":6511,"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":24127,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":4838,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":22489,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["sourcesystem",{"_index":17443,"title":{},"body":{"classes/PageContentQueryParams.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["sourcesystemid",{"_index":22280,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["sourcesystemloginurl",{"_index":22601,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sourcesystemloginurl.tostring",{"_index":22604,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sourcetype",{"_index":16010,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":4907,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":23673,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":6789,"title":{},"body":{"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/ICourseProperties.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":23448,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":24150,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":10543,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":24216,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":993,"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":23435,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":24383,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":24440,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":4752,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":21720,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":10534,"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":24556,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":23929,"title":{},"body":{"license.html":{}}}],["split",{"_index":14954,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":24875,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":24639,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":24311,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":11221,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.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":{}}}],["src/core",{"_index":11049,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["src/core/error/dto",{"_index":11641,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":3925,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":3926,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":14659,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1228,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["src/core/logger",{"_index":1341,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.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":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/IdTokenCreationLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/LegacySchoolApiModule.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":{},"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":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.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":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.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":{},"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/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":11324,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":624,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":11503,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":11325,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{}}}],["src/imports",{"_index":14057,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/modules/authentication",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["src/modules/authorization",{"_index":15711,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["src/modules/authorization/domain",{"_index":11979,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":24591,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":11845,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":11965,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5131,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["src/shared/domain/types",{"_index":22587,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["sso",{"_index":16376,"title":{},"body":{"classes/OAuthSSOError.html":{},"controllers/OauthSSOController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":16582,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17078,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:119",{"_index":17111,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:152",{"_index":17096,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:162",{"_index":17106,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:183",{"_index":17101,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:47",{"_index":17087,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:65",{"_index":17103,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:83",{"_index":17108,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:98",{"_index":17092,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.error",{"_index":12268,"title":{},"body":{"injectables/HydraOauthUc.html":{},"controllers/OauthSSOController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso.error.ts",{"_index":16373,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:11",{"_index":16374,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:5",{"_index":16379,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:7",{"_index":16378,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso.error.ts:9",{"_index":16377,"title":{},"body":{"classes/OAuthSSOError.html":{}}}],["sso_auth_code_step",{"_index":12273,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["sso_internal_error",{"_index":16429,"title":{},"body":{"injectables/OAuthService.html":{}}}],["sso_jwt_problem",{"_index":13958,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":22654,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13965,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ssoauthenticationerror",{"_index":1787,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["ssoerror",{"_index":17130,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["ssoerror.errorcode",{"_index":17136,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["ssoerrorcode",{"_index":16380,"title":{},"body":{"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{}}}],["ssoerrorcode.sso_jwt_problem",{"_index":16455,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ssoerrorcode.sso_oauth_login_failed",{"_index":16375,"title":{},"body":{"classes/OAuthSSOError.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["ssologinquery",{"_index":17090,"title":{"classes/SSOLoginQuery.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/SSOLoginQuery.html":{}}}],["stack",{"_index":9283,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.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/UserNotFoundAfterProvisioningLoggableException.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":4920,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":23548,"title":{},"body":{"license.html":{}}}],["standards",{"_index":23550,"title":{},"body":{"license.html":{}}}],["start",{"_index":829,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.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":22884,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":19362,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":19364,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":19363,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":22457,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":6724,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1351,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/OauthUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["startedat",{"_index":22281,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":24865,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":23361,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":19973,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":22261,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":22234,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":22426,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":19976,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["startoauthauthorizationcodeflow",{"_index":17085,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["startoauthauthorizationcodeflow(session",{"_index":17109,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["startoauthlogin",{"_index":17197,"title":{},"body":{"injectables/OauthUc.html":{}}}],["startoauthlogin(session",{"_index":17207,"title":{},"body":{"injectables/OauthUc.html":{}}}],["starts",{"_index":15363,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":13570,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":13592,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2176,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":24700,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":19970,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":238,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"injectables/OAuthService.html":{},"classes/OauthLoginStateDto.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.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.dto",{"_index":16740,"title":{},"body":{"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["state.dto.ts",{"_index":16722,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:10",{"_index":16724,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:12",{"_index":16723,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:4",{"_index":16726,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:6",{"_index":16727,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.dto.ts:8",{"_index":16725,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["state.entity",{"_index":13019,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":6696,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":6700,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":6703,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":6702,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":6701,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":10309,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":10306,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":10308,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":10307,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":22837,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":14838,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.mapper",{"_index":17119,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["state.mapper.ts",{"_index":16734,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["state.mapper.ts:5",{"_index":16738,"title":{},"body":{"classes/OauthLoginStateMapper.html":{}}}],["state.repo.ts",{"_index":10312,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":10313,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":10314,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":8554,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":10319,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":10324,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":10322,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":23576,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17094,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":23108,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":23115,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23788,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":413,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.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":{},"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/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.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/ICleanOptions.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRetryOptions.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":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginStateMapper.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/ResolvedUserMapper.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/SchoolInfoMapper.html":{},"entities/SchoolNews.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/SystemFactory.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/TestHelper.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.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/UserMigrationMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":23629,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":8385,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":8387,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":8376,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["statistics_reporting=false",{"_index":24751,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.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":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.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":{},"classes/FileRecordSecurityCheck.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":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.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/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/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.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":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.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":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3061,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3106,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3107,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":6630,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2015,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.mapper",{"_index":20778,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":20999,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":21000,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":6633,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":3810,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["status.response.ts",{"_index":3818,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":21008,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:17",{"_index":21007,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":21003,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":3831,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":21004,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":3830,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":21006,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":3826,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":21005,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":3825,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":3827,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":3829,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":3828,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.status",{"_index":3064,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status_code",{"_index":5547,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":991,"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":20781,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3027,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3100,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statusmapping",{"_index":21909,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["statusmapping[status",{"_index":21913,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["statustext",{"_index":1972,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":24238,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":12642,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["steps",{"_index":23461,"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":24804,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":24814,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":24448,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7083,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.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":12640,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3600,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IServerConfig.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":{},"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":4698,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":4682,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4602,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":4618,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":4626,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":4632,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":4624,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":4621,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":4628,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":11222,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":12797,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["storage.const",{"_index":1233,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":11126,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":11131,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":11137,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":11141,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":11139,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":4690,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":4704,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":11165,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":11173,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":11177,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":11171,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":11175,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":11174,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":11179,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":11050,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":4727,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":6468,"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":6539,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":6537,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":6538,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":17655,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":17657,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":10789,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":17653,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":10786,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":10788,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":10987,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":10984,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":10986,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":10617,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":8582,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":8581,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19136,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19137,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19135,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":19949,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18303,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":6536,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":6474,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":6471,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":11073,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":11240,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":11244,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":11246,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":11250,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":11247,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":6433,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":10833,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":10835,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":10836,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":10841,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":10839,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":10840,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":10831,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":10834,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":10837,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":10838,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":10832,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":10758,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":10830,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":6499,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":6500,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":6502,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":6501,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":6435,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":4784,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":4731,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":21291,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":21281,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:13",{"_index":4737,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":21283,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":21289,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":21285,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:31",{"_index":4742,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":21287,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:42",{"_index":4750,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:43",{"_index":21293,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":21297,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:60",{"_index":4739,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:64",{"_index":4738,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":21299,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:68",{"_index":4746,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":21304,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":12750,"title":{},"body":{"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{}}}],["storage.uc",{"_index":4710,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":4772,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":4782,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":4778,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":4777,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":4779,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":4776,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4601,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":4689,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":6432,"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":19130,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":21149,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":10881,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":11125,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":10331,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":10336,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":10334,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":10335,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":10333,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":21177,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":10752,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":10642,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:104",{"_index":10654,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:107",{"_index":10661,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:110",{"_index":10656,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:113",{"_index":10655,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:116",{"_index":10660,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:120",{"_index":10658,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:124",{"_index":10650,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:131",{"_index":10646,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:138",{"_index":10651,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:145",{"_index":10648,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:45",{"_index":10865,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:48",{"_index":10863,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:51",{"_index":10864,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:54",{"_index":10862,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:57",{"_index":10861,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1232,"title":{},"body":{"injectables/AntivirusService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/IFileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper",{"_index":3046,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["storage/helper/test",{"_index":21383,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":11400,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":4648,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":6504,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":10350,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":11164,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17558,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":17564,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":17562,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":4785,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":21124,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":21127,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":10842,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":10791,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:13",{"_index":10812,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:20",{"_index":10814,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:27",{"_index":10804,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:34",{"_index":10806,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:45",{"_index":10808,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:56",{"_index":10810,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:65",{"_index":10802,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:81",{"_index":10816,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:9",{"_index":10817,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":17666,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":17672,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":17678,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":17676,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":17674,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":17683,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":17681,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":17679,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":4730,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":4634,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":4636,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":21101,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":21106,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":21104,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":21208,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":21207,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":21206,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":21105,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":12492,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":12499,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":12496,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":12495,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":12497,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":11926,"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":16227,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16253,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16240,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16239,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16242,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16246,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16233,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16249,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16237,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16234,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16247,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":4771,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":24138,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":24137,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":24139,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":11392,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":17576,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":17615,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":8253,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8199,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":8245,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["storageprovider.endpointurl",{"_index":8240,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":8242,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":8246,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/ICollectionFilePath.html":{}}}],["storageproviderencryptedstringtype",{"_index":13092,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"interfaces/IStorageProviderProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{}}}],["storageproviderentity",{"_index":8197,"title":{"entities/StorageProviderEntity.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":10444,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderrepo",{"_index":8194,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":12509,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":12681,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":12508,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["storagestrategy",{"_index":4683,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":3942,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":3961,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":21830,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":12494,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":4608,"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":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":17855,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":21752,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":21747,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":17851,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":13406,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":13407,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":13409,"title":{},"body":{"interfaces/IToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":1894,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":4640,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2588,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1448,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1450,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1451,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1452,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":4681,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":4680,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16335,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1453,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":17818,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":11836,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/sanis/sanis",{"_index":17819,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/tool",{"_index":13403,"title":{},"body":{"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{}}}],["stream",{"_index":1217,"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":18992,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":18993,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":6864,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":12114,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":11198,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":10900,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":11366,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":6888,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":17169,"title":{},"body":{"controllers/OauthSSOController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.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/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/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":{},"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":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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":{},"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/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.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":{},"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":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.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":{},"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":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.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/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeFile.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.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/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/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":{},"injectables/LegacySchoolUc.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.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":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.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/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/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.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/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.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":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.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":{},"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":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestHelper.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":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.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/UserLoginMigrationError.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":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.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":{},"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":10985,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":10983,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2288,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":13069,"title":{},"body":{"interfaces/IServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17356,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":14722,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":14732,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15346,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15352,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":572,"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":151,"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":13686,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":13863,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":13849,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":13855,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":13858,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":22687,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":22684,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":13717,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":13705,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":13708,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":13711,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":22518,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":20026,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}${additionalinfo",{"_index":13964,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":12403,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["strip",{"_index":23342,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":10164,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":24576,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":5384,"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":24305,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":14739,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":6817,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":24029,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3136,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.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":10221,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":13031,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":665,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4393,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":10235,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":13108,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["studentids",{"_index":6810,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7012,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7014,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["studentpermissions",{"_index":22160,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":10245,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":10253,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":6725,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":6975,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":6979,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":666,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":13021,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":20094,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":23392,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":23415,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":24500,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":11422,"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":6410,"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":24889,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":17638,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":12228,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["subdividing",{"_index":23832,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":7840,"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":9915,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":16609,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":12929,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["subjecttype",{"_index":16608,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":16606,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":23862,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":23593,"title":{},"body":{"license.html":{}}}],["submission",{"_index":2883,"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":{},"entities/CourseGroup.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.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":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":3741,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":3760,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":3765,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":3754,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":20218,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":13277,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":13347,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":20216,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":20214,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":13339,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":13342,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":13335,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":13341,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":20264,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":20992,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":20269,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":20267,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":13128,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["submissioncontainer",{"_index":20174,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":20180,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":5775,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.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":2873,"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":8790,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":8787,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":20197,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":5808,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18262,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":20049,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":8711,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"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":3216,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":20047,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4084,"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":4056,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":5711,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":5698,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":20061,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":20066,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":20057,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":3756,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":20182,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":20185,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":20068,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":20092,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":20106,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":20282,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2525,"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":20167,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18265,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":20169,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18264,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":20168,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2543,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":20134,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":20190,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3219,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":20141,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":20129,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":8744,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":3774,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":3781,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":20160,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":8728,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":3777,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":20203,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":20162,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3596,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":20161,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":2756,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":3747,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":20078,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":20087,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrepo",{"_index":1808,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":20085,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1770,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":3742,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":20833,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":13334,"title":{},"body":{"interfaces/ITaskParent.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":13345,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":20086,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":13340,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":20270,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":3768,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":20166,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":3758,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":20080,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":20089,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":20213,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":20079,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":20071,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":3824,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":13333,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":13346,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":20215,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":20139,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":20217,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":21349,"title":{},"body":{"classes/TestApiClient.html":{}}}],["subpermissions",{"_index":17531,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":23568,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":23681,"title":{},"body":{"license.html":{}}}],["subset",{"_index":5557,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3138,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":23719,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":23830,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":24214,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3137,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":6753,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":10237,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":6814,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":10247,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":6726,"title":{},"body":{"entities/Course.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":8715,"title":{},"body":{"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":24519,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["succesfully",{"_index":17099,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["success",{"_index":986,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DeleteFilesUc.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":{}}}],["successful",{"_index":14641,"title":{},"body":{"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15366,"title":{},"body":{"controllers/LoginController.html":{}}}],["successfully",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["successfully.'})@apiresponse({status",{"_index":306,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":21602,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":11933,"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":20327,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":22003,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4272,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["such",{"_index":2725,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":23872,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":23727,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":10131,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":24070,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":24013,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":24433,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":12389,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":24153,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":22695,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":346,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICalendarEvent.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.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":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["super",{"_index":182,"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":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardTarget.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfig.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.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/UserLoginMigrationError.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":14582,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":14579,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":6130,"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":11258,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":3863,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2043,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":7433,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":23044,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1005,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":11426,"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(message",{"_index":16351,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["super(oidcprovisioningservice",{"_index":19057,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(props",{"_index":403,"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/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/INewsProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.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":5968,"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":8560,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":833,"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":1319,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2102,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7031,"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":275,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":289,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1500,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1535,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1533,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1530,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supplement",{"_index":23753,"title":{},"body":{"license.html":{}}}],["support",{"_index":2405,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"modules.html":{},"todo.html":{}}}],["support_${objectid",{"_index":13999,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1515,"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":24074,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2459,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":13997,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1133,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.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":23907,"title":{},"body":{"license.html":{}}}],["survive",{"_index":23787,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":23965,"title":{},"body":{"license.html":{}}}],["svg",{"_index":24003,"title":{},"body":{"modules.html":{}}}],["swagger",{"_index":23281,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["switch",{"_index":1931,"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/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SystemRepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":22484,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":12415,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":12787,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":12900,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":12905,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":12788,"title":{},"body":{"interfaces/IEncryptionService.html":{}}}],["symbol('toolfeatures",{"_index":13396,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13436,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":8803,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":8808,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8052,"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":17283,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2726,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":8042,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14322,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14257,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":984,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3134,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/PageContentQueryParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"classes/SystemResponseMapper.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":{},"injectables/UserMigrationService.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'})@ismongoid",{"_index":17448,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["system.'})@apiresponse({status",{"_index":20361,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":20444,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":10982,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":10909,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":10919,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":10956,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":10921,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":10938,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":10953,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":10942,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":10925,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":10948,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":10935,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":18046,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":18047,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{}}}],["system.dto",{"_index":16701,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":17863,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":17866,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":17865,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":17864,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":9007,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/ImportUser.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.factory",{"_index":13650,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["system.id",{"_index":14628,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserDORepo.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":20400,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":12667,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":12668,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.module",{"_index":20349,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":10981,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":12661,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/UserMigrationService.html":{}}}],["system.oauthconfig.clientsecret",{"_index":12662,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.oauthconfig.provider",{"_index":17217,"title":{},"body":{"injectables/OauthUc.html":{}}}],["system.oauthconfig?.logoutendpoint",{"_index":16459,"title":{},"body":{"injectables/OAuthService.html":{}}}],["system.oauthconfig?.provider",{"_index":16458,"title":{},"body":{"injectables/OAuthService.html":{}}}],["system.oidcconfig",{"_index":12664,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"injectables/SystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":12665,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":20569,"title":{},"body":{"injectables/SystemService.html":{}}}],["system.provisioningstrategy",{"_index":20397,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system.provisioningurl",{"_index":20398,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system.type",{"_index":18045,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{}}}],["system.url",{"_index":20396,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemService.html":{}}}],["system/file",{"_index":10908,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":11888,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["system?.id",{"_index":22633,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["systemapimodule",{"_index":19578,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{},"modules.html":{}}}],["systemcontroller",{"_index":20346,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdto",{"_index":11880,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["systemdto.alias",{"_index":20553,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.displayname",{"_index":20554,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.id",{"_index":20550,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.oauthconfig",{"_index":20555,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":20556,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.provisioningurl",{"_index":20557,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.type",{"_index":20552,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdto.url",{"_index":20558,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemdtos",{"_index":20375,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":9006,"title":{"entities/SystemEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systemfactory",{"_index":13649,"title":{"classes/SystemFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemFactory.html":{}}}],["systemfactory.build",{"_index":13652,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systemfactory.define(systementity",{"_index":20435,"title":{},"body":{"classes/SystemFactory.html":{}}}],["systemfilterparams",{"_index":20353,"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/IJsonAccount.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":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemOidcMapper.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":17089,"title":{"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{}},"body":{"controllers/OauthSSOController.html":{},"controllers/SystemController.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{}}}],["systemids",{"_index":22444,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":22447,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":20522,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":20449,"title":{"classes/SystemMapper.html":{}},"body":{"classes/SystemMapper.html":{},"injectables/SystemService.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":20549,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":20542,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":20461,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1421,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules.html":{}}}],["systemoidcmapper",{"_index":20470,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":20496,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":20493,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":20480,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14183,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprovisioningstrategy",{"_index":13163,"title":{},"body":{"interfaces/ISystemProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":13954,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17294,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":19058,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":17873,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":622,"title":{"injectables/SystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":20524,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":20369,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":20378,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":20382,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":20525,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18036,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systems",{"_index":10926,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/OidcProvisioningService.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.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":20356,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":20561,"title":{},"body":{"injectables/SystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":12660,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":22083,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":20520,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":20565,"title":{},"body":{"injectables/SystemService.html":{}}}],["systemscollectionname",{"_index":12507,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["systemscope",{"_index":20503,"title":{"classes/SystemScope.html":{}},"body":{"injectables/SystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":16394,"title":{"injectables/SystemService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["systemstrategy",{"_index":17836,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":20573,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":20443,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":20505,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":20507,"title":{},"body":{"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemtypeenum.oidc",{"_index":20509,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemuc",{"_index":20344,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":479,"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/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":{},"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/SystemFactory.html":{},"injectables/SystemRepo.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":20740,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":12612,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16255,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":178,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":11466,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["tags",{"_index":12930,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{}}}],["tags'})@apiresponse({status",{"_index":15716,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":12874,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.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":20906,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":23706,"title":{},"body":{"license.html":{}}}],["tap",{"_index":8693,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":2739,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICreateNews.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PageContentQueryParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolMigrationService.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":10120,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":8859,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2694,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":4964,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":4968,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":4967,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":4966,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":20582,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":20583,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":18773,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":4979,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:11",{"_index":4988,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:33",{"_index":4985,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:8",{"_index":4983,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16137,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16209,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16135,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":4997,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16136,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16008,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":3872,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":3853,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4245,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4228,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4175,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5079,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":7796,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":7797,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":19402,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":12523,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["targetgroups",{"_index":12931,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{}}}],["targetid",{"_index":7283,"title":{},"body":{"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetids",{"_index":10118,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16034,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16036,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16005,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7105,"title":{},"body":{"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.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":16168,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":23159,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":23157,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16205,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":23155,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":23170,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":23163,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3435,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3448,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3442,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3443,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18141,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":10708,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["targetpath",{"_index":6512,"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":10109,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3436,"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":8374,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["targetrefdoamin",{"_index":8378,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{}}}],["targetrefdomain",{"_index":8371,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["targetrefid",{"_index":8372,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["targets",{"_index":10114,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16208,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":10119,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":4840,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":22490,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["targetsystem",{"_index":17444,"title":{},"body":{"classes/PageContentQueryParams.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetsystemid",{"_index":19399,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["targetsystemloginurl",{"_index":22598,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["targetsystemloginurl.tostring",{"_index":22603,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["task",{"_index":2686,"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":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.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":{},"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":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":24438,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":20791,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":18720,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":20786,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":8655,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":21050,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":8654,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":21049,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":18715,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":20690,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":20691,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":20789,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":20793,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2687,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":20103,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":21054,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":20780,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":20783,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":12736,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["task.isplanned",{"_index":12738,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["task.ispublished",{"_index":12734,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":18717,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":20239,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":20240,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":20608,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5195,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{}}}],["task.name}${task.description",{"_index":5196,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3472,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":3795,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":3805,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":3806,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":3799,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":3804,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":3800,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":3802,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":3803,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":3801,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":3809,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":3808,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":3798,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":21055,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":20260,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":20997,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":21059,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":20787,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":19579,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{},"modules.html":{}}}],["taskboardelement",{"_index":2697,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":20606,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":20674,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":20695,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":6644,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":20669,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":6646,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3004,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":20603,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":18666,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":18669,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreateparams",{"_index":20743,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":20779,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":20795,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":20785,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":20784,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":20799,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":20796,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3101,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":3707,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":20102,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":20107,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":20759,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":20279,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5192,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5194,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":20227,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":20639,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":20651,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":20636,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":20650,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":14715,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules.html":{}}}],["taskparentdescriptions",{"_index":13279,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":18710,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskrepo",{"_index":1809,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":20640,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":20648,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1771,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5158,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":12733,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["tasks.foreach((task",{"_index":5162,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":21048,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":20830,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":20840,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5107,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskstatus.mapper",{"_index":18645,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":3813,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":3816,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":20777,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":20782,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":20763,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":21002,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":13344,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":20645,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":20649,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":20604,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdateparams",{"_index":20773,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlparams",{"_index":20075,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":18655,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":8621,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"interfaces/ITaskParent.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":8651,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":21047,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3135,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"interfaces/ISchoolProperties.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.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":5187,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5188,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":12412,"title":{},"body":{"interfaces/IAccountConfig.html":{},"interfaces/IServerConfig.html":{}}}],["teacheraccount",{"_index":671,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":10236,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":13283,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4452,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4267,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4394,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":22161,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":10246,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":10252,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4417,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICourseProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":11900,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":6976,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":6982,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":672,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":7358,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":7359,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":4622,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICreateNews.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":7097,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":4657,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":4659,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16272,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16282,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":21249,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":21199,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":21200,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":4755,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":4620,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7096,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":21134,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":21135,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":21130,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":21110,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":21122,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":3970,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":4725,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":13131,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammemberobjectids",{"_index":13129,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammemberobjectids.map((id",{"_index":13132,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["teammembers",{"_index":13105,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":20095,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":20099,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":4658,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7136,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7127,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16070,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":4754,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":4749,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":4696,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":4631,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":4726,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamrole",{"_index":4693,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":4790,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":4789,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":4694,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":4655,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1772,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":12768,"title":{},"body":{"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":21198,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":21203,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13476,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":19580,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{},"modules.html":{}}}],["teamservice",{"_index":21188,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":4735,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":21234,"title":{"modules/TeamsModule.html":{}},"body":{"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules.html":{}}}],["teamsrepo",{"_index":1810,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/IRepoLoader.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":4715,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13269,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":21141,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16248,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":21132,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":21133,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":21131,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16252,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":13382,"title":{"classes/TeamUserEntity.html":{}},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":13392,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["teamuserfactory",{"_index":21118,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":21123,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":21229,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":21120,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamusers",{"_index":13381,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{}}}],["teamusers(value",{"_index":13389,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["teamusers.map(async",{"_index":16289,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":24041,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":24187,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":8844,"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":23600,"title":{},"body":{"license.html":{}}}],["tell",{"_index":24180,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":5553,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":10927,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["temp/:file",{"_index":12107,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":21327,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":21310,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":12223,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":12226,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":12225,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":12230,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":12224,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":12231,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":21331,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14245,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1077,"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":{},"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":{},"injectables/SystemRepo.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":21484,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":9332,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":5989,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":5990,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6001,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":5998,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":5997,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6000,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":5995,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":5996,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":302,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfilerepo",{"_index":12180,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":12181,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":24857,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":23574,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":24663,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":23792,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":23810,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":23800,"title":{},"body":{"license.html":{}}}],["termination",{"_index":23789,"title":{},"body":{"license.html":{}}}],["terms",{"_index":23381,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":934,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IServerConfig.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.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":21373,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":11275,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["test.module.ts:29",{"_index":11277,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":11386,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":12198,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":21362,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1510,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":21360,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":24453,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testdata",{"_index":24473,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7183,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":21382,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":12095,"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":12067,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":21369,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14099,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":24592,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":24598,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":24595,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":24594,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":24593,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":21393,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1505,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1569,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1545,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1528,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1532,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["tests",{"_index":2425,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/IFileStorageConfig.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":21392,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":21388,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":7261,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["text",{"_index":2882,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.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":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":18438,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":21391,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":18417,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":18419,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":18420,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":18418,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":24357,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":4909,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":4929,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":4945,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":4958,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":24343,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":24358,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3665,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":24885,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":24544,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16293,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2260,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":20911,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7010,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.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":23457,"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":20728,"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":23623,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2463,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":19541,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":17739,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":17740,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":4971,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":4975,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":4864,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._contextid.tohexstring",{"_index":4866,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":13087,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._contexttype",{"_index":4862,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":5945,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":5937,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":11016,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15077,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":22696,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(fetchedentity",{"_index":2375,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":12023,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this._em.create(this.entityname",{"_index":2369,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":728,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":20237,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":11009,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":15596,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":18605,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":20019,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":20512,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":21252,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":740,"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(user",{"_index":22081,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7181,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7033,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":10828,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":13795,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15074,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16102,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":14876,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":20915,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15199,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":22072,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone(account",{"_index":724,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":3700,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":13776,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":15599,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":14874,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":9553,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":22364,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail",{"_index":6136,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":3704,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":3702,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":10315,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":10829,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":13773,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":15598,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16098,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":18603,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":19519,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":19803,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":21248,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2374,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":23162,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":19219,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":22103,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":19217,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(schoolexternaltoolentity",{"_index":6152,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.getreference(systementity",{"_index":14900,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":14902,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":11018,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15079,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":22709,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":13800,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":2400,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":22714,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":3703,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2363,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":3714,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7173,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7032,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16108,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":13774,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15069,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":3712,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15075,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16103,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16099,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":21255,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16106,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":20238,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":3710,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":20831,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16107,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":21250,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":22675,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":22074,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":13799,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":22711,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities",{"_index":2391,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2502,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._id",{"_index":7813,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this._instance",{"_index":17746,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":10698,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":10694,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._isenabled",{"_index":17736,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":10501,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":10461,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14375,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":19540,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":7409,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":7378,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":10494,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":10460,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":5943,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._parentid.tohexstring",{"_index":5939,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this._parentid?.tohexstring",{"_index":10459,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":17738,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":19543,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":19542,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":19545,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":19544,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":17737,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":5947,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":5941,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.a11ytitle",{"_index":5911,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.abbreviation",{"_index":6714,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":16832,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":16983,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":13096,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.accesstoken",{"_index":15399,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":959,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":882,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":885,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":887,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":883,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":942,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":16513,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":22614,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":22769,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1619,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14511,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":22625,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":22620,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17353,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1620,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1646,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":372,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":366,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.activated",{"_index":199,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":13190,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.adapter.createteam(team",{"_index":4769,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":4768,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":4770,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":4765,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14275,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":9870,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.addlessons(builder",{"_index":5143,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":6269,"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":16140,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16141,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":10860,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":7766,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5144,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":19064,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":10580,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":13250,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.allowmodstounmuteusers",{"_index":2056,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":7776,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":10392,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1251,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":15661,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":18819,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18069,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3640,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3634,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":6710,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.app",{"_index":1524,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":2728,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2054,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":13998,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":13178,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":14670,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.generatejwt(oauthcurrentuser",{"_index":17232,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.authenticationservice.loadaccount",{"_index":14690,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":14687,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15285,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":14676,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":14675,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":17230,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":14678,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":10582,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":5926,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":20735,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15033,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15012,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":20733,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15027,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":8629,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":18805,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":8639,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":6955,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7191,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7040,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1886,"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/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":21187,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1887,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":19912,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":9958,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16194,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16178,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":21035,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":20312,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":21780,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2535,"title":{},"body":{"classes/BaseUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.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":6970,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":24827,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16210,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16206,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":16796,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":16990,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18012,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1855,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.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/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":21051,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":21058,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1857,"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":24806,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":13237,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.authorizeaccess",{"_index":14119,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":5920,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":4762,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.checkpermission(authorizableuser",{"_index":14974,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":15443,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":4763,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.getuserwithpermissions(userid",{"_index":14956,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.authtoken",{"_index":18502,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.availabledate",{"_index":13289,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.axiosconfig",{"_index":12315,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.basepath",{"_index":12518,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.baseroute",{"_index":1525,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.baseurl",{"_index":2567,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.bbbresponse",{"_index":22839,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":22970,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":23037,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":23057,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":22956,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":23089,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2248,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2250,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2249,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthtime",{"_index":10522,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.board",{"_index":8628,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":8631,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":6921,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2533,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2536,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4248,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":20199,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":4842,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3441,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4183,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5066,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":4828,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":5739,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3158,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3166,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4184,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":4893,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4194,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3445,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5070,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3438,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":5750,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":5741,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":20183,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3161,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":4898,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":4901,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4195,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5071,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":4899,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":4847,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":5751,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3440,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3447,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":20181,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3449,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":18852,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":4900,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4192,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5068,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":5745,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4193,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5069,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":5746,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":21784,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5095,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3524,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":12975,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.boardnoderepo",{"_index":3405,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3401,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3398,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3374,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18240,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3375,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3382,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":18807,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":6911,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":18802,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":18781,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3062,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":21785,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":2989,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":2987,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":2973,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":2978,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5027,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":2983,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":12589,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":12607,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.bucket",{"_index":10483,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":7551,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(params",{"_index":2466,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requiredpermissions",{"_index":1686,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3262,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":6631,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":8634,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":5690,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":5682,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13473,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":5684,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":5686,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":6133,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":5688,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":16448,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":20235,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":18604,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14064,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14063,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":13359,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":13357,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4019,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14127,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17429,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["this.cancreaterestricted",{"_index":12000,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caninstallrecommended",{"_index":12002,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":12004,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":10391,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4211,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5045,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5086,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4241,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4238,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4246,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4235,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5088,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4239,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4240,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4113,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4107,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4092,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":8747,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4101,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4104,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":3932,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":5649,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":5924,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1526,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1564,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":22798,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":22784,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":19890,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":19897,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":14672,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15291,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":20727,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15019,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":20732,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateincontext(contextexternaltool",{"_index":6356,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":18820,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":19847,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":6953,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":19884,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":19896,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":21321,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":17688,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2716,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(schooldo",{"_index":19432,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":5524,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15014,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":20726,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":5526,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":5525,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":19885,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2544,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":19980,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkschoolauthorization(authorizableuser",{"_index":14958,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.checkscopeandvalidateparameter(validatabletool",{"_index":5517,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkstreamresponsive(stream",{"_index":18920,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":8782,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalue(account.userid",{"_index":14669,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":14680,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":14671,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":19328,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":2833,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":2826,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":2838,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":2832,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3256,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3257,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3298,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1237,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":6807,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4498,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4499,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4506,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":13670,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":12857,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":8858,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15284,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1565,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.client",{"_index":12938,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16281,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16309,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16279,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16270,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16280,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16267,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16268,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16263,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16261,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16285,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16294,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16269,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16266,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16311,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16307,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16283,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":18916,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16264,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1404,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":5648,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1406,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13167,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.clientsecret",{"_index":13168,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.clienturl",{"_index":17129,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.clone(newpropsfactory",{"_index":2474,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closedat",{"_index":22297,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":22179,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":22272,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1412,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.color",{"_index":6798,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3095,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":2783,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":18784,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":3868,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":1945,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":3866,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":3873,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":18782,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":4991,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":3869,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":18786,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":3725,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":3870,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5084,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":3871,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5087,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":3874,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5085,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5036,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5034,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4096,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5031,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":13111,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":21753,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":6359,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.checkforduplicateparameters(schoolexternaltool",{"_index":19327,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":9450,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":10037,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.completed",{"_index":20142,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.config",{"_index":1992,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":18915,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":18953,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":22786,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":22797,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15286,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":607,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":6882,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('login_block_time",{"_index":1639,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14265,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get(placeholder",{"_index":12655,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.connect(system",{"_index":14623,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":16931,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":16934,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":12453,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`cleaned",{"_index":12462,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`configured",{"_index":12474,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`migrated",{"_index":12486,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.console.info(`seeded",{"_index":12468,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.consolewriter.info('error",{"_index":3521,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":19558,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3585,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":19559,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3525,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8069,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1551,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3473,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.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":5811,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":5790,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":5807,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":5791,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":5804,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":5788,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":4961,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":5743,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4197,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":1943,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":11433,"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":11997,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":11995,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":12722,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.contenttype",{"_index":5928,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.context",{"_index":14753,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":11327,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":11328,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":9202,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":15883,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":12977,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.contextexternaltoolid",{"_index":9191,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":6297,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":6296,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":9882,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":6295,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":6291,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":6292,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":5984,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":6294,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":18853,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":19316,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18206,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":6340,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":6341,"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":6336,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyid(contextexternaltoolid",{"_index":6339,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyid(contexttoolid",{"_index":6344,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":6361,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":6335,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":21561,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":21566,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":21573,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":21568,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":21576,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":6333,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextid",{"_index":6043,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["this.contextref",{"_index":5971,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":21793,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttype",{"_index":6045,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["this.converterutil.xml2object",{"_index":2262,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2275,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":12312,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":18938,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3052,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3080,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":19900,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":6920,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":20680,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3110,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":6918,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15024,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":20741,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3056,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":6586,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":6804,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3077,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":19903,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18168,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18131,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3073,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":19904,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":20679,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":10584,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":6708,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/IFederalStateProperties.html":{}}}],["this.course",{"_index":2700,"title":{},"body":{"entities/Board.html":{},"entities/CourseGroup.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":13373,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":13370,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":13327,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":13353,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":13369,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":12744,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.coursecopyservice.copycourse",{"_index":6957,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":18759,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":6971,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":6883,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":12720,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ISubmissionProperties.html":{},"entities/LessonEntity.html":{},"entities/Submission.html":{}}}],["this.coursegroup.getstudentids",{"_index":13125,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.coursegroup.school.id",{"_index":12745,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.coursegrouppermission(user",{"_index":15112,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":12961,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.coursegrouprule",{"_index":18844,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15115,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":6836,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":6833,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":20765,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":20764,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15113,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":12959,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":6930,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8027,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":21073,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":6916,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":21072,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":6910,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":4835,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15017,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3168,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":18801,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":6932,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":18843,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7041,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":10262,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":21783,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":1940,"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(sharetoken.payload.parentid)).name",{"_index":19850,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":24825,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":24829,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":24833,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":6876,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.create",{"_index":10639,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":22958,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15189,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":18934,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":2740,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":3701,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":18933,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3564,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":8236,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3560,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":406,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.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.createelements(1",{"_index":3570,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4191,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createentity(domainobject",{"_index":2360,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createerrorloggable(error",{"_index":11506,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":11516,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":11524,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":11522,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":11526,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":11527,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":21394,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":6569,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":7949,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14282,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14318,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14310,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13472,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":8839,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewentityfromdo(domainobj",{"_index":2390,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewentityfromdo(domainobject",{"_index":2367,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewmigration(schooldo",{"_index":22430,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18257,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14514,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":22064,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":4910,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":21057,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":8650,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusermigrationdto",{"_index":22621,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.createusersearchindex",{"_index":12618,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.creator",{"_index":13295,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":6454,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.credentialhash",{"_index":189,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":16911,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":16916,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":16901,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":16904,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":16913,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":12308,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":7402,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":7818,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8030,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8026,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8029,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":7635,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":7638,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":7643,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboardurl",{"_index":22607,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.data",{"_index":834,"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/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":12561,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":12559,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":12562,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":12605,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":12531,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":12622,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":12595,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":12619,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8102,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8104,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8073,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8065,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8099,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8101,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8066,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8074,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8140,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8157,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8158,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8150,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":7468,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.default_errorcode",{"_index":16354,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.default_message",{"_index":16352,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17281,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":12663,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":12666,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.defaultlanguage",{"_index":5892,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":16802,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":13244,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.defaultvalue",{"_index":7610,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":10641,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":12024,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":18948,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":18983,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":18941,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":8428,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":10476,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":10475,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IUserProperties.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{}}}],["this.deletedcount",{"_index":8305,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":18937,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":6459,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.deleteentitybyid(entityid",{"_index":2399,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":17993,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":8223,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":8248,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8181,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14286,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18192,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18190,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18188,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18207,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18195,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18197,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18199,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18203,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18201,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":17992,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":20995,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":8366,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":8367,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionrequestid",{"_index":8307,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":8526,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":8535,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":8531,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":8529,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":8533,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":8534,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":8532,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.derivecopyname(composedname",{"_index":6629,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":20682,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":6571,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":6925,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":6791,"title":{},"body":{"entities/Course.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/FileMetadata.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITaskParent.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":13286,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":3931,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":9348,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":9357,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":17849,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":7764,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determinestatus(tool",{"_index":19289,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7115,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7076,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":5973,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.doescourseexist(courseid",{"_index":3557,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":8298,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domigration(externalid",{"_index":19428,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":22615,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":17643,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":12571,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":10587,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":13291,"title":{},"body":{"interfaces/ITaskParent.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":5899,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":5901,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4145,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4242,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":20206,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":8779,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":8783,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4244,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":20196,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":8780,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4243,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":8778,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":8758,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":8755,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":8752,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":9509,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.assign(entity",{"_index":4562,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":9514,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":11766,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(boardnode",{"_index":3381,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4542,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3391,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":4999,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":8349,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":9508,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":11760,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18027,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":8488,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":9530,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":7951,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":7972,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":9507,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":11757,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18026,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3655,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3584,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8002,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":8346,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":8481,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":9504,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18025,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(rocketchatuserentity",{"_index":18539,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":7974,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3407,"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":8139,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18268,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":8492,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3654,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":9517,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18030,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.nativedelete(rocketchatuserentity",{"_index":18541,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18275,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":8353,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":8484,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":9515,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":7998,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":11767,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.persist(target",{"_index":4998,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3559,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3567,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3561,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":12572,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":8496,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3572,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4563,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8000,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":8494,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":7971,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18209,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":8498,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{}}}],["this.email",{"_index":10083,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LumiUserWithContentData.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.emailsearchvalues",{"_index":22035,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":5886,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enablemigrationstart",{"_index":15867,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":22431,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":10964,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":9857,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":899,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":12593,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":12570,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":12658,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.enddate",{"_index":13054,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{}}}],["this.endpointurl",{"_index":13094,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":19293,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":19287,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":19285,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3259,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":9136,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3277,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":9945,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":9127,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":21863,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2482,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2465,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityfactory(entityprops",{"_index":2380,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.entityname",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":8838,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":16353,"title":{},"body":{"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{}}}],["this.errorhandler(error",{"_index":17157,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.errortype",{"_index":1016,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":22988,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":22819,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":22821,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":18826,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expiresat",{"_index":197,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{}}}],["this.externalgroups",{"_index":16707,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7119,"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":{},"interfaces/IImportUserProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.externalidtoken",{"_index":16718,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalorganizationid",{"_index":8977,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.externalschool",{"_index":16705,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalsource",{"_index":11728,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4405,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":9139,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":9137,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":9129,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":9142,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":9131,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":21499,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":21496,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":21506,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":21503,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":21610,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":21616,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":21615,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":21626,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6003,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":9133,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":9947,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":21633,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":9989,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":9986,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":17999,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":17998,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":17996,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18002,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18001,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":9884,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":9866,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":9875,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":9878,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":9879,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":9862,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":9865,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":9949,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":9957,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":6358,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":9147,"title":{},"body":{"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":19288,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":9352,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16310,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":9439,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":10267,"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":10004,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":9123,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":9956,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":9955,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":21611,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":21630,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":21617,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":21622,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":21627,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":9864,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":16703,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":8983,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14456,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14441,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14448,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14459,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14476,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14472,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14474,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractparamsfromrequest(request",{"_index":14661,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3053,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1331,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1321,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":18804,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":10152,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":10153,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":10138,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":10139,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":8950,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16224,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":10121,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":10108,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":10113,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":24368,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":6806,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":13048,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":10328,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17330,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":9341,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18138,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":4837,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":12233,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["this.files",{"_index":10608,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":8249,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":8221,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":19496,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":6567,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18194,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15137,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":20285,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":20994,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":11154,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":11163,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":11161,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":11157,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":10897,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":10905,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":11075,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":11080,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":11078,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":12601,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":12615,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":12517,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":12539,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":12534,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":12521,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":12537,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":12585,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":12614,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.filetype",{"_index":18080,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4237,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":8632,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":10230,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":20310,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":6343,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":21052,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":21053,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":20644,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":10822,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":22078,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3400,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3377,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":22768,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":18617,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":7945,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":4990,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":17984,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":13793,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16313,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":22453,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16094,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16287,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":10819,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":10223,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":17983,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":20873,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":4766,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":16442,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":6923,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":13309,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":13375,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":13312,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":13377,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":13299,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":22299,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":22324,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":10079,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{}}}],["this.firstnamesearchvalues",{"_index":22031,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":12861,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.forcepasswordchange",{"_index":13421,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.formattedjwt",{"_index":1527,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":7413,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":8973,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":7419,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":16524,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2128,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18324,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":10592,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":11357,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3574,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":20541,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":20548,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2289,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":17697,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1021,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4017,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":12351,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":12375,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":13963,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":10248,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":10250,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":10249,"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":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1031,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2257,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3159,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":1938,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":20979,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":20980,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":20978,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":20981,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3303,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3296,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8155,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18127,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":20731,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18130,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":13145,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":10229,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":1949,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":1935,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8142,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":21062,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":20725,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":20730,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getelement(position",{"_index":7787,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2703,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2713,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":8777,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":10146,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14296,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":21326,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":21329,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17363,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":13322,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":7782,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":13356,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1040,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getid",{"_index":7736,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14317,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":889,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":880,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtforuser(user.id",{"_index":17221,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.getjwtfromresponse(response",{"_index":1550,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getloginurl(sourcesystem",{"_index":22602,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.getloginurl(targetsystem",{"_index":22599,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.getmaxsubmissions",{"_index":13360,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2271,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16191,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14391,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":7964,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3698,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":12746,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1531,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getpermittedcourses(user",{"_index":21038,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":21039,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16186,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpostloginredirecturl",{"_index":16443,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.getpreviewfile(params",{"_index":17698,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":8848,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":17854,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":17850,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getredirecturi(migration",{"_index":16466,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.getreferencesfromposition(from",{"_index":7758,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":17987,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":17981,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getseedfolder",{"_index":12524,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":6846,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":13332,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":13355,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":13150,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.gettargetfilters(userid",{"_index":16203,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":12600,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":12732,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.getteammemberids",{"_index":13144,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.geturl('create",{"_index":2252,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2273,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2277,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2272,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1248,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1250,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":10103,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":10227,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":23056,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.grade",{"_index":13117,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":13119,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.graded",{"_index":3834,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4353,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.grant_type",{"_index":1410,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":13174,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.grid",{"_index":7748,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":7774,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":7795,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":7786,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":7754,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":7755,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":7767,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":7752,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":7785,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":7750,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":7798,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":7780,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":7853,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":7828,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":19338,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.group.externalorganizationid",{"_index":19339,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":7852,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":7851,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":11868,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":11863,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":11861,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuser(user",{"_index":11864,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findclassesforschool(schoolid",{"_index":11865,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":11867,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":18855,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":6808,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17397,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17358,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyuser(user",{"_index":17385,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17372,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":11649,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":11656,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":22168,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":22169,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2133,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2050,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":5903,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":12148,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":12135,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":12124,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":12117,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":12116,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":12139,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":12144,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":12098,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":12111,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":12122,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":12133,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":12158,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":18778,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":20261,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":10046,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":10047,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":10049,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":10048,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":10045,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.haschild(child",{"_index":2828,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":18721,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":18722,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":9419,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":10044,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["this.hasparent",{"_index":3633,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":20942,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":20266,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":20265,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18325,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1881,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1853,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":20263,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":10741,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.hasschoolmigrated(externalid",{"_index":19436,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":20262,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":1990,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4130,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3495,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.hosturl",{"_index":22590,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.host}${location",{"_index":12362,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":19062,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":9342,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2274,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4021,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":16567,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2258,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14393,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":9285,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":6396,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":12275,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":12285,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":12294,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17179,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(currentuser.userid",{"_index":17185,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":404,"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":{},"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":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.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/IClassEntityProps.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":{},"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":16332,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":20563,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":20560,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15287,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":811,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":13170,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.idtoken",{"_index":16491,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":16838,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":17650,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15234,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":22029,"title":{},"body":{"classes/UserDO.html":{}}}],["this.importuserid",{"_index":13664,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":19349,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1344,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1347,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1349,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1345,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":8215,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":12586,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":12565,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":13040,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":5399,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":5404,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":5405,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":5406,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":18448,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.integration",{"_index":11412,"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.inusermigration",{"_index":13043,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4350,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":2823,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":19948,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1574,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":20202,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":9426,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":10734,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":10001,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":8638,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":9421,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":9436,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":9435,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":10481,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":3835,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":3837,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":13361,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":9423,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":4588,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.isgraded",{"_index":13154,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":13365,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":7728,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":7421,"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.islatest(contextexternaltool",{"_index":5458,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":5457,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":7406,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isnameunique(externaltool",{"_index":9416,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16436,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isoptional",{"_index":7478,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.ispending",{"_index":10739,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":10736,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":8855,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":9430,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":9433,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":19507,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1557,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isslash(path",{"_index":1560,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.issubmitted",{"_index":13137,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":13364,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":3836,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":13184,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.isteacher",{"_index":8653,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":7404,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":21749,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":956,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4411,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isuserreferenced(user",{"_index":1738,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":13136,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":13362,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":5532,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":10710,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":10969,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":13186,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.jwt",{"_index":16362,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1624,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1627,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14031,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1632,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14236,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":14559,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14269,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14347,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14343,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14120,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14121,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14424,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14460,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14457,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14439,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14116,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14381,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14383,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14377,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14390,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14122,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14125,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14124,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14135,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":7386,"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":20007,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":20010,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14349,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14348,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14351,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14350,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":12452,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":12460,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":12473,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":12481,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":12467,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14497,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14498,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14499,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14346,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14344,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14345,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1657,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":5888,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.lastauthorizationtime",{"_index":14138,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":13426,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.lastmodifytimestamp",{"_index":13199,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastname",{"_index":10081,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.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":{}}}],["this.lastnamesearchvalues",{"_index":22033,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":13195,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":13197,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lastsyncattempt",{"_index":13193,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.lasttriedfailedlogin",{"_index":195,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":21415,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":15471,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":20399,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":13256,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.ldapdn",{"_index":4355,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":12868,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":12669,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":14677,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":9871,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legayschoolrule",{"_index":18849,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":13296,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":13372,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":13371,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3089,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3116,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":18762,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":20766,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15102,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo",{"_index":12967,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15138,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids([originallesson.course.id",{"_index":15021,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonrepo.findallbycourseids([roomid",{"_index":18775,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15139,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(readcourseids",{"_index":21086,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonrepo.findallbycourseids(writecourseids",{"_index":21085,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15013,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15140,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15145,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":18845,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":20945,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15156,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5147,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15151,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":19852,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":24837,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":14994,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonwritepermission(user",{"_index":15103,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3627,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":11427,"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.license",{"_index":5894,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/Path.html":{}}}],["this.licenseextras",{"_index":5922,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.licenseversion",{"_index":5913,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.limit",{"_index":17473,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":18959,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":14668,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":14554,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":12547,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":12546,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":12582,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1856,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":21748,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":14553,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":6394,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":7470,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":19650,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":8888,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":8889,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":3865,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":14639,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":12630,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16304,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":21563,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`created",{"_index":2370,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(`externaltool",{"_index":21613,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`generating",{"_index":17220,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.debug(`oauth",{"_index":17218,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.debug(`removing",{"_index":16299,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":21898,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(`updated",{"_index":2376,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(err",{"_index":14637,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15318,"title":{},"body":{"injectables/Logger.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(new",{"_index":17606,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":14750,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":8887,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":8954,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":18917,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14516,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":8230,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14500,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":8251,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"controllers/OauthSSOController.html":{}}}],["this.logger.error(loggable",{"_index":11507,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":8890,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":14752,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18366,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":14689,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15317,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":9345,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":14748,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8176,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.log('before",{"_index":8695,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8183,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":12349,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":14564,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14517,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":8697,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":14562,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`could",{"_index":18927,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(`initialized",{"_index":8237,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14515,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":14560,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":18990,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":12350,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(err",{"_index":17132,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.log(localdto",{"_index":12373,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":24398,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15316,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":14751,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18359,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":3864,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4234,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":4642,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":4716,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":4759,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5083,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":12514,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8175,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":8214,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":8776,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":11074,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":11152,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":11260,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":11398,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":12272,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":12439,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14495,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14509,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":14622,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16176,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16260,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":16426,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17128,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(oauthuc.name",{"_index":17213,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":17603,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":17641,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":17662,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":17687,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":18408,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":18913,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":19883,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":19979,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":24396,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16317,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":20337,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3082,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`completemigration",{"_index":19448,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warn(`could",{"_index":17694,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.warn(`placeholder",{"_index":12656,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.logger.warn(`restartmigration",{"_index":19454,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warn(err",{"_index":3063,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning(message",{"_index":15315,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":14749,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":13666,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15387,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.loginurl",{"_index":22605,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.logmigrationinformation",{"_index":22492,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.logmigrationinformation(currentuserid",{"_index":22479,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.logo",{"_index":9031,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":7390,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":9236,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6008,"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/IFederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":13182,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":16926,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2046,"title":{},"body":{"classes/BBBCreateConfig.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{},"injectables/UserMigrationService.html":{}}}],["this.lookuptoken(token",{"_index":19848,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":7392,"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":7394,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":12385,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":15637,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16315,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":16959,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":10519,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":5890,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.majorversion",{"_index":10520,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mandatory",{"_index":22329,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":22293,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":9627,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":9776,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":9603,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":18646,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":8649,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5156,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcontexttypetodotype(entity.contexttype",{"_index":6145,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcontexttypetoentitytype(entitydo.contextref.type",{"_index":6150,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5140,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3169,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":9634,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":9610,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":9779,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":9512,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2379,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":7940,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2365,"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":14875,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":14879,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":22077,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":22365,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":9518,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":9506,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":11704,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":11693,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":20521,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":18569,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":7967,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":11699,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":8648,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":9629,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":9777,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":9605,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":9628,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":9604,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":9778,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8003,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":7999,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":7997,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":9860,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":18750,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":5713,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":10254,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":7932,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":7961,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":9725,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":9712,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":9716,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6220,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6176,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":9726,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":9713,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":9727,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":9714,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19103,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":20163,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":8646,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":11806,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":21531,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":19251,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4476,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":8633,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4478,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19119,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":5718,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":21528,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":19248,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6225,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":20165,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":13673,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":12880,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":18859,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":12743,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.materials.isinitialized(true",{"_index":12742,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.materials.set(props.materials",{"_index":12725,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.max_redirects",{"_index":12297,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":9365,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":3833,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.meetingid",{"_index":2006,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":7760,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":12941,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.message",{"_index":3930,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.metadata",{"_index":5948,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metadataprops.version",{"_index":5334,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":10596,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":5905,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metakeywords",{"_index":5907,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.metatagextractorservice.fetchmetadata(url",{"_index":15798,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.fetchmetadata(currentuser.userid",{"_index":15725,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18321,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":16437,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.migrationerrorhandler(error",{"_index":17191,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.migrationmapper.mapdtotoresponse(migrationdto",{"_index":14805,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.mimetype",{"_index":6456,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.minorversion",{"_index":10521,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":22823,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2052,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":8303,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.name",{"_index":2044,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.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":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["this.name.length",{"_index":6838,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16199,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16189,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16188,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16192,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16182,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":15976,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":15990,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":15980,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":15985,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":15986,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":19893,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3497,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3498,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3496,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":16453,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":16450,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":7411,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":13252,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14392,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":16482,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14382,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":12393,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthmigrationfinalfinish",{"_index":15865,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationfinished",{"_index":15863,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationmandatory",{"_index":15861,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthmigrationpossible",{"_index":15859,"title":{},"body":{"classes/MigrationResponse.html":{},"classes/OauthMigrationDto.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":16987,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13478,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":16989,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":16918,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":16921,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":16932,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":16940,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":16919,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":16902,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":16927,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":16923,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":16840,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":16995,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17006,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":16803,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":9861,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":16805,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":16829,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":16982,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":9888,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":9895,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":16799,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17075,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":16798,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":16837,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17000,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17076,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":16804,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":9892,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":16938,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":16943,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser",{"_index":17222,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":16509,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":22478,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.getauthenticationurl(system.oauthconfig",{"_index":17216,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.getredirecturi(userloginmigration",{"_index":17219,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.oauthservice.provisionuser",{"_index":16510,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{}}}],["this.oauthservice.requesttoken",{"_index":12277,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":12279,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthuc.migrate(jwt",{"_index":17188,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.oauthuc.processoauthlogin",{"_index":17159,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.oauthuc.startoauthlogin",{"_index":17152,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.officialschoolnumber",{"_index":8993,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.officialschoolnumberfromsource",{"_index":16355,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["this.officialschoolnumberfromtarget",{"_index":16356,"title":{},"body":{"classes/OAuthMigrationError.html":{}}}],["this.oidcconfig",{"_index":13254,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14309,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup(externalgroup",{"_index":17415,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17406,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17408,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17412,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.openinnewtab",{"_index":21794,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":7417,"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":8301,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{}}}],["this.options",{"_index":8565,"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":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5258,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5259,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1246,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1252,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1264,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5256,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":21374,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1253,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5257,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5260,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":11731,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":5388,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":11788,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5253,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5251,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5247,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":13917,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":7446,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":15903,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8159,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.outdatedsince",{"_index":13428,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.ownedbyuserid",{"_index":12234,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/ITemporaryFileProperties.html":{}}}],["this.pagecontentmapper.mapdtotoresponse(content",{"_index":22547,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["this.parameters",{"_index":5975,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":15882,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17480,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":7536,"title":{},"body":{"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":527,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":6452,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":19772,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15109,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parentsmap.get(card.id",{"_index":18252,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18251,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18244,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18266,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18253,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18255,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18259,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18261,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18263,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18273,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17251,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttype",{"_index":5942,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5PContent.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.password",{"_index":185,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":10575,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3625,"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":3636,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.payload",{"_index":17554,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.permission",{"_index":8557,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":4791,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":10471,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IRoleProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":10472,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8005,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":15778,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.populate([task",{"_index":20835,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":20916,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":3699,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":20233,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":20234,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":21251,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":21256,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":22676,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":22076,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3629,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.positionfromgridindex(key",{"_index":7753,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1029,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1024,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1047,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1037,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1059,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1045,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1041,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1049,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1033,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1027,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postloginredirect",{"_index":16729,"title":{},"body":{"classes/OauthLoginStateDto.html":{}}}],["this.preferences",{"_index":13424,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{}}}],["this.preloadedcss",{"_index":10598,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":5897,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":10601,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":22969,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":17608,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":17704,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":11162,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":6461,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":13039,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"interfaces/IUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{}}}],["this.privacy_permission",{"_index":7400,"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":13294,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17427,"title":{},"body":{"classes/PageContentDto.html":{},"classes/PageContentResponse.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":12366,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":12286,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":3910,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2101,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2099,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2151,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2086,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2084,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2097,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2087,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2152,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2153,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2085,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2089,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":21664,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16100,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1666,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":10381,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.authtoken",{"_index":18491,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.caption",{"_index":10379,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":2820,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":20122,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":4815,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":9181,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":5367,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":2821,"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":5366,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":8415,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":8285,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":8286,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5287,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":8282,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":20043,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":11607,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4309,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4040,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5322,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":5414,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1667,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5320,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15225,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":18439,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":5415,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4307,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapdn",{"_index":4310,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":8284,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4303,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":8283,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":11608,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.pseudonym",{"_index":17884,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.rcid",{"_index":18490,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.requireduserrole",{"_index":3143,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5236,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":5377,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5241,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4304,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.source",{"_index":4312,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4313,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":19499,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":8417,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4311,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.targetrefdomain",{"_index":8414,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":8416,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":19501,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4306,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":18437,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4038,"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":17885,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4523,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5321,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":2822,"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":5289,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":17886,"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":4305,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4314,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.username",{"_index":18489,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.users",{"_index":3142,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":11609,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":11611,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5296,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4308,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2461,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2472,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2475,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2464,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2476,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2478,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2477,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2485,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":13180,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.provideroptions",{"_index":13209,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.provisioningservice.getdata",{"_index":22481,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":16432,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":16441,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":13258,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.provisioningurl",{"_index":13260,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{}}}],["this.pseudonym",{"_index":9467,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18000,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":17997,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":17994,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16291,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13480,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":10256,"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":10260,"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":10226,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":10276,"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":17910,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicbackendurl",{"_index":22591,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.publicsubmissions",{"_index":13300,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":2785,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":23197,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3577,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.rcid",{"_index":18499,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.read",{"_index":10637,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":10681,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2135,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/UserMigrationResponse.html":{}}}],["this.redirect_to",{"_index":18283,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1408,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":13176,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.redirecturis",{"_index":16520,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":19649,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.references",{"_index":7722,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2706,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":7730,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2710,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":2744,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":2733,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2699,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":7817,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.referer",{"_index":12310,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":10630,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":10496,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":10632,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":16493,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":7474,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":7476,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":13100,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.registerparentdata(parent",{"_index":18242,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":17846,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":17847,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":17845,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":16835,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":16984,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":5778,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":5777,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":5776,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":5815,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":5784,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":5801,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":5806,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":5810,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":5809,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":12943,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.relation.ktid",{"_index":11838,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen[0",{"_index":11840,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2727,"title":{},"body":{"entities/Board.html":{}}}],["this.removefromposition(from",{"_index":7761,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(newentity",{"_index":2372,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":7762,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":12606,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":12679,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":12678,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":12459,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["this.repo.delete(meta",{"_index":21324,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":21325,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7213,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7212,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":11040,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":11035,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":21337,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":21328,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":21322,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7053,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":21338,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7056,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7216,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":11039,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":12979,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":12974,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":12976,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":12958,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":12960,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":12966,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":12964,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":12972,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":12970,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":12956,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":12968,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":12962,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":17664,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":11262,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":11268,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":11265,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":10295,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":21895,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":21409,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":10683,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":16430,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":10604,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":17644,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17533,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17532,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17530,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":12647,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":12984,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":16569,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":7396,"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":5409,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourceid",{"_index":16333,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resourcename",{"_index":16331,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5250,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1014,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":19066,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":19065,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":19063,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":21903,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":21893,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":21897,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":21890,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":13177,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":22266,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":10607,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resultmap.get(child.id",{"_index":18164,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18122,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18128,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.rocketchatuserrepo.deletebyuserid(userid",{"_index":18549,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.rocketchatuserrepo.findbyuserid(userid",{"_index":18548,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.role",{"_index":2130,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["this.roleid",{"_index":11908,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":22141,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":8985,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":13668,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":12854,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.rolerepo.findbyid(id",{"_index":18618,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":18620,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":18622,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":7398,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":12994,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roles.isinitialized(true",{"_index":12991,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roles.set(props.roles",{"_index":12989,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":4767,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17376,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17337,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":18628,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":22778,"title":{},"body":{"injectables/UserService.html":{}}}],["this.rollbackmigration(schooldocopy",{"_index":19429,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.rollbackmigration(userdocopy",{"_index":22618,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.room",{"_index":8627,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":8674,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":8673,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":8677,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":8675,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":8644,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":8643,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":19947,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":8630,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":8637,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":8636,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":18803,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":6912,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":18749,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":18755,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":18751,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":13202,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.routepath",{"_index":18326,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1884,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":18842,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":18857,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":10577,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":21323,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":21332,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":8257,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":8235,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":8238,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2284,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15190,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7172,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15068,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":20834,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([entitydo",{"_index":2355,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18250,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":6792,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UsersList.html":{}}}],["this.school.id",{"_index":12879,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ITaskParent.html":{},"entities/ImportUser.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.schoolexternaltoolid",{"_index":6005,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolrepo",{"_index":12973,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":9883,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":19290,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":19283,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":9880,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":19282,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":19292,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":18851,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19317,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":6327,"title":{},"body":{"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":9145,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":9125,"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":19315,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":19318,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":21902,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":21900,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":21888,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":21892,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":21896,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":19314,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolid",{"_index":4343,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/LumiUserWithContentData.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":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4594,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(schoolid",{"_index":4596,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":22493,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool(data.externalschool.externalid",{"_index":17228,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.schoolmigrationservice.schooltomigrate",{"_index":17225,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(schoolid",{"_index":14965,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolmigrationservice.validategraceperiod(existinguserloginmigration",{"_index":14961,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.schoolname",{"_index":19360,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19098,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":13006,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["this.schoolrepo",{"_index":12965,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":14937,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":14936,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":14663,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":19510,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":14938,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":14935,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":24847,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":24831,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17322,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":13967,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18014,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":1965,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":14957,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(userdo.schoolid",{"_index":19431,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber",{"_index":19433,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":15820,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/UserMigrationService.html":{}}}],["this.schoolservice.removefeature(schoolid",{"_index":22436,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":22394,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":19459,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17334,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":19458,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schooltool",{"_index":6041,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6193,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":5969,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooluc.getmigration(schoolparams.schoolid",{"_index":14807,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.schooluc.setmigration",{"_index":14800,"title":{},"body":{"controllers/LegacySchoolController.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":14939,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4409,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":19528,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":19527,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17329,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":7472,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{}}}],["this.scripts",{"_index":11414,"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":734,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":13204,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.searchuserpassword",{"_index":13206,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.secret",{"_index":7388,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":13098,"title":{},"body":{"interfaces/IStorageProviderProperties.html":{},"entities/StorageProviderEntity.html":{}}}],["this.secretvalue",{"_index":1659,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":10490,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":10703,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":10705,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.status",{"_index":10702,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":10704,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":6450,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14279,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.sendhttpresponse(error",{"_index":11509,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":4793,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":4792,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":4794,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":4788,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.sessionhandler(session",{"_index":17158,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.setmatch(props.user",{"_index":12859,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["this.share",{"_index":21162,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":19846,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":19845,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":10492,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":19894,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":19899,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":19895,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":19722,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":19733,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":19729,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7075,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":16993,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":6448,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITemporaryFileProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.skip",{"_index":17472,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":7415,"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":3088,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4359,"title":{},"body":{"entities/ClassEntity.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7121,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceid",{"_index":6428,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4361,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.sourcesystem",{"_index":22314,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":22289,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":9284,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.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/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":6802,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":22295,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":22262,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":8555,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/OauthLoginStateDto.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.status",{"_index":1986,"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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1011,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":1988,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":17647,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":17693,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":11399,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":17649,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":17701,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":10482,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":10484,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":8233,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":21740,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":21750,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":17856,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":21745,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":17848,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":21741,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":21742,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":21743,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":4643,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":4646,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":4645,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":4647,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":4644,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":14754,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15355,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":13109,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.student.id",{"_index":13143,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.studentcount",{"_index":4413,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7011,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7013,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":6821,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7016,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":6794,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":11416,"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":12945,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.submissionitemservice.create(userid",{"_index":8795,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":20204,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":20205,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":20326,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":3793,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":3778,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":3784,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":12971,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":20286,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":20284,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":20283,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":18850,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":13304,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":13307,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":13305,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":13298,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":20314,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":20308,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":20311,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":20090,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":20083,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":3832,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":20290,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":20291,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":6831,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":6827,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":6851,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":6796,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":20332,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4357,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.system",{"_index":9008,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.systemid",{"_index":193,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14277,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.findall",{"_index":20547,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":20544,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":20495,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":20546,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":20491,"title":{},"body":{"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":20551,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":14662,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":20559,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systems",{"_index":14829,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":13045,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.findbyid(id",{"_index":20578,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(sourceid",{"_index":22596,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":16427,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"injectables/ProvisioningService.html":{}}}],["this.systemservice.findbyid(targetid",{"_index":22597,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":20576,"title":{},"body":{"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.systemservice.findbytype(type",{"_index":20577,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":20376,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":20381,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":12947,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.target",{"_index":16013,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":12949,"title":{},"body":{"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/Material.html":{}}}],["this.targetid",{"_index":16012,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7131,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetrefdomain",{"_index":8426,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":8430,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetsystem",{"_index":22316,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":22291,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":13113,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3092,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":20658,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":12957,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":20688,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":20996,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":21064,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":21046,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":20678,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":20724,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":20738,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":20993,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":20692,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":18846,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":20268,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":12730,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.tasks.isinitialized(true",{"_index":12728,"title":{},"body":{"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"entities/LessonEntity.html":{}}}],["this.taskservice.delete(task",{"_index":21090,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":19854,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5159,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":20653,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":20660,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":20647,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":20646,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":20656,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.teacherids",{"_index":4347,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.teachernames",{"_index":4407,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4427,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":6825,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":6849,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":6795,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":3975,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":13127,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":13130,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":13122,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["this.teamname",{"_index":21179,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":18847,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":4760,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":12969,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":4761,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13469,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":21202,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":4718,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":13302,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":21107,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":18447,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":22966,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":10485,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":10488,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":18827,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":24515,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4014,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":3726,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.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":3884,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":2784,"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":{},"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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":7733,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":22268,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":187,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":13172,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["this.tokenendpointauthmethod",{"_index":16522,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":19842,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":13239,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.tool",{"_index":13004,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["this.toolfeatures.backendurl",{"_index":9330,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":9080,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":16958,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":9338,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolid",{"_index":9469,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":21763,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":21762,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":21656,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":21865,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":6332,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":9146,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":21864,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":21812,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":21815,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":9948,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":9950,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":5977,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toparams(config",{"_index":2253,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17419,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":23112,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":21858,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":15771,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":15772,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":17690,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tspuid",{"_index":4529,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2566,"title":{},"body":{"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/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":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.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":{},"classes/ToolLaunchData.html":{}}}],["this.uc.getpagecontent",{"_index":22543,"title":{},"body":{"controllers/UserMigrationController.html":{}}}],["this.unknownquerytype",{"_index":21925,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":8975,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":6800,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3060,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":408,"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":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IFederalStateProperties.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":2361,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.updateexistinggridelement(existing",{"_index":7947,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updateexistingmigration(existinguserloginmigration",{"_index":22439,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.updatefileurls(taskcopy",{"_index":20681,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14284,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":9863,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":9890,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14312,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16014,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16271,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":6446,"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":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"classes/LdapConfig.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":19366,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":7825,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"classes/DtoCreator.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":22775,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":22776,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":22771,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":22772,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":22774,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":191,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IGridElement.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"classes/IdTokenCreationLoggableException.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":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4346,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":13642,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":13619,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":13628,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":13638,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":13624,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":13640,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":13629,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":13242,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"entities/SystemEntity.html":{}}}],["this.userloginmigration",{"_index":13047,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/OauthLoginStateDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigrationid",{"_index":14831,"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":22456,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid",{"_index":15822,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":19439,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":22434,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":22438,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4595,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationrule",{"_index":18854,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4592,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":22395,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4584,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool(schoolid",{"_index":14960,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":22475,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration(schoolid",{"_index":18409,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigration",{"_index":14962,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(schoolid",{"_index":21424,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":19981,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":22259,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":22253,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":22273,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":19348,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.getmigrationconsentpageredirect",{"_index":16439,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.usermigrationservice.getpagecontent",{"_index":22472,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.usermigrationservice.migrateuser",{"_index":17229,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":183,"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":12963,"title":{},"body":{"interfaces/IRepoLoader.html":{},"injectables/ReferenceLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":22788,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":940,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15296,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":22766,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1891,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.save(user",{"_index":22785,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":18848,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":8971,"title":{},"body":{"classes/ExternalGroupDto.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":11612,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":11614,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":13979,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":13960,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17375,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17339,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":15823,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":16992,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":10224,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":4830,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16290,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":10242,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13470,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":19442,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13471,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.getresolveduser(userid",{"_index":17231,"title":{},"body":{"injectables/OauthUc.html":{}}}],["this.userservice.save(newuser",{"_index":24823,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17352,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":22624,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":22619,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":19453,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":19447,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":13633,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":21998,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":22002,"title":{},"body":{"controllers/UserController.html":{}}}],["this.validate(props",{"_index":4341,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":10228,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":10234,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":9988,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":9987,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":5522,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2708,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":10233,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":12284,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":16830,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":16431,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8031,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1327,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validperiod",{"_index":11729,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":7430,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":22961,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6011,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.versionkey",{"_index":10504,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":22906,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":22915,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":22911,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":22908,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":23061,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":22967,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":22964,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":23036,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":23065,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":22962,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":23035,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":23077,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":23060,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":22960,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":23079,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":22971,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":22977,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":23034,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":23017,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":23026,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":23014,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":23021,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4146,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18274,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18269,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18258,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18193,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18191,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18189,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18208,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18196,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18198,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18200,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18204,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18202,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18124,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.w",{"_index":5909,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2048,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":10635,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5238,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5255,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5319,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":7815,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.xposition",{"_index":7849,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4352,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/IClassEntityProps.html":{}}}],["this.yearfrom",{"_index":5915,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.yearto",{"_index":5917,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["this.ypos",{"_index":7816,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["this.yposition",{"_index":7850,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5246,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5261,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5243,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5263,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2058,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":11972,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":21336,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":23755,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":16591,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":24756,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":23672,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8179,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8180,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":23531,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":529,"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":{},"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":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.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":{},"classes/FileRecordSecurityCheck.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.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/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRule.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.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/OauthUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.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":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.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":{},"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":18357,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":22938,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":22950,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":24893,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":11952,"title":{},"body":{"classes/GuardAgainst.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2251,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":10419,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":10420,"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":1838,"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":23396,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1643,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CreateNewsParams.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":1633,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4018,"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":21408,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":21403,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":13900,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":13902,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4002,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":24520,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":21404,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":18985,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2096,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{}}}],["timestamp",{"_index":16016,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":3716,"title":{},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.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":3724,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.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":3720,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.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":1638,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":24508,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":23348,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":1271,"title":{},"body":{"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":{},"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":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.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/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IErrorType.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/ITargetGroupProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.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/UserLoginMigrationError.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":4039,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15223,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":7718,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":7720,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":4897,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3387,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":4994,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tls",{"_index":8243,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":24695,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":24705,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":24665,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":24666,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":24107,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":10970,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5185,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":15921,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":15925,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":15915,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1726,"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":{},"entities/Course.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolUc.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.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":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":24881,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":11312,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":21416,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["token",{"_index":124,"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":{},"interfaces/IShareTokenProperties.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/JwtExtractor.html":{},"injectables/OauthAdapterService.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":{},"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":19698,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":19673,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":19682,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":19680,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":19678,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":19685,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":19934,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":19692,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":19700,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":19714,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":19710,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":13086,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"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":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":19751,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":19754,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":19738,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":19744,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":19743,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":19741,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":19739,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":16486,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":16489,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":16490,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":16488,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":19801,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":13080,"title":{},"body":{"interfaces/IShareTokenProperties.html":{},"entities/ShareToken.html":{}}}],["token.entity.ts:19",{"_index":19670,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":19669,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":19666,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":19667,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":19665,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":19668,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":19841,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":19792,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:17",{"_index":19795,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":19799,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1390,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1399,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1395,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1396,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1397,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1400,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17192,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":19816,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":19815,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":19814,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":19813,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":16828,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13450,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:12",{"_index":13456,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":19831,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:20",{"_index":13460,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":19835,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:41",{"_index":13458,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:42",{"_index":19837,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":19839,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:51",{"_index":13462,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":19833,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":11742,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":19856,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:131",{"_index":19871,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:139",{"_index":19872,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:150",{"_index":19874,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:166",{"_index":19870,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:192",{"_index":19864,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:204",{"_index":19866,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:225",{"_index":19882,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:231",{"_index":19868,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:24",{"_index":19862,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:39",{"_index":19876,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:67",{"_index":19880,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:89",{"_index":19878,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":19925,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":19927,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":9910,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":13908,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":13909,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":16611,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":16451,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":16512,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":16511,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":12406,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/ISystemProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":7517,"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":7535,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":19830,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestmapper",{"_index":16422,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":16484,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":16452,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":16483,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":16604,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":13247,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":12222,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":19449,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2548,"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/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.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":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.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/ExternalToolVersionService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/IToolLaunchStrategy.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/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SortExternalToolParams.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":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":21485,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":21802,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":9808,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":21601,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool.config",{"_index":16998,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":9872,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":16999,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":5951,"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":5962,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19154,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":5958,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19157,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":5959,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19156,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":5960,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19155,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":5957,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19158,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:32",{"_index":9025,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:33",{"_index":19153,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:34",{"_index":9022,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:36",{"_index":9021,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:38",{"_index":9019,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:40",{"_index":9024,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":5964,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:42",{"_index":9020,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:44",{"_index":9023,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":19159,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:46",{"_index":9018,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:62",{"_index":9026,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:66",{"_index":9030,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:70",{"_index":9028,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":9200,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6026,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolEntity.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:13",{"_index":9229,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:16",{"_index":9232,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":19165,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:19",{"_index":9227,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":19163,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:22",{"_index":9226,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":19164,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6035,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:25",{"_index":9224,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":19166,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6028,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:28",{"_index":9231,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6030,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:31",{"_index":9225,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6031,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:34",{"_index":9230,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6033,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:37",{"_index":9233,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6036,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6049,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":9263,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":9262,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":16538,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":7515,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:7",{"_index":19171,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":9265,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6052,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":9264,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":9077,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":9074,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":9353,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":21466,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":5439,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":9877,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":12386,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":9562,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:107",{"_index":9574,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:114",{"_index":9595,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:123",{"_index":9591,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:136",{"_index":9587,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:154",{"_index":9579,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":9589,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:172",{"_index":9585,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:182",{"_index":9582,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:48",{"_index":9577,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:55",{"_index":9598,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:64",{"_index":9593,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:77",{"_index":9588,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":6091,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:114",{"_index":6111,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:125",{"_index":6109,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:14",{"_index":9536,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:19",{"_index":9548,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":19209,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:25",{"_index":6096,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:27",{"_index":9543,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:30",{"_index":6123,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:32",{"_index":19205,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:36",{"_index":9541,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:38",{"_index":6102,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:41",{"_index":19207,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:45",{"_index":6106,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:50",{"_index":19201,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:54",{"_index":9539,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:55",{"_index":19203,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:64",{"_index":19198,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:70",{"_index":6099,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.response",{"_index":6271,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6181,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6190,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6184,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6185,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6186,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6189,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6191,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6183,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:31",{"_index":9749,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6187,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6234,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":6237,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":6236,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":6235,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":6129,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":6241,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":9798,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":19259,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":6262,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":9800,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":6256,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":6258,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":9802,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":19258,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":6260,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":12387,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":6355,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":5446,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:10",{"_index":5450,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:103",{"_index":9832,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:11",{"_index":6287,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:118",{"_index":9845,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:131",{"_index":9849,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:143",{"_index":9828,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:16",{"_index":9826,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:17",{"_index":6285,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":19279,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:23",{"_index":6289,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":5455,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:28",{"_index":9830,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:29",{"_index":6279,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:32",{"_index":19276,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:39",{"_index":6281,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":19274,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:43",{"_index":6283,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":9842,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:51",{"_index":9839,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:52",{"_index":19272,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":15634,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":19270,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:64",{"_index":19281,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:78",{"_index":9833,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:8",{"_index":6277,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":15636,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:93",{"_index":9835,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:98",{"_index":9837,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":16997,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6126,"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":6300,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:10",{"_index":9932,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:101",{"_index":6320,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:11",{"_index":19301,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:115",{"_index":6318,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:124",{"_index":6316,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":9934,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:19",{"_index":6309,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:28",{"_index":6311,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:30",{"_index":19303,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":9944,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:47",{"_index":19306,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:52",{"_index":9940,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:56",{"_index":6322,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:59",{"_index":19305,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:63",{"_index":9942,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:70",{"_index":9936,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:71",{"_index":19310,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":9938,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":19312,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:92",{"_index":6313,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6072,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":21458,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/dto",{"_index":6089,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["tool/controller/dto/context",{"_index":6014,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":7503,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2569,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":9037,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":15473,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":16526,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6060,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":7574,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":9154,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19176,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2579,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":9043,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":15492,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":16539,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":5986,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":7598,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":9748,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19161,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/school",{"_index":19175,"title":{},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":19233,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":21459,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":21578,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:101",{"_index":21598,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:120",{"_index":21607,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:142",{"_index":21591,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:160",{"_index":21603,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:53",{"_index":21584,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:73",{"_index":21595,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":1901,"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/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IToolLaunchParams.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":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2547,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":9035,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":15464,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":16516,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":5950,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":9015,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19151,"title":{},"body":{"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":21786,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6038,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool/entity/config/basic",{"_index":2559,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":9040,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":15485,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":16534,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6025,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/IContextExternalToolProperties.html":{}}}],["tool/entity/custom",{"_index":7481,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":9220,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":13001,"title":{},"body":{"interfaces/ISchoolExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool/external",{"_index":9380,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":9275,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":15580,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":21462,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6160,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":9646,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19222,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":21509,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19182,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":6324,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IRepoLoader.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":5980,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":9047,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.html":{}}}],["tool/service/lti",{"_index":15632,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/school",{"_index":19261,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":21839,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["tool/uc",{"_index":21461,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":6299,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/context",{"_index":6125,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool/uc/dto/school",{"_index":19210,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":9097,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":19295,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":21844,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":5456,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":5461,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":5454,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":5462,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":10002,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":9998,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":10000,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":9427,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":9437,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":9424,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":5513,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":9434,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":9431,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":5529,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":5533,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_value_regex",{"_index":5538,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":10003,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":21906,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":9994,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":19330,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":6371,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":19581,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules.html":{}}}],["toolconfigmodule",{"_index":9374,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toolconfigtype",{"_index":2553,"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":2556,"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":7543,"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":7539,"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":21685,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":21693,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13397,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":21468,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":21453,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":21491,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":21502,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":21508,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":21498,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":21505,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationstatus",{"_index":5451,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.latest",{"_index":5459,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.outdated",{"_index":5460,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatus.unknown",{"_index":21912,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse",{"_index":19232,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.latest",{"_index":21910,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.outdated",{"_index":21911,"title":{},"body":{"classes/ToolStatusResponseMapper.html":{}}}],["toolconfigurationstatusresponse.unknown",{"_index":19255,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolcontextcontroller",{"_index":21455,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontexttype",{"_index":1928,"title":{},"body":{"injectables/AutoContextNameStrategy.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":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":1936,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":1933,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontroller",{"_index":21457,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":9056,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolid",{"_index":9314,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IExternalToolPseudonymEntityProps.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":9067,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":9078,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":21520,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":21517,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":21530,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":24528,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":21452,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2629,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2634,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":21662,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":21686,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":21687,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":21688,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":21689,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":21694,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":21653,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":21744,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":21657,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":21695,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toollaunchparams",{"_index":21642,"title":{"classes/ToolLaunchParams.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{}}}],["toollaunchrequest",{"_index":2639,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":21652,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":21645,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":21700,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchuc",{"_index":21450,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1827,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{},"modules.html":{}}}],["toolpermissionhelper",{"_index":6307,"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":9090,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":9092,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6208,"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":6227,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6228,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6229,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6231,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":21795,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":21456,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":21809,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":21817,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":21807,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":21819,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":21843,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6210,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":21834,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":21836,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":21835,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":21837,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":21838,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6223,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":21803,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6213,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6224,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6071,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":21857,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":21859,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":21862,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":21451,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6315,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.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":21474,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":9873,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":21618,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":9868,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":6346,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":9150,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":21620,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":21811,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":21801,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":21483,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":21489,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":21534,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":21579,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":21866,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":21797,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":9135,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":21454,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":21739,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusoutdatedloggableexception(userid",{"_index":21754,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toolstatusresponsemapper",{"_index":6214,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(schoolexternaltool.status",{"_index":19254,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6232,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolswithpermission",{"_index":6342,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":9084,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":9089,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":9143,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":9144,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":9931,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":5453,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toomanypseudonymsloggableexception",{"_index":21440,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1833,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":20729,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2194,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2233,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":24710,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["toplevel",{"_index":14255,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4112,"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":8071,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":949,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":816,"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":22697,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":22698,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":11931,"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":11948,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":24860,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":9843,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":9887,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":9889,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":9886,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":9848,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":23093,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":23097,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":23094,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":23099,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":23095,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":23101,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":23096,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":23103,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":12915,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":23775,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":23774,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":23776,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":23733,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":12470,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{}}}],["transferred",{"_index":23735,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":23829,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1121,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.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/ICommonCartridgeElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1137,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":11548,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1142,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.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/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":11546,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":462,"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/SystemFactory.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":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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":24707,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":24408,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":23379,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":23697,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":19991,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15331,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":18897,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["treated",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":24613,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":23607,"title":{},"body":{"license.html":{}}}],["tries",{"_index":24463,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":24672,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["trim",{"_index":13847,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":24229,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":143,"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":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.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":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.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":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.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":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.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/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.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":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRepoLoader.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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/LdapConfig.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.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":{},"classes/MigrationBody.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfig.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.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":{},"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/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolParams.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":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.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":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemIdParams.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.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":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4118,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":21926,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":5606,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@enum",{"_index":20407,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4323,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6082,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":23189,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":5549,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":7228,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":11296,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":11297,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@unique({options",{"_index":6748,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":579,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.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":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationUc.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":{}}}],["try/catch",{"_index":22485,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["trybuildtoolreference",{"_index":21847,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":21855,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":15749,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":15758,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":15750,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":15760,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":11848,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":11859,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":17671,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":17682,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6835,"title":{},"body":{"entities/Course.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"classes/UsersList.html":{}}}],["ts",{"_index":982,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4371,"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":19628,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["tvalue",{"_index":13537,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":12217,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14000,"title":{},"body":{"interfaces/JwtConstants.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisOrganisationResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.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":{},"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":{},"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/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/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":{},"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":{},"classes/BoardUrlParams.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/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":{},"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":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.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":{},"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/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.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":{},"interfaces/CopyFiles.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":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.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":{},"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":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.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/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":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.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":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionService.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":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.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":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.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":{},"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":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.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/IAccountConfig.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/ICommonCartridgeConfig.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IContextExternalToolProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICreateNews.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEncryptionService.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IErrorType.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileDomainObjectProps.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IFileRequestInfo.html":{},"interfaces/IFileStorageConfig.html":{},"interfaces/IFilesStorageClientConfig.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/IIdentityManagementConfig.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IInterceptorConfig.html":{},"interfaces/IJsonAccount.html":{},"interfaces/IJsonUser.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ILoggerConfig.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/IPagination.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/IRepoLoader.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISchoolExternalToolProperties.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/ISchoolYearProperties.html":{},"interfaces/IScopeInfo.html":{},"interfaces/IServerConfig.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/IStorageProviderProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/ITemporaryFileProperties.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IToolLaunchParams.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IUserConfig.html":{},"interfaces/IUserProperties.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.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":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.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/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"controllers/LegacySchoolController.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.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":{},"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":{},"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/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":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationBody.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/MigrationMapper.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MigrationResponse.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":{},"entities/News.html":{},"controllers/NewsController.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":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthSSOError.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/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthLoginStateDto.html":{},"classes/OauthLoginStateMapper.html":{},"classes/OauthMigrationDto.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":{},"interfaces/OauthTokenResponse.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.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":{},"injectables/PageContentMapper.html":{},"classes/PageContentQueryParams.html":{},"classes/PageContentResponse.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":{},"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":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RejectRequestBody.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/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":{},"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/SSOLoginQuery.html":{},"interfaces/SanisGruppeResponse.html":{},"interfaces/SanisGruppenResponse.html":{},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{},"interfaces/SanisLaufzeitResponse.html":{},"interfaces/SanisNameResponse.html":{},"interfaces/SanisOrganisationResponse.html":{},"interfaces/SanisPersonResponse.html":{},"interfaces/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationError.html":{},"interfaces/SchoolMigrationFlags.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolParams.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.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":{},"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":{},"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":{},"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":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemIdParams-1.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.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":{},"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":{},"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":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.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":{},"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":{},"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":{},"classes/UserAndAccountTestFactory.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":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":{},"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":{},"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":10366,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1403,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/IContextExternalToolProperties.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18074,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18078,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3313,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":12794,"title":{},"body":{"interfaces/IErrorType.html":{}}}],["type.mapper.ts",{"_index":15801,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":15804,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.query.param.ts",{"_index":17441,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:12",{"_index":17449,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:16",{"_index":17450,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.query.param.ts:8",{"_index":17447,"title":{},"body":{"classes/PageContentQueryParams.html":{}}}],["type.response",{"_index":11782,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":5464,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":24275,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":9702,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":9792,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":9741,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":11818,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1568,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/TestApiClient.html":{}}}],["types",{"_index":1664,"title":{},"body":{"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":{},"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":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"classes/DomainObject.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":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfig.html":{},"entities/LessonEntity.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.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":{},"entities/SystemEntity.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.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.enum",{"_index":10665,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/PageContentQueryParams.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["types.get(type",{"_index":11193,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":11191,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":11182,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":11187,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":11185,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":11189,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":11180,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":11183,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":11980,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":19689,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":15805,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":19780,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":19781,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":11986,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":15643,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":15642,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":15647,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":15639,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":15640,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":15641,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":15644,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":15645,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":15646,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":15638,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3618,"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":23220,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":23222,"title":{},"body":{"dependencies.html":{}}}],["types/copy.types",{"_index":6608,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/deletion",{"_index":8278,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{}}}],["types/entity",{"_index":13275,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":23224,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":23226,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7100,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":23228,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":8624,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":13276,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":23230,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":999,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.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":{},"interfaces/ICollectionFilePath.html":{},"interfaces/INewsProperties.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.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/SystemRepo.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":23716,"title":{},"body":{"license.html":{}}}],["typing",{"_index":10165,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":509,"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/SystemFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":6847,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2538,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":21201,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15164,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":2764,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.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/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.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":{},"controllers/UserMigrationController.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":11871,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:29",{"_index":11876,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:47",{"_index":11884,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:9",{"_index":11881,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":24330,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":230,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3517,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":4709,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":6869,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":6867,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":7630,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8057,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1618,"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":4426,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6170,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/oauth",{"_index":14792,"title":{},"body":{"controllers/LegacySchoolController.html":{},"injectables/MigrationMapper.html":{},"classes/OauthLoginStateMapper.html":{},"controllers/OauthSSOController.html":{}}}],["uc/dto/school",{"_index":19227,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":22764,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":2765,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":11346,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":12089,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/hydra",{"_index":17114,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["uc/keycloak",{"_index":12426,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{}}}],["uc/lesson",{"_index":18745,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1386,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":15970,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":16888,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":18746,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":2766,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":20364,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":20637,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":20638,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":13607,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"controllers/UserMigrationController.html":{}}}],["ucs",{"_index":14709,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":23344,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17265,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":24755,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":12867,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"interfaces/ISystemProperties.html":{},"entities/ImportUser.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["uid=(.+?),/i",{"_index":12865,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":13859,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":13653,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":12863,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["uk",{"_index":13419,"title":{},"body":{"interfaces/IUserProperties.html":{},"entities/User.html":{}}}],["um",{"_index":4915,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3083,"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":1311,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1032,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":21655,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":21646,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":21919,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1877,"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/OauthUc.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":10150,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":10143,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":16514,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('oauth",{"_index":17146,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14033,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":14626,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`invalid",{"_index":17151,"title":{},"body":{"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{}}}],["unauthorizedexception(`school",{"_index":14666,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":15718,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1614,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1622,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":4933,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":556,"title":{},"body":{"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":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.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":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.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/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.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":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.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":{},"classes/FileRecordSecurityCheck.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/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDomainObjectProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISchoolProperties.html":{},"interfaces/IShareTokenProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.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":{},"injectables/LegacySchoolUc.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MetaTagExtractorService.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.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/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.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":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.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":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["undefined})@apiproperty({oneof",{"_index":9159,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":3752,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":22918,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":10653,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6083,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":11136,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["under",{"_index":23369,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":24445,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":24518,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":24454,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":8845,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["unique",{"_index":168,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IRoleProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/IUserProperties.html":{},"entities/ImportUser.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":{},"entities/Submission.html":{},"entities/User.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":9228,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":13348,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":13351,"title":{},"body":{"interfaces/ITaskParent.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":13232,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["uniquememberids",{"_index":13147,"title":{},"body":{"interfaces/ISubmissionProperties.html":{},"entities/Submission.html":{}}}],["uniquenames",{"_index":5509,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":5511,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":12998,"title":{},"body":{"interfaces/IRoleProperties.html":{},"interfaces/IUserProperties.html":{},"entities/Role.html":{},"entities/User.html":{}}}],["unit",{"_index":24075,"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":24607,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":23350,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":1218,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.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":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.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/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/IH5PContentProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"entities/LessonEntity.html":{},"injectables/LessonUC.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/NewsUc.html":{},"controllers/OauthSSOController.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":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":11830,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":11833,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":11835,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":11513,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":21923,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":21920,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":23722,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":10713,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":19392,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(schoolid",{"_index":19416,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":23510,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":23594,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":21781,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":23751,"title":{},"body":{"license.html":{}}}],["unprocessableentityexception",{"_index":5703,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["unprocessableentityexception('cannot",{"_index":8785,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception('current",{"_index":17187,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["unprocessableentityexception(`could",{"_index":9876,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`requested",{"_index":17215,"title":{},"body":{"injectables/OauthUc.html":{}}}],["unprocessableentityexception(`school",{"_index":19440,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["unprocessableentityexception(`system",{"_index":22632,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["unprocessableentityexception(`the",{"_index":9893,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":9606,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":17695,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":4974,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/ITaskParent.html":{},"entities/LessonEntity.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":11309,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/ICreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":939,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":18991,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":4947,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1001,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/ICollectionFilePath.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":3734,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":4951,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":8709,"title":{},"body":{"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":{},"injectables/SanisResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":6727,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7169,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":1953,"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":9088,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":9091,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":20910,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":14955,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"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":2958,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IImportUserProperties.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.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":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":8476,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":8520,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":5733,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16170,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":20177,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":15963,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":9959,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":21092,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":9961,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":9964,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":15501,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":21095,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":9967,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":15500,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":9963,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":21096,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":15499,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":16542,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":15498,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":16541,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":21093,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":16543,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":21091,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":9960,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":21094,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":9966,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":9962,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":9965,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":5738,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":5752,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:108",{"_index":5757,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:28",{"_index":5755,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:34",{"_index":5761,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:38",{"_index":5760,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:42",{"_index":5759,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:46",{"_index":5763,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:55",{"_index":5764,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:76",{"_index":5765,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:85",{"_index":5766,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":5768,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:99",{"_index":5762,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13513,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13542,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14419,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":267,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13514,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13544,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14421,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":18766,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":18771,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":2930,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":2955,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":3855,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4051,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4074,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4230,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4052,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4078,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4232,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5003,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5019,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5081,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":6305,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":21553,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":6321,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3001,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3031,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":305,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"controllers/CollaborativeStorageController.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":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":331,"title":{},"body":{"controllers/AccountController.html":{}}}],["updated.id",{"_index":2377,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["updatedat",{"_index":377,"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":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithSchool.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IFederalStateProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.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":4503,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4507,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4558,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3112,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4560,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedlessons",{"_index":15141,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15146,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":7946,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedtool",{"_index":6338,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4591,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.closedat",{"_index":14964,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.finishedat",{"_index":14969,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.mandatorysince",{"_index":14967,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateduserloginmigration.startedat",{"_index":14966,"title":{},"body":{"injectables/LegacySchoolUc.html":{}}}],["updateelement",{"_index":8725,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":8739,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":8762,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":8770,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":8713,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"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":2309,"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":{}}}],["updateentity(domainobject",{"_index":2347,"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":{}}}],["updateexecutionrequest",{"_index":14252,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":7902,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":7924,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistingmigration",{"_index":22407,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["updateexistingmigration(userloginmigrationdo",{"_index":22428,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["updateexternaltool",{"_index":9819,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":21604,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":9840,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":9943,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":20665,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":20676,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":13571,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":13596,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":13597,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updateheight",{"_index":4158,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4177,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14180,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14212,"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":1603,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4532,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4537,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":13589,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":268,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":15964,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":16779,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":16790,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17061,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":9820,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":9844,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":9821,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":9846,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14181,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14214,"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":5747,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7113,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":301,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"interfaces/ICollectionFilePath.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":19299,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":21882,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":19311,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":10701,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["updatesecuritystatus",{"_index":10884,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":10903,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":10889,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesubmissionitem",{"_index":3745,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":3761,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":20194,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":3762,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":4613,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":4627,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":4614,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":4692,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":4747,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":12498,"title":{},"body":{"interfaces/ICollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":4629,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16232,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16251,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4159,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":4891,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4179,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5064,"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":4773,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":4780,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":18790,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":18797,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2341,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/ICreateNews.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":16086,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":18907,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":18931,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":12083,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15258,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":24348,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1313,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":970,"title":{},"body":{"interfaces/AdminIdAndToken.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":1262,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.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":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.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/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMaterialProperties.html":{},"interfaces/IRelatedResourceProperties.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITargetGroupProperties.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.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":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfig.html":{},"classes/PageContentResponse.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.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/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserMigrationService.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('/dashboard",{"_index":16457,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url('/login",{"_index":17134,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["url('/migration",{"_index":22594,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url('/migration/error",{"_index":17140,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1263,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(`api/v3/sso/login/${system.id",{"_index":22634,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(oauthconfig.authendpoint",{"_index":16468,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(params.logouturl).origin",{"_index":22900,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(path",{"_index":16479,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(system.oauthconfig.logoutendpoint",{"_index":16461,"title":{},"body":{"injectables/OAuthService.html":{}}}],["url(this.baseurl",{"_index":2291,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":5786,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":13916,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(this.publicbackendurl",{"_index":22611,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(url",{"_index":5797,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url(urlpath",{"_index":22628,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url(value",{"_index":15222,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":15722,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":11468,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":11470,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.href",{"_index":1265,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":15769,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":13912,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2292,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2294,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.searchparams.append('origin",{"_index":22595,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["url.tostring",{"_index":2295,"title":{},"body":{"injectables/BBBService.html":{},"injectables/UserMigrationService.html":{}}}],["urlencoded",{"_index":14397,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":16564,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlobject",{"_index":15779,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["urlparamkeys",{"_index":14241,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":2941,"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":{}}}],["urlparams.boardid",{"_index":2974,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4097,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5028,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":8748,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":7644,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":18753,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":13625,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":14995,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":15987,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":18752,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":3780,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":20091,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":3785,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":20654,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":21147,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":19730,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urlpath",{"_index":22567,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["urls",{"_index":11419,"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":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"injectables/UserMigrationService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":23353,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2215,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["usable",{"_index":19683,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4501,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.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":{},"injectables/UserLoginMigrationService.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":12800,"title":{},"body":{"interfaces/IFileStorageConfig.html":{}}}],["usecase",{"_index":24248,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":24287,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":13593,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":8913,"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":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ICleanOptions.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.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":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUserEntity.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":11475,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3641,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.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":4684,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":637,"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":23990,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":15377,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('ldap",{"_index":15383,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15389,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15393,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15362,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15369,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15374,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":12084,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":239,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.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":{},"injectables/DashboardRepo.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.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":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICleanOptions.html":{},"interfaces/IComponentEtherpadProperties.html":{},"interfaces/IComponentGeogebraProperties.html":{},"interfaces/IComponentInternalProperties.html":{},"interfaces/IComponentLernstoreProperties.html":{},"interfaces/IComponentNexboardProperties.html":{},"interfaces/IComponentTextProperties.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/ILessonParent.html":{},"interfaces/ILessonProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/INewsProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITask.html":{},"interfaces/ITaskCreate.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITaskProperties.html":{},"interfaces/ITaskStatus.html":{},"interfaces/ITaskUpdate.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IUserProperties.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.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/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.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":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.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":{},"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/SchoolInMigrationError.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationError.html":{},"entities/SchoolNews.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":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.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":{},"classes/UserLoginMigrationError.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":{},"controllers/UserMigrationController.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.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":16844,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":21930,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":21933,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":24822,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(props",{"_index":22063,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user(s",{"_index":24793,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":13387,"title":{},"body":{"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{}}}],["user.'})@apiresponse({status",{"_index":304,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":13843,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":14557,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1625,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14325,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14463,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14464,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.business",{"_index":21967,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":12001,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":12003,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":12005,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":13753,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":13562,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:104",{"_index":13595,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:112",{"_index":13574,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:29",{"_index":13577,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:47",{"_index":13591,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:59",{"_index":13584,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:70",{"_index":13599,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:82",{"_index":13580,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:99",{"_index":13587,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":18384,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14469,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.do",{"_index":18514,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["user.do.ts",{"_index":18477,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user.do.ts:14",{"_index":18479,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:18",{"_index":18481,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:22",{"_index":18483,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:26",{"_index":18485,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:30",{"_index":18486,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:34",{"_index":18487,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.dto",{"_index":8970,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":8979,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":10077,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":10076,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":8982,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":8981,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":10078,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":12006,"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":6772,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INameMatch.html":{},"interfaces/INewsProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"classes/RocketChatUserFactory.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamUserEntity.html":{},"classes/UsersList.html":{}}}],["user.entity.factory.ts",{"_index":18505,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user.entity.ts",{"_index":11911,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user.entity.ts:102",{"_index":13559,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13555,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13551,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":11914,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":11913,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:20",{"_index":18497,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:24",{"_index":18496,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:28",{"_index":18495,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:31",{"_index":18494,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13557,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13558,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13553,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13549,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13550,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13552,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13548,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13556,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13547,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":13983,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15396,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":649,"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":13645,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":13647,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3174,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICourseProperties.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":22145,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITaskParent.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"entities/Task.html":{},"injectables/TaskCopyService.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":14550,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":12893,"title":{},"body":{"interfaces/IJsonUser.html":{}}}],["user.language",{"_index":22144,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":15826,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3175,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICourseProperties.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":22143,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":13602,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":7312,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:17",{"_index":13683,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:18",{"_index":18512,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":7324,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:32",{"_index":13685,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":7320,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:49",{"_index":13682,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":18381,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":7318,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:6",{"_index":18511,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":7327,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":21986,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.module.ts",{"_index":18529,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.name",{"_index":12007,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":19446,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":22516,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":11283,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":11319,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":11289,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":11292,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":11293,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":11298,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":11291,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":11287,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":11301,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.permissions",{"_index":10107,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":22146,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":18534,"title":{},"body":{"injectables/RocketChatUserRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.repo.ts:12",{"_index":18538,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:16",{"_index":18537,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:26",{"_index":18536,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:9",{"_index":18535,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.resolvepermissions",{"_index":1720,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":11783,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":11918,"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":18392,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":11923,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":18394,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":11920,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":18393,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":18391,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":18398,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":13805,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":18396,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":18395,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":13807,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":18397,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":13803,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":13806,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":13809,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":13802,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":13808,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":11922,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":13804,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":13659,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":13801,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":11921,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":11924,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":11824,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":22142,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17347,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":22001,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":7330,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":22521,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17528,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":7333,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":22780,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":10257,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":6926,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":6238,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":6929,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":6928,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.tostring",{"_index":18388,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":4841,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":10105,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":22062,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.service",{"_index":18531,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.service.ts",{"_index":18543,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:10",{"_index":18547,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:16",{"_index":18546,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:7",{"_index":18545,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.ts",{"_index":11905,"title":{},"body":{"classes/GroupUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":11907,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":18377,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":11906,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":18376,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":12008,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":24354,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":18386,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":13868,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":13869,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":11825,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":11823,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":11826,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":11613,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14468,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":20201,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14029,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/domain/rocket",{"_index":18476,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user/entity/rocket",{"_index":18493,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user/entity/testing/rocket",{"_index":18504,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user/import",{"_index":13563,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user/repo/mapper/rocket",{"_index":18510,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user/repo/rocket",{"_index":18533,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user/rocketchat",{"_index":18528,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user/service/rocket",{"_index":18542,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user?.id",{"_index":17377,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user?.lastloginsystemchange",{"_index":15824,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":21970,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2159,"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":22178,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":22323,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":22354,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["user_login_migrations",{"_index":22312,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["user_migration_failed",{"_index":22319,"title":{},"body":{"classes/UserLoginMigrationError.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":21965,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":656,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":657,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":669,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":19582,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{},"modules.html":{}}}],["userattributenamemapping",{"_index":13223,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["userboardrole",{"_index":3421,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3425,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3426,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3423,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3139,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["usercontroller",{"_index":21985,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":14552,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":10208,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":20159,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":7322,"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/OauthUc.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":13933,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":13934,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":13931,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":22455,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":13932,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":22623,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":22582,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":22710,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":22707,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":22708,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":22116,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":22121,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":22043,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":22124,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":22073,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":22080,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":22082,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":11144,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":648,"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":20108,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":6991,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":6992,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":20105,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":20104,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":22165,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17320,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17380,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":10219,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":10218,"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":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.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":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordSecurityCheck.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":{},"injectables/HydraOauthUc.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICopyFilesRequestInfo.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IExternalToolPseudonymEntityProps.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/IJsonAccount.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"interfaces/IToolLaunchStrategy.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolUc.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":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.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":{},"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/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.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/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":20124,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":21121,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2539,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4450,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":10116,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4315,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":953,"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":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISubmissionProperties.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"entities/TeamEntity.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7003,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":13606,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":15440,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemFactory.html":{}}}],["userinfo.token.claim",{"_index":14329,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16035,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16038,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16052,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16006,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":13248,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":17204,"title":{},"body":{"injectables/OauthUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":13632,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":13634,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4580,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"classes/OauthLoginStateDto.html":{},"injectables/OauthUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.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":{}}}],["userloginmigration.closedat",{"_index":4590,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat",{"_index":4587,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":4598,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigration.id",{"_index":4589,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigration.mandatorysince",{"_index":14972,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":13036,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.startedat",{"_index":14971,"title":{},"body":{"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":19978,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":22231,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":22199,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":19583,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules.html":{}}}],["userloginmigrationcontroller",{"_index":22185,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4578,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.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":{}}}],["userloginmigrationdo.closedat",{"_index":22448,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationdo.finishedat",{"_index":22449,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationentity",{"_index":13014,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"interfaces/ISchoolProperties.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationentity(props",{"_index":22363,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationerror",{"_index":22318,"title":{"classes/UserLoginMigrationError.html":{}},"body":{"classes/UserLoginMigrationError.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":4582,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":22200,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":22224,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":22230,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":13037,"title":{},"body":{"interfaces/ISchoolProperties.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":21423,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":21425,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":22228,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":22241,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":22251,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":22263,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":22256,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":14761,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/LegacySchoolApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4583,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4585,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":22201,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":22222,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":22372,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":22242,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":15816,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationrepo.save",{"_index":22435,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":22243,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":22237,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":22208,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":22225,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":22202,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4573,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1773,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":22207,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":22244,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":22214,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":22211,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4571,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":18407,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":18410,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":22183,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/UserMigrationController.html":{}}}],["usermapper",{"_index":22500,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":22767,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":13796,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":13611,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":13636,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":13603,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":13631,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":13635,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":13661,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":19346,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":10225,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":10217,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationcontroller",{"_index":22184,"title":{"controllers/UserMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserMigrationController.html":{}}}],["usermigrationdto",{"_index":15830,"title":{},"body":{"classes/MigrationDto.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdto.redirect",{"_index":15831,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":22548,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationmapper",{"_index":17120,"title":{"classes/UserMigrationMapper.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/UserMigrationMapper.html":{}}}],["usermigrationmapper.mapdtotoresponse(migration",{"_index":17189,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["usermigrationresponse",{"_index":17116,"title":{"classes/UserMigrationResponse.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/UserMigrationMapper.html":{},"classes/UserMigrationResponse.html":{}}}],["usermigrationservice",{"_index":16395,"title":{"injectables/UserMigrationService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermodel",{"_index":14327,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3593,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthApiModule.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":{},"modules.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/IJsonAccount.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.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":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1647,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":10175,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":16421,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":16446,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":650,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userpathadditions",{"_index":13220,"title":{},"body":{"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{}}}],["userpermissions",{"_index":22162,"title":{},"body":{"classes/UserFactory.html":{}}}],["userquery",{"_index":22050,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1705,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1737,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":217,"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":{},"interfaces/IRepoLoader.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.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":14407,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":13663,"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":18584,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":18586,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":18585,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2522,"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":2542,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3179,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3177,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1774,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3122,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CollaborativeStorageService.html":{},"entities/Course.html":{},"classes/ExternalGroupDto.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.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/ICleanOptions.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IParentInfo.html":{},"interfaces/IRetryOptions.html":{},"interfaces/IUserProperties.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":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.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":{},"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.filter((groupuser",{"_index":17382,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14443,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":22678,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.foreach((user",{"_index":17370,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.getidentifiers('_id",{"_index":6818,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":6822,"title":{},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":6829,"title":{},"body":{"entities/Course.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ICourseProperties.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14437,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":19463,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14436,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":24679,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":12621,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":12633,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":12632,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":12625,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":12624,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userscope",{"_index":22061,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":978,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersearchindex",{"_index":12626,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":12629,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":12623,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["userservice",{"_index":4822,"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/OauthUc.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":22765,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":12898,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":6787,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1719,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1722,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":20164,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":8789,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":13978,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":13980,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":13981,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":7316,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":7326,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":13614,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1890,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":14765,"title":{},"body":{"modules/LegacySchoolApiModule.html":{},"controllers/LegacySchoolController.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySchoolUc.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1180,"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":21376,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":493,"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":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemFactory.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":5578,"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":10943,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/KeycloakSeedService.html":{}}}],["util",{"_index":11504,"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":14755,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15323,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15342,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":3368,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18239,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(id",{"_index":3386,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":8837,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":570,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"interfaces/ISystemProperties.html":{},"classes/ImportUserFactory.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemFactory.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":13648,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":12478,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":24062,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":24067,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":9134,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":10451,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":5489,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":578,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/ISystemProperties.html":{},"interfaces/ITaskParent.html":{},"classes/LdapConfig.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":5474,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":5514,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":5518,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":5512,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":5507,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1123,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.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":6352,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14017,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4336,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/IClassEntityProps.html":{}}}],["validate(request",{"_index":14657,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(school",{"_index":19506,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":19325,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15281,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1155,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":10184,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":10209,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":9393,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":9413,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":10185,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":10211,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":9972,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":9977,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1136,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validategraceperiod",{"_index":19393,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validategraceperiod(userloginmigration",{"_index":19418,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validatelogosize",{"_index":9301,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":9315,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":9973,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":9979,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6088,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.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/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9194,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":9158,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6081,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":9974,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":9980,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":5472,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":5491,"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":2711,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":10186,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":10213,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":12244,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":16812,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":16823,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":16391,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":16417,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":9975,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":9982,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8012,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8020,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14048,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1289,"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/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsProperties.html":{},"injectables/LegacySchoolService.html":{},"entities/News.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":1449,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14037,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14042,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14047,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14045,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14051,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1268,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1274,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":22811,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":11542,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":11544,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":9985,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts",{"_index":5463,"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":9394,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:108",{"_index":9402,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":9404,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":6350,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":9410,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":9406,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":5501,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":9398,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:15",{"_index":19326,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:16",{"_index":9414,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:18",{"_index":9978,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":6353,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":5490,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:25",{"_index":19323,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:28",{"_index":9983,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":5478,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:45",{"_index":5475,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:53",{"_index":5487,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:60",{"_index":9981,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:65",{"_index":5492,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":19504,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":9400,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:73",{"_index":5481,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":9408,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:81",{"_index":5485,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":9396,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:89",{"_index":5483,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:9",{"_index":19320,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":9412,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation_error",{"_index":22804,"title":{},"body":{"classes/ValidationError.html":{}}}],["validationerror",{"_index":283,"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/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('grace_period_expired",{"_index":19422,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["validationerror('user",{"_index":7332,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":9990,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":9417,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":9422,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1329,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1330,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1325,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1323,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1301,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1328,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlogmessage",{"_index":8830,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.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/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.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":1275,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{}}}],["validationmetadata",{"_index":8862,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":8864,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":8863,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":6677,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{},"modules.html":{}}}],["validationpipe",{"_index":1131,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1158,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1154,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1156,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":148,"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/DownloadFileParams.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/MigrationBody.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/PageContentQueryParams.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/SSOLoginQuery.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/SchoolParams.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/SystemIdParams-1.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.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/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":24344,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":10263,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":10266,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":11605,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":7258,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":11688,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":11606,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":480,"title":{},"body":{"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":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.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":{},"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/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IClassEntityProps.html":{},"interfaces/ICollectionFilePath.html":{},"interfaces/IGridElement.html":{},"interfaces/ITeamProperties.html":{},"interfaces/ITeamUserProperties.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":{},"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":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.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/SystemFactory.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":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/ToolConfiguration.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/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.length",{"_index":20004,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":15873,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":20027,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14478,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1454,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/ISystemProperties.html":{},"classes/LdapConfig.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OidcConfig.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1652,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1656,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1655,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":12645,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":19630,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":19919,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":21335,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":24256,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":1954,"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":23064,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":23066,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":23431,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":12435,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1064,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":24586,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":22939,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":22952,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":24587,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1493,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5111,"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":{},"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/ExternalToolUc.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":{},"classes/ToolConfigurationMapper.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":21915,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":21916,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.service",{"_index":9853,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["version.service.ts",{"_index":10005,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:16",{"_index":10016,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:32",{"_index":10030,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:39",{"_index":10019,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:52",{"_index":10028,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:60",{"_index":10022,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:68",{"_index":10026,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:7",{"_index":10033,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["version.service.ts:76",{"_index":10024,"title":{},"body":{"injectables/ExternalToolVersionService.html":{}}}],["versionkey",{"_index":10421,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5333,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":23445,"title":{},"body":{"license.html":{}}}],["vertrauensstufe",{"_index":19039,"title":{},"body":{"interfaces/SanisPersonResponse.html":{}}}],["very",{"_index":12591,"title":{},"body":{"interfaces/ICollectionFilePath.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":6403,"title":{},"body":{"classes/CopyApiResponse.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/OauthUc.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":8544,"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":6786,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/ICourseProperties.html":{},"interfaces/ISchoolProperties.html":{},"entities/SchoolEntity.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":23161,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":23082,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":23084,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":22865,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":23042,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":23043,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":23041,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":19584,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules.html":{}}}],["videoconferencebaseresponse",{"_index":8545,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":8552,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":8550,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":8553,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":22855,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":22861,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":23126,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":22850,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":22885,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":22846,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":22992,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":23005,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":22979,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":22847,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":22892,"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":22894,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":22876,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":22848,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":22893,"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":23114,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":22895,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":22882,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":22849,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":22889,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":22912,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":22909,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":22905,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":23182,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":22845,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"modules.html":{}}}],["videoconferenceoptions",{"_index":22814,"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":22983,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":23046,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":23113,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":23120,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":23003,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":23027,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":23024,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":23022,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":23175,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":22828,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":19547,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":23187,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":23158,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":23156,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":22868,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":22941,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13435,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":22835,"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":23038,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":23058,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":23016,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":8551,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":23111,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":23109,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":23110,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":23009,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":23160,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":23165,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2177,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16166,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2127,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7109,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":23748,"title":{},"body":{"license.html":{}}}],["violation",{"_index":23796,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":23307,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":10782,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1204,"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":1205,"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":1236,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1240,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":24044,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4143,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17510,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17511,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4134,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4141,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7108,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":9072,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":9076,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":2844,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcard(card",{"_index":2853,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcardasync",{"_index":2895,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":2888,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18101,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18216,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18227,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18173,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18178,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18091,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18103,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumn",{"_index":2845,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumn(column",{"_index":2856,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnasync",{"_index":2896,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":2887,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18105,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":2846,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":2858,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboardasync",{"_index":2897,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":2886,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18107,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":2847,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":2860,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":2898,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":2894,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18109,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":2848,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":2863,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":2899,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":2889,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18111,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":2849,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":2866,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelementasync",{"_index":2900,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":2890,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18113,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":2799,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3333,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":2843,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:12",{"_index":2859,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:13",{"_index":2857,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":2855,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":2865,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":2868,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":2871,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":2874,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":2876,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":2862,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:24",{"_index":2906,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:25",{"_index":2905,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:26",{"_index":2904,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":2908,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":2909,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":2910,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":2911,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":2912,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":2907,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4043,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4044,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":4800,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":4801,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":4817,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":4818,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":9183,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":9184,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":10383,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":10384,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15227,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15228,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":18441,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":18442,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":20045,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":20046,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":20127,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":20128,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":2850,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":2869,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":2901,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18115,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":2891,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":2851,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":2872,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":2902,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18117,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":2892,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":2852,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":2875,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":2903,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18119,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":5767,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":2893,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":23391,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":12847,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["voicebridge",{"_index":2113,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2178,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":519,"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":{},"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":{},"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/ExternalToolVersionService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICourseGroupProperties.html":{},"interfaces/ICourseProperties.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IGridElement.html":{},"interfaces/ILearnroom.html":{},"interfaces/ILearnroomElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IParentInfo.html":{},"interfaces/ITaskParent.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolUc.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.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":{},"controllers/OauthSSOController.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/SystemFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolLaunchService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{}}}],["volume",{"_index":23655,"title":{},"body":{"license.html":{}}}],["von",{"_index":19028,"title":{},"body":{"interfaces/SanisLaufzeitResponse.html":{}}}],["vorname",{"_index":19031,"title":{},"body":{"interfaces/SanisNameResponse.html":{}}}],["vs",{"_index":13995,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":23362,"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":24622,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":24068,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":24186,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":24620,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":5851,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1644,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":23088,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":23614,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":23976,"title":{},"body":{"license.html":{}}}],["want",{"_index":4745,"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":{}}}],["warn",{"_index":12911,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":12922,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15304,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15313,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":23540,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":23539,"title":{},"body":{"license.html":{}}}],["watch",{"_index":24051,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3671,"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":23664,"title":{},"body":{"license.html":{}}}],["web",{"_index":5396,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":5424,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["weights",{"_index":12637,"title":{},"body":{"interfaces/ICollectionFilePath.html":{}}}],["weird",{"_index":7132,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/INewsProperties.html":{},"entities/News.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2027,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":23524,"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":14376,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":23125,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13447,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":4924,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":24888,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":19557,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":24284,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":22068,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":22726,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":22721,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":22728,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":22067,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":14746,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":7308,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":11550,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14030,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":15912,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16238,"title":{},"body":{"injectables/NextcloudStrategy.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":20138,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":23704,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":4916,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":23552,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":23472,"title":{},"body":{"license.html":{}}}],["width",{"_index":6494,"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":5422,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":24708,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":4903,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":23559,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":5421,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":24027,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":8882,"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":15328,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15335,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15341,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15336,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15332,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":8881,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":8871,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15324,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15326,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":23402,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":23606,"title":{},"body":{"license.html":{}}}],["wir",{"_index":4911,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":24610,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":23452,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":7566,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":9241,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":12282,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":9261,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":7563,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata",{"_index":16537,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":7527,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2065,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2071,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":19752,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":19753,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":3914,"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":8094,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":20413,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":20416,"title":{},"body":{"classes/SystemFactory.html":{}}}],["withlogouturl",{"_index":2066,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2073,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":22972,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":9242,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":7561,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2067,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2075,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":9243,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":9248,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":9244,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":9250,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":7559,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":15565,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":15567,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":20414,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":20415,"title":{},"body":{"classes/SystemFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":765,"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":24022,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":4851,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":22722,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":22730,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":22071,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2140,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":22155,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2144,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":21112,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":21114,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":22151,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":22157,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":22118,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":22119,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6050,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6051,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19169,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19170,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":450,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":465,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":21113,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":21116,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":451,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":467,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2141,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":23080,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":21222,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2146,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4364,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":8438,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4365,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2068,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2077,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":10668,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/ICopyFileDO.html":{},"interfaces/ICopyFilesOfParentParams.html":{},"interfaces/IFileDO.html":{},"interfaces/IFileRecordParams.html":{},"interfaces/IFileRecordProperties.html":{},"interfaces/IFileRecordSecurityCheckProperties.html":{},"interfaces/IParentInfo.html":{}}}],["word",{"_index":24425,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":12641,"title":{},"body":{"interfaces/ICollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":769,"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":23564,"title":{},"body":{"license.html":{}}}],["worker",{"_index":8680,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":8681,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":12451,"title":{},"body":{"interfaces/ICleanOptions.html":{},"interfaces/IMigrationOptions.html":{},"interfaces/IRetryOptions.html":{},"classes/KeycloakConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":24450,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":11311,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":23864,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1727,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2679,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":7819,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":7928,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2701,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":12850,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrap(props.system).toreference",{"_index":12851,"title":{},"body":{"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrap(props.user).toreference",{"_index":7826,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["wrapped",{"_index":24459,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2671,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/IDashboardModelProperties.html":{},"interfaces/IImportUserProperties.html":{},"entities/ImportUser.html":{}}}],["wrapper",{"_index":5331,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":8571,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1679,"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":1684,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":24788,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":21077,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":21074,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":21076,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":21078,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":10917,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":10952,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":21083,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":24869,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":19564,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":5655,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":5656,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":5657,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":5659,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":5654,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writing",{"_index":23941,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":23671,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8024,"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":24856,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["www",{"_index":14395,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":4959,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/ICalendarEvent.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xml",{"_index":6384,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5224,"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":6385,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":6387,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":6381,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":6382,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5204,"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":5278,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5279,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5340,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5280,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5281,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5336,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5338,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5282,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":7801,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["xposition",{"_index":7834,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5312,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5311,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5313,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5314,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5316,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5315,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5317,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5318,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5285,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":24636,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":7623,"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":{}}}],["yagni",{"_index":24236,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":24441,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["year",{"_index":4269,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"interfaces/IClassEntityProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":19521,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:10",{"_index":19526,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:16",{"_index":19525,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:6",{"_index":19524,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":5852,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["years",{"_index":13053,"title":{},"body":{"interfaces/ISchoolYearProperties.html":{},"entities/SchoolYearEntity.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":5853,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/IH5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.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":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.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/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":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.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":{},"classes/OAuthMigrationError.html":{},"classes/OAuthSSOError.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OauthUc.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationError.html":{},"classes/SchoolMigrationError.html":{},"injectables/SchoolMigrationService.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/SystemFactory.html":{},"injectables/SystemService.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/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationError.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":10753,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":22997,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["your.config.ts",{"_index":24898,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":24902,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":24900,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":24899,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":24394,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":24399,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":24903,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":23878,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":24429,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":24395,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":7802,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/IDashboardModelProperties.html":{}}}],["yposition",{"_index":7835,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15337,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":21315,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]|[0",{"_index":11439,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":11438,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5223,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5205,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":218,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.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/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/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolApiModule.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/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/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":4931,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":4934,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":4940,"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';\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"},"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_providers\n\n\n\ncluster_AccountApiModule_imports\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';\nimport { UserRepo } from '@shared/repo';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\nimport { LoggerModule } from '../../core/logger/logger.module';\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"},"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 { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\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';\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: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 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: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 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: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 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, Counted } from '@shared/domain';\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: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 | 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: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 \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, EntityId, IdmAccountProperties, User } from '@shared/domain';\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';\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';\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';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain';\nimport { IdentityManagementService } from '@infra/identity-management';\nimport { IServerConfig } from '@modules/server/server.config';\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_providers\n\n\n\ncluster_AccountModule_imports\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\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nAccountModule -->\n\nSystemRepo->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 PermissionService\n \n \n SystemRepo\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 { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain';\nimport { SystemRepo, UserRepo } from '@shared/repo';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { IServerConfig } from '../server/server.config';\nimport { AccountLookupService } from './services/account-lookup.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\tSystemRepo,\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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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: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 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: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 \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:18\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: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 | 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: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 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:73\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: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 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:46\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:35\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: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 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: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 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:50\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: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 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:10\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 { EntityId, SortOrder } from '@shared/domain';\nimport { Account } from '@shared/domain/entity/account.entity';\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 { Account } from '@shared/domain';\nimport { AccountDto } from '@modules/account/services/dto/account.dto';\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';\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:13\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:108\n\n \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: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 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: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 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: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 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: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 \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: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 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: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 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:146\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: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 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: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 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: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 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:122\n\n \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: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 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: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 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: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 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:83\n\n \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: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 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 bcrypt from 'bcryptjs';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account, Counted, EntityId } from '@shared/domain';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountDto, AccountSaveDto } from './dto';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountLookupService } from './account-lookup.service';\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';\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"},"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"},"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_imports\n\n\n\ncluster_AuthenticationApiModule_providers\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_exports\n\n\n\ncluster_AuthenticationModule_imports\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\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\nSystemRepo\n\nSystemRepo\n\nAuthenticationModule -->\n\nSystemRepo->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->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 LocalStrategy\n \n \n Oauth2Strategy\n \n \n SystemRepo\n \n \n UserRepo\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 { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\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';\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\tSystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\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';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\nimport { AccountService } from '@modules/account';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { IServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\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';\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';\nimport { AuthorizationContext, Action } 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: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 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 { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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: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 { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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_exports\n\n\n\ncluster_AuthorizationModule_providers\n\n\n\ncluster_AuthorizationModule_imports\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\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\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 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 \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { FeathersModule } from '@infra/feathers';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tTaskRule,\n\tTeamRule,\n\tUserRule,\n\tUserLoginMigrationRule,\n\tLegacySchoolRule,\n\tGroupRule,\n} from './domain/rules';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\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],\n\texports: [FeathersAuthorizationService, AuthorizationService],\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 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 \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:11\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:15\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:19\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:23\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:27\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\n/**\n * @deprecated\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\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\nLessonRepo\n\nLessonRepo\n\nAuthorizationReferenceModule -->\n\nLessonRepo->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 LessonRepo\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 LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { ToolModule } from '@modules/tool';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '@modules/board';\nimport { ReferenceLoader, AuthorizationReferenceService, AuthorizationHelper } from './domain';\nimport { AuthorizationModule } from './authorization.module';\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: [AuthorizationModule, forwardRef(() => ToolModule), forwardRef(() => BoardModule), LoggerModule],\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\tLessonRepo,\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';\nimport { ReferenceLoader } from './reference.loader';\nimport { AuthorizationContext, AuthorizableReferenceType } from '../type';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationService } from './authorization.service';\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:11\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: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 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: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 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: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 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: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 \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: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 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: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 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: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 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 { BaseDO, EntityId, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { UserRepo } from '@shared/repo';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { ForbiddenLoggableException } from '../error';\nimport { RuleManager } from './rule-manager';\nimport { AuthorizationContext } from '../type';\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:12\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: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 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: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 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: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 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, Course, EntityId } from '@shared/domain';\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';\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/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 { Observable, firstValueFrom } 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: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 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: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 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: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 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: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 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:98\n \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: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 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: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 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: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 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 : 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: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(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:77\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: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 : 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: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 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: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 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:11\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, BaseEntity, baseEntityProperties, EntityId } from '@shared/domain';\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';\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:6\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: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 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: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 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: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 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 { AnyBoardDo, EntityId, SubmissionItem, UserRoleEnum } from '@shared/domain';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AuthorizationService, Action } from '@modules/authorization';\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\n \n \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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { IToolLaunchParams } 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: IToolLaunchParams\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"},"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 { ILearnroomElement } 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): ILearnroomElement {\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 { EntityId } from '@shared/domain';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\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 { EntityId } from '@shared/domain';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 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\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\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 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\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\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';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoard,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n\tLessonEntity,\n\tLessonBoardElement,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n} from '@shared/domain';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { 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 { 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tCourse,\n\tEntityId,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { CourseRepo } from '@shared/repo';\nimport { AuthorizationLoaderService } from '@modules/authorization';\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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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\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 { 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\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 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:30\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:30\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: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 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:189\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: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 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: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 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:39\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 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:175\n \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: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 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: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 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: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 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: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 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: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 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: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 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:200\n \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: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 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 type {\n\tBoardDoBuilder,\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tLinkElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain';\nimport {\n\tAnyBoardDo,\n\tBoardNodeType,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\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.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 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 { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain';\nimport { CopyStatus } from '@modules/copy-helper';\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: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 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: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 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:26\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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, BoardNode, ColumnBoardNode, EntityId } from '@shared/domain';\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';\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:13\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: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 \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: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 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: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 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: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 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:79\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:71\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: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 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 { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType, BoardNode, Course, EntityId, InputFormat } from '@shared/domain';\nimport { ConsoleWriterService } from '@infra/console';\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\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 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 { 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';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\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: [ConsoleWriterModule, FilesStorageClientModule, LoggerModule, UserModule, ContextExternalToolModule],\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],\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: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 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: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 No\n \n\n\n \n \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: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 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: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 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, EntityId } from '@shared/domain';\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: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 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: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 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: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 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: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 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: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 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:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, EntityId, LessonBoardElement, TaskBoardElement } from '@shared/domain';\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';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\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 { 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: ITaskStatus)\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 ITaskStatus\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 { ITaskStatus } from '@shared/domain';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: ITaskStatus): 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:11\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: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 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: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 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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { Action } from '@modules/authorization';\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"},"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: IErrorType, 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 IErrorType\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 { IErrorType } 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 }: IErrorType,\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_providers\n\n\n\ncluster_CacheWrapperModule_exports\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"},"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: ICalendarEvent)\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 ICalendarEvent\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 { ICalendarEvent } 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: ICalendarEvent): 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';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Observable, firstValueFrom } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { ICalendarEvent } from '../interface/calendar-event.interface';\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:36\n\n \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: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 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: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 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:10\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:14\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:18\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:22\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 { 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 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:141\n \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: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 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: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 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: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 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: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 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:98\n \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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\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],\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 { 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 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: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 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:55\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: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/card/card.response.ts:34\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:61\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:38\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:58\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\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\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],\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';\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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, EntityId } from '@shared/domain';\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:9\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: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 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: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 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:96\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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\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';\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';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface IClassEntityProps {\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: IClassEntityProps) {\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: IClassEntityProps) {\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 { DeepPartial } from 'fishery';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ClassEntity, ClassSourceOptionsEntity, IClassEntityProps } from '@modules/class/entity';\nimport { ObjectId } from 'bson';\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"},"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';\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';\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"},"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 Private\n isGracePeriodExpired\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 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/uc/close-user-login-migration.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 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 import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { EntityId, Permission, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\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(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.write,\n\t\t});\n\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} else if (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t} else {\n\t\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\t\tschoolId\n\t\t\t);\n\n\t\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\t\tif (!hasSchoolMigratedUser) {\n\t\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(schoolId);\n\n\t\t\treturn updatedUserLoginMigration;\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\n \n\n\n\n\n\n\n\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: ICollaborativeStorageStrategy, 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 ICollaborativeStorageStrategy\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: ICollaborativeStorageStrategy)\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 ICollaborativeStorageStrategy\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 : ICollaborativeStorageStrategy\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 { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { ICollaborativeStorageStrategy } 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: ICollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('ICollaborativeStorageStrategy') strategy: ICollaborativeStorageStrategy,\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: ICollaborativeStorageStrategy) {\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 { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { ToolModule } from '@modules/tool';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\n\nconst storageStrategy: Provider = {\n\tprovide: 'ICollaborativeStorageStrategy',\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 { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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:13\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: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 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: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 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:31\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: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 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:42\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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\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"},"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"},"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 { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tEntityId,\n\tisColumnBoard,\n} from '@shared/domain';\nimport { CourseRepo } from '@shared/repo';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\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';\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\tEntityId,\n\tRichTextElement,\n} from '@shared/domain';\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 { ILearnroomElement } 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 ILearnroomElement {\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:8\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget, EntityId } from '@shared/domain';\nimport { ColumnBoardService } from '@modules/board';\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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CardResponseMapper } from './mapper';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\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';\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:8\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: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 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: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 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: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 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: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 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: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 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, EntityId } from '@shared/domain';\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:9\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: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 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: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 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: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 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: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 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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType, EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\nimport { CardService, ColumnService, BoardDoAuthorizableService } 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"},"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:18\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: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 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: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 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: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 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: IComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.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 lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n IComponentProperties\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:140\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: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 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 { Injectable } from '@nestjs/common';\nimport { Course, EntityId, IComponentProperties, Task } from '@shared/domain';\nimport { LessonService } from '@modules/lesson/service';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { CourseService } from './course.service';\nimport { createIdentifier } from '../common-cartridge/utils';\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\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: IComponentProperties,\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"},"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: ICommonCartridgeFileBuilderOptions)\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 ICommonCartridgeFileBuilderOptions\n \n \n \n No\n \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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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 ICommonCartridgeElement\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: ICommonCartridgeElement[], resources: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements ICommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: ICommonCartridgeElement[],\n\t\tprivate readonly resources: ICommonCartridgeElement[]\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 ICommonCartridgeElement\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 { ICommonCartridgeElement } 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 ICommonCartridgeElement {\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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 ICommonCartridgeElement\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 { ICommonCartridgeElement } 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 ICommonCartridgeElement {\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 ICommonCartridgeElement\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: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements ICommonCartridgeElement {\n\tconstructor(private readonly organizationElements: ICommonCartridgeElement[]) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { 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';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements ICommonCartridgeElement, ICommonCartridgeFile {\n\tprivate readonly inner: ICommonCartridgeElement & ICommonCartridgeFile;\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 ICommonCartridgeElement\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: ICommonCartridgeElement[])\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 ICommonCartridgeElement[]\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements ICommonCartridgeElement {\n\tconstructor(private readonly resourceElements: ICommonCartridgeElement[]) {}\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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 ICommonCartridgeElement\n ICommonCartridgeFile\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 { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\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 ICommonCartridgeElement, ICommonCartridgeFile {\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_imports\n\n\n\ncluster_CommonToolModule_providers\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 determineToolConfigurationStatus\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 determineToolConfigurationStatus\n \n \n \n \n \n \ndetermineToolConfigurationStatus(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: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 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 : ToolConfigurationStatus\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: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 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 { ToolConfigurationStatus } from '../enum';\nimport { ToolVersion } from '../interface';\n\n@Injectable()\nexport class CommonToolService {\n\tdetermineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ToolConfigurationStatus {\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\treturn ToolConfigurationStatus.LATEST;\n\t\t}\n\n\t\treturn ToolConfigurationStatus.OUTDATED;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n}\n\n \n\n\n\n\n\n\n\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 Public\n checkForDuplicateParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkScopeAndValidateParameter\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: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 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 Public\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: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 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 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: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 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: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 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: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 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 checkScopeAndValidateParameter\n \n \n \n \n \n \n \n checkScopeAndValidateParameter(validatableTool: ValidatableTool, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.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 validatableTool\n \n ValidatableTool\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 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: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 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 checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) =>\n\t\t\tname.toLowerCase()\n\t\t);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\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\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tif (loadedExternalTool.parameters) {\n\t\t\tfor (const param of loadedExternalTool.parameters) {\n\t\t\t\tthis.checkScopeAndValidateParameter(validatableTool, param);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkScopeAndValidateParameter(validatableTool: ValidatableTool, param: CustomParameter): void {\n\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t({ name }: CustomParameterEntry): boolean => name.toLowerCase() === param.name.toLowerCase()\n\t\t);\n\n\t\tif (param.scope === CustomParameterScope.SCHOOL && validatableTool instanceof SchoolExternalTool) {\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t} else if (param.scope === CustomParameterScope.CONTEXT && validatableTool instanceof ContextExternalTool) {\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\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 (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"},"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 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: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 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 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:93\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:43\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:56\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:68\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:81\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 { 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.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 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\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:18\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: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 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: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 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';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\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\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\tEntityId,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain';\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 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:28\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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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:28\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\tInputFormat,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tAnyElementContentBody,\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 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:76\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:43\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:73\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:64\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:70\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:76\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:40\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:10\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:13\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:16\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:19\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:22\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:46\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:67\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:49\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:25\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:28\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:31\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:34\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:58\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:61\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:37\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:52\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:55\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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 { EntityId } from '@shared/domain';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { Injectable } from '@nestjs/common';\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/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';\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"},"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 IContextExternalToolProperties {\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: IContextExternalToolProperties) {\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';\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\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\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\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 \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\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 \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 {\n\tContextExternalToolAuthorizableService,\n\tContextExternalToolService,\n\tContextExternalToolValidationService,\n\tToolReferenceService,\n} from './service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\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/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 deleteBySchoolExternalToolIds\n \n \n entityFactory\n \n \n Async\n find\n \n \n Public\n \n Async\n findById\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 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 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:25\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: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 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 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: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 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 entityFactory\n \n \n \n \n \n \nentityFactory(props: IContextExternalToolProperties)\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 props\n \n IContextExternalToolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolEntity\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: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 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:56\n\n \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: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 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: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 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:103\n\n \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 : IContextExternalToolProperties\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:82\n\n \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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:77\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: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 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: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 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:50\n\n \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/contextexternaltool/context-external-tool.repo.ts:30\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 { BaseDORepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport {\n\tContextExternalToolEntity,\n\tContextExternalToolType,\n\tIContextExternalToolProperties,\n} 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 { EntityId } from '../../domain';\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\tentityFactory(props: IContextExternalToolProperties): ContextExternalToolEntity {\n\t\treturn new ContextExternalToolEntity(props);\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\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\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): IContextExternalToolProperties {\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,\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 { Scope } from '@shared/repo';\nimport { EntityId } from '@shared/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\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 Async\n deleteBySchoolExternalToolId\n \n \n Async\n deleteContextExternalTool\n \n \n Async\n findAllByContext\n \n \n Async\n findById\n \n \n Async\n findContextExternalTools\n \n \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)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.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 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: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 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 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: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 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 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: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 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 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: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 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 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: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 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 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: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 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';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tasync findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tasync saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tasync 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\tasync deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tasync 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\n \n\n\n\n\n\n\n\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:19\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: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 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: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 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:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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:101\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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 { EntityId, Permission, User } from '@shared/domain';\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, ContextExternalToolValidationService } from '../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.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.findById(\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.findById(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.findById(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 checkDuplicateInContext\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 checkDuplicateInContext\n \n \n \n \n \n \n \n checkDuplicateInContext(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.checkDuplicateInContext(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 checkDuplicateInContext(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';\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"},"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: ICopyFileDomainObjectProps)\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 ICopyFileDomainObjectProps\n \n \n \n No\n \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';\nimport { ICopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: ICopyFileDomainObjectProps) {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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: IFileRequestInfo, target: IFileRequestInfo)\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 IFileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n IFileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICopyFilesRequestInfo\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';\nimport { IFileRequestInfo } from '../interfaces';\nimport { ICopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: IFileRequestInfo, target: IFileRequestInfo): ICopyFilesRequestInfo {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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: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 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: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 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: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 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 { EntityId, LessonEntity, Task } from '@shared/domain';\nimport { 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 { 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"},"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 IFederalStateProperties {\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: IFederalStateProperties) {\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:103\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:83\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:93\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:79\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:60\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:100\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:106\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:57\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:64\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:97\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:86\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:68\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:76\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:72\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:90\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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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 { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { ConfigService } from '@nestjs/config';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseMetadataListResponse, CourseUrlParams, CourseQueryParams } from './dto';\nimport { CourseMapper } from '../mapper/course.mapper';\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:15\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: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 \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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Course, EntityId, User } from '@shared/domain';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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:10\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:27\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: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 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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizationReferenceService, AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\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:9\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizationReferenceService, AuthorizableReferenceType } from '@modules/authorization/domain';\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, ICourseProperties } from '@shared/domain';\n\nimport { schoolFactory } from './school.factory';\nimport { BaseFactory } from './base.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 { IEntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseGroupProperties {\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 IEntityWithSchool, ITaskParent, ILessonParent {\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: ICourseGroupProperties) {\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, ICourseGroupProperties } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { courseFactory } from './course.factory';\nimport { BaseFactory } from './base.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"},"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: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 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: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 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: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 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:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { Counted, EntityId, CourseGroup } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\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:6\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: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 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: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 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 { Counted, CourseGroup, EntityId } from '@shared/domain';\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';\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';\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';\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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/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: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 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: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 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: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 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: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 \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:63\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: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 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:55\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 { Counted, Course, EntityId, IFindOptions } from '@shared/domain';\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:37\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: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 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: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 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: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 : 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: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 : 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 { Counted, Course, EntityId, IFindOptions } from '@shared/domain';\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:6\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: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 \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: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 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: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 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: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 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 { CourseRepo } from '@shared/repo';\nimport { Counted, Course, EntityId } from '@shared/domain';\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:7\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: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 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 { Counted, Course, EntityId, SortOrder } from '@shared/domain';\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"},"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';\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';\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"},"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:22\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:30\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:44\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:37\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 { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, NewsTargetModel } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\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@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, 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 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 { Role, User } from '@shared/domain';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, 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: false,\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 { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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: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 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: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 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: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 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, LearnroomMetadata } from '@shared/domain';\nimport { DashboardResponse, DashboardGridElementResponse, DashboardGridSubElementResponse } 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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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: ILearnroom)\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 ILearnroom\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 { wrap, EntityManager } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tDashboardEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tILearnroom,\n\tLearnroomTypes,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tCourse,\n\tUser,\n} from '@shared/domain';\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: ILearnroom): 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"},"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:20\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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, DashboardEntity, GridElementWithPosition, DashboardModelEntity } from '@shared/domain';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\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:7\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: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 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: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 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: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 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: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 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 { Injectable, Inject, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, EntityId, GridPositionWithGroupIndex, GridPosition, SortOrder } from '@shared/domain';\nimport { IDashboardRepo, CourseRepo } 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 { BaseEntity } from '@shared/domain';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Collection, Db } from 'mongodb';\nimport { MikroORM } from '@mikro-orm/core';\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';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesRepo } from '../repo';\nimport { FileEntity } from '../entity';\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"},"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 \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 import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel } from './types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from './types/deletion-operation-model.enum';\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}\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\n \n\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\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:30\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:33\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:21\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:27\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:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\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\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\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 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 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, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\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\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\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: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 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: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 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: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 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});\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});\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 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 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 } from './types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from './types/deletion-operation-model.enum';\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}\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\n \n\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';\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:10\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogRepo } from '../repo';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionOperationModel } from '../domain/types/deletion-operation-model.enum';\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\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/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';\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/uc/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/uc/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/deletion-domain-model.enum';\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\ncluster_DeletionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionModule -->\n\nLoggerModule->DeletionModule\n\n\n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \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 DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeletionRequestService, DeletionRequestRepo],\n\texports: [DeletionRequestService],\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/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:16\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:20\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:24\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:28\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:32\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:36\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 } from './types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from './types/deletion-status-model.enum';\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"},"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';\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 deleteAfter\n \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 deleteAfter\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/deletion/entity/deletion-request.entity.ts:21\n \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()@Index()\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:27\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: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';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\n\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@Index({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\t@Index()\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 } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\n\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@Index({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\t@Index()\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: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 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 } from '../../types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../../types/deletion-status-model.enum';\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/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';\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/DeletionRequestLogBuilder.html":{"url":"classes/DeletionRequestLogBuilder.html","title":"class - DeletionRequestLogBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogBuilder\n\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-request-log.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/uc/builder/deletion-request-log.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 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 : DeletionRequestLog\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionLogStatistic, DeletionRequestLog, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLog {\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/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 } from './types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from './types/deletion-status-model.enum';\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';\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:13\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId, SortOrder } from '@shared/domain';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\nimport { DeletionRequestScope } from './deletion-request-scope';\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/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/deletion-status-model.enum';\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:10\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:13\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: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 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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel } from '../domain/types/deletion-domain-model.enum';\nimport { DeletionStatusModel } from '../domain/types/deletion-status-model.enum';\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/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/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';\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/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';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\nimport { DeletionTargetRef } from '../interface';\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';\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';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 : ITaskStatus\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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): ITaskStatus {\n\t\tlet status: ITaskStatus;\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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 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: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 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)@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: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 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 {\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 { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\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)\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],\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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tEntityId,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationService, Action } from '@modules/authorization';\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"},"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"},"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 { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { IError } from '@infra/rabbitmq';\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"},"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 externalOrganizationId\n \n \n from\n \n \n name\n \n \n type\n \n \n until\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(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 externalOrganizationId\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:17\n \n \n\n\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 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 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 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:15\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 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 users\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\tusers: ExternalGroupUserDto[];\n\n\tfrom: Date;\n\n\tuntil: Date;\n\n\ttype: GroupTypes;\n\n\texternalOrganizationId?: string;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.users = props.users;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t\tthis.externalOrganizationId = props.externalOrganizationId;\n\t}\n}\n\n \n\n\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';\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 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: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 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 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\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t}\n}\n\n \n\n\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 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:46\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:38\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:42\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:36\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:34\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:30\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:44\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:40\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:32\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:46\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:62\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: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 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: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 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 } 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\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\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}\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 filterParametersForScope\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.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 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 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: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 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: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 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: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 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 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: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 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 import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId, Page } from '@shared/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameterScope } from '../../common/enum';\nimport { CustomParameter } from '../../common/domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures) {}\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 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\n \n\n\n\n\n\n\n\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 \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)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.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 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 \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: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 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: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 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: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 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: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 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: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 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: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 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 import { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { EntityId, Permission } from '@shared/domain';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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) {}\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\tconst 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.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.findById(\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:107\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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 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 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, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType } 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\n \n\n\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';\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:116\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:112\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 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:25\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:31\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:22\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:19\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:13\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:34\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:28\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: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 @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:37\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';\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\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}\n}\n\n \n\n\n\n\n\n\n\n\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\tregex: 'regex',\n\t\t\tregexComment: 'mockComment',\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';\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"},"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_providers\n\n\n\ncluster_ExternalToolModule_imports\n\n\n\ncluster_ExternalToolModule_exports\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\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\nExternalToolVersionService \n\nExternalToolVersionService \n\nExternalToolVersionService -->\n\nExternalToolModule->ExternalToolVersionService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->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\nExternalToolVersionService\n\nExternalToolVersionService\n\nExternalToolModule -->\n\nExternalToolVersionService->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 ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionService\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 ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionService\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 {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionService,\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\tExternalToolVersionService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\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 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 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 } 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\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\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}\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';\n\nexport interface IExternalToolPseudonymEntityProps {\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: IExternalToolPseudonymEntityProps) {\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"},"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: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 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: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 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: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 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: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 \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: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 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: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 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: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 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: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 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: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 entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IExternalToolPseudonymEntityProps\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: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 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 { EntityId, IFindOptions, IPagination, Page, Pseudonym } from '@shared/domain';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, IExternalToolPseudonymEntityProps } 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: IExternalToolPseudonymEntityProps = 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): IExternalToolPseudonymEntityProps {\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: IPagination = 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: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: IExternalToolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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:19\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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { IFindOptions, IPagination, Page, SortOrder } from '@shared/domain';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\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 { 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: IPagination = 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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});\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};\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:87\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: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 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: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 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:141\n \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: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 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: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 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: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 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: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 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: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 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';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\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 {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolSearchQuery } from '../../common/interface';\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};\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};\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 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:31\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: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/external-tool/controller/dto/response/external-tool.response.ts:7\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:25\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: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/external-tool.response.ts:10\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:28\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:22\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:13\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:31\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';\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\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}\n}\n\n \n\n\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: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 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: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 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: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 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: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 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});\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: IEncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.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 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 IEncryptionService\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 ExternalToolVersionService\n \n \n \n No\n \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: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 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: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 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: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 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: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\n \n\n \n No\n \n\n\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: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 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:98\n \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: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 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: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 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: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 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: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 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 { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, IFindOptions, Page } from '@shared/domain';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\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 { ExternalToolVersionService } from './external-tool-version.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: IEncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionService\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 { SortOrderMap } from '@shared/domain';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\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 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)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.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 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 \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: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 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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, IFindOptions, Page, Permission, User } from '@shared/domain';\nimport { AuthorizationService } from '@modules/authorization';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig } from '../domain';\nimport { ExternalToolLogoService, ExternalToolService, ExternalToolValidationService } 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) {}\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\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 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 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, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType } 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\n \n\n\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, toolFeatures: IToolFeatures, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/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 externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\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 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: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 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: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 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: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\n \n\n \n No\n \n\n\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: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 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: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 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 { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\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\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\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/ExternalToolVersionService.html":{"url":"injectables/ExternalToolVersionService.html","title":"injectable - ExternalToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionService\n\n\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.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.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.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.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.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.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.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.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.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 ExternalToolVersionService {\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 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: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 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 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';\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\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}\n}\n\n \n\n\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:13\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: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 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: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 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: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 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: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 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: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 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 { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity, EntityId, NewsTargetModel } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { FeathersServiceProvider } from '@infra/feathers';\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';\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:53\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:222\n \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: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 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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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 IFederalStateProperties {\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: IFederalStateProperties) {\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"},"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 { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain';\nimport { EntityName } from '@mikro-orm/core';\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 { FederalStateRepo } from '@shared/repo';\nimport { FederalStateEntity } from '@shared/domain';\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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: IFileDomainObjectProps)\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 IFileDomainObjectProps\n \n \n \n No\n \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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { IFileDomainObjectProps } 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: IFileDomainObjectProps) {\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 alternativeText\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: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 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 alternativeText\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/file-element.response.ts:15\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()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.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';\nimport { ContentElementType } from '@shared/domain';\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\tcaption: string;\n\n\t@ApiProperty()\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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/file-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/file-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.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: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';\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\tcaption: string;\n\n\t@ApiProperty()\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';\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:99\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:109\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:88\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:80\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:60\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:42\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:39\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:45\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:48\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:106\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:95\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:72\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:76\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:51\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:57\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:63\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:66\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:69\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:54\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:116\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 { v4 as uuid } from 'uuid';\nimport { EntityId, StorageProviderEntity } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { FileOwnerModel } from '../domain';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\nimport { FilePermissionEntity } from './file-permission.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 { v4 as uuid } from 'uuid';\nimport { EntityId, StorageProviderEntity } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { FileOwnerModel } from '../domain';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\nimport { FilePermissionEntity } from './file-permission.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';\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 : IFileRequestInfo\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';\nimport { EntitiesWithFiles, IFileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): IFileRequestInfo {\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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';\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';\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:131\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:145\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:124\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:138\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:104\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:113\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:110\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:120\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:116\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:107\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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, FileRecordSecurityCheck, IFileRecordProperties } 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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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: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 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: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 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: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 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: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 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: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 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: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 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: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 \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: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 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:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IFindOptions, SortOrder } from '@shared/domain';\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';\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: IFileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.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 IFileRecordSecurityCheckProperties\n \n \n \n No\n \n \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:54\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:48\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:51\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:45\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:57\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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"},"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"},"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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\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\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 StorageProviderRepo\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 { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo],\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 { Injectable } from '@nestjs/common';\nimport { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain';\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';\nimport { FilesRepo } from '../repo';\nimport { FileEntity } from '../entity';\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_providers\n\n\n\ncluster_FilesStorageAMQPModule_imports\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: ICopyFilesRequestInfo)\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 ICopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \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: IFileRequestInfo)\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 IFileRequestInfo\n \n\n \n No\n \n\n\n \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';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { IFileRequestInfo } from '../interfaces';\nimport { ICopyFilesRequestInfo } 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: ICopyFilesRequestInfo): 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: IFileRequestInfo): 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"},"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: ICopyFileDomainObjectProps[])\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 ICopyFileDomainObjectProps[]\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: ICopyFileDomainObjectProps)\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 ICopyFileDomainObjectProps\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: IFileDomainObjectProps[])\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 IFileDomainObjectProps[]\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: IFileDomainObjectProps)\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 IFileDomainObjectProps\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 { LessonEntity, Submission, Task } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { EntitiesWithFiles, ICopyFileDomainObjectProps, IFileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: IFileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: IFileDomainObjectProps) => {\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: ICopyFileDomainObjectProps[]): 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: IFileDomainObjectProps) {\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: ICopyFileDomainObjectProps) {\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_providers\n\n\n\ncluster_FilesStorageClientModule_imports\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 { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageEvents, FilesStorageExchange, ICopyFileDO, IFileDO } from '@infra/rabbitmq';\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_providers\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 { 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';\nimport { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\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: ICopyFilesOfParentParams)\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 ICopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \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: IFileRecordParams)\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 IFileRecordParams\n \n\n \n No\n \n\n\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tICopyFileDO,\n\tICopyFilesOfParentParams,\n\tIFileDO,\n\tIFileRecordParams,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { IFilesStorageClientConfig } 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: ICopyFilesOfParentParams): 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: IFileRecordParams): 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: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 { ALL_ENTITIES } from '@shared/domain';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\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 { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain';\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';\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 { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\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';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\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 { 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';\nimport { 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 { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\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:16\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:12\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:28\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:32\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:22\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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 @IsUrl()@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 { IsUrl } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsUrl()\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 \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 import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME } = 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 { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\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 : ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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: ILearnroom[])\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 ILearnroom[]\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: ILearnroom[])\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 ILearnroom[]\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: ILearnroom)\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 ILearnroom\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: ILearnroom)\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 ILearnroom\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 : ILearnroom[]\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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: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 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:49\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: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 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:25\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:29\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:33\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:37\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:41\n \n \n\n \n \n\n \n\n\n \n import { EntityId, ExternalSource, type UserDO } from '@shared/domain';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\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\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\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 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 { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [GroupModule, ClassModule, UserModule, RoleModule, LegacySchoolModule, AuthorizationModule, SystemModule],\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';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport { ClassInfoSearchListResponse, ClassSortParams, GroupIdParams, GroupResponse, ClassFilterParams } 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: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 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: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 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: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 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: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 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: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 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: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 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, ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain';\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 { EntityId, ExternalSource, type UserDO } from '@shared/domain';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\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\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 { EntityId } from '@shared/domain/types';\nimport { type UserDO } from '@shared/domain';\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';\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';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\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:9\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: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 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: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 EntityId\n \n\n \n No\n \n\n\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: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 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: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 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: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 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: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 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: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 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 { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId, type UserDO } from '@shared/domain';\nimport { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\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: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 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: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 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: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 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';\nimport { RoleName, SchoolYearEntity, UserDO } from '@shared/domain';\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';\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';\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:121\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:133\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:140\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:150\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:147\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:129\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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\tIH5PContentProperties,\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';\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"},"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';\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: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 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: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 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:124\n \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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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:200\n \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: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 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 {\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 { ICurrentUser, CurrentUser } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\n\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\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 { 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_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\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 \n\n\n \n\n\n \n import { 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';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, InstalledLibrary, H5pEditorTempFile } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorProvider, H5PAjaxEndpointProvider, H5PPlayerProvider } from './provider';\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\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})\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 { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorController } from './controller';\nimport { H5PEditorProvider, H5PAjaxEndpointProvider, H5PPlayerProvider } from './provider';\nimport { H5PContent } from './entity';\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"},"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 { ITemporaryFileProperties, H5pEditorTempFile } 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 { Entity, Property } from '@mikro-orm/core';\nimport { ITemporaryFile, IFileStats } from '@lumieducation/h5p-server';\nimport { BaseEntityWithTimestamps } from '@shared/domain';\n\nexport interface ITemporaryFileProperties {\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 }: ITemporaryFileProperties) {\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"},"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 HYDRA_PUBLIC_URI\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: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 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: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 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: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 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(userId: string, jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.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 string\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 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 HYDRA_PUBLIC_URI\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HYDRA_PUBLIC_URI') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:25\n \n \n\n\n \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:23\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:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfig } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthSSOError } from '../loggable/oauth-sso.error';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraSsoService } from '../service/hydra.service';\nimport { OAuthService } from '../service/oauth.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\tprivate readonly HYDRA_PUBLIC_URI: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new OAuthSSOError(\n\t\t\t\t'Authorization Query Object has no authorization code or error',\n\t\t\t\terror || 'sso_auth_code_step'\n\t\t\t);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfig = 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(userId: string, jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfig = 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: IEncryptionService, 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 IEncryptionService\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: OauthConfig, 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 OauthConfig\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 { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { OauthConfig } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\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 { 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: IEncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfig, 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 OauthConfig({\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/IAccountConfig.html":{"url":"interfaces/IAccountConfig.html","title":"interface - IAccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IAccountConfig\n\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 IAccountConfig {\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"},"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/ICalendarEvent.html":{"url":"interfaces/ICalendarEvent.html","title":"interface - ICalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICalendarEvent\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 ICalendarEvent {\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"},"interfaces/IClassEntityProps.html":{"url":"interfaces/IClassEntityProps.html","title":"interface - IClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IClassEntityProps\n\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';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface IClassEntityProps {\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: IClassEntityProps) {\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: IClassEntityProps) {\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"},"interfaces/ICleanOptions.html":{"url":"interfaces/ICleanOptions.html","title":"interface - ICleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICleanOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/ICollaborativeStorageStrategy.html":{"url":"interfaces/ICollaborativeStorageStrategy.html","title":"interface - ICollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICollaborativeStorageStrategy\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 ICollaborativeStorageStrategy {\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"},"interfaces/ICollectionFilePath.html":{"url":"interfaces/ICollectionFilePath.html","title":"interface - ICollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICollectionFilePath\n\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 { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, IEncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\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 ICollectionFilePath {\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: IEncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: IEncryptionService\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 {ICollectionFilePath}\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 {ICollectionFilePath}\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 {ICollectionFilePath} 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: ICollectionFilePath[] = [];\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"},"interfaces/ICommonCartridgeConfig.html":{"url":"interfaces/ICommonCartridgeConfig.html","title":"interface - ICommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeConfig\n\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 ICommonCartridgeConfig {\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/ICommonCartridgeElement.html":{"url":"interfaces/ICommonCartridgeElement.html","title":"interface - ICommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeElement\n\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 ICommonCartridgeElement {\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"},"interfaces/ICommonCartridgeFile.html":{"url":"interfaces/ICommonCartridgeFile.html","title":"interface - ICommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFile\n\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 ICommonCartridgeFile {\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"},"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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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 { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { ICommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\n\nexport type ICommonCartridgeFileBuilderOptions = {\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(): ICommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): ICommonCartridgeElement[] {\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: ICommonCartridgeFileBuilderOptions) {}\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/IComponentEtherpadProperties.html":{"url":"interfaces/IComponentEtherpadProperties.html","title":"interface - IComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentEtherpadProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentGeogebraProperties.html":{"url":"interfaces/IComponentGeogebraProperties.html","title":"interface - IComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentGeogebraProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentInternalProperties.html":{"url":"interfaces/IComponentInternalProperties.html","title":"interface - IComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentInternalProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentLernstoreProperties.html":{"url":"interfaces/IComponentLernstoreProperties.html","title":"interface - IComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentLernstoreProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentNexboardProperties.html":{"url":"interfaces/IComponentNexboardProperties.html","title":"interface - IComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentNexboardProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IComponentTextProperties.html":{"url":"interfaces/IComponentTextProperties.html","title":"interface - IComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IComponentTextProperties\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/IContextExternalToolProperties.html":{"url":"interfaces/IContextExternalToolProperties.html","title":"interface - IContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IContextExternalToolProperties\n\n\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 IContextExternalToolProperties {\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: IContextExternalToolProperties) {\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/ICopyFileDO.html":{"url":"interfaces/ICopyFileDO.html","title":"interface - ICopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFileDO\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';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/ICopyFileDomainObjectProps.html":{"url":"interfaces/ICopyFileDomainObjectProps.html","title":"interface - ICopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFileDomainObjectProps\n\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';\n\nexport interface ICopyFileDomainObjectProps {\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"},"interfaces/ICopyFilesOfParentParams.html":{"url":"interfaces/ICopyFilesOfParentParams.html","title":"interface - ICopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFilesOfParentParams\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 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: IFileRecordParams\n\n \n \n\n\n \n \n Type : IFileRecordParams\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: IFileRecordParams\n\n \n \n\n\n \n \n Type : IFileRecordParams\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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/ICopyFilesRequestInfo.html":{"url":"interfaces/ICopyFilesRequestInfo.html","title":"interface - ICopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICopyFilesRequestInfo\n\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: IFileRequestInfo\n\n \n \n\n\n \n \n Type : IFileRequestInfo\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: IFileRequestInfo\n\n \n \n\n\n \n \n Type : IFileRequestInfo\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';\nimport { IFileRequestInfo } from './file-request-info';\n\nexport interface ICopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: IFileRequestInfo;\n\ttarget: IFileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICoreModuleConfig.html":{"url":"interfaces/ICoreModuleConfig.html","title":"interface - ICoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICoreModuleConfig\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 IInterceptorConfig\n ILoggerConfig\n \n\n\n\n\n \n\n\n \n import { IInterceptorConfig } from '@shared/common';\nimport { ILoggerConfig } from '../logger';\n\nexport interface ICoreModuleConfig extends IInterceptorConfig, ILoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICourseGroupProperties.html":{"url":"interfaces/ICourseGroupProperties.html","title":"interface - ICourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICourseGroupProperties\n\n\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 { IEntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseGroupProperties {\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 IEntityWithSchool, ITaskParent, ILessonParent {\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: ICourseGroupProperties) {\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"},"interfaces/ICourseProperties.html":{"url":"interfaces/ICourseProperties.html","title":"interface - ICourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICourseProperties\n\n\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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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"},"interfaces/ICreateNews.html":{"url":"interfaces/ICreateNews.html","title":"interface - ICreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICreateNews\n\n\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 { EntityId } from './entity-id';\nimport type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\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 ICreateNews {\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/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\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';\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 */\n\tisExternalUser: boolean;\n}\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"},"interfaces/IDashboardModelProperties.html":{"url":"interfaces/IDashboardModelProperties.html","title":"interface - IDashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardModelProperties\n\n\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 IDashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: IDashboardModelProperties) {\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"},"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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, DashboardEntity, GridElementWithPosition, DashboardModelEntity } from '@shared/domain';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\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/IEncryptionService.html":{"url":"interfaces/IEncryptionService.html","title":"interface - IEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEncryptionService\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 IEncryptionService {\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"},"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 IEntityWithSchool 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/IEntityWithSchool.html":{"url":"interfaces/IEntityWithSchool.html","title":"interface - IEntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithSchool\n\n\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 IEntityWithSchool 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 IEntityWithSchool 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/IErrorType.html":{"url":"interfaces/IErrorType.html","title":"interface - IErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IErrorType\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 IErrorType {\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"},"interfaces/IExternalToolPseudonymEntityProps.html":{"url":"interfaces/IExternalToolPseudonymEntityProps.html","title":"interface - IExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IExternalToolPseudonymEntityProps\n\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';\n\nexport interface IExternalToolPseudonymEntityProps {\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: IExternalToolPseudonymEntityProps) {\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"},"interfaces/IFederalStateProperties.html":{"url":"interfaces/IFederalStateProperties.html","title":"interface - IFederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFederalStateProperties\n\n\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 IFederalStateProperties {\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: IFederalStateProperties) {\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"},"interfaces/IFileDO.html":{"url":"interfaces/IFileDO.html","title":"interface - IFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileDO\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';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/IFileDomainObjectProps.html":{"url":"interfaces/IFileDomainObjectProps.html","title":"interface - IFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileDomainObjectProps\n\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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\n\nexport interface IFileDomainObjectProps {\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"},"interfaces/IFileRecordParams.html":{"url":"interfaces/IFileRecordParams.html","title":"interface - IFileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordParams\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 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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain';\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 ICopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: IFileRecordParams;\n\ttarget: IFileRecordParams;\n}\n\nexport interface IFileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface ICopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface IFileDO {\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/IFileRecordProperties.html":{"url":"interfaces/IFileRecordProperties.html","title":"interface - IFileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordProperties\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IFileRecordSecurityCheckProperties.html":{"url":"interfaces/IFileRecordSecurityCheckProperties.html","title":"interface - IFileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRecordSecurityCheckProperties\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IFileRequestInfo.html":{"url":"interfaces/IFileRequestInfo.html","title":"interface - IFileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileRequestInfo\n\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 { EntityId } from '@shared/domain';\nimport { FileRecordParentType } from '@infra/rabbitmq';\n\nexport interface IFileRequestInfo {\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"},"interfaces/IFileStorageConfig.html":{"url":"interfaces/IFileStorageConfig.html","title":"interface - IFileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFileStorageConfig\n\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 ICoreModuleConfig\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 { ICoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface IFileStorageConfig extends ICoreModuleConfig {\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: IFileStorageConfig = {\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"},"interfaces/IFilesStorageClientConfig.html":{"url":"interfaces/IFilesStorageClientConfig.html","title":"interface - IFilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFilesStorageClientConfig\n\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 IFilesStorageClientConfig {\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"},"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: IPagination\n\n \n \n\n\n \n \n Type : IPagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IPagination {\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?: IPagination;\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: ILearnroom[])\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 ILearnroom[]\n \n\n \n No\n \n\n\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 : ILearnroom[]\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: ILearnroom)\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 ILearnroom\n \n\n \n No\n \n\n\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 { NotFoundException, BadRequestException } from '@nestjs/common';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\nimport { ILearnroom } from '@shared/domain/interface';\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: ILearnroom): void;\n\n\tgetReferences(): ILearnroom[];\n\n\taddReferences(anotherReference: ILearnroom[]): 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: ILearnroom, b: ILearnroom) => {\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: ILearnroom[] }) {\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: ILearnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: ILearnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: ILearnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: ILearnroom[];\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(): ILearnroom[] {\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: ILearnroom[]): 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: ILearnroom[]): 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: ILearnroom[]): ILearnroom[] {\n\t\tconst result: ILearnroom[] = [];\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(): ILearnroom[] {\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: ILearnroom): 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/IH5PContentProperties.html":{"url":"interfaces/IH5PContentProperties.html","title":"interface - IH5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PContentProperties\n\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, EntityId } from '@shared/domain';\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 IH5PContentProperties {\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 }: IH5PContentProperties) {\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"},"interfaces/IIdentityManagementConfig.html":{"url":"interfaces/IIdentityManagementConfig.html","title":"interface - IIdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IIdentityManagementConfig\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 IIdentityManagementConfig {\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"},"interfaces/IImportUserProperties.html":{"url":"interfaces/IImportUserProperties.html","title":"interface - IImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserProperties\n\n\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 { IEntityWithSchool, 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 IImportUserProperties {\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 IEntityWithSchool {\n\tconstructor(props: IImportUserProperties) {\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"},"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 INameMatch {\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/IInterceptorConfig.html":{"url":"interfaces/IInterceptorConfig.html","title":"interface - IInterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IInterceptorConfig\n\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 IInterceptorConfig {\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"},"interfaces/IJsonAccount.html":{"url":"interfaces/IJsonAccount.html","title":"interface - IJsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IJsonAccount\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 IJsonAccount {\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/IJsonUser.html":{"url":"interfaces/IJsonUser.html","title":"interface - IJsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IJsonUser\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 IJsonUser {\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"},"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/ILearnroom.html":{"url":"interfaces/ILearnroom.html","title":"interface - ILearnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILearnroom\n\n\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 ILearnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface ILearnroomElement {\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"},"interfaces/ILearnroomElement.html":{"url":"interfaces/ILearnroomElement.html","title":"interface - ILearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILearnroomElement\n\n\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 ILearnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface ILearnroomElement {\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"},"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/ILessonParent.html":{"url":"interfaces/ILessonParent.html","title":"interface - ILessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILessonParent\n\n\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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/ILessonProperties.html":{"url":"interfaces/ILessonProperties.html","title":"interface - ILessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILessonProperties\n\n\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: IComponentProperties[] | \n\n \n \n\n\n \n \n Type : IComponentProperties[] | \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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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/ILoggerConfig.html":{"url":"interfaces/ILoggerConfig.html","title":"interface - ILoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILoggerConfig\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 ILoggerConfig {\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"},"interfaces/IMaterialProperties.html":{"url":"interfaces/IMaterialProperties.html","title":"interface - IMaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IMaterialProperties\n\n\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: IRelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : IRelatedResourceProperties[]\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: ITargetGroupProperties[]\n\n \n \n\n\n \n \n Type : ITargetGroupProperties[]\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"interfaces/IMigrationOptions.html":{"url":"interfaces/IMigrationOptions.html","title":"interface - IMigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IMigrationOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/INameMatch.html":{"url":"interfaces/INameMatch.html","title":"interface - INameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INameMatch\n\n\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 INameMatch {\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/INewsProperties.html":{"url":"interfaces/INewsProperties.html","title":"interface - INewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsProperties\n\n\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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"},"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 { EntityId } from './entity-id';\nimport type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\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 ICreateNews {\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/IPagination.html":{"url":"interfaces/IPagination.html","title":"interface - IPagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IPagination\n\n\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 IPagination {\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?: IPagination;\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/IParentInfo.html":{"url":"interfaces/IParentInfo.html","title":"interface - IParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IParentInfo\n\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 { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps, EntityId } from '@shared/domain';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\nimport { PreviewInputMimeTypes } from '../interface/preview-input-mime-types.enum';\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 IFileRecordSecurityCheckProperties {\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: IFileRecordSecurityCheckProperties) {\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 IFileRecordProperties {\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 IParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: IEntityWithSchool\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: IFileRecordProperties) {\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: IParentInfo): 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(): IParentInfo {\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/IRelatedResourceProperties.html":{"url":"interfaces/IRelatedResourceProperties.html","title":"interface - IRelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRelatedResourceProperties\n\n\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"interfaces/IRepoLoader.html":{"url":"interfaces/IRepoLoader.html","title":"interface - IRepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRepoLoader\n\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 { Injectable, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { BoardDoAuthorizableService } from '@modules/board';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool/context-external-tool/service';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| LessonRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService;\n\ninterface IRepoLoader {\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 lessonRepo: LessonRepo,\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.lessonRepo });\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): IRepoLoader {\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: IRepoLoader = 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"},"interfaces/IRetryOptions.html":{"url":"interfaces/IRetryOptions.html","title":"interface - IRetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRetryOptions\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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"},"interfaces/IRoleProperties.html":{"url":"interfaces/IRoleProperties.html","title":"interface - IRoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IRoleProperties\n\n\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 IRoleProperties {\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: IRoleProperties) {\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"},"interfaces/ISchoolExternalToolProperties.html":{"url":"interfaces/ISchoolExternalToolProperties.html","title":"interface - ISchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolExternalToolProperties\n\n\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 ISchoolExternalToolProperties {\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: ISchoolExternalToolProperties) {\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/ISchoolProperties.html":{"url":"interfaces/ISchoolProperties.html","title":"interface - ISchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolProperties\n\n\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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"},"interfaces/ISchoolYearProperties.html":{"url":"interfaces/ISchoolYearProperties.html","title":"interface - ISchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISchoolYearProperties\n\n\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 ISchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements ISchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: ISchoolYearProperties) {\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"},"interfaces/IScopeInfo.html":{"url":"interfaces/IScopeInfo.html","title":"interface - IScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IScopeInfo\n\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';\n\nexport interface IScopeInfo {\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"},"interfaces/IServerConfig.html":{"url":"interfaces/IServerConfig.html","title":"interface - IServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IServerConfig\n\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 ICoreModuleConfig\n IUserConfig\n IFilesStorageClientConfig\n IAccountConfig\n IIdentityManagementConfig\n ICommonCartridgeConfig\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 { IIdentityManagementConfig } from '@infra/identity-management';\nimport type { ICoreModuleConfig } from '@src/core';\nimport type { IAccountConfig } from '@modules/account';\nimport type { IFilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { IUserConfig } from '@modules/user';\nimport type { ICommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface IServerConfig\n\textends ICoreModuleConfig,\n\t\tIUserConfig,\n\t\tIFilesStorageClientConfig,\n\t\tIAccountConfig,\n\t\tIIdentityManagementConfig,\n\t\tICommonCartridgeConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: IServerConfig = {\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};\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"},"interfaces/IShareTokenProperties.html":{"url":"interfaces/IShareTokenProperties.html","title":"interface - IShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IShareTokenProperties\n\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 IShareTokenProperties {\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: IShareTokenProperties) {\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"},"interfaces/IStorageProviderProperties.html":{"url":"interfaces/IStorageProviderProperties.html","title":"interface - IStorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IStorageProviderProperties\n\n\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 IStorageProviderProperties {\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: IStorageProviderProperties) {\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"},"interfaces/ISubmissionProperties.html":{"url":"interfaces/ISubmissionProperties.html","title":"interface - ISubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISubmissionProperties\n\n\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 ISubmissionProperties {\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: ISubmissionProperties) {\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"},"interfaces/ISystemProperties.html":{"url":"interfaces/ISystemProperties.html","title":"interface - ISystemProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ISystemProperties\n\n\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: 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 oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfig\n\n \n \n\n\n \n \n Type : OidcConfig\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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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"},"interfaces/ITargetGroupProperties.html":{"url":"interfaces/ITargetGroupProperties.html","title":"interface - ITargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITargetGroupProperties\n\n\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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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"},"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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskCreate.html":{"url":"interfaces/ITaskCreate.html","title":"interface - ITaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskCreate\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskParent.html":{"url":"interfaces/ITaskParent.html","title":"interface - ITaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskParent\n\n\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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/ITaskProperties.html":{"url":"interfaces/ITaskProperties.html","title":"interface - ITaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskProperties\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskStatus.html":{"url":"interfaces/ITaskStatus.html","title":"interface - ITaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskStatus\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITaskUpdate.html":{"url":"interfaces/ITaskUpdate.html","title":"interface - ITaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITaskUpdate\n\n\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, InputFormat, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface ITaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface ITaskProperties 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 ITaskStatus {\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/ITeamProperties.html":{"url":"interfaces/ITeamProperties.html","title":"interface - ITeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITeamProperties\n\n\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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"},"interfaces/ITeamUserProperties.html":{"url":"interfaces/ITeamUserProperties.html","title":"interface - ITeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITeamUserProperties\n\n\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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"},"interfaces/ITemporaryFileProperties.html":{"url":"interfaces/ITemporaryFileProperties.html","title":"interface - ITemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITemporaryFileProperties\n\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 { Entity, Property } from '@mikro-orm/core';\nimport { ITemporaryFile, IFileStats } from '@lumieducation/h5p-server';\nimport { BaseEntityWithTimestamps } from '@shared/domain';\n\nexport interface ITemporaryFileProperties {\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 }: ITemporaryFileProperties) {\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"},"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 \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 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\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\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/IToolLaunchParams.html":{"url":"interfaces/IToolLaunchParams.html","title":"interface - IToolLaunchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolLaunchParams\n\n\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-params.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalTool\n \n \n \n \n externalTool\n \n \n \n \n schoolExternalTool\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: ContextExternalTool\n\n \n \n\n\n \n \n Type : ContextExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalTool\n \n \n \n \n \n \n \n \n externalTool: ExternalTool\n\n \n \n\n\n \n \n Type : ExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolExternalTool\n \n \n \n \n \n \n \n \n schoolExternalTool: SchoolExternalTool\n\n \n \n\n\n \n \n Type : SchoolExternalTool\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { ExternalTool } from '../../../external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface IToolLaunchParams {\n\texternalTool: ExternalTool;\n\n\tschoolExternalTool: SchoolExternalTool;\n\n\tcontextExternalTool: ContextExternalTool;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolLaunchStrategy.html":{"url":"interfaces/IToolLaunchStrategy.html","title":"interface - IToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolLaunchStrategy\n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { IToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface IToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: IToolLaunchParams): 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"},"interfaces/IUserConfig.html":{"url":"interfaces/IUserConfig.html","title":"interface - IUserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IUserConfig\n\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 IUserConfig {\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"},"interfaces/IUserProperties.html":{"url":"interfaces/IUserProperties.html","title":"interface - IUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IUserProperties\n\n\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 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 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 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 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, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { IEntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface IUserProperties {\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}\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 IEntityWithSchool {\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\tconstructor(props: IUserProperties) {\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}\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"},"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"},"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:12\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, TeamEntity, UserDO } from '@shared/domain';\nimport { TeamsRepo } from '@shared/repo';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\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"},"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_exports\n\n\n\ncluster_IdentityManagementModule_imports\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:17\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:81\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:51\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:59\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:43\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:67\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:74\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:89\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:100\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:26\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:35\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 { Counted, IdmAccount, IdmAccountUpdate } from '@shared/domain';\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 { IEntityWithSchool, 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 IImportUserProperties {\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 IEntityWithSchool {\n\tconstructor(props: IImportUserProperties) {\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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 { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { IFindOptions, ImportUser, User } from '@shared/domain';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { v4 as uuidv4 } from 'uuid';\n\nimport { IImportUserProperties, IImportUserRoleName, ImportUser, MatchCreator, RoleName, User } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemFactory } from './system.factory';\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: systemFactory.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: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 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: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 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: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 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, IImportUserScope, SortOrderMap } from '@shared/domain';\nimport {\n\tImportUserResponse,\n\tFilterImportUserParams,\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: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 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: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 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, MatchCreatorScope } from '@shared/domain';\nimport { MatchType, FilterMatchType } 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_imports\n\n\n\ncluster_ImportUserModule_providers\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\nSystemRepo\n\nSystemRepo\n\nImportUserModule -->\n\nSystemRepo->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 SystemRepo\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 { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LegacySchoolModule } from '@modules/legacy-school';\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, SystemRepo, 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"},"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: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 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: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 EntityId\n \n\n \n No\n \n\n\n \n \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:34\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: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 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:27\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:11\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 { Counted, EntityId, IFindOptions, IImportUserScope, ImportUser, SchoolEntity, User } from '@shared/domain';\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: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 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: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 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: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 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:54\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: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 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: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 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: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 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: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 \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:113\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, MatchCreatorScope, RoleName, SchoolEntity, User } from '@shared/domain';\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';\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"},"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 { APP_INTERCEPTOR } from '@nestjs/core';\nimport { IInterceptorConfig, TimeoutInterceptor } from '@shared/common';\nimport { ConfigService } from '@nestjs/config';\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/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: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 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: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 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, RoleName, UserDO } from '@shared/domain';\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:19\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: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 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: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 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: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 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:24\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 { LegacySchoolDo, RoleName, RoleReference, User, UserDO } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthSSOError } 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 OAuthSSOError('Failed to extract uuid', 'sso_jwt_problem');\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 OAuthSSOError(\n\t\t\t\t`Failed to find user with Id ${idToken.uuid as string}${additionalInfo}`,\n\t\t\t\t'sso_user_notfound'\n\t\t\t);\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"},"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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { IServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\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: IRetryOptions)\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 IRetryOptions\n \n\n \n No\n \n\n\n \n \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: IRetryOptions)\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 IRetryOptions\n \n\n \n No\n \n\n\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 IRetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface IMigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface ICleanOptions {\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: IRetryOptions & ICleanOptions): 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: IRetryOptions): 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: IRetryOptions): 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: IRetryOptions & IMigrationOptions): 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: IEncryptionService)\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 IEncryptionService\n \n \n \n No\n \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 { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service';\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: IEncryptionService\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: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 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: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 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: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 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: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 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:186\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: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 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:98\n\n \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:76\n\n \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: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 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:126\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:136\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:152\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: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 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:62\n\n \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 { Counted, IdmAccount, IdmAccountUpdate } from '@shared/domain';\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_providers\n\n\n\ncluster_KeycloakModule_imports\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: IJsonAccount, user: IJsonUser)\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 IJsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n IJsonUser\n \n\n \n No\n \n\n\n \n \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 { IJsonAccount } from '../interface/json-account.interface';\nimport { IJsonUser } from '../interface/json-user.interface';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport {\n\tKeycloakConfigurationInputFiles,\n\tIKeycloakConfigurationInputFiles,\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: IJsonAccount, user: IJsonUser): 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 IJsonAccount[];\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 IJsonUser[];\n\t}\n}\n\n \n\n\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/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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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';\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: SystemRepo, 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:16\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 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: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 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:68\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: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 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: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 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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo, SystemEntity, User } from '@shared/domain';\nimport { LegacySchoolRepo, SystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { AccountDto } from '@modules/account/services/dto';\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: SystemRepo,\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, 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"},"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\nLessonRepo\n\nLessonRepo\n\nLearnroomApiModule -->\n\nLessonRepo->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 LessonRepo\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 { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, LessonRepo, UserRepo } from '@shared/repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\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\tLessonRepo,\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"},"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\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\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\nLessonRepo\n\nLessonRepo\n\nLearnroomModule -->\n\nLessonRepo->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 CourseRepo\n \n \n CourseService\n \n \n DashboardModelMapper\n \n \n LessonRepo\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 CourseService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, LessonRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\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\tLessonRepo,\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],\n\texports: [CourseCopyService, CourseService, RoomsService, CommonCartridgeExportService],\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"},"modules/LegacySchoolApiModule.html":{"url":"modules/LegacySchoolApiModule.html","title":"module - LegacySchoolApiModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolApiModule\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_LegacySchoolApiModule\n\n\n\ncluster_LegacySchoolApiModule_providers\n\n\n\ncluster_LegacySchoolApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule -->\n\nAuthorizationModule->LegacySchoolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nLegacySchoolApiModule -->\n\nLegacySchoolModule->LegacySchoolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLegacySchoolApiModule -->\n\nLoggerModule->LegacySchoolApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nLegacySchoolApiModule -->\n\nUserLoginMigrationModule->LegacySchoolApiModule\n\n\n\n\n\nLegacySchoolUc\n\nLegacySchoolUc\n\nLegacySchoolApiModule -->\n\nLegacySchoolUc->LegacySchoolApiModule\n\n\n\n\n\nMigrationMapper\n\nMigrationMapper\n\nLegacySchoolApiModule -->\n\nMigrationMapper->LegacySchoolApiModule\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-api.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 LegacySchoolUc\n \n \n MigrationMapper\n \n \n \n \n Controllers\n \n \n LegacySchoolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { LegacySchoolUc } from './uc';\nimport { LegacySchoolModule } from './legacy-school.module';\nimport { LegacySchoolController } from './controller/legacy-school.controller';\nimport { MigrationMapper } from './mapper/migration.mapper';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Module({\n\timports: [LegacySchoolModule, AuthorizationModule, LoggerModule, UserLoginMigrationModule],\n\tcontrollers: [LegacySchoolController],\n\tproviders: [LegacySchoolUc, MigrationMapper],\n})\nexport class LegacySchoolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\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/LegacySchoolController.html":{"url":"controllers/LegacySchoolController.html","title":"controller - LegacySchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n LegacySchoolController\n\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/controller/legacy-school.controller.ts\n \n\n \n Prefix\n \n \n school\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\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 getMigration\n \n \n \n \n \n \n Async\n setMigration\n \n \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 getMigration\n \n \n \n \n \n \n \n getMigration(schoolParams: SchoolParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolId/migration')@Authenticate('jwt')@ApiFoundResponse({description: 'Migrationflags have been found.', type: MigrationResponse})@ApiUnauthorizedResponse()@ApiNotFoundResponse({description: 'Migrationsflags could not be found for the given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/legacy-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 schoolParams\n \n SchoolParams\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 Async\n setMigration\n \n \n \n \n \n \n \n setMigration(schoolParams: SchoolParams, migrationBody: MigrationBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put(':schoolId/migration')@Authenticate('jwt')@ApiOkResponse({description: 'New migrationflags set', type: MigrationResponse})@ApiUnauthorizedResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/legacy-school/controller/legacy-school.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 schoolParams\n \n SchoolParams\n \n\n \n No\n \n\n\n \n \n migrationBody\n \n MigrationBody\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 { Body, Controller, Get, Param, Put } from '@nestjs/common';\nimport {\n\tApiFoundResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { MigrationMapper } from '../mapper/migration.mapper';\nimport { OauthMigrationDto } from '../uc/dto/oauth-migration.dto';\nimport { LegacySchoolUc } from '../uc';\nimport { MigrationBody, MigrationResponse, SchoolParams } from './dto';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@ApiTags('School')\n@Authenticate('jwt')\n@Controller('school')\nexport class LegacySchoolController {\n\tconstructor(private readonly schoolUc: LegacySchoolUc, private readonly migrationMapper: MigrationMapper) {}\n\n\t@Put(':schoolId/migration')\n\t@Authenticate('jwt')\n\t@ApiOkResponse({ description: 'New migrationflags set', type: MigrationResponse })\n\t@ApiUnauthorizedResponse()\n\tasync setMigration(\n\t\t@Param() schoolParams: SchoolParams,\n\t\t@Body() migrationBody: MigrationBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst migrationDto: OauthMigrationDto = await this.schoolUc.setMigration(\n\t\t\tschoolParams.schoolId,\n\t\t\t!!migrationBody.oauthMigrationPossible,\n\t\t\t!!migrationBody.oauthMigrationMandatory,\n\t\t\t!!migrationBody.oauthMigrationFinished,\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst result: MigrationResponse = this.migrationMapper.mapDtoToResponse(migrationDto);\n\n\t\treturn result;\n\t}\n\n\t@Get(':schoolId/migration')\n\t@Authenticate('jwt')\n\t@ApiFoundResponse({ description: 'Migrationflags have been found.', type: MigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse({ description: 'Migrationsflags could not be found for the given school' })\n\tasync getMigration(\n\t\t@Param() schoolParams: SchoolParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst migrationDto: OauthMigrationDto = await this.schoolUc.getMigration(schoolParams.schoolId, currentUser.userId);\n\n\t\tconst result: MigrationResponse = this.migrationMapper.mapDtoToResponse(migrationDto);\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/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';\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_imports\n\n\n\ncluster_LegacySchoolModule_exports\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 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: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 entityFactory\n \n \n \n \n \n \nentityFactory(props: ISchoolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 props\n \n ISchoolProperties\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: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 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: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 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:66\n\n \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 : ISchoolProperties\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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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: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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tEntityId,\n\tISchoolProperties,\n\tLegacySchoolDo,\n\tSchoolEntity,\n\tSystemEntity,\n\tUserLoginMigrationEntity,\n} from '@shared/domain';\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: ISchoolProperties): 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): ISchoolProperties {\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 { BaseDO, LegacySchoolDo } from '@shared/domain';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\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:10\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: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 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: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 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: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 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: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 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: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 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: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 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 { EntityId, LegacySchoolDo, SchoolFeatures } from '@shared/domain';\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/LegacySchoolUc.html":{"url":"injectables/LegacySchoolUc.html","title":"injectable - LegacySchoolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolUc\n\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/uc/legacy-school.uc.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 Private\n checkSchoolAuthorization\n \n \n Async\n getMigration\n \n \n Async\n setMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, authService: AuthorizationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationService: UserLoginMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolService\n \n \n LegacySchoolService\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 schoolMigrationService\n \n \n SchoolMigrationService\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 userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \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 checkSchoolAuthorization\n \n \n \n \n \n \n \n checkSchoolAuthorization(authorizableUser: User, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.uc.ts:101\n \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 school\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 Async\n getMigration\n \n \n \n \n \n \n \n getMigration(schoolId: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolId\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 Async\n setMigration\n \n \n \n \n \n \n \n setMigration(schoolId: string, oauthMigrationPossible: boolean, oauthMigrationMandatory: boolean, oauthMigrationFinished: boolean, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/uc/legacy-school.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 schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n oauthMigrationPossible\n \n boolean\n \n\n \n No\n \n\n\n \n \n oauthMigrationMandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n oauthMigrationFinished\n \n boolean\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 import { Injectable } from '@nestjs/common';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Permission, LegacySchoolDo, UserLoginMigrationDO, User } from '@shared/domain';\nimport {\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n} from '@modules/user-login-migration';\nimport { LegacySchoolService } from '../service';\nimport { OauthMigrationDto } from './dto/oauth-migration.dto';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolUc {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly authService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService\n\t) {}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-673 Refactor this and split it up\n\tasync setMigration(\n\t\tschoolId: string,\n\t\toauthMigrationPossible: boolean,\n\t\toauthMigrationMandatory: boolean,\n\t\toauthMigrationFinished: boolean,\n\t\tuserId: string\n\t): Promise {\n\t\tconst [authorizableUser, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolId),\n\t\t]);\n\n\t\tthis.checkSchoolAuthorization(authorizableUser, school);\n\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null =\n\t\t\tawait this.userLoginMigrationService.findMigrationBySchool(schoolId);\n\n\t\tif (existingUserLoginMigration) {\n\t\t\tthis.schoolMigrationService.validateGracePeriod(existingUserLoginMigration);\n\t\t}\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.setMigration(\n\t\t\tschoolId,\n\t\t\toauthMigrationPossible,\n\t\t\toauthMigrationMandatory,\n\t\t\toauthMigrationFinished\n\t\t);\n\n\t\tif (!existingUserLoginMigration?.closedAt && updatedUserLoginMigration.closedAt) {\n\t\t\tconst hasSchoolMigratedUser = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\t\tif (!hasSchoolMigratedUser) {\n\t\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\t\t\t} else {\n\t\t\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(schoolId);\n\t\t\t}\n\t\t} else if (existingUserLoginMigration?.closedAt && !updatedUserLoginMigration.closedAt) {\n\t\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(schoolId);\n\t\t}\n\n\t\tconst migrationDto: OauthMigrationDto = new OauthMigrationDto({\n\t\t\toauthMigrationPossible: !updatedUserLoginMigration.closedAt ? updatedUserLoginMigration.startedAt : undefined,\n\t\t\toauthMigrationMandatory: updatedUserLoginMigration.mandatorySince,\n\t\t\toauthMigrationFinished: updatedUserLoginMigration.closedAt,\n\t\t\toauthMigrationFinalFinish: updatedUserLoginMigration.finishedAt,\n\t\t\tenableMigrationStart: !!school.officialSchoolNumber,\n\t\t});\n\n\t\treturn migrationDto;\n\t}\n\n\tasync getMigration(schoolId: string, userId: string): Promise {\n\t\tconst [authorizableUser, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolId),\n\t\t]);\n\n\t\tthis.checkSchoolAuthorization(authorizableUser, school);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tconst migrationDto: OauthMigrationDto = new OauthMigrationDto({\n\t\t\toauthMigrationPossible:\n\t\t\t\tuserLoginMigration && !userLoginMigration.closedAt ? userLoginMigration.startedAt : undefined,\n\t\t\toauthMigrationMandatory: userLoginMigration ? userLoginMigration.mandatorySince : undefined,\n\t\t\toauthMigrationFinished: userLoginMigration ? userLoginMigration.closedAt : undefined,\n\t\t\toauthMigrationFinalFinish: userLoginMigration ? userLoginMigration.finishedAt : undefined,\n\t\t\tenableMigrationStart: !!school.officialSchoolNumber,\n\t\t});\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate checkSchoolAuthorization(authorizableUser: User, school: LegacySchoolDo): void {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.SCHOOL_EDIT]);\n\t\tthis.authService.checkPermission(authorizableUser, 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"},"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_providers\n\n\n\ncluster_LessonApiModule_imports\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 { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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, lessonRepo: LessonRepo, 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 lessonRepo\n \n \n LessonRepo\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 { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, EntityId, LessonEntity, User } from '@shared/domain';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { CourseRepo, LessonRepo } from '@shared/repo';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams } from '@modules/lesson';\nimport { LessonCopyService } from '@modules/lesson/service';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonRepo: LessonRepo,\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.lessonRepo.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.lessonRepo.findAllByCourseIds([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 : IComponentProperties[] | \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 { ILearnroomElement } 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 { Task } from './task.entity';\nimport type { ITaskParent } from './task.entity';\n\nexport interface ILessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: IComponentProperties[] | [];\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 IComponentTextProperties {\n\ttext: string;\n}\n\nexport interface IComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface IComponentLernstoreProperties {\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 IComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface IComponentInternalProperties {\n\turl: string;\n}\n\nexport type IComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: IComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: IComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: IComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: IComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: IComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: IComponentNexboardProperties }\n);\n\nexport interface ILessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements ILearnroomElement, ITaskParent {\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: IComponentProperties[] | [];\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: ILessonProperties) {\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(): ILessonParent {\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(): IComponentProperties[] | [] {\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 { Course, IComponentProperties, ILessonProperties, LessonEntity } from '@shared/domain';\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: IComponentProperties[] = [];\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 { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LessonRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\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"},"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/shared/repo/lesson/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/shared/repo/lesson/lesson.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 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/shared/repo/lesson/lesson.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 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: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 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/shared/repo/lesson/lesson.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 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/lesson/lesson.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, LessonEntity, SortOrder } from '@shared/domain';\nimport { EntityDictionary } from '@mikro-orm/core';\nimport { BaseRepo } from '../base.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: 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/shared/repo/lesson/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/shared/repo/lesson/lesson-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 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/shared/repo/lesson/lesson-scope.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 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 { EntityId, LessonEntity } from '@shared/domain';\nimport { Scope } from '../scope';\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:7\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: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 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: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 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: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 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/modules/lesson/service/lesson.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 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(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IComponentProperties, LessonEntity } from '@shared/domain';\nimport { LessonRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\n\n@Injectable()\nexport class LessonService {\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[]): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds);\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: IComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = '';\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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"},"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"},"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';\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 @IsUrl()@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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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';\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 { Strategy } from 'passport-local';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport bcrypt from 'bcryptjs';\nimport { UserRepo } from '@shared/repo';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { IdentityManagementOauthService, IIdentityManagementConfig } from '@infra/identity-management';\nimport { CurrentUserMapper } from '../mapper';\nimport { ICurrentUser } from '../interface';\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);\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"},"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 { ILoggerConfig } 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';\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 { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/';\nimport { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { ILtiToolProperties, LtiPrivacyPermission, LtiTool } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\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';\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/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: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 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 { Module, DynamicModule } from '@nestjs/common';\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],\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 { Module, DynamicModule } from '@nestjs/common';\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],\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 \n Methods\n \n \n \n \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)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.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 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 \n \n \n \n \n \n\n\n \n \n \n Methods\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: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 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\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\n\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions\n\t) {}\n\n\tpublic async send(data: Mail): Promise {\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: 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/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';\n\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions\n\t) {}\n\n\tpublic async send(data: Mail): Promise {\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\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 { 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';\nimport { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\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 { 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';\nimport { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\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 : IRelatedResourceProperties[] | \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 : ITargetGroupProperties[] | \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 ITargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface IRelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface IMaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: IRelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: ITargetGroupProperties[];\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: IRelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: ITargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: IMaterialProperties) {\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 { IMaterialProperties, Material } 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"},"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 { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@src/modules/authorization';\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 getData\n \n \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 getData\n \n \n \n \n \n \n \n getData(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: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 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 { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\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 getData(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.fetchMetaData(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_providers\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\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->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\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->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 MetaTagExtractorService\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n ConsoleWriterModule\n \n \n LoggerModule\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 { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [MetaTagExtractorService],\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 title\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: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 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:23\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:27\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:19\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: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 { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl }: MetaTagExtractorResponse) {\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\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\n \n\n\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 Async\n fetchMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n \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 fetchMetaData\n \n \n \n \n \n \n \n fetchMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.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 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:58\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: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 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: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 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 import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\n\nexport type MetaData = {\n\ttitle: string;\n\tdescription: string;\n\turl: string;\n\timage?: ImageObject;\n};\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tasync fetchMetaData(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 = (await this.tryExtractMetaTags(url)) ?? this.tryFilenameAsFallback(url);\n\n\t\treturn metaData ?? { url, title: '', description: '' };\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};\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};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\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 fetchMetaData\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: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 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 fetchMetaData\n \n \n \n \n \n \n \n fetchMetaData(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: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 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, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { AuthorizationService } from '@src/modules/authorization';\nimport { MetaData, MetaTagExtractorService } from '../service';\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 fetchMetaData(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.fetchMetaData(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"},"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';\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"},"classes/MigrationBody.html":{"url":"classes/MigrationBody.html","title":"class - MigrationBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationBody\n\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/controller/dto/migration.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 oauthMigrationFinished\n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\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 oauthMigrationFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is finished in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is mandatory in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Set if migration is possible in this school', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.body.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, IsOptional } from 'class-validator';\n\nexport class MigrationBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is possible in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationPossible?: boolean;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is mandatory in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationMandatory?: boolean;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Set if migration is finished in this school',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthMigrationFinished?: 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/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 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:8\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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\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\tasync shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (school && school.id) {\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\t\tschool.id\n\t\t\t);\n\n\t\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\tif (user?.lastLoginSystemChange && userLoginMigration && !userLoginMigration.closedAt) {\n\t\t\t\tconst hasMigrated: boolean = user.lastLoginSystemChange > userLoginMigration.startedAt;\n\t\t\t\treturn !hasMigrated;\n\t\t\t}\n\t\t\treturn !!userLoginMigration && !userLoginMigration.closedAt;\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"},"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"},"injectables/MigrationMapper.html":{"url":"injectables/MigrationMapper.html","title":"injectable - MigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationMapper\n\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/mapper/migration.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 mapDtoToResponse\n \n \n \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 mapDtoToResponse\n \n \n \n \n \n \n \n mapDtoToResponse(dto: OauthMigrationDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/mapper/migration.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 dto\n \n OauthMigrationDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MigrationResponse } from '../controller/dto';\nimport { OauthMigrationDto } from '../uc/dto/oauth-migration.dto';\n\n@Injectable()\nexport class MigrationMapper {\n\tpublic mapDtoToResponse(dto: OauthMigrationDto): MigrationResponse {\n\t\tconst response: MigrationResponse = new MigrationResponse({\n\t\t\toauthMigrationPossible: dto.oauthMigrationPossible,\n\t\t\toauthMigrationMandatory: dto.oauthMigrationMandatory,\n\t\t\toauthMigrationFinished: dto.oauthMigrationFinished,\n\t\t\toauthMigrationFinalFinish: dto.oauthMigrationFinalFinish,\n\t\t\tenableMigrationStart: dto.enableMigrationStart,\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\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"},"classes/MigrationResponse.html":{"url":"classes/MigrationResponse.html","title":"class - MigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationResponse\n\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/controller/dto/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 enableMigrationStart\n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: MigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.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 MigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n enableMigrationStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Enable the Migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is finally finished and cannot be restarted again', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is finished', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is mandatory', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date from when Migration is possible', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/migration.response.ts:8\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 MigrationResponse {\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is possible',\n\t\ttype: Date,\n\t})\n\toauthMigrationPossible?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is mandatory',\n\t\ttype: Date,\n\t})\n\toauthMigrationMandatory?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is finished',\n\t\ttype: Date,\n\t})\n\toauthMigrationFinished?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date from when Migration is finally finished and cannot be restarted again',\n\t\ttype: Date,\n\t})\n\toauthMigrationFinalFinish?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Enable the Migration',\n\t})\n\tenableMigrationStart!: boolean;\n\n\tconstructor(params: MigrationResponse) {\n\t\tthis.oauthMigrationPossible = params.oauthMigrationPossible;\n\t\tthis.oauthMigrationMandatory = params.oauthMigrationMandatory;\n\t\tthis.oauthMigrationFinished = params.oauthMigrationFinished;\n\t\tthis.oauthMigrationFinalFinish = params.oauthMigrationFinalFinish;\n\t\tthis.enableMigrationStart = params.enableMigrationStart;\n\t}\n}\n\n \n\n\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';\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"},"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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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 { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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:6\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: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 { EntityId, News } from '@shared/domain';\nimport { CrudOperation } from '@shared/types';\nimport { LogMessage, Loggable } 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';\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: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 CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICreateNews\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: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 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: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 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: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 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: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 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, ICreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain';\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): ICreateNews {\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_providers\n\n\n\ncluster_NewsModule_exports\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"},"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:21\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:36\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:58\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:51\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:10\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:12\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Counted, CourseNews, EntityId, IFindOptions, News, SchoolNews, TeamNews } from '@shared/domain';\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';\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: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 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:25\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: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 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:31\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 { EntityId, News } from '@shared/domain';\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';\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:23\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: ICreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.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 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 ICreateNews\n \n\n \n No\n \n\n\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: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 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:67\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: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\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:197\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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:207\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport {\n\tCounted,\n\tEntityId,\n\tICreateNews,\n\tIFindOptions,\n\tINewsScope,\n\tIUpdateNews,\n\tNews,\n\tNewsTargetModel,\n\tPermission,\n\tSortOrder,\n} from '@shared/domain';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { FeathersAuthorizationService } from '@modules/authorization';\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: ICreateNews): 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 { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { UserService } from '@modules/user';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { ICollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {ICollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements ICollaborativeStorageStrategy {\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\n \n \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: IToolLaunchParams)\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 IToolLaunchParams\n \n\n \n No\n \n\n\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';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { IToolLaunchParams } 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: IToolLaunchParams\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/OAuthMigrationError.html":{"url":"classes/OAuthMigrationError.html","title":"class - OAuthMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthMigrationError\n\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/error/oauth-migration.error.ts\n \n\n\n\n \n Extends\n \n \n OAuthSSOError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \n Readonly\n Optional\n officialSchoolNumberFromSource\n \n \n Readonly\n Optional\n officialSchoolNumberFromTarget\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, errorcode?: string, officialSchoolNumberFromSource?: string, officialSchoolNumberFromTarget?: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:14\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 errorcode\n \n \n string\n \n \n \n Yes\n \n \n \n \n officialSchoolNumberFromSource\n \n \n string\n \n \n \n Yes\n \n \n \n \n officialSchoolNumberFromTarget\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 Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'OauthMigrationFailed'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in Oauth Migration Process.'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:8\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:6\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 Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:4\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n officialSchoolNumberFromSource\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n officialSchoolNumberFromTarget\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/oauth-migration.error.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthSSOError } from '@modules/oauth/loggable';\n\nexport class OAuthMigrationError extends OAuthSSOError {\n\treadonly message: string;\n\n\treadonly errorcode: string;\n\n\treadonly DEFAULT_MESSAGE: string = 'Error in Oauth Migration Process.';\n\n\treadonly DEFAULT_ERRORCODE: string = 'OauthMigrationFailed';\n\n\treadonly officialSchoolNumberFromSource?: string;\n\n\treadonly officialSchoolNumberFromTarget?: string;\n\n\tconstructor(\n\t\tmessage?: string,\n\t\terrorcode?: string,\n\t\tofficialSchoolNumberFromSource?: string,\n\t\tofficialSchoolNumberFromTarget?: string\n\t) {\n\t\tsuper(message);\n\t\tthis.message = message || this.DEFAULT_MESSAGE;\n\t\tthis.errorcode = errorcode || this.DEFAULT_ERRORCODE;\n\t\tthis.officialSchoolNumberFromSource = officialSchoolNumberFromSource;\n\t\tthis.officialSchoolNumberFromTarget = officialSchoolNumberFromTarget;\n\t}\n}\n\n \n\n\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"},"classes/OAuthSSOError.html":{"url":"classes/OAuthSSOError.html","title":"class - OAuthSSOError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthSSOError\n\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.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, errorcode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:11\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 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 Properties\n \n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : SSOErrorCode.SSO_OAUTH_LOGIN_FAILED\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in SSO Oauth Process.'\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso.error.ts:7\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/modules/oauth/loggable/oauth-sso.error.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { SSOErrorCode } from './sso-error-code.enum';\n\nexport class OAuthSSOError extends InternalServerErrorException {\n\treadonly message: string;\n\n\treadonly errorcode: string;\n\n\treadonly DEFAULT_MESSAGE: string = 'Error in SSO Oauth Process.';\n\n\treadonly DEFAULT_ERRORCODE: string = SSOErrorCode.SSO_OAUTH_LOGIN_FAILED;\n\n\tconstructor(message?: string, errorcode?: string) {\n\t\tsuper(message);\n\t\tthis.message = message || this.DEFAULT_MESSAGE;\n\t\tthis.errorcode = errorcode || this.DEFAULT_ERRORCODE;\n\t}\n}\n\n \n\n\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 getAuthenticationUrl\n \n \n Async\n getPostLoginRedirectUrl\n \n \n getRedirectUri\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: IEncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: SystemService, userMigrationService: UserMigrationService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 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 IEncryptionService\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 SystemService\n \n \n \n No\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\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: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 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: OauthConfig, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\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: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 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 getAuthenticationUrl\n \n \n \n \n \n \ngetAuthenticationUrl(oauthConfig: OauthConfig, state: string, migration: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 oauthConfig\n \n OauthConfig\n \n\n \n No\n \n\n\n \n \n state\n \n string\n \n\n \n No\n \n\n\n \n \n migration\n \n boolean\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 getPostLoginRedirectUrl\n \n \n \n \n \n \n \n getPostLoginRedirectUrl(idToken: string, systemId: string, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.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 idToken\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 postLoginRedirect\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 getRedirectUri\n \n \n \n \n \n \ngetRedirectUri(migration: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.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 migration\n \n boolean\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 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: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 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, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 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 postLoginRedirect\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 requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfig, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\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: OauthConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.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 idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfig\n \n\n \n No\n \n\n\n \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 { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { EntityId, LegacySchoolDo, OauthConfig, SchoolFeatures, UserDO } from '@shared/domain';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService, UserMigrationService } from '@modules/user-login-migration';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthSSOError, SSOErrorCode, UserNotFoundAfterProvisioningLoggableException } from '../loggable';\nimport { OAuthTokenDto } from '../interface';\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: IEncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly userMigrationService: UserMigrationService,\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 OAuthSSOError(\n\t\t\t\t'Authorization Query Object has no authorization code or error',\n\t\t\t\terrorCode || 'sso_auth_code_step'\n\t\t\t);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OAuthSSOError(`Requested system ${systemId} has no oauth configured`, 'sso_internal_error');\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(\n\t\tsystemId: string,\n\t\tidToken: string,\n\t\taccessToken: string,\n\t\tpostLoginRedirect?: string\n\t): 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 provisioning = true;\n\t\tlet migrationConsentRedirect: string | undefined;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tprovisioning = 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\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\t\t\t\tmigrationConsentRedirect = await this.userMigrationService.getMigrationConsentPageRedirect(\n\t\t\t\t\tofficialSchoolNumber,\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn { user: undefined, redirect: migrationConsentRedirect };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (provisioning) {\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\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\t\tconst redirect: string = await this.getPostLoginRedirectUrl(\n\t\t\tidToken,\n\t\t\tsystemId,\n\t\t\tpostLoginRedirect || migrationConsentRedirect\n\t\t);\n\n\t\treturn { user, redirect };\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: OauthConfig, 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: OauthConfig): 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 OAuthSSOError('Failed to validate idToken', SSOErrorCode.SSO_JWT_PROBLEM);\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tasync getPostLoginRedirectUrl(idToken: string, systemId: string, postLoginRedirect?: string): Promise {\n\t\tconst clientUrl: string = Configuration.get('HOST') as string;\n\t\tconst dashboardUrl: URL = new URL('/dashboard', clientUrl);\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\n\t\tlet redirect: string;\n\t\tif (system.oauthConfig?.provider === 'iserv' && system.oauthConfig?.logoutEndpoint) {\n\t\t\tconst iservLogoutUrl: URL = new URL(system.oauthConfig.logoutEndpoint);\n\t\t\tiservLogoutUrl.searchParams.append('id_token_hint', idToken);\n\t\t\tiservLogoutUrl.searchParams.append('post_logout_redirect_uri', postLoginRedirect || dashboardUrl.toString());\n\t\t\tredirect = iservLogoutUrl.toString();\n\t\t} else if (postLoginRedirect) {\n\t\t\tredirect = postLoginRedirect;\n\t\t} else {\n\t\t\tredirect = dashboardUrl.toString();\n\t\t}\n\n\t\treturn redirect;\n\t}\n\n\tgetAuthenticationUrl(oauthConfig: OauthConfig, state: string, migration: boolean): string {\n\t\tconst redirectUri: string = this.getRedirectUri(migration);\n\n\t\tconst authenticationUrl: URL = new URL(oauthConfig.authEndpoint);\n\t\tauthenticationUrl.searchParams.append('client_id', oauthConfig.clientId);\n\t\tauthenticationUrl.searchParams.append('redirect_uri', redirectUri);\n\t\tauthenticationUrl.searchParams.append('response_type', oauthConfig.responseType);\n\t\tauthenticationUrl.searchParams.append('scope', oauthConfig.scope);\n\t\tauthenticationUrl.searchParams.append('state', state);\n\t\tif (oauthConfig.idpHint) {\n\t\t\tauthenticationUrl.searchParams.append('kc_idp_hint', oauthConfig.idpHint);\n\t\t}\n\n\t\treturn authenticationUrl.toString();\n\t}\n\n\tgetRedirectUri(migration: boolean) {\n\t\tconst publicBackendUrl: string = Configuration.get('PUBLIC_BACKEND_URL') as string;\n\n\t\tconst path: string = migration ? 'api/v3/sso/oauth/migration' : 'api/v3/sso/oauth';\n\t\tconst redirectUri: URL = new URL(path, publicBackendUrl);\n\n\t\treturn redirectUri.toString();\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfig,\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:15\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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthTokenDto } from '@modules/oauth';\nimport { OAuthService } from '@modules/oauth/service/oauth.service';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { SchoolInMigrationError } from '../errors/school-in-migration.error';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\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 }: { user?: UserDO; redirect: string } = await this.oauthService.provisionUser(\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationError();\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 } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { OAuthSSOError } 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) {\n\t\t\tthrow new OAuthSSOError('Requesting token failed.', 'sso_auth_code_step');\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\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nAuthenticationModule->OauthApiModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nOauthApiModule -->\n\nAuthorizationModule->OauthApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthApiModule -->\n\nLegacySchoolModule->OauthApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthApiModule -->\n\nProvisioningModule->OauthApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthApiModule -->\n\nSystemModule->OauthApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthApiModule -->\n\nUserLoginMigrationModule->OauthApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthApiModule -->\n\nUserModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\nOauthUc\n\nOauthUc\n\nOauthApiModule -->\n\nOauthUc->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 OauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\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 SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc, OauthUc } from './uc';\n\n@Module({\n\timports: [\n\t\tOauthModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tProvisioningModule,\n\t\tLegacySchoolModule,\n\t\tUserLoginMigrationModule,\n\t\tSystemModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [OauthSSOController],\n\tproviders: [OauthUc, 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/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: OauthConfig)\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 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 \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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/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/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/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 { EntityId } from '@shared/domain';\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 */\n\tisExternalUser: boolean;\n}\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"},"classes/OauthLoginStateDto.html":{"url":"classes/OauthLoginStateDto.html","title":"class - OauthLoginStateDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginStateDto\n\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/dto/oauth-login-state.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 postLoginRedirect\n \n \n provider\n \n \n state\n \n \n systemId\n \n \n userLoginMigration\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginStateDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.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 OauthLoginStateDto\n \n \n \n No\n \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 postLoginRedirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:10\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/oauth/uc/dto/oauth-login-state.dto.ts:8\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 Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:4\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/oauth/uc/dto/oauth-login-state.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/dto/oauth-login-state.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain';\n\nexport class OauthLoginStateDto {\n\tstate: string;\n\n\tsystemId: EntityId;\n\n\tprovider: string;\n\n\tpostLoginRedirect?: string;\n\n\tuserLoginMigration: boolean;\n\n\tconstructor(props: OauthLoginStateDto) {\n\t\tthis.state = props.state;\n\t\tthis.systemId = props.systemId;\n\t\tthis.postLoginRedirect = props.postLoginRedirect;\n\t\tthis.provider = props.provider;\n\t\tthis.userLoginMigration = props.userLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginStateMapper.html":{"url":"classes/OauthLoginStateMapper.html","title":"class - OauthLoginStateMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginStateMapper\n\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/oauth-login-state.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 mapSessionToDto\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 mapSessionToDto\n \n \n \n \n \n \n \n mapSessionToDto(session: ISession)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/oauth-login-state.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 session\n \n ISession\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthLoginStateDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ISession } from '@shared/domain/types/session';\nimport { OauthLoginStateDto } from '../uc/dto/oauth-login-state.dto';\n\nexport class OauthLoginStateMapper {\n\tstatic mapSessionToDto(session: ISession): OauthLoginStateDto {\n\t\tconst dto = new OauthLoginStateDto(session.oauthLoginState as OauthLoginStateDto);\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/OauthMigrationDto.html":{"url":"classes/OauthMigrationDto.html","title":"class - OauthMigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthMigrationDto\n\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/uc/dto/oauth-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 enableMigrationStart\n \n \n Optional\n oauthMigrationFinalFinish\n \n \n Optional\n oauthMigrationFinished\n \n \n Optional\n oauthMigrationMandatory\n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: OauthMigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.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 params\n \n \n OauthMigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n enableMigrationStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinalFinish\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationFinished\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationMandatory\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-migration.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthMigrationPossible\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/uc/dto/oauth-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 OauthMigrationDto {\n\toauthMigrationPossible?: Date;\n\n\toauthMigrationMandatory?: Date;\n\n\toauthMigrationFinished?: Date;\n\n\toauthMigrationFinalFinish?: Date;\n\n\tenableMigrationStart!: boolean;\n\n\tconstructor(params: OauthMigrationDto) {\n\t\tthis.oauthMigrationPossible = params.oauthMigrationPossible;\n\t\tthis.oauthMigrationMandatory = params.oauthMigrationMandatory;\n\t\tthis.oauthMigrationFinished = params.oauthMigrationFinished;\n\t\tthis.oauthMigrationFinalFinish = params.oauthMigrationFinalFinish;\n\t\tthis.enableMigrationStart = params.enableMigrationStart;\n\t}\n}\n\n \n\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_imports\n\n\n\ncluster_OauthModule_providers\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 { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\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\tUserLoginMigrationModule,\n\t\tCacheWrapperModule,\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:9\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: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 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: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 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: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 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: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 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: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 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:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { Permission, User } from '@shared/domain/index';\nimport { AuthorizationService } from '@modules/authorization';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\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 {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\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 { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n\tProviderConsentSessionResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { RedirectResponse } from './dto/response/redirect.response';\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';\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 { 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';\nimport { 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';\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: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 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: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 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: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 \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: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 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: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 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: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 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 { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Permission, Pseudonym, User, UserDO } from '@shared/domain';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { 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 { 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_imports\n\n\n\ncluster_OauthProviderModule_exports\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 { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { EntityId } from '@shared/domain';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\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 Private\n errorHandler\n \n \n \n Async\n getAuthenticationUrl\n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n Async\n migrateUser\n \n \n Private\n migrationErrorHandler\n \n \n \n \n Async\n requestAuthToken\n \n \n Private\n sessionHandler\n \n \n \n Async\n startOauthAuthorizationCodeFlow\n \n \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 errorHandler\n \n \n \n \n \n \n \n errorHandler(error, session: ISession, res: Response, provider?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 error\n \n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 provider\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 \n Async\n getAuthenticationUrl\n \n \n \n \n \n \n \n getAuthenticationUrl(session: ISession, res: Response, params: SystemIdParams, query: SSOLoginQuery)\n \n \n\n \n \n Decorators : \n \n @Get('login/:systemId')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:98\n \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 ISession\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 SystemIdParams\n \n\n \n No\n \n\n\n \n \n query\n \n SSOLoginQuery\n \n\n \n No\n \n\n\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 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: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 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 \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(jwt: string, session: ISession, currentUser: ICurrentUser, query: AuthorizationParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('oauth/migration')@Authenticate('jwt')@ApiOkResponse({description: 'The User has been succesfully migrated.'})@ApiResponse({type: InternalServerErrorException, description: 'The migration of the User was not possible. '})\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.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 jwt\n \n string\n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 query\n \n AuthorizationParams\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 Private\n migrationErrorHandler\n \n \n \n \n \n \n \n migrationErrorHandler(error, session: ISession, res: Response)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 error\n \n \n\n \n No\n \n\n\n \n \n session\n \n ISession\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 : void\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: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 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 \n \n Private\n sessionHandler\n \n \n \n \n \n \n \n sessionHandler(session: ISession, query: AuthorizationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.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 session\n \n ISession\n \n\n \n No\n \n\n\n \n \n query\n \n AuthorizationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthLoginStateDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startOauthAuthorizationCodeFlow\n \n \n \n \n \n \n \n startOauthAuthorizationCodeFlow(session: ISession, res: Response, query: AuthorizationParams)\n \n \n\n \n \n Decorators : \n \n @Get('oauth')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.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 session\n \n ISession\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 query\n \n AuthorizationParams\n \n\n \n No\n \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\tInternalServerErrorException,\n\tParam,\n\tQuery,\n\tReq,\n\tRes,\n\tSession,\n\tUnauthorizedException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport { ApiOkResponse, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ISession } from '@shared/domain/types/session';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ICurrentUser, Authenticate, CurrentUser, JWT } from '@modules/authentication';\nimport { OAuthMigrationError } from '@modules/user-login-migration/error/oauth-migration.error';\nimport { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { CookieOptions, Request, Response } from 'express';\nimport { HydraOauthUc } from '../uc/hydra-oauth.uc';\nimport { UserMigrationResponse } from './dto/user-migration.response';\nimport { OAuthSSOError } from '../loggable/oauth-sso.error';\nimport { OAuthTokenDto } from '../interface';\nimport { OauthLoginStateMapper } from '../mapper/oauth-login-state.mapper';\nimport { UserMigrationMapper } from '../mapper/user-migration.mapper';\nimport { OAuthProcessDto } from '../service/dto';\nimport { OauthUc } from '../uc';\nimport { OauthLoginStateDto } from '../uc/dto/oauth-login-state.dto';\nimport { AuthorizationParams, SSOLoginQuery, SystemIdParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tprivate readonly clientUrl: string;\n\n\tconstructor(\n\t\tprivate readonly oauthUc: OauthUc,\n\t\tprivate readonly hydraUc: HydraOauthUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t\tthis.clientUrl = Configuration.get('HOST') as string;\n\t}\n\n\tprivate errorHandler(error: unknown, session: ISession, res: Response, provider?: string) {\n\t\tthis.logger.error(error);\n\t\tconst ssoError: OAuthSSOError = error instanceof OAuthSSOError ? error : new OAuthSSOError();\n\n\t\tsession.destroy((err) => {\n\t\t\tthis.logger.log(err);\n\t\t});\n\n\t\tconst errorRedirect: URL = new URL('/login', this.clientUrl);\n\t\terrorRedirect.searchParams.append('error', ssoError.errorcode);\n\n\t\tif (provider) {\n\t\t\terrorRedirect.searchParams.append('provider', provider);\n\t\t}\n\n\t\tres.redirect(errorRedirect.toString());\n\t}\n\n\tprivate migrationErrorHandler(error: unknown, session: ISession, res: Response) {\n\t\tconst migrationError: OAuthMigrationError =\n\t\t\terror instanceof OAuthMigrationError ? error : new OAuthMigrationError();\n\n\t\tsession.destroy((err) => {\n\t\t\tthis.logger.log(err);\n\t\t});\n\n\t\tconst errorRedirect: URL = new URL('/migration/error', this.clientUrl);\n\n\t\tif (migrationError.officialSchoolNumberFromSource && migrationError.officialSchoolNumberFromTarget) {\n\t\t\terrorRedirect.searchParams.append('sourceSchoolNumber', migrationError.officialSchoolNumberFromSource);\n\t\t\terrorRedirect.searchParams.append('targetSchoolNumber', migrationError.officialSchoolNumberFromTarget);\n\t\t}\n\n\t\tres.redirect(errorRedirect.toString());\n\t}\n\n\tprivate sessionHandler(session: ISession, query: AuthorizationParams): OauthLoginStateDto {\n\t\tif (!session.oauthLoginState) {\n\t\t\tthrow new UnauthorizedException('Oauth session not found');\n\t\t}\n\n\t\tconst oauthLoginState: OauthLoginStateDto = OauthLoginStateMapper.mapSessionToDto(session);\n\n\t\tif (oauthLoginState.state !== query.state) {\n\t\t\tthrow new UnauthorizedException(`Invalid state. Got: ${query.state} Expected: ${oauthLoginState.state}`);\n\t\t}\n\n\t\treturn oauthLoginState;\n\t}\n\n\t@Get('login/:systemId')\n\tasync getAuthenticationUrl(\n\t\t@Session() session: ISession,\n\t\t@Res() res: Response,\n\t\t@Param() params: SystemIdParams,\n\t\t@Query() query: SSOLoginQuery\n\t): Promise {\n\t\ttry {\n\t\t\tconst redirect: string = await this.oauthUc.startOauthLogin(\n\t\t\t\tsession,\n\t\t\t\tparams.systemId,\n\t\t\t\tquery.migration || false,\n\t\t\t\tquery.postLoginRedirect\n\t\t\t);\n\n\t\t\tres.redirect(redirect);\n\t\t} catch (error) {\n\t\t\tthis.errorHandler(error, session, res);\n\t\t}\n\t}\n\n\t@Get('oauth')\n\tasync startOauthAuthorizationCodeFlow(\n\t\t@Session() session: ISession,\n\t\t@Res() res: Response,\n\t\t@Query() query: AuthorizationParams\n\t): Promise {\n\t\tconst oauthLoginState: OauthLoginStateDto = this.sessionHandler(session, query);\n\n\t\ttry {\n\t\t\tconst oauthProcessDto: OAuthProcessDto = await this.oauthUc.processOAuthLogin(\n\t\t\t\toauthLoginState,\n\t\t\t\tquery.code,\n\t\t\t\tquery.error\n\t\t\t);\n\n\t\t\tif (oauthProcessDto.jwt) {\n\t\t\t\tconst cookieDefaultOptions: CookieOptions = {\n\t\t\t\t\thttpOnly: Configuration.get('COOKIE__HTTP_ONLY') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('COOKIE__SAME_SITE') as 'lax' | 'strict' | 'none',\n\t\t\t\t\tsecure: Configuration.get('COOKIE__SECURE') as boolean,\n\t\t\t\t\texpires: new Date(Date.now() + (Configuration.get('COOKIE__EXPIRES_SECONDS') as number)),\n\t\t\t\t};\n\n\t\t\t\tres.cookie('jwt', oauthProcessDto.jwt, cookieDefaultOptions);\n\t\t\t}\n\n\t\t\tres.redirect(oauthProcessDto.redirect);\n\t\t} catch (error) {\n\t\t\tthis.errorHandler(error, session, res, oauthLoginState.provider);\n\t\t}\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 && 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(currentUser.userId, jwt, oauthClientId);\n\t}\n\n\t@Get('oauth/migration')\n\t@Authenticate('jwt')\n\t@ApiOkResponse({ description: 'The User has been succesfully migrated.' })\n\t@ApiResponse({ type: InternalServerErrorException, description: 'The migration of the User was not possible. ' })\n\tasync migrateUser(\n\t\t@JWT() jwt: string,\n\t\t@Session() session: ISession,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AuthorizationParams,\n\t\t@Res() res: Response\n\t): Promise {\n\t\tconst oauthLoginState: OauthLoginStateDto = this.sessionHandler(session, query);\n\n\t\tif (!currentUser.systemId) {\n\t\t\tthrow new UnprocessableEntityException('Current user does not have a system.');\n\t\t}\n\n\t\ttry {\n\t\t\tconst migration: MigrationDto = await this.oauthUc.migrate(jwt, currentUser.userId, query, oauthLoginState);\n\t\t\tconst response: UserMigrationResponse = UserMigrationMapper.mapDtoToResponse(migration);\n\t\t\tres.redirect(response.redirect);\n\t\t} catch (error) {\n\t\t\tthis.migrationErrorHandler(error, session, res);\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"},"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"},"injectables/OauthUc.html":{"url":"injectables/OauthUc.html","title":"injectable - OauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthUc\n\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/oauth.uc.ts\n \n\n \n Deprecated\n \n \n remove after login via oauth moved to authentication module\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 getJwtForUser\n \n \n Async\n migrate\n \n \n Async\n processOAuthLogin\n \n \n Async\n startOauthLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, authenticationService: AuthenticationService, systemService: SystemService, provisioningService: ProvisioningService, userService: UserService, userMigrationService: UserMigrationService, schoolMigrationService: SchoolMigrationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.ts:26\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 authenticationService\n \n \n AuthenticationService\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 provisioningService\n \n \n ProvisioningService\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 userMigrationService\n \n \n UserMigrationService\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 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 getJwtForUser\n \n \n \n \n \n \n \n getJwtForUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.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 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 migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: string, query: AuthorizationParams, cachedState: OauthLoginStateDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.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 userJwt\n \n string\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 query\n \n AuthorizationParams\n \n\n \n No\n \n\n\n \n \n cachedState\n \n OauthLoginStateDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processOAuthLogin\n \n \n \n \n \n \n \n processOAuthLogin(cachedState: OauthLoginStateDto, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.uc.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 cachedState\n \n OauthLoginStateDto\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 Async\n startOauthLogin\n \n \n \n \n \n \n \n startOauthLogin(session: ISession, systemId: EntityId, migration: boolean, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/oauth.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 session\n \n ISession\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 migration\n \n boolean\n \n\n \n No\n \n\n\n \n \n postLoginRedirect\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 { Injectable, UnauthorizedException, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, UserDO } from '@shared/domain';\nimport { ISession } from '@shared/domain/types/session';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthenticationService } from '@modules/authentication/services/authentication.service';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { UserService } from '@modules/user';\nimport { UserMigrationService } from '@modules/user-login-migration';\nimport { SchoolMigrationService } from '@modules/user-login-migration/service';\nimport { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { nanoid } from 'nanoid';\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { OAuthProcessDto } from '../service/dto';\nimport { OAuthService } from '../service/oauth.service';\nimport { OauthLoginStateDto } from './dto/oauth-login-state.dto';\n\n/**\n * @deprecated remove after login via oauth moved to authentication module\n */\n@Injectable()\nexport class OauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(OauthUc.name);\n\t}\n\n\tasync startOauthLogin(\n\t\tsession: ISession,\n\t\tsystemId: EntityId,\n\t\tmigration: boolean,\n\t\tpostLoginRedirect?: string\n\t): Promise {\n\t\tconst state = nanoid(16);\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new UnprocessableEntityException(`Requested system ${systemId} has no oauth configured`);\n\t\t}\n\n\t\tconst authenticationUrl: string = this.oauthService.getAuthenticationUrl(system.oauthConfig, state, migration);\n\n\t\tsession.oauthLoginState = new OauthLoginStateDto({\n\t\t\tstate,\n\t\t\tsystemId,\n\t\t\tprovider: system.oauthConfig.provider,\n\t\t\tpostLoginRedirect,\n\t\t\tuserLoginMigration: migration,\n\t\t});\n\n\t\treturn authenticationUrl;\n\t}\n\n\tasync processOAuthLogin(cachedState: OauthLoginStateDto, code?: string, error?: string): Promise {\n\t\tconst { state, systemId, postLoginRedirect, userLoginMigration } = cachedState;\n\n\t\tthis.logger.debug(`Oauth login process started. [state: ${state}, system: ${systemId}]`);\n\n\t\tconst redirectUri: string = this.oauthService.getRedirectUri(userLoginMigration);\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code, error);\n\n\t\tconst { user, redirect }: { user?: UserDO; redirect: string } = await this.oauthService.provisionUser(\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken,\n\t\t\tpostLoginRedirect\n\t\t);\n\n\t\tthis.logger.debug(`Generating jwt for user. [state: ${state}, system: ${systemId}]`);\n\n\t\tlet jwt: string | undefined;\n\t\tif (user && user.id) {\n\t\t\tjwt = await this.getJwtForUser(user.id);\n\t\t}\n\n\t\tconst response = new OAuthProcessDto({\n\t\t\tjwt,\n\t\t\tredirect,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: string,\n\t\tquery: AuthorizationParams,\n\t\tcachedState: OauthLoginStateDto\n\t): Promise {\n\t\tconst { state, systemId, userLoginMigration } = cachedState;\n\n\t\tif (state !== query.state) {\n\t\t\tthrow new UnauthorizedException(`Invalid state. Got: ${query.state} Expected: ${state}`);\n\t\t}\n\n\t\tconst redirectUri: string = this.oauthService.getRedirectUri(userLoginMigration);\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(\n\t\t\tsystemId,\n\t\t\tredirectUri,\n\t\t\tquery.code,\n\t\t\tquery.error\n\t\t);\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (data.externalSchool) {\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.schoolToMigrate(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(data.externalSchool.externalId, schoolToMigrate, systemId);\n\t\t\t}\n\t\t}\n\n\t\tconst migrationDto: MigrationDto = await this.userMigrationService.migrateUser(\n\t\t\tcurrentUserId,\n\t\t\tdata.externalUser.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate async getJwtForUser(userId: EntityId): Promise {\n\t\tconst oauthCurrentUser: OauthCurrentUser = await this.userService.getResolvedUser(userId);\n\n\t\tconst { accessToken } = await this.authenticationService.generateJwt(oauthCurrentUser);\n\n\t\treturn accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\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/OidcConfig.html":{"url":"classes/OidcConfig.html","title":"class - OidcConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfig\n\n\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: OidcConfig)\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 OidcConfig\n \n \n \n No\n \n \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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/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/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: IEncryptionService)\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 IEncryptionService\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 IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { DefaultEncryptionService, IEncryptionService } from '@infra/encryption';\nimport { OidcConfigDto } from '@modules/system/service';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: IEncryptionService) {}\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 { OAuthSSOError } 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 OAuthSSOError('Failed to extract external_sub', 'sso_jwt_problem');\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 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:20\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: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 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 Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.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 externalGroup\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 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: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 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: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 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: EntityId, 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: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 externalUserId\n \n EntityId\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 { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, ExternalSource, FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Logger } from '@src/core/logger';\nimport { 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 { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\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 = externalSchool.name;\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: externalSchool.name,\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\t\treturn savedSchool;\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} 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});\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(externalGroup: ExternalGroupDto, systemId: EntityId): Promise {\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\tlet organizationId: string | undefined;\n\t\tif (externalGroup.externalOrganizationId) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalGroup.externalOrganizationId,\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));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst users: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\tif (!users.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup ? 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 ? existingGroup.users : [],\n\t\t});\n\t\tusers.forEach((user: GroupUser) => group.addUser(user));\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.users.map(async (externalGroupUser: ExternalGroupUserDto): Promise => {\n\t\t\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\t\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\troleId: roles[0].id,\n\t\t\t\t});\n\n\t\t\t\treturn groupUser;\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\tasync removeExternalGroupsAndAffiliation(\n\t\texternalUserId: EntityId,\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';\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(externalGroup, data.system.systemId)\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"},"injectables/PageContentMapper.html":{"url":"injectables/PageContentMapper.html","title":"injectable - PageContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PageContentMapper\n\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/page-content.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 mapDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDtoToResponse\n \n \n \n \n \n \nmapDtoToResponse(dto: PageContentDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/page-content.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 dto\n \n PageContentDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PageContentResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PageContentDto } from '../service/dto/page-content.dto';\nimport { PageContentResponse } from '../controller/dto';\n\n@Injectable()\nexport class PageContentMapper {\n\tmapDtoToResponse(dto: PageContentDto): PageContentResponse {\n\t\tconst response: PageContentResponse = new PageContentResponse({\n\t\t\tproceedButtonUrl: dto.proceedButtonUrl,\n\t\t\tcancelButtonUrl: dto.cancelButtonUrl,\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\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PageContentQueryParams.html":{"url":"classes/PageContentQueryParams.html","title":"class - PageContentQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentQueryParams\n\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/page-type.query.param.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pageType\n \n \n \n \n sourceSystem\n \n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pageType\n \n \n \n \n \n \n Type : PageTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Type of Page that is displayed', type: PageTypes})@IsEnum(PageTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n sourceSystem\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Source System'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Target System'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/page-type.query.param.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { PageTypes } from '../../../interface/page-types.enum';\n\nexport class PageContentQueryParams {\n\t@ApiProperty({ description: 'The Type of Page that is displayed', type: PageTypes })\n\t@IsEnum(PageTypes)\n\tpageType!: PageTypes;\n\n\t@ApiProperty({ description: 'The Source System' })\n\t@IsMongoId()\n\tsourceSystem!: string;\n\n\t@ApiProperty({ description: 'The Target System' })\n\t@IsMongoId()\n\ttargetSystem!: 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/PageContentResponse.html":{"url":"classes/PageContentResponse.html","title":"class - PageContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentResponse\n\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/page-content.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 cancelButtonUrl\n \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: PageContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.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 props\n \n \n PageContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cancelButtonUrl\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 cancel button'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.response.ts:12\n \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 Decorators : \n \n \n @ApiProperty({description: 'The URL for the proceed button'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/page-content.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';\n\nexport class PageContentResponse {\n\t@ApiProperty({\n\t\tdescription: 'The URL for the proceed button',\n\t})\n\tproceedButtonUrl: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The URL for the cancel button',\n\t})\n\tcancelButtonUrl: string;\n\n\tconstructor(props: PageContentResponse) {\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"},"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"},"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';\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:81\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:73\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:68\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:64\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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:44\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:58\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:52\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:48\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\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 PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [PreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig })],\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 { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\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.debug(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(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 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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, 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.debug(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\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.debug(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 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 (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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\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.debug(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.debug(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_exports\n\n\n\ncluster_ProvisioningModule_providers\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: SystemService, 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 SystemService\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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\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: SystemService,\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 { EntityId } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\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 { 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';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { EntityId } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\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 { EntityId } from '@shared/domain';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\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';\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:11\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: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 : 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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: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 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: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 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: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 string\n \n\n \n No\n \n\n\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: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 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: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 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 { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { IFindOptions, LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\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:9\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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, Pseudonym, User } from '@shared/domain';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\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: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 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: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 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: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 \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: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 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: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 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: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 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: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 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: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 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 { EntityId, Pseudonym } from '@shared/domain';\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"},"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 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:23\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:23\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:21\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: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 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:227\n \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: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 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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tEntityId,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\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 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\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_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 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 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)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:22\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 \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: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 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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 { 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\tBoardNode,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\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) {}\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\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 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 = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\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 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:36\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:36\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: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 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: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 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: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 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:196\n \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: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 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: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 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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tBoardNode,\n\tCard,\n\tCardNode,\n\tColumn,\n\tColumnBoard,\n\tColumnBoardNode,\n\tColumnNode,\n\tEntityId,\n\tExternalToolElement,\n\tExternalToolElementNodeEntity,\n\tFileElement,\n\tFileElementNode,\n\tRichTextElement,\n\tRichTextElementNode,\n\tSubmissionContainerElement,\n\tSubmissionContainerElementNode,\n\tSubmissionItem,\n\tSubmissionItemNode,\n} from '@shared/domain';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\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\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, lessonRepo: LessonRepo, 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:39\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 lessonRepo\n \n \n LessonRepo\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: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 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: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 type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IRepoLoader\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:39\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, EntityId } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLessonRepo,\n\tSchoolExternalToolRepo,\n\tLegacySchoolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { BoardDoAuthorizableService } from '@modules/board';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool/context-external-tool/service';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| LessonRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService;\n\ninterface IRepoLoader {\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 lessonRepo: LessonRepo,\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.lessonRepo });\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): IRepoLoader {\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: IRepoLoader = 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"},"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"},"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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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/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 { 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';\nimport { ICurrentUser } from '@modules/authentication/interface/user';\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';\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 { UserDO } from '@shared/domain';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\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 { User, Role } from '@shared/domain';\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 Async\n checkPermission\n \n \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, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.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 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 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/restart-user-login-migration.uc.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 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 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: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 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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport {\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\nimport { UserLoginMigrationStartLoggable } from '../loggable';\nimport { 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 schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tasync restartMigration(userId: string, schoolId: string): 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} else if (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\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} else if (userLoginMigration.closedAt) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.restartMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, schoolId));\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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"},"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:73\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: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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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: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 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:15\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: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 { ContentElementType, InputFormat } from '@shared/domain';\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:82\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:78\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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: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 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: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/rich-text-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/rich-text-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.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: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, InputFormat } from '@shared/domain';\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';\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';\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: 'rocketchatuser' })\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';\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: 'rocketchatuser' })\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_providers\n\n\n\ncluster_RocketChatUserModule_exports\n\n\n\n\nRocketChatService \n\nRocketChatService \n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nRocketChatService -->\n\nRocketChatUserModule->RocketChatService \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 RocketChatService\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';\nimport { RocketChatService } from '../rocketchat/rocket-chat.service';\n\n@Module({\n\tproviders: [RocketChatUserService, RocketChatUserRepo],\n\texports: [RocketChatService],\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';\nimport { RocketChatUserEntity } from '../entity';\nimport { RocketChatUser } from '../domain/rocket-chat-user.do';\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';\nimport { RocketChatUserRepo } from '../repo';\nimport { RocketChatUser } from '../domain';\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 IRoleProperties {\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: IRoleProperties) {\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: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 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:4\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:6\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:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, Permission, RoleName } from '@shared/domain';\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 { Role } from '@shared/domain';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\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: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 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: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 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 { RoleName, IImportUserRoleName } from '@shared/domain';\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"},"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: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 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: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 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: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 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: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 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:11\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:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId, Role, RoleName } from '@shared/domain';\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:8\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: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 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: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 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: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 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: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 { EntityId, Role, RoleName } from '@shared/domain';\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 { RoleService } from '@modules/role/service/role.service';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain';\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 { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnboardBoardElement,\n\tColumnBoardTarget,\n\tCourse,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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): ITaskStatus {\n\t\tlet status: ITaskStatus;\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';\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';\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 { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\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, lessonRepo: LessonRepo, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.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 taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonRepo\n \n \n LessonRepo\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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Board, BoardExternalReferenceType, ColumnBoardTarget, EntityId } from '@shared/domain';\nimport { BoardRepo, LessonRepo } from '@shared/repo';\nimport { ColumnBoardService } from '@modules/board';\nimport { TaskService } from '@modules/task/service';\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 lessonRepo: LessonRepo,\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.lessonRepo.findAllByCourseIds([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';\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: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 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: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 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 { BaseDO, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\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)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:23\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 \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: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 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: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 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:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { BaseDO, User } from '@shared/domain';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport type { AuthorizationContext, Rule } from '../type';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n\tGroupRule,\n} from '../rules';\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) {\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];\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.log({ 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.log({ 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.log(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey');\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.log({ 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.log(`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.log({ 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.log({ 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.log({ 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.log({ 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.log({ 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.log(`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.log({ 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/SSOLoginQuery.html":{"url":"classes/SSOLoginQuery.html","title":"class - SSOLoginQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SSOLoginQuery\n\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/sso-login.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 Optional\n migration\n \n \n \n \n \n Optional\n postLoginRedirect\n \n \n \n \n\n\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 migration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/sso-login.query.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n postLoginRedirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/sso-login.query.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 { IsBoolean, IsOptional, IsString } from 'class-validator';\n\nexport class SSOLoginQuery {\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty()\n\tpostLoginRedirect?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty()\n\tmigration?: 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/SanisGruppeResponse.html":{"url":"interfaces/SanisGruppeResponse.html","title":"interface - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n id\n \n \n \n \n laufzeit\n \n \n \n \n orgid\n \n \n \n \n typ\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n \n \n bezeichnung: string\n\n \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 laufzeit\n \n \n \n \n \n \n \n \n laufzeit: SanisLaufzeitResponse\n\n \n \n\n\n \n \n Type : SanisLaufzeitResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n orgid\n \n \n \n \n \n \n \n \n orgid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n \n \n typ: SanisGroupType\n\n \n \n\n\n \n \n Type : SanisGroupType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupType } from './sanis-group-type';\nimport { SanisLaufzeitResponse } from './sanis-laufzeit-response';\n\nexport interface SanisGruppeResponse {\n\tid: string;\n\n\tbezeichnung: string;\n\n\ttyp: SanisGroupType;\n\n\torgid: string;\n\n\tlaufzeit: SanisLaufzeitResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisGruppenResponse.html":{"url":"interfaces/SanisGruppenResponse.html","title":"interface - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gruppe\n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n Optional\n \n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gruppe\n \n \n \n \n \n \n \n \n gruppe: SanisGruppeResponse\n\n \n \n\n\n \n \n Type : SanisGruppeResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit: SanisGruppenzugehoerigkeitResponse\n\n \n \n\n\n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n \n \n sonstige_gruppenzugehoerige: SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n\n\n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport interface SanisGruppenResponse {\n\tgruppe: SanisGruppeResponse;\n\n\tgruppenzugehoerigkeit: SanisGruppenzugehoerigkeitResponse;\n\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisGruppenzugehoerigkeitResponse.html":{"url":"interfaces/SanisGruppenzugehoerigkeitResponse.html","title":"interface - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n rollen: SanisGroupRole[]\n\n \n \n\n\n \n \n Type : SanisGroupRole[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupRole } from './sanis-group-role';\n\nexport interface SanisGruppenzugehoerigkeitResponse {\n\trollen: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SanisLaufzeitResponse.html":{"url":"interfaces/SanisLaufzeitResponse.html","title":"interface - SanisLaufzeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SanisLaufzeitResponse\n\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-laufzeit-response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bis\n \n \n \n \n von\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bis\n \n \n \n \n \n \n \n \n bis: 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 von\n \n \n \n \n \n \n \n \n von: 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 export interface SanisLaufzeitResponse {\n\tvon: Date;\n\n\tbis: 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/SanisNameResponse.html":{"url":"interfaces/SanisNameResponse.html","title":"interface - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n \n vorname\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n familienname\n \n \n \n \n \n \n \n \n familienname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n \n \n vorname: string\n\n \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 SanisNameResponse {\n\tfamilienname: string;\n\n\tvorname: 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/SanisOrganisationResponse.html":{"url":"interfaces/SanisOrganisationResponse.html","title":"interface - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n kennung\n \n \n \n \n name\n \n \n \n \n typ\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 kennung\n \n \n \n \n \n \n \n \n kennung: string\n\n \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 typ\n \n \n \n \n \n \n \n \n typ: string\n\n \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 SanisOrganisationResponse {\n\tid: string;\n\n\tkennung: string;\n\n\tname: string;\n\n\ttyp: 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/SanisPersonResponse.html":{"url":"interfaces/SanisPersonResponse.html","title":"interface - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n geschlecht\n \n \n \n \n lokalisierung\n \n \n \n \n name\n \n \n \n \n vertrauensstufe\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n geschlecht\n \n \n \n \n \n \n \n \n geschlecht: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lokalisierung\n \n \n \n \n \n \n \n \n lokalisierung: string\n\n \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: SanisNameResponse\n\n \n \n\n\n \n \n Type : SanisNameResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n vertrauensstufe\n \n \n \n \n \n \n \n \n vertrauensstufe: string\n\n \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 { SanisNameResponse } from './sanis-name-response';\n\nexport interface SanisPersonResponse {\n\tname: SanisNameResponse;\n\n\tgeschlecht: string;\n\n\tlokalisierung: string;\n\n\tvertrauensstufe: 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/SanisPersonenkontextResponse.html":{"url":"interfaces/SanisPersonenkontextResponse.html","title":"interface - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gruppen\n \n \n \n \n id\n \n \n \n \n organisation\n \n \n \n \n personenstatus\n \n \n \n \n rolle\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gruppen\n \n \n \n \n \n \n \n \n gruppen: SanisGruppenResponse[]\n\n \n \n\n\n \n \n Type : SanisGruppenResponse[]\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 organisation\n \n \n \n \n \n \n \n \n organisation: SanisOrganisationResponse\n\n \n \n\n\n \n \n Type : SanisOrganisationResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n personenstatus\n \n \n \n \n \n \n \n \n personenstatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n \n \n rolle: SanisRole\n\n \n \n\n\n \n \n Type : SanisRole\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisRole } from './sanis-role';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\n\nexport interface SanisPersonenkontextResponse {\n\tid: string;\n\n\trolle: SanisRole;\n\n\torganisation: SanisOrganisationResponse;\n\n\tpersonenstatus: string;\n\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\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 \n Async\n getData\n \n \n getType\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:21\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: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 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 \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: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 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:30\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 \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 { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom } from 'rxjs';\nimport { RoleName } from '@shared/domain';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tExternalGroupDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisResponseMapper } from './sanis-response.mapper';\nimport { SanisResponse } from './response';\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 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\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\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"},"interfaces/SanisResponse.html":{"url":"interfaces/SanisResponse.html","title":"interface - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n person\n \n \n \n \n personenkontexte\n \n \n \n \n pid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n person\n \n \n \n \n \n \n \n \n person: SanisPersonResponse\n\n \n \n\n\n \n \n Type : SanisPersonResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n \n \n personenkontexte: SanisPersonenkontextResponse[]\n\n \n \n\n\n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n \n \n pid: string\n\n \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 { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\n\nexport interface SanisResponse {\n\tpid: string;\n\n\tperson: SanisPersonResponse;\n\n\tpersonenkontexte: SanisPersonenkontextResponse[];\n}\n\n \n\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 mapSanisRoleToRoleName\n \n \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 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: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 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 mapToExternalGroupDtos\n \n \n \n \n \n \nmapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { GroupTypes } from '@modules/group';\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});\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});\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\tmapToExternalGroupDtos(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): ExternalGroupDto | null => {\n\t\t\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\t\t\tif (!groupType) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst sanisGroupUsers: SanisSonstigeGruppenzugehoerigeResponse[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\tktid: source.personenkontexte[0].id,\n\t\t\t\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t\t\t\t},\n\t\t\t\t].filter((sanisGroupUser) => sanisGroupUser.ktid && sanisGroupUser.rollen);\n\n\t\t\t\tconst gruppenzugehoerigkeiten: ExternalGroupUserDto[] = sanisGroupUsers\n\t\t\t\t\t.map((relation): ExternalGroupUserDto | null => this.mapToExternalGroupUser(relation))\n\t\t\t\t\t.filter((user): user is ExternalGroupUserDto => user !== null);\n\n\t\t\t\tconst externalOrganizationId = source.personenkontexte[0].organisation?.id;\n\n\t\t\t\treturn new ExternalGroupDto({\n\t\t\t\t\tname: group.gruppe.bezeichnung,\n\t\t\t\t\ttype: groupType,\n\t\t\t\t\texternalOrganizationId,\n\t\t\t\t\tfrom: group.gruppe.laufzeit?.von,\n\t\t\t\t\tuntil: group.gruppe.laufzeit?.bis,\n\t\t\t\t\texternalId: group.gruppe.id,\n\t\t\t\t\tusers: gruppenzugehoerigkeiten,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tconst userRole = 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"},"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"interfaces/SanisSonstigeGruppenzugehoerigeResponse.html","title":"interface - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \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 Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ktid\n \n \n \n \n \n \n \n \n ktid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rollen\n \n \n \n \n \n \n \n \n rollen: SanisGroupRole[]\n\n \n \n\n\n \n \n Type : SanisGroupRole[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { SanisGroupRole } from './sanis-group-role';\n\nexport interface SanisSonstigeGruppenzugehoerigeResponse {\n\tktid: string;\n\trollen: SanisGroupRole[];\n}\n\n \n\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:38\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';\nimport { EntityId, LanguageType } from '@shared/domain';\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\nimport { ToolVersion } from '../../common/interface';\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?: ToolConfigurationStatus;\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?: ToolConfigurationStatus;\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/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';\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 ISchoolExternalToolProperties {\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: ISchoolExternalToolProperties) {\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: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 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, ToolConfigurationStatus } 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';\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: ToolConfigurationStatus.LATEST,\n\t};\n});\n\n \n\n\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';\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"},"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\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\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 SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n \n \n Exports\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 { SchoolExternalToolService, SchoolExternalToolValidationService } from './service';\nimport { ExternalToolModule } from '../external-tool';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService],\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/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: ToolConfigurationStatus\n\n \n \n\n\n \n \n Type : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\nimport { ToolVersion } from '../../common/interface';\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?: ToolConfigurationStatus;\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?: ToolConfigurationStatus;\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: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 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: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 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: ISchoolExternalToolProperties)\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 ISchoolExternalToolProperties\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: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 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: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 entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ISchoolExternalToolProperties\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:74\n\n \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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { ISchoolExternalToolProperties, SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\nimport { ExternalToolRepoMapper } from '../externaltool';\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: ISchoolExternalToolProperties): 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\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): ISchoolExternalToolProperties {\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 { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport { CustomParameterEntry } from '../../common/domain';\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,\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 : ToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolConfigurationStatusResponse})\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 { ToolConfigurationStatusResponse } from '../../../context-external-tool/controller/dto/tool-configuration-status.response';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.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({ enum: ToolConfigurationStatusResponse })\n\tstatus: ToolConfigurationStatusResponse;\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: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 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: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 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: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 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 { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { ToolConfigurationStatusResponse } from '../../context-external-tool/controller/dto';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\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: schoolExternalTool.status\n\t\t\t\t? ToolStatusResponseMapper.mapToResponse(schoolExternalTool.status)\n\t\t\t\t: ToolConfigurationStatusResponse.UNKNOWN,\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 { Scope } from '@shared/repo/scope';\nimport { EntityId } from '@shared/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\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 determineStatus\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)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.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 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 \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: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 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 determineStatus\n \n \n \n \n \n \n \n determineStatus(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: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 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 : ToolConfigurationStatus\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: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 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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolConfigurationStatus } from '../../common/enum';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService\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: ToolConfigurationStatus = this.determineStatus(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 determineStatus(tool: SchoolExternalTool, externalTool: ExternalTool): ToolConfigurationStatus {\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 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, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.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 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 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: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 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: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 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: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 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: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 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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolService, SchoolExternalToolValidationService } 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 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\n \n\n\n\n\n\n\n\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)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-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 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 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: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 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: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 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 { 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 '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tthis.commonToolValidationService.checkForDuplicateParameters(schoolExternalTool);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\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)\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 \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 } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto) {}\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.group.externalOrganizationId,\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 { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '@shared/domain';\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';\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';\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/SchoolInMigrationError.html":{"url":"classes/SchoolInMigrationError.html","title":"class - SchoolInMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationError\n\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/school-in-migration.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/school-in-migration.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 SchoolInMigrationError extends BusinessError {\n\tconstructor(details?: Record) {\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\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/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 { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '@shared/domain';\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';\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/SchoolMigrationError.html":{"url":"classes/SchoolMigrationError.html","title":"class - SchoolMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationError\n\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/error/school-migration.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, cause?)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/school-migration.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 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 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 SchoolMigrationError extends BusinessError {\n\tconstructor(details?: Record, cause?: unknown) {\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\tdetails,\n\t\t\tcause\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/SchoolMigrationFlags.html":{"url":"interfaces/SchoolMigrationFlags.html","title":"interface - SchoolMigrationFlags","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolMigrationFlags\n\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/school-migration-flags.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isMandatory\n \n \n \n \n isPossible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isMandatory\n \n \n \n \n \n \n \n \n isMandatory: 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 isPossible\n \n \n \n \n \n \n \n \n isPossible: 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 SchoolMigrationFlags {\n\tisPossible: boolean;\n\tisMandatory: 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/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 Private\n hasSchoolMigrated\n \n \n Async\n hasSchoolMigratedUser\n \n \n Async\n markUnmigratedUsersAsOutdated\n \n \n Async\n migrateSchool\n \n \n Private\n Async\n rollbackMigration\n \n \n Async\n schoolToMigrate\n \n \n Async\n unmarkOutdatedUsers\n \n \n validateGracePeriod\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, logger: LegacyLogger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 schoolService\n \n \n LegacySchoolService\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 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: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 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, schoolDO: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 externalId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolDO\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 Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string, targetExternalId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.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 sourceExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\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 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: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 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 markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(schoolId: 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 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 migrateSchool\n \n \n \n \n \n \n \n migrateSchool(externalId: string, existingSchool: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 externalId\n \n string\n \n\n \n No\n \n\n\n \n \n existingSchool\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 Private\n Async\n rollbackMigration\n \n \n \n \n \n \n \n rollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:141\n \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 : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n schoolToMigrate\n \n \n \n \n \n \n \n schoolToMigrate(currentUserId: string, externalId: string, officialSchoolNumber: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 currentUserId\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 | 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 unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 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 validateGracePeriod\n \n \n \n \n \n \nvalidateGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.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 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 import { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { Page, LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { performance } from 'perf_hooks';\nimport { OAuthMigrationError } from '../error';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tvalidateGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\n\t\t\tthrow new ValidationError('grace_period_expired: The grace period after finishing migration has expired', {\n\t\t\t\tfinishedAt: userLoginMigration.finishedAt,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync migrateSchool(externalId: string, existingSchool: LegacySchoolDo, targetSystemId: string): 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 (e: unknown) {\n\t\t\tawait this.rollbackMigration(schoolDOCopy);\n\t\t\tthis.logger.log({\n\t\t\t\tmessage: `This error occurred during migration of School with official school number`,\n\t\t\t\tofficialSchoolNumber: existingSchool.officialSchoolNumber,\n\t\t\t\terror: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync schoolToMigrate(\n\t\tcurrentUserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string | undefined\n\t): Promise {\n\t\tif (!officialSchoolNumber) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Official school number from target migration system is missing',\n\t\t\t\t'ext_official_school_number_missing'\n\t\t\t);\n\t\t}\n\n\t\tconst userDO: UserDO | null = await this.userService.findById(currentUserId);\n\t\tif (userDO) {\n\t\t\tconst schoolDO: LegacySchoolDo = await this.schoolService.getSchoolById(userDO.schoolId);\n\t\t\tthis.checkOfficialSchoolNumbersMatch(schoolDO, officialSchoolNumber);\n\t\t}\n\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(\n\t\t\tofficialSchoolNumber\n\t\t);\n\n\t\tif (!existingSchool) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Could not find school by official school number from target migration system',\n\t\t\t\t'ext_official_school_missing'\n\t\t\t);\n\t\t}\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(externalId, existingSchool.externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn existingSchool;\n\t}\n\n\tasync markUnmigratedUsersAsOutdated(schoolId: string): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t}\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId,\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.logger.warn(`completeMigration for schoolId ${schoolId} took ${endTime - startTime} milliseconds`);\n\t}\n\n\tasync unmarkOutdatedUsers(schoolId: string): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t}\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId,\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.logger.warn(`restartMigration for schoolId ${schoolId} took ${endTime - startTime} milliseconds`);\n\t}\n\n\tprivate async doMigration(externalId: string, schoolDO: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tif (schoolDO.systems) {\n\t\t\tschoolDO.systems.push(targetSystemId);\n\t\t} else {\n\t\t\tschoolDO.systems = [targetSystemId];\n\t\t}\n\t\tschoolDO.previousExternalId = schoolDO.externalId;\n\t\tschoolDO.externalId = externalId;\n\t\tawait this.schoolService.save(schoolDO);\n\t}\n\n\tprivate async rollbackMigration(originalSchoolDO: LegacySchoolDo) {\n\t\tif (originalSchoolDO) {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t}\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new OAuthMigrationError(\n\t\t\t\t'Current users school is not the same as school found by official school number from target migration system',\n\t\t\t\t'ext_official_school_number_mismatch',\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, targetExternalId?: string): boolean {\n\t\tif (sourceExternalId === targetExternalId) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tasync 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"},"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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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/error/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/error/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/error/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/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/error/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/error/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/error/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';\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"},"classes/SchoolParams.html":{"url":"classes/SchoolParams.html","title":"class - SchoolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolParams\n\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/controller/dto/school.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 : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the school.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/legacy-school/controller/dto/school.params.ts:11\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 SchoolParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the school.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\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/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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\nimport { FederalStateEntity } from './federal-state.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 ISchoolProperties {\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: ISchoolProperties) {\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 { EntityId } from '@shared/domain';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\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"},"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';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../error';\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 ISchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements ISchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: ISchoolYearProperties) {\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"},"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';\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:6\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: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 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:10\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 { EntityId, SchoolYearEntity } from '@shared/domain';\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"},"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:6\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:4\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:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, VideoConferenceScope } from '@shared/domain';\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"},"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 { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { FilesModule } from '@modules/files';\nimport { FileEntity } from '@modules/files/entity';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\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\nAccountApiModule\n\nAccountApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nAccountApiModule->ServerModule\n\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nServerModule -->\n\nAuthenticationApiModule->ServerModule\n\n\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nServerModule -->\n\nBoardApiModule->ServerModule\n\n\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nServerModule -->\n\nCollaborativeStorageModule->ServerModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nServerModule -->\n\nCoreModule->ServerModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nServerModule -->\n\nFilesStorageClientModule->ServerModule\n\n\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nServerModule -->\n\nGroupApiModule->ServerModule\n\n\n\n\n\nImportUserModule\n\nImportUserModule\n\nServerModule -->\n\nImportUserModule->ServerModule\n\n\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nServerModule -->\n\nLearnroomApiModule->ServerModule\n\n\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nServerModule -->\n\nLegacySchoolApiModule->ServerModule\n\n\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nServerModule -->\n\nLessonApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nServerModule -->\n\nMetaTagExtractorApiModule->ServerModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nServerModule -->\n\nMetaTagExtractorModule->ServerModule\n\n\n\n\n\nNewsModule\n\nNewsModule\n\nServerModule -->\n\nNewsModule->ServerModule\n\n\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nServerModule -->\n\nOauthApiModule->ServerModule\n\n\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nServerModule -->\n\nOauthProviderApiModule->ServerModule\n\n\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nServerModule -->\n\nPseudonymApiModule->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\nSharingApiModule\n\nSharingApiModule\n\nServerModule -->\n\nSharingApiModule->ServerModule\n\n\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nServerModule -->\n\nSystemApiModule->ServerModule\n\n\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nServerModule -->\n\nTaskApiModule->ServerModule\n\n\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nServerModule -->\n\nTeamsApiModule->ServerModule\n\n\n\n\n\nToolApiModule\n\nToolApiModule\n\nServerModule -->\n\nToolApiModule->ServerModule\n\n\n\n\n\nUserApiModule\n\nUserApiModule\n\nServerModule -->\n\nUserApiModule->ServerModule\n\n\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nServerModule -->\n\nUserLoginMigrationApiModule->ServerModule\n\n\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nServerModule -->\n\nVideoConferenceApiModule->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 AccountApiModule\n \n \n AuthenticationApiModule\n \n \n BoardApiModule\n \n \n CollaborativeStorageModule\n \n \n CoreModule\n \n \n FilesStorageClientModule\n \n \n GroupApiModule\n \n \n ImportUserModule\n \n \n LearnroomApiModule\n \n \n LegacySchoolApiModule\n \n \n LessonApiModule\n \n \n LoggerModule\n \n \n MetaTagExtractorApiModule\n \n \n MetaTagExtractorModule\n \n \n NewsModule\n \n \n OauthApiModule\n \n \n OauthProviderApiModule\n \n \n PseudonymApiModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n SharingApiModule\n \n \n SystemApiModule\n \n \n TaskApiModule\n \n \n TeamsApiModule\n \n \n ToolApiModule\n \n \n UserApiModule\n \n \n UserLoginMigrationApiModule\n \n \n VideoConferenceApiModule\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: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 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 { 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 { LegacySchoolApiModule } from '@modules/legacy-school/legacy-school-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';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { RedisModule, REDIS_CLIENT } from '@infra/redis';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_URL, DB_USERNAME } 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\tLegacySchoolApiModule,\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\nAccountApiModule\n\nAccountApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nAccountApiModule->ServerTestModule\n\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nServerTestModule -->\n\nAuthenticationApiModule->ServerTestModule\n\n\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nServerTestModule -->\n\nBoardApiModule->ServerTestModule\n\n\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nServerTestModule -->\n\nCollaborativeStorageModule->ServerTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nServerTestModule -->\n\nCoreModule->ServerTestModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nServerTestModule -->\n\nFilesStorageClientModule->ServerTestModule\n\n\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nServerTestModule -->\n\nGroupApiModule->ServerTestModule\n\n\n\n\n\nImportUserModule\n\nImportUserModule\n\nServerTestModule -->\n\nImportUserModule->ServerTestModule\n\n\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nServerTestModule -->\n\nLearnroomApiModule->ServerTestModule\n\n\n\n\n\nLegacySchoolApiModule\n\nLegacySchoolApiModule\n\nServerTestModule -->\n\nLegacySchoolApiModule->ServerTestModule\n\n\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nServerTestModule -->\n\nLessonApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nServerTestModule -->\n\nMetaTagExtractorApiModule->ServerTestModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nServerTestModule -->\n\nMetaTagExtractorModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nNewsModule\n\nNewsModule\n\nServerTestModule -->\n\nNewsModule->ServerTestModule\n\n\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nServerTestModule -->\n\nOauthApiModule->ServerTestModule\n\n\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nServerTestModule -->\n\nOauthProviderApiModule->ServerTestModule\n\n\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nServerTestModule -->\n\nPseudonymApiModule->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\nSharingApiModule\n\nSharingApiModule\n\nServerTestModule -->\n\nSharingApiModule->ServerTestModule\n\n\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nServerTestModule -->\n\nSystemApiModule->ServerTestModule\n\n\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nServerTestModule -->\n\nTaskApiModule->ServerTestModule\n\n\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nServerTestModule -->\n\nTeamsApiModule->ServerTestModule\n\n\n\n\n\nToolApiModule\n\nToolApiModule\n\nServerTestModule -->\n\nToolApiModule->ServerTestModule\n\n\n\n\n\nUserApiModule\n\nUserApiModule\n\nServerTestModule -->\n\nUserApiModule->ServerTestModule\n\n\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nServerTestModule -->\n\nUserLoginMigrationApiModule->ServerTestModule\n\n\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nServerTestModule -->\n\nVideoConferenceApiModule->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 AccountApiModule\n \n \n AuthenticationApiModule\n \n \n BoardApiModule\n \n \n CollaborativeStorageModule\n \n \n CoreModule\n \n \n FilesStorageClientModule\n \n \n GroupApiModule\n \n \n ImportUserModule\n \n \n LearnroomApiModule\n \n \n LegacySchoolApiModule\n \n \n LessonApiModule\n \n \n LoggerModule\n \n \n MetaTagExtractorApiModule\n \n \n MetaTagExtractorModule\n \n \n MongoMemoryDatabaseModule\n \n \n NewsModule\n \n \n OauthApiModule\n \n \n OauthProviderApiModule\n \n \n PseudonymApiModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n SharingApiModule\n \n \n SystemApiModule\n \n \n TaskApiModule\n \n \n TeamsApiModule\n \n \n ToolApiModule\n \n \n UserApiModule\n \n \n UserLoginMigrationApiModule\n \n \n VideoConferenceApiModule\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: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 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: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 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 { 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 { LegacySchoolApiModule } from '@modules/legacy-school/legacy-school-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';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { RedisModule, REDIS_CLIENT } from '@infra/redis';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_URL, DB_USERNAME } 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\tLegacySchoolApiModule,\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 IShareTokenProperties {\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: IShareTokenProperties) {\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 {\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';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\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 { EntityId } from '@shared/domain';\nimport { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\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"},"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: IShareTokenProperties)\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 IShareTokenProperties\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 : IShareTokenProperties\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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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 { IShareTokenProperties, 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\tentityFactory(props: IShareTokenProperties): 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): IShareTokenProperties {\n\t\tconst properties: IShareTokenProperties = {\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:24\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: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 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:204\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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: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 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 { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { EntityId, Permission } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\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 {\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_providers\n\n\n\ncluster_SharingModule_imports\n\n\n\ncluster_SharingModule_exports\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 { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain';\nimport { ScanResult } from '@infra/antivirus';\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';\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 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: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 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 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: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 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: 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: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 { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SchoolNumberMissingLoggableException, UserLoginMigrationAlreadyClosedLoggableException } from '../error';\nimport { UserLoginMigrationStartLoggable } 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: string, schoolId: string): 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 as string));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.closedAt\n\t\t\t);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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 IStorageProviderProperties {\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: IStorageProviderProperties) {\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"},"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';\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 ISubmissionProperties {\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: ISubmissionProperties) {\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:91\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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';\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:100\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:96\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\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';\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';\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 { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 { ISubmissionProperties, Submission } from '@shared/domain';\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: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 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: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 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: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 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:6\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: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 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:14\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: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 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 { EntityId, FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain';\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';\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';\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 { EntityId, FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain';\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:6\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:8\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: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 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: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 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: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 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 { FileElement, isSubmissionItemContent, RichTextElement, SubmissionItem, UserBoardRoles } from '@shared/domain';\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:11\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: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 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: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 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: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 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 { ObjectId } from 'bson';\nimport { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\n\nimport { EntityId, isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain';\nimport { ValidationError } from '@shared/common';\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:12\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\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: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 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: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 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 {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tEntityId,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain';\nimport { AuthorizationService, Action } from '@modules/authorization';\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';\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"},"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: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 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: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 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: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 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 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: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 \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:10\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Counted, CourseGroup, EntityId, Submission } from '@shared/domain';\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:7\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, Submission } from '@shared/domain';\nimport { SubmissionRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\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:7\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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { EntityId, Permission, Submission, User } from '@shared/domain';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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 { IEncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements IEncryptionService {\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"},"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\nSystemModule\n\nSystemModule\n\n\n\nSystemApiModule\n\nSystemApiModule\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 SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule],\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 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 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:23\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:38\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 { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { SystemFilterParams } from '@modules/system/controller/dto/system.filter.params';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse } from './dto/public-system-list.response';\nimport { PublicSystemResponse } from './dto/public-system-response';\nimport { SystemIdParams } from './dto/system-id.params';\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\n \n\n\n\n\n\n\n\n\n\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 { EntityId } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\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 : LdapConfig\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfig, 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 : OauthConfig\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 : OidcConfig\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 ISystemProperties {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfig;\n\toidcConfig?: OidcConfig;\n\tldapConfig?: LdapConfig;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfig {\n\tconstructor(oauthConfig: OauthConfig) {\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 LdapConfig {\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 OidcConfig {\n\tconstructor(oidcConfig: OidcConfig) {\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: ISystemProperties) {\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?: OauthConfig;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfig;\n\n\t@Embedded({ entity: () => LdapConfig, object: true, nullable: true })\n\tldapConfig?: LdapConfig;\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/SystemFactory.html":{"url":"classes/SystemFactory.html","title":"class - SystemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFactory\n\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/system.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 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/system.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 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/system.factory.ts:7\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/system.factory.ts:40\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 { ISystemProperties, LdapConfig, OauthConfig, OidcConfig, SystemEntity } from '@shared/domain';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfig({\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: 'http://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'http://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'http://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'http://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'http://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 LdapConfig({\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 OidcConfig({\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 systemFactory = SystemFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'http://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"},"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';\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/oauth/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 : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/system-id.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 SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\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/SystemIdParams-1.html":{"url":"classes/SystemIdParams-1.html","title":"class - SystemIdParams-1","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';\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: OauthConfig | 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 OauthConfig | 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 { OauthConfig, SystemEntity } from '@shared/domain';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\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: OauthConfig | 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\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\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 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 SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemService } from '@modules/system/service/system.service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [SystemRepo, SystemService, SystemOidcService],\n\texports: [SystemService, SystemOidcService],\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: OidcConfig)\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 OidcConfig\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 { OidcConfig, SystemEntity } from '@shared/domain';\nimport { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\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: OidcConfig): 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: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.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 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 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: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 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: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 { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { EntityId, SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '@modules/system/mapper/system-oidc.mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\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"},"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/shared/repo/system/system.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 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/system.repo.ts:31\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/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 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/system.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n@Injectable()\nexport class SystemRepo 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"},"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"},"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';\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 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: SystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.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 SystemRepo\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/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 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/system.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 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/system.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 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/system.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 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 { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { EntityId, SystemEntity, SystemTypeEnum } from '@shared/domain';\nimport { IdentityManagementOauthService } from '@infra/identity-management/identity-management-oauth.service';\nimport { SystemRepo } from '@shared/repo';\nimport { SystemMapper } from '@modules/system/mapper/system.mapper';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: SystemRepo,\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"},"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 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(systemService: SystemService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.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 systemService\n \n \n SystemService\n \n \n \n No\n \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 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:11\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: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 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 { EntityId, SystemEntity, SystemType, SystemTypeEnum } from '@shared/domain';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { SystemService } from '@modules/system/service/system.service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(private readonly systemService: SystemService) {}\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.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.systemService.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.systemService.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\n \n\n\n\n\n\n\n\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';\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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\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\nLessonRepo\n\nLessonRepo\n\nTaskApiModule -->\n\nLessonRepo->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 LessonRepo\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 TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, LessonRepo, 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 { 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/';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\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 { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { TaskRepo } from '@shared/repo';\nimport { 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';\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, lessonRepo: LessonRepo, 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:11\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 lessonRepo\n \n \n LessonRepo\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: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 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: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 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:112\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: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 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: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 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: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 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: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 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: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 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 { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, EntityId, Task, LessonEntity, User } from '@shared/domain';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\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 lessonRepo: LessonRepo,\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.lessonRepo.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"},"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 ITaskCreate\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 { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, ITaskCreate } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class TaskCreateParams implements ITaskCreate {\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 { ITaskProperties, Task } from '@shared/domain';\nimport { User } from '@shared/domain/entity';\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';\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: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 params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ITaskCreate\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: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 params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ITaskUpdate\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: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 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 { InputFormat, ITaskCreate, ITaskUpdate, RichText, TaskWithStatusVo } from '@shared/domain';\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): ITaskUpdate {\n\t\tconst dto: ITaskUpdate = {\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): ITaskCreate {\n\t\tconst dto: ITaskCreate = {\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_providers\n\n\n\ncluster_TaskModule_exports\n\n\n\ncluster_TaskModule_imports\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\nLessonRepo\n\nLessonRepo\n\nTaskModule -->\n\nLessonRepo->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 LessonRepo\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, LessonRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, LessonRepo, 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"},"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';\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:8\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: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 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: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 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: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 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: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 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 { Injectable } from '@nestjs/common';\nimport { Counted, EntityId, IFindOptions, Task } from '@shared/domain';\nimport { TaskRepo } from '@shared/repo';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\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"},"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: ITaskStatus)\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 ITaskStatus\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 { ITaskStatus } from '@shared/domain';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: ITaskStatus): 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, lessonRepo: LessonRepo, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.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 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 lessonRepo\n \n \n LessonRepo\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: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 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: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 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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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?: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.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 userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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: IPagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.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 user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n IPagination\n \n\n \n No\n \n\n\n \n \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:218\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:185\n \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:197\n \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: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 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 { Injectable, UnauthorizedException } from '@nestjs/common';\nimport {\n\tCounted,\n\tCourse,\n\tEntityId,\n\tIPagination,\n\tITaskStatus,\n\tLessonEntity,\n\tPermission,\n\tSortOrder,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain';\nimport { CourseRepo, LessonRepo, TaskRepo } from '@shared/repo';\nimport { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\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 lessonRepo: LessonRepo,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: IPagination): 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: ITaskStatus;\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: IPagination): 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: IPagination): 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: IPagination): 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.lessonRepo.findAllByCourseIds(writeCourseIds),\n\t\t\tthis.lessonRepo.findAllByCourseIds(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"},"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 ITaskUpdate\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 { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\nimport { InputFormat, ITaskUpdate } from '@shared/domain';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class TaskUpdateParams implements ITaskUpdate {\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/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: ITaskStatus)\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 ITaskStatus\n \n \n \n No\n \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 : ITaskStatus\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 { IEntityWithSchool } from '../interface';\nimport type { ILearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { ITaskProperties, ITaskStatus } 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!: ITaskStatus;\n\n\tconstructor(task: Task, status: ITaskStatus) {\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 ITaskParent {\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 ILearnroomElement, IEntityWithSchool {\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: ITaskProperties) {\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(): ITaskParent | 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): ITaskStatus {\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): ITaskStatus {\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';\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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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 { ITeamProperties, Role, TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { DeepPartial } from 'fishery';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\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 { TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { Injectable } from '@nestjs/common';\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 { 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';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { EntityId } from '../types';\n\nexport interface INewsProperties {\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: INewsProperties) {\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: INewsProperties): 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: INewsProperties) {\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: INewsProperties) {\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: INewsProperties) {\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 { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ICurrentUser, Authenticate, CurrentUser } from '@modules/authentication';\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"},"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:6\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: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 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: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 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, TeamEntity } from '@shared/domain';\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';\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: ITeamUserProperties)\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 ITeamUserProperties\n \n \n \n No\n \n \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 ITeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface ITeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: ITeamUserProperties) {\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: ITeamProperties) {\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';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\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"},"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: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 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:35\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: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 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: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/teams/teams.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId, Role, TeamEntity, TeamUserEntity } from '@shared/domain';\nimport { ObjectId } from '@mikro-orm/mongodb';\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"},"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';\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';\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/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"},"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/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 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:15\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 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: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 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: string, schoolId: string, 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: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 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 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 { Injectable } from '@nestjs/common';\nimport { Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { Logger } from '@src/core/logger';\nimport { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\nimport { UserLoginMigrationMandatoryLoggable } 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: string, schoolId: string, 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} else if (userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime()) {\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} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.closedAt\n\t\t\t);\n\t\t} else {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(schoolId, mandatory);\n\n\t\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id as string, mandatory));\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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/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\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:14\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\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\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\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: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 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: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 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: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 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: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 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 import { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\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 \n \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: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 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: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 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: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 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: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 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 \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\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\n \n\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"},"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 \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: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 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: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 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: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 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:101\n \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: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 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 \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: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 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 { 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 { IFindOptions, Page } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\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\n \n\n\n\n\n\n\n\n\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 { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\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 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, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.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 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 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 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: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 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: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 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 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: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 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 : void\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: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 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:22\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ToolConfigType, ToolConfigurationStatus } from '../../common/enum';\nimport { CommonToolService } from '../../common/service';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\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\tIToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\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 commonToolService: CommonToolService\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: IToolLaunchStrategy | 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\tthis.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: IToolLaunchStrategy | 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 isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): void {\n\t\tconst status: ToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\t\tif (status !== ToolConfigurationStatus.LATEST) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(userId, contextExternalTool.id ?? '');\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/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:11\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: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 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, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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.findById(\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_exports\n\n\n\ncluster_ToolModule_providers\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:13\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: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 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: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 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 { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, Course, EntityId, LegacySchoolDo, User } from '@shared/domain';\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 : ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ToolConfigurationStatus;\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 { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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\t\tconst 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: ToolConfigurationStatus)\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 ToolConfigurationStatus\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 { ToolConfigurationStatus } from '../../common/enum';\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: ToolConfigurationStatus\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:28\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 : ToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolConfigurationStatusResponse, enumName: 'ToolConfigurationStatusResponse', 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:28\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 { ToolConfigurationStatusResponse } from './tool-configuration-status.response';\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\tenum: ToolConfigurationStatusResponse,\n\t\tenumName: 'ToolConfigurationStatusResponse',\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ToolConfigurationStatusResponse;\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, commonToolService: CommonToolService, externalToolLogoService: ExternalToolLogoService)\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 commonToolService\n \n \n CommonToolService\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 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';\nimport { ToolConfigurationStatus } from '../../common/enum';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\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';\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 commonToolService: CommonToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findById(\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: ToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\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:10\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: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 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: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 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: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 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: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 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, Permission } from '@shared/domain';\nimport { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\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.findById(\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 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: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 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:101\n \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: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 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: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 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: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 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 {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiResponse,\n\tApiOkResponse,\n\tApiBadRequestResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n\tApiOperation,\n} from '@nestjs/swagger';\nimport { Body, Controller, Delete, Get, Param, Post, Query, Put, HttpCode, HttpStatus } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalTool } from '../domain';\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\n \n\n\n\n\n\n\n\n\n\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)\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 \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: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 { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly toolId: EntityId) {\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},\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: ToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.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 status\n \n ToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolConfigurationStatusResponse } from '../../context-external-tool/controller/dto';\nimport { ToolConfigurationStatus } from '../enum';\n\nexport const statusMapping: Record = {\n\t[ToolConfigurationStatus.LATEST]: ToolConfigurationStatusResponse.LATEST,\n\t[ToolConfigurationStatus.OUTDATED]: ToolConfigurationStatusResponse.OUTDATED,\n\t[ToolConfigurationStatus.UNKNOWN]: ToolConfigurationStatusResponse.UNKNOWN,\n};\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ToolConfigurationStatus): ToolConfigurationStatusResponse {\n\t\treturn statusMapping[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"},"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"},"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\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:150\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';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, IsUrl, 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@IsUrl()\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 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| 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],\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],\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}\n\n \n\n\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 { IsDate, IsOptional, IsString } from 'class-validator';\nimport { InputFormat } from '@shared/domain';\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"},"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 \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 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 \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:91\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:41\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:78\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:62\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:44\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:72\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:84\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:69\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:81\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:94\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:47\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:75\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:59\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:97\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:87\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:65\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:51\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:55\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { IEntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface IUserProperties {\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}\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 IEntityWithSchool {\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\tconstructor(props: IUserProperties) {\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}\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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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: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 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: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 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:34\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: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 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: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 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, EntityId, Permission, SchoolEntity, User } from '@shared/domain';\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"},"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 { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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 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:43\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 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\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}\n}\n\n \n\n\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 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:141\n \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: IUserProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 props\n \n IUserProperties\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: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 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: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 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: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 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:60\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 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: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 entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUserProperties\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: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 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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:77\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: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 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: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 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:50\n\n \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:25\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport {\n\tEntityId,\n\tIFindOptions,\n\tIPagination,\n\tIUserProperties,\n\tRole,\n\tSchoolEntity,\n\tSortOrder,\n\tSortOrderMap,\n\tSystemEntity,\n\tUser,\n} from '@shared/domain';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserQuery } from '@modules/user/service/user-query.type';\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: IUserProperties): User {\n\t\treturn new User(props);\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: IPagination = 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 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});\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): IUserProperties {\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};\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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: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 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 { EntityId, RoleName } from '@shared/domain';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\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:3\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:22\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:34\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:24\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:38\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:20\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:36\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:43\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:26\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:32\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:45\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:41\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:28\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:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId, LanguageType } from '@shared/domain';\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:41\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:23\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:32\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: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 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: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 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 { IUserProperties, Permission, Role, RoleName, User } from '@shared/domain';\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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';\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/error/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(userLoginMigrationId: EntityId, closedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/error/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 userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n closedAt\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/error/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';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly closedAt: Date) {\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_imports\n\n\n\ncluster_UserLoginMigrationApiModule_providers\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\nPageContentMapper\n\nPageContentMapper\n\nUserLoginMigrationApiModule -->\n\nPageContentMapper->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 PageContentMapper\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 UserMigrationController\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 { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport { UserMigrationController } from './controller/user-migration.controller';\nimport { PageContentMapper } from './mapper';\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\tPageContentMapper,\n\t],\n\tcontrollers: [UserMigrationController, 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';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../error';\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/UserLoginMigrationError.html":{"url":"classes/UserLoginMigrationError.html","title":"class - UserLoginMigrationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationError\n\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/error/user-login-migration.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/user-login-migration/error/user-login-migration.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 UserLoginMigrationError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'USER_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration failed',\n\t\t\t\tdefaultMessage: 'Migration of user failed during migration process',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\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/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/error/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/error/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/error/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';\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, 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\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';\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,\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: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 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';\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\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\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_imports\n\n\n\ncluster_UserLoginMigrationModule_exports\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/error/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/error/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/error/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';\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: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: IUserLoginMigration)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo: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 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: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 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:55\n\n \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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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: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 } from '@nestjs/common';\nimport { EntityId, SchoolEntity, SystemEntity, UserLoginMigrationDO } from '@shared/domain';\nimport { IUserLoginMigration, UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\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:7\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: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 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 { Injectable } from '@nestjs/common';\nimport { SchoolFeatures, UserLoginMigrationDO } from '@shared/domain';\nimport { LegacySchoolService } from '@modules/legacy-school';\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 Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Async\n findMigrationBySchool\n \n \n Async\n findMigrationByUser\n \n \n Async\n restartMigration\n \n \n Async\n setMigration\n \n \n Async\n setMigrationMandatory\n \n \n Async\n startMigration\n \n \n Private\n Async\n updateExistingMigration\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: SystemService, schoolMigrationService: SchoolMigrationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 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 SystemService\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 \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(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.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 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 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:149\n \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 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: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 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:180\n \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 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: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 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 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: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 \n \n \n Returns : Promise\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(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 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 setMigration\n \n \n \n \n \n \n Use the other functions in this class instead.\n \n \n \n \n \n setMigration(schoolId: EntityId, oauthMigrationPossible?: boolean, oauthMigrationMandatory?: boolean, oauthMigrationFinished?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauthMigrationPossible\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n oauthMigrationMandatory\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n oauthMigrationFinished\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 Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(schoolId: string, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 schoolId\n \n string\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 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: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 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 Private\n Async\n updateExistingMigration\n \n \n \n \n \n \n \n updateExistingMigration(userLoginMigrationDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.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 userLoginMigrationDO\n \n UserLoginMigrationDO\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 { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId, LegacySchoolDo, SchoolFeatures, SystemTypeEnum, UserDO, UserLoginMigrationDO } from '@shared/domain';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemDto, SystemService } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { UserLoginMigrationNotFoundLoggableException } from '../error';\nimport { SchoolMigrationService } from './school-migration.service';\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: SystemService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService\n\t) {}\n\n\t/**\n\t * @deprecated Use the other functions in this class instead.\n\t *\n\t * @param schoolId\n\t * @param oauthMigrationPossible\n\t * @param oauthMigrationMandatory\n\t * @param oauthMigrationFinished\n\t */\n\tasync setMigration(\n\t\tschoolId: EntityId,\n\t\toauthMigrationPossible?: boolean,\n\t\toauthMigrationMandatory?: boolean,\n\t\toauthMigrationFinished?: boolean\n\t): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\tschoolId\n\t\t);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO;\n\n\t\tif (existingUserLoginMigration) {\n\t\t\tuserLoginMigration = existingUserLoginMigration;\n\t\t} else {\n\t\t\tif (!oauthMigrationPossible) {\n\t\t\t\tthrow new UnprocessableEntityException(`School ${schoolId} has no UserLoginMigration`);\n\t\t\t}\n\n\t\t\tuserLoginMigration = await this.createNewMigration(schoolDo);\n\n\t\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\t\tawait this.schoolService.save(schoolDo);\n\t\t}\n\n\t\tif (oauthMigrationPossible === true) {\n\t\t\tuserLoginMigration.closedAt = undefined;\n\t\t\tuserLoginMigration.finishedAt = undefined;\n\t\t}\n\n\t\tif (oauthMigrationMandatory !== undefined) {\n\t\t\tuserLoginMigration.mandatorySince = oauthMigrationMandatory ? new Date() : undefined;\n\t\t}\n\n\t\tif (oauthMigrationFinished !== undefined) {\n\t\t\tuserLoginMigration.closedAt = oauthMigrationFinished ? new Date() : undefined;\n\t\t\tuserLoginMigration.finishedAt = oauthMigrationFinished\n\t\t\t\t? new Date(Date.now() + (Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number))\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tconst savedMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\tif (oauthMigrationFinished !== undefined) {\n\t\t\t// this would throw an error when executed before the userLoginMigrationRepo.save method.\n\t\t\tawait this.schoolService.removeFeature(schoolId, SchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION);\n\t\t}\n\n\t\treturn savedMigration;\n\t}\n\n\tasync 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\tasync restartMigration(schoolId: string): Promise {\n\t\tconst existingUserLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!existingUserLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst updatedUserLoginMigration = await this.updateExistingMigration(existingUserLoginMigration);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(schoolId);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tasync setMigrationMandatory(schoolId: string, mandatory: boolean): Promise {\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\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\tasync closeMigration(schoolId: string): Promise {\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(schoolId, SchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION);\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 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 async updateExistingMigration(userLoginMigrationDO: UserLoginMigrationDO) {\n\t\tuserLoginMigrationDO.closedAt = undefined;\n\t\tuserLoginMigrationDO.finishedAt = undefined;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\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\tasync findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync 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\tasync 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)\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\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';\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) {}\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 getPageContent\n \n \n Private\n logMigrationInformation\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: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.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 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 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 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: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 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: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 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 getPageContent\n \n \n \n \n \n \n \n getPageContent(pageType: PageTypes, sourceSystem: string, targetSystem: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.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 pageType\n \n PageTypes\n \n\n \n No\n \n\n\n \n \n sourceSystem\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystem\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n logMigrationInformation\n \n \n \n \n \n \n \n logMigrationInformation(userId: string, text?: string, oauthData?: OauthDataDto, targetSystemId?: string, school?: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.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 userId\n \n string\n \n\n \n No\n \n\n\n \n \n text\n \n string\n \n\n \n Yes\n \n\n\n \n \n oauthData\n \n OauthDataDto\n \n\n \n Yes\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n school\n \n LegacySchoolDo\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 Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: string, 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: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 userJwt\n \n string\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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId, Page, Permission, LegacySchoolDo, User, UserLoginMigrationDO } from '@shared/domain';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AuthenticationService } from '@modules/authentication/services/authentication.service';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthTokenDto } from '@modules/oauth';\nimport { OAuthService } from '@modules/oauth/service/oauth.service';\nimport { ProvisioningService } from '@modules/provisioning';\nimport { OauthDataDto } from '@modules/provisioning/dto';\nimport { OAuthMigrationError, SchoolMigrationError, UserLoginMigrationError } from '../error';\nimport { PageTypes } from '../interface/page-types.enum';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { MigrationDto, PageContentDto } from '../service/dto';\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: LegacyLogger\n\t) {}\n\n\tasync getPageContent(pageType: PageTypes, sourceSystem: string, targetSystem: string): Promise {\n\t\tconst content: PageContentDto = await this.userMigrationService.getPageContent(\n\t\t\tpageType,\n\t\t\tsourceSystem,\n\t\t\ttargetSystem\n\t\t);\n\n\t\treturn content;\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: string,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logMigrationInformation(currentUserId, `Migrates to targetSystem with id ${targetSystemId}`);\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\tthis.logMigrationInformation(currentUserId, undefined, data, targetSystemId);\n\n\t\tif (data.externalSchool) {\n\t\t\tlet schoolToMigrate: LegacySchoolDo | null;\n\t\t\t// TODO: N21-820 after fully switching to the new client login flow, try/catch will be obsolete and schoolToMigrate should throw correct errors\n\t\t\ttry {\n\t\t\t\tschoolToMigrate = await this.schoolMigrationService.schoolToMigrate(\n\t\t\t\t\tcurrentUserId,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t\t);\n\t\t\t} catch (error: unknown) {\n\t\t\t\tlet details: Record | undefined;\n\n\t\t\t\tif (\n\t\t\t\t\terror instanceof OAuthMigrationError &&\n\t\t\t\t\terror.officialSchoolNumberFromSource &&\n\t\t\t\t\terror.officialSchoolNumberFromTarget\n\t\t\t\t) {\n\t\t\t\t\tdetails = {\n\t\t\t\t\t\tsourceSchoolNumber: error.officialSchoolNumberFromSource,\n\t\t\t\t\t\ttargetSchoolNumber: error.officialSchoolNumberFromTarget,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthrow new SchoolMigrationError(details, error);\n\t\t\t}\n\n\t\t\tthis.logMigrationInformation(\n\t\t\t\tcurrentUserId,\n\t\t\t\t`Found school with officialSchoolNumber (${data.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\tdata.externalSchool.externalId,\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logMigrationInformation(currentUserId, undefined, data, data.system.systemId, schoolToMigrate);\n\t\t\t}\n\t\t}\n\n\t\tconst migrationDto: MigrationDto = await this.userMigrationService.migrateUser(\n\t\t\tcurrentUserId,\n\t\t\tdata.externalUser.externalId,\n\t\t\ttargetSystemId\n\t\t);\n\n\t\t// TODO: N21-820 after implementation of new client login flow, redirects will be obsolete and migrate should throw errors directly\n\t\tif (migrationDto.redirect.includes('migration/error')) {\n\t\t\tthrow new UserLoginMigrationError({ userId: currentUserId });\n\t\t}\n\n\t\tthis.logMigrationInformation(currentUserId, `Successfully migrated user and redirects to ${migrationDto.redirect}`);\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n\n\tprivate logMigrationInformation(\n\t\tuserId: string,\n\t\ttext?: string,\n\t\toauthData?: OauthDataDto,\n\t\ttargetSystemId?: string,\n\t\tschool?: LegacySchoolDo\n\t) {\n\t\tlet message = `MIGRATION (userId: ${userId}): ${text ?? ''}`;\n\t\tif (!school && oauthData) {\n\t\t\tmessage += `Provisioning data received from targetSystem (${targetSystemId ?? 'N/A'} with data: \n\t\t\t{ \n\t\t\t\t\"officialSchoolNumber\": ${oauthData.externalSchool?.officialSchoolNumber ?? 'N/A'},\n\t\t\t\t\"externalSchoolId\": ${oauthData.externalSchool?.externalId ?? ''}\n\t\t\t\t\"externalUserId\": ${oauthData.externalUser.externalId},\n\t\t\t})`;\n\t\t}\n\t\tif (school && oauthData) {\n\t\t\tmessage += `Successfully migrated school (${school.name} - (${school.id ?? 'N/A'}) to targetSystem ${\n\t\t\t\ttargetSystemId ?? 'N/A'\n\t\t\t} which has the externalSchoolId ${oauthData.externalSchool?.externalId ?? 'N/A'}`;\n\t\t}\n\t\tthis.logger.debug(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/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 { Role, User } from '@shared/domain';\nimport { UserDto } from '@modules/user/uc/dto/user.dto';\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: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 query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INameMatch\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: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 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 { INameMatch, MatchCreator, User } from '@shared/domain';\nimport { UserRole, UserMatchResponse } 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): INameMatch {\n\t\tconst scope: INameMatch = {};\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 { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Course, EntityId, Pseudonym, RoleName, RoleReference, UserDO } from '@shared/domain';\nimport { 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 { 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"},"controllers/UserMigrationController.html":{"url":"controllers/UserMigrationController.html","title":"controller - UserMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserMigrationController\n\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-migration.controller.ts\n \n\n \n Prefix\n \n \n user-migration\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 getMigrationPageDetails\n \n \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 getMigrationPageDetails\n \n \n \n \n \n \n \n getMigrationPageDetails(pageTypeQuery: PageContentQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get('page-content')\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-migration.controller.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 pageTypeQuery\n \n PageContentQueryParams\n \n\n \n No\n \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 { Controller, Get, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PageContentMapper } from '../mapper';\nimport { PageContentDto } from '../service/dto';\nimport { UserLoginMigrationUc } from '../uc/user-login-migration.uc';\nimport { PageContentQueryParams, PageContentResponse } from './dto';\n\n@ApiTags('UserMigration')\n@Controller('user-migration')\n/**\n * @Deprecated\n */\nexport class UserMigrationController {\n\tconstructor(private readonly uc: UserLoginMigrationUc, private readonly pageContentMapper: PageContentMapper) {}\n\n\t@Get('page-content')\n\tasync getMigrationPageDetails(@Query() pageTypeQuery: PageContentQueryParams): Promise {\n\t\tconst content: PageContentDto = await this.uc.getPageContent(\n\t\t\tpageTypeQuery.pageType,\n\t\t\tpageTypeQuery.sourceSystem,\n\t\t\tpageTypeQuery.targetSystem\n\t\t);\n\n\t\tconst response: PageContentResponse = this.pageContentMapper.mapDtoToResponse(content);\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/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"},"classes/UserMigrationMapper.html":{"url":"classes/UserMigrationMapper.html","title":"class - UserMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationMapper\n\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/user-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 mapDtoToResponse\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 mapDtoToResponse\n \n \n \n \n \n \n \n mapDtoToResponse(dto: MigrationDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/user-migration.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 dto\n \n MigrationDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MigrationDto } from '@modules/user-login-migration/service/dto';\nimport { UserMigrationResponse } from '../controller/dto';\n\nexport class UserMigrationMapper {\n\tstatic mapDtoToResponse(dto: MigrationDto): UserMigrationResponse {\n\t\tconst response: UserMigrationResponse = new UserMigrationResponse({\n\t\t\tredirect: dto.redirect,\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"},"classes/UserMigrationResponse.html":{"url":"classes/UserMigrationResponse.html","title":"class - UserMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationResponse\n\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/user-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 redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/user-migration.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 props\n \n \n UserMigrationResponse\n \n \n \n No\n \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/oauth/controller/dto/user-migration.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class UserMigrationResponse {\n\tconstructor(props: UserMigrationResponse) {\n\t\tthis.redirect = props.redirect;\n\t}\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"},"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 Properties\n \n \n \n \n \n \n Private\n Readonly\n dashboardUrl\n \n \n Private\n Readonly\n hostUrl\n \n \n Private\n Readonly\n loginUrl\n \n \n Private\n Readonly\n logoutUrl\n \n \n Private\n Readonly\n publicBackendUrl\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createUserMigrationDto\n \n \n Private\n Async\n doMigration\n \n \n Private\n getLoginUrl\n \n \n Async\n getMigrationConsentPageRedirect\n \n \n getMigrationRedirectUri\n \n \n Async\n getPageContent\n \n \n Async\n migrateUser\n \n \n Private\n Async\n rollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, systemService: SystemService, userService: UserService, logger: LegacyLogger, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:29\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 systemService\n \n \n SystemService\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 logger\n \n \n LegacyLogger\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 createUserMigrationDto\n \n \n \n \n \n \n \n createUserMigrationDto(urlPath: string, sourceSystemId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlPath\n \n string\n \n\n \n No\n \n\n\n \n \n sourceSystemId\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 : MigrationDto\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(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string, accountId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 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 accountId\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 Private\n getLoginUrl\n \n \n \n \n \n \n \n getLoginUrl(system: SystemDto, postLoginRedirect?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.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 system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n postLoginRedirect\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 Async\n getMigrationConsentPageRedirect\n \n \n \n \n \n \n \n getMigrationConsentPageRedirect(officialSchoolNumber: string, originSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n originSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMigrationRedirectUri\n \n \n \n \n \n \ngetMigrationRedirectUri()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:91\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPageContent\n \n \n \n \n \n \n \n getPageContent(pageType: PageTypes, sourceId: string, targetId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 pageType\n \n PageTypes\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 targetId\n \n string\n \n\n \n No\n \n\n\n \n \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: string, externalUserId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.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 currentUserId\n \n string\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 string\n \n\n \n No\n \n\n\n \n \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 rollbackMigration\n \n \n \n \n \n \n \n rollbackMigration(userDOCopy: UserDO, accountCopy: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-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 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 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 Properties\n \n \n \n \n \n \n \n Private\n Readonly\n dashboardUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/dashboard'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n hostUrl\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/user-migration.service.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n loginUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/login'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '/logout'\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n publicBackendUrl\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/user-migration.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { BadRequestException, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { SystemDto, SystemService } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { EntityId } from '@src/shared/domain/types';\nimport { PageTypes } from '../interface/page-types.enum';\nimport { MigrationDto } from './dto/migration.dto';\nimport { PageContentDto } from './dto/page-content.dto';\n\n@Injectable()\n/**\n * @deprecated\n */\nexport class UserMigrationService {\n\tprivate readonly hostUrl: string;\n\n\tprivate readonly publicBackendUrl: string;\n\n\tprivate readonly dashboardUrl: string = '/dashboard';\n\n\tprivate readonly logoutUrl: string = '/logout';\n\n\tprivate readonly loginUrl: string = '/login';\n\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly accountService: AccountService\n\t) {\n\t\tthis.hostUrl = Configuration.get('HOST') as string;\n\t\tthis.publicBackendUrl = Configuration.get('PUBLIC_BACKEND_URL') as string;\n\t}\n\n\tasync getMigrationConsentPageRedirect(officialSchoolNumber: string, originSystemId: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school || !school.id) {\n\t\t\tthrow new NotFoundException(`School with offical school number ${officialSchoolNumber} does not exist.`);\n\t\t}\n\n\t\tconst url = new URL('/migration', this.hostUrl);\n\t\turl.searchParams.append('origin', originSystemId);\n\t\treturn url.toString();\n\t}\n\n\tasync getPageContent(pageType: PageTypes, sourceId: string, targetId: string): Promise {\n\t\tconst sourceSystem: SystemDto = await this.systemService.findById(sourceId);\n\t\tconst targetSystem: SystemDto = await this.systemService.findById(targetId);\n\n\t\tconst targetSystemLoginUrl: string = this.getLoginUrl(targetSystem);\n\n\t\tswitch (pageType) {\n\t\t\tcase PageTypes.START_FROM_TARGET_SYSTEM: {\n\t\t\t\tconst sourceSystemLoginUrl: string = this.getLoginUrl(sourceSystem, targetSystemLoginUrl.toString());\n\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: sourceSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.loginUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tcase PageTypes.START_FROM_SOURCE_SYSTEM: {\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: targetSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.dashboardUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tcase PageTypes.START_FROM_SOURCE_SYSTEM_MANDATORY: {\n\t\t\t\tconst content: PageContentDto = new PageContentDto({\n\t\t\t\t\tproceedButtonUrl: targetSystemLoginUrl.toString(),\n\t\t\t\t\tcancelButtonUrl: this.logoutUrl,\n\t\t\t\t});\n\t\t\t\treturn content;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new BadRequestException('Unknown PageType requested');\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\tgetMigrationRedirectUri(): string {\n\t\tconst combinedUri = new URL(this.publicBackendUrl);\n\t\tcombinedUri.pathname = `api/v3/sso/oauth/migration`;\n\t\treturn combinedUri.toString();\n\t}\n\n\tasync migrateUser(currentUserId: string, externalUserId: string, targetSystemId: string): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\tlet migrationDto: MigrationDto;\n\t\ttry {\n\t\t\tmigrationDto = await this.doMigration(userDO, externalUserId, account, targetSystemId, accountCopy.systemId);\n\t\t} catch (e: unknown) {\n\t\t\tthis.logger.log({\n\t\t\t\tmessage: 'This error occurred during migration of User:',\n\t\t\t\taffectedUserId: currentUserId,\n\t\t\t\terror: e,\n\t\t\t});\n\n\t\t\tmigrationDto = await this.rollbackMigration(userDOCopy, accountCopy, targetSystemId);\n\t\t}\n\n\t\treturn migrationDto;\n\t}\n\n\tprivate async rollbackMigration(\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tawait this.userService.save(userDOCopy);\n\t\tawait this.accountService.save(accountCopy);\n\n\t\tconst userMigrationDto: MigrationDto = this.createUserMigrationDto(\n\t\t\t'/migration/error',\n\t\t\taccountCopy.systemId ?? '',\n\t\t\ttargetSystemId\n\t\t);\n\t\treturn userMigrationDto;\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\taccountId?: EntityId\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\n\t\tconst userMigrationDto: MigrationDto = this.createUserMigrationDto(\n\t\t\t'/migration/success',\n\t\t\taccountId ?? '',\n\t\t\ttargetSystemId\n\t\t);\n\t\treturn userMigrationDto;\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/N21-632 Move Redirect Logic URLs to Client\n\tprivate createUserMigrationDto(urlPath: string, sourceSystemId: string, targetSystemId: string) {\n\t\tconst errorUrl: URL = new URL(urlPath, this.hostUrl);\n\t\terrorUrl.searchParams.append('sourceSystem', sourceSystemId);\n\t\terrorUrl.searchParams.append('targetSystem', targetSystemId);\n\t\tconst userMigrationDto: MigrationDto = new MigrationDto({\n\t\t\tredirect: errorUrl.toString(),\n\t\t});\n\t\treturn userMigrationDto;\n\t}\n\n\tprivate getLoginUrl(system: SystemDto, postLoginRedirect?: string): string {\n\t\tif (!system.oauthConfig || !system.id) {\n\t\t\tthrow new UnprocessableEntityException(`System ${system?.id || 'unknown'} has no oauth config`);\n\t\t}\n\n\t\tconst loginUrl: URL = new URL(`api/v3/sso/login/${system.id}`, this.publicBackendUrl);\n\t\tif (postLoginRedirect) {\n\t\t\tloginUrl.searchParams.append('postLoginRedirect', postLoginRedirect);\n\t\t} else {\n\t\t\tloginUrl.searchParams.append('migration', 'true');\n\t\t}\n\n\t\treturn loginUrl.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/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_exports\n\n\n\ncluster_UserModule_imports\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 OAuthSSOError\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 Readonly\n DEFAULT_ERRORCODE\n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n Readonly\n errorcode\n \n \n Readonly\n message\n \n \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(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 Properties\n \n \n \n \n \n \n \n Readonly\n DEFAULT_ERRORCODE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : SSOErrorCode.SSO_OAUTH_LOGIN_FAILED\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n DEFAULT_MESSAGE\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Error in SSO Oauth Process.'\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n errorcode\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:7\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 Inherited from OAuthSSOError\n\n \n \n \n \n Defined in OAuthSSOError:5\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/user-not-found-after-provisioning.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\n\n \n import { EntityId } from '@shared/domain';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OAuthSSOError } from './oauth-sso.error';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OAuthSSOError 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\tgetLogMessage(): 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"},"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 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: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 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: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 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: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 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:25\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?: INameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:48\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 INameMatch\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:189\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 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: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 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:185\n \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:21\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 {\n\tCounted,\n\tEntityId,\n\tIFindOptions,\n\tImportUser,\n\tINameMatch,\n\tRole,\n\tSchoolEntity,\n\tSortOrder,\n\tUser,\n} from '@shared/domain';\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?: INameMatch,\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\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: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 | 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: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 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: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 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: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 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: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 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 { Scope } from '@shared/repo';\nimport { EntityId, User } from '@shared/domain';\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 Async\n findUsers\n \n \n Async\n getDisplayName\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:20\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: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 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: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 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: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 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: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 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: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 string\n \n\n \n No\n \n\n\n \n \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: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 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: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 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 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: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 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: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 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: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 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: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 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: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 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: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 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 { 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 { EntityId, IFindOptions, LanguageType, User } from '@shared/domain';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { IUserConfig } 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\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\n \n\n\n\n\n\n\n\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:9\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: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 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: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 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: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 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 { EntityId, LanguageType, User } from '@shared/domain';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { IUserConfig } 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 { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { IEntityWithSchool, ILearnroom } from '@shared/domain/interface';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { ILessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { ITaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface ICourseProperties {\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\n\textends BaseEntityWithTimestamps\n\timplements ILearnroom, IEntityWithSchool, ITaskParent, ILessonParent\n{\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: ICourseProperties) {\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"},"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';\nimport { VideoConferenceState } from './video-conference-state.enum';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\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';\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 { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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:19\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: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 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: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 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: IScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.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 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 IScopeInfo\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: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 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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO } from '@shared/domain';\nimport { UserService } from '@modules/user';\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 { IScopeInfo, 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: IScopeInfo = 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: IScopeInfo\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 {\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 { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\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:11\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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { IScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\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: IScopeInfo = 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: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 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: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 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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { IScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\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: IScopeInfo = 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';\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:11\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: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 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 { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId, UserDO, VideoConferenceDO } from '@shared/domain';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { UserService } from '@modules/user';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\nimport { VideoConferenceService } from '../service';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\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';\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 { defaultVideoConferenceOptions, VideoConferenceOptions } 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_providers\n\n\n\ncluster_VideoConferenceModule_imports\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: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 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: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 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:50\n\n \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: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 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: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 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: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 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: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 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:98\n\n \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:111\n\n \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:116\n\n \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:77\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: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 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: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 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:50\n\n \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:20\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IVideoConferenceProperties, VideoConferenceDO } from '@shared/domain';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { EntityName, Loaded } from '@mikro-orm/core';\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 { VideoConferenceScope } from '@shared/domain';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\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"},"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/swagger : ^7.1.10\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-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\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"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AccountApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AccountModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AntivirusModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n AuthenticationApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthenticationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthorizationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n AuthorizationReferenceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BoardApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BoardModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CacheWrapperModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CalendarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ClassModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CollaborativeStorageAdapterModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CollaborativeStorageModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CommonToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConsoleWriterModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ContextExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CopyHelperModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DatabaseManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DeletionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n EncryptionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ErrorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FeathersModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageAMQPModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageClientModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FilesStorageTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FileSystemModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FwuLearningContentsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FwuLearningContentsTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n GroupApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n GroupModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n H5PEditorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n H5PEditorTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n IdentityManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ImportUserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InterceptorModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n KeycloakAdministrationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n KeycloakConfigurationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n KeycloakModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LearnroomApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LearnroomModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LegacySchoolApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LegacySchoolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LessonApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LessonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LoggerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LtiToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MailModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ManagementModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ManagementServerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ManagementServerTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MetaTagExtractorApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MetaTagExtractorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MongoMemoryDatabaseModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n NewsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OauthProviderServiceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorAMQPModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorConsumerModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n PreviewGeneratorProducerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ProvisioningModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PseudonymApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n PseudonymModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RabbitMQWrapperModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RabbitMQWrapperTestModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RedisModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RocketChatModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n RocketChatUserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RoleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n S3ClientModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n SchoolExternalToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerConsoleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ServerTestModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SharingApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SharingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SystemApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SystemModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TaskApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TaskModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TeamsApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TeamsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ToolLaunchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ToolModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserLoginMigrationApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserLoginMigrationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n UserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ValidationModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n VideoConferenceApiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoConferenceModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\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 \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/miscellaneous/enumerations.html b/miscellaneous/enumerations.html index 7d932229dfb..543b23c2d01 100644 --- a/miscellaneous/enumerations.html +++ b/miscellaneous/enumerations.html @@ -2231,6 +2231,16 @@

                  apps/server/src/modules/deletion/domain/types/deletion-domain-model.enum.ts< Value : pseudonyms + + +  ROCKETCHATUSER + + + + + Value : rocketChatUser + +  TEAMS diff --git a/miscellaneous/variables.html b/miscellaneous/variables.html index 97c92171e41..9fd672e0a55 100644 --- a/miscellaneous/variables.html +++ b/miscellaneous/variables.html @@ -618,6 +618,12 @@

                  Index

                • richTextElementNodeFactory   (apps/.../rich-text-element-node.factory.ts)
                • +
                • + rocketChatUserEntityFactory   (apps/.../rocket-chat-user.entity.factory.ts) +
                • +
                • + rocketChatUserFactory   (apps/.../rocket-chat-user.factory.ts) +
                • roleDtoFactory   (apps/.../role-dto.factory.ts)
                • @@ -8264,6 +8270,78 @@

                  + +
                  + +

                  apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts

                  +
                  +

                  + + + + + + + + + + +
                  + + + rocketChatUserEntityFactory + + +
                  + Default value : RocketChatUserFactory.define< + RocketChatUserEntity, + RocketChatUserEntityProps +>(RocketChatUserEntity, ({ sequence }) => { + return { + id: new ObjectId().toHexString(), + userId: new ObjectId(), + username: `username-${sequence}`, + rcId: `rcId-${sequence}`, + authToken: `aythToken-${sequence}`, + createdAt: new Date(), + updatedAt: new Date(), + }; +}) +
                  +
                  +

                  apps/server/src/modules/rocketchat-user/domain/testing/rocket-chat-user.factory.ts

                  +
                  +

                  + + + + + + + + +
                  + + + rocketChatUserFactory + + +
                  + Default value : BaseFactory.define<RocketChatUser, RocketChatUserProps>( + RocketChatUser, + ({ sequence }) => { + return { + id: new ObjectId().toHexString(), + userId: new ObjectId().toHexString(), + username: `username-${sequence}`, + rcId: `rcId-${sequence}`, + authToken: `aythToken-${sequence}`, + createdAt: new Date(), + updatedAt: new Date(), + }; + } +) +
                  diff --git a/modules.html b/modules.html index e68d1376de4..700e6d93cae 100644 --- a/modules.html +++ b/modules.html @@ -1297,6 +1297,23 @@

                  RocketChatModule

                  +
                  +
                  +
                  +

                  RocketChatUserModule

                  +
                  +
                  +

                  + + Your browser does not support SVG + +

                  + +
                  +
                  +
                  diff --git a/modules/AccountModule.html b/modules/AccountModule.html index a00d3f9078a..5e5056bfa00 100644 --- a/modules/AccountModule.html +++ b/modules/AccountModule.html @@ -68,177 +68,177 @@ cluster_AccountModule_exports - - - -cluster_AccountModule_imports - + cluster_AccountModule_providers - + + + +cluster_AccountModule_imports + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule AccountModule - -AccountModule + +AccountModule IdentityManagementModule->AccountModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AccountModule - - + + AccountService - -AccountService + +AccountService AccountModule->AccountService - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountModule->AccountValidationService - - + + AccountLookupService - -AccountLookupService + +AccountLookupService AccountLookupService->AccountModule - - + + AccountRepo - -AccountRepo + +AccountRepo AccountRepo->AccountModule - - + + AccountService - -AccountService + +AccountService AccountService->AccountModule - - + + AccountServiceDb - -AccountServiceDb + +AccountServiceDb AccountServiceDb->AccountModule - - + + AccountServiceIdm - -AccountServiceIdm + +AccountServiceIdm AccountServiceIdm->AccountModule - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountValidationService->AccountModule - - + + PermissionService - -PermissionService + +PermissionService PermissionService->AccountModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->AccountModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AccountModule - - + + diff --git a/modules/AccountModule/dependencies.svg b/modules/AccountModule/dependencies.svg index ad505470135..2c2f1529224 100644 --- a/modules/AccountModule/dependencies.svg +++ b/modules/AccountModule/dependencies.svg @@ -26,177 +26,177 @@ cluster_AccountModule_exports - - - -cluster_AccountModule_imports - + cluster_AccountModule_providers - + + + +cluster_AccountModule_imports + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule AccountModule - -AccountModule + +AccountModule IdentityManagementModule->AccountModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AccountModule - - + + AccountService - -AccountService + +AccountService AccountModule->AccountService - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountModule->AccountValidationService - - + + AccountLookupService - -AccountLookupService + +AccountLookupService AccountLookupService->AccountModule - - + + AccountRepo - -AccountRepo + +AccountRepo AccountRepo->AccountModule - - + + AccountService - -AccountService + +AccountService AccountService->AccountModule - - + + AccountServiceDb - -AccountServiceDb + +AccountServiceDb AccountServiceDb->AccountModule - - + + AccountServiceIdm - -AccountServiceIdm + +AccountServiceIdm AccountServiceIdm->AccountModule - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountValidationService->AccountModule - - + + PermissionService - -PermissionService + +PermissionService PermissionService->AccountModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->AccountModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AccountModule - - + + diff --git a/modules/AuthenticationModule.html b/modules/AuthenticationModule.html index de67453d653..886fdbf4b7f 100644 --- a/modules/AuthenticationModule.html +++ b/modules/AuthenticationModule.html @@ -66,14 +66,14 @@ cluster_AuthenticationModule - -cluster_AuthenticationModule_exports - - cluster_AuthenticationModule_providers + +cluster_AuthenticationModule_exports + + cluster_AuthenticationModule_imports diff --git a/modules/AuthenticationModule/dependencies.svg b/modules/AuthenticationModule/dependencies.svg index e0de26b0083..5e0de38e29e 100644 --- a/modules/AuthenticationModule/dependencies.svg +++ b/modules/AuthenticationModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_AuthenticationModule - -cluster_AuthenticationModule_exports - - cluster_AuthenticationModule_providers + +cluster_AuthenticationModule_exports + + cluster_AuthenticationModule_imports diff --git a/modules/AuthorizationModule.html b/modules/AuthorizationModule.html index 9c1ffb655e7..f2c6a52f209 100644 --- a/modules/AuthorizationModule.html +++ b/modules/AuthorizationModule.html @@ -66,299 +66,299 @@ cluster_AuthorizationModule - -cluster_AuthorizationModule_imports - - cluster_AuthorizationModule_exports - + cluster_AuthorizationModule_providers - + + + +cluster_AuthorizationModule_imports + FeathersModule - -FeathersModule + +FeathersModule AuthorizationModule - -AuthorizationModule + +AuthorizationModule FeathersModule->AuthorizationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AuthorizationModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationModule->AuthorizationService - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService AuthorizationModule->FeathersAuthorizationService - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationService->AuthorizationModule - - + + BoardDoRule - -BoardDoRule + +BoardDoRule BoardDoRule->AuthorizationModule - - + + ContextExternalToolRule - -ContextExternalToolRule + +ContextExternalToolRule ContextExternalToolRule->AuthorizationModule - - + + CourseGroupRule - -CourseGroupRule + +CourseGroupRule CourseGroupRule->AuthorizationModule - - + + CourseRule - -CourseRule + +CourseRule CourseRule->AuthorizationModule - - + + FeathersAuthProvider - -FeathersAuthProvider + +FeathersAuthProvider FeathersAuthProvider->AuthorizationModule - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService FeathersAuthorizationService->AuthorizationModule - - + + GroupRule - -GroupRule + +GroupRule GroupRule->AuthorizationModule - - + + LegacySchoolRule - -LegacySchoolRule + +LegacySchoolRule LegacySchoolRule->AuthorizationModule - - + + LessonRule - -LessonRule + +LessonRule LessonRule->AuthorizationModule - - + + RuleManager - -RuleManager + +RuleManager RuleManager->AuthorizationModule - - + + SchoolExternalToolRule - -SchoolExternalToolRule + +SchoolExternalToolRule SchoolExternalToolRule->AuthorizationModule - - + + SubmissionRule - -SubmissionRule + +SubmissionRule SubmissionRule->AuthorizationModule - - + + TaskRule - -TaskRule + +TaskRule TaskRule->AuthorizationModule - - + + TeamRule - -TeamRule + +TeamRule TeamRule->AuthorizationModule - - + + UserLoginMigrationRule - -UserLoginMigrationRule + +UserLoginMigrationRule UserLoginMigrationRule->AuthorizationModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AuthorizationModule - - + + UserRule - -UserRule + +UserRule UserRule->AuthorizationModule - - + + diff --git a/modules/AuthorizationModule/dependencies.svg b/modules/AuthorizationModule/dependencies.svg index ea9a52347f0..52b7fae1625 100644 --- a/modules/AuthorizationModule/dependencies.svg +++ b/modules/AuthorizationModule/dependencies.svg @@ -24,299 +24,299 @@ cluster_AuthorizationModule - -cluster_AuthorizationModule_imports - - cluster_AuthorizationModule_exports - + cluster_AuthorizationModule_providers - + + + +cluster_AuthorizationModule_imports + FeathersModule - -FeathersModule + +FeathersModule AuthorizationModule - -AuthorizationModule + +AuthorizationModule FeathersModule->AuthorizationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AuthorizationModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationModule->AuthorizationService - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService AuthorizationModule->FeathersAuthorizationService - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationService->AuthorizationModule - - + + BoardDoRule - -BoardDoRule + +BoardDoRule BoardDoRule->AuthorizationModule - - + + ContextExternalToolRule - -ContextExternalToolRule + +ContextExternalToolRule ContextExternalToolRule->AuthorizationModule - - + + CourseGroupRule - -CourseGroupRule + +CourseGroupRule CourseGroupRule->AuthorizationModule - - + + CourseRule - -CourseRule + +CourseRule CourseRule->AuthorizationModule - - + + FeathersAuthProvider - -FeathersAuthProvider + +FeathersAuthProvider FeathersAuthProvider->AuthorizationModule - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService FeathersAuthorizationService->AuthorizationModule - - + + GroupRule - -GroupRule + +GroupRule GroupRule->AuthorizationModule - - + + LegacySchoolRule - -LegacySchoolRule + +LegacySchoolRule LegacySchoolRule->AuthorizationModule - - + + LessonRule - -LessonRule + +LessonRule LessonRule->AuthorizationModule - - + + RuleManager - -RuleManager + +RuleManager RuleManager->AuthorizationModule - - + + SchoolExternalToolRule - -SchoolExternalToolRule + +SchoolExternalToolRule SchoolExternalToolRule->AuthorizationModule - - + + SubmissionRule - -SubmissionRule + +SubmissionRule SubmissionRule->AuthorizationModule - - + + TaskRule - -TaskRule + +TaskRule TaskRule->AuthorizationModule - - + + TeamRule - -TeamRule + +TeamRule TeamRule->AuthorizationModule - - + + UserLoginMigrationRule - -UserLoginMigrationRule + +UserLoginMigrationRule UserLoginMigrationRule->AuthorizationModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AuthorizationModule - - + + UserRule - -UserRule + +UserRule UserRule->AuthorizationModule - - + + diff --git a/modules/AuthorizationReferenceModule.html b/modules/AuthorizationReferenceModule.html index a46d4b3cc62..a40d18adb98 100644 --- a/modules/AuthorizationReferenceModule.html +++ b/modules/AuthorizationReferenceModule.html @@ -66,203 +66,203 @@ cluster_AuthorizationReferenceModule - -cluster_AuthorizationReferenceModule_providers - + +cluster_AuthorizationReferenceModule_imports + cluster_AuthorizationReferenceModule_exports - + - -cluster_AuthorizationReferenceModule_imports - + +cluster_AuthorizationReferenceModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationModule->AuthorizationReferenceModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AuthorizationReferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceModule->AuthorizationReferenceService - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationReferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceService->AuthorizationReferenceModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->AuthorizationReferenceModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->AuthorizationReferenceModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->AuthorizationReferenceModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->AuthorizationReferenceModule - - + + ReferenceLoader - -ReferenceLoader + +ReferenceLoader ReferenceLoader->AuthorizationReferenceModule - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo SchoolExternalToolRepo->AuthorizationReferenceModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->AuthorizationReferenceModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->AuthorizationReferenceModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->AuthorizationReferenceModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AuthorizationReferenceModule - - + + diff --git a/modules/AuthorizationReferenceModule/dependencies.svg b/modules/AuthorizationReferenceModule/dependencies.svg index 5b25fba4a61..87f7b1aebf7 100644 --- a/modules/AuthorizationReferenceModule/dependencies.svg +++ b/modules/AuthorizationReferenceModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_AuthorizationReferenceModule - -cluster_AuthorizationReferenceModule_providers - + +cluster_AuthorizationReferenceModule_imports + cluster_AuthorizationReferenceModule_exports - + - -cluster_AuthorizationReferenceModule_imports - + +cluster_AuthorizationReferenceModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationModule->AuthorizationReferenceModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AuthorizationReferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceModule->AuthorizationReferenceService - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationReferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceService->AuthorizationReferenceModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->AuthorizationReferenceModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->AuthorizationReferenceModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->AuthorizationReferenceModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->AuthorizationReferenceModule - - + + ReferenceLoader - -ReferenceLoader + +ReferenceLoader ReferenceLoader->AuthorizationReferenceModule - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo SchoolExternalToolRepo->AuthorizationReferenceModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->AuthorizationReferenceModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->AuthorizationReferenceModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->AuthorizationReferenceModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AuthorizationReferenceModule - - + + diff --git a/modules/BoardApiModule.html b/modules/BoardApiModule.html index 7f9b8fc10ae..ab7dd644c7b 100644 --- a/modules/BoardApiModule.html +++ b/modules/BoardApiModule.html @@ -66,103 +66,103 @@ cluster_BoardApiModule - -cluster_BoardApiModule_providers - - cluster_BoardApiModule_imports - + + + +cluster_BoardApiModule_providers + BoardModule - -BoardModule + +BoardModule BoardApiModule - -BoardApiModule + +BoardApiModule BoardModule->BoardApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->BoardApiModule - - + + BoardUc - -BoardUc + +BoardUc BoardUc->BoardApiModule - - + + CardUc - -CardUc + +CardUc CardUc->BoardApiModule - - + + ColumnUc - -ColumnUc + +ColumnUc ColumnUc->BoardApiModule - - + + ElementUc - -ElementUc + +ElementUc ElementUc->BoardApiModule - - + + SubmissionItemUc - -SubmissionItemUc + +SubmissionItemUc SubmissionItemUc->BoardApiModule - - + + diff --git a/modules/BoardApiModule/dependencies.svg b/modules/BoardApiModule/dependencies.svg index 42b22bc26e5..39091f4ef19 100644 --- a/modules/BoardApiModule/dependencies.svg +++ b/modules/BoardApiModule/dependencies.svg @@ -24,103 +24,103 @@ cluster_BoardApiModule - -cluster_BoardApiModule_providers - - cluster_BoardApiModule_imports - + + + +cluster_BoardApiModule_providers + BoardModule - -BoardModule + +BoardModule BoardApiModule - -BoardApiModule + +BoardApiModule BoardModule->BoardApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->BoardApiModule - - + + BoardUc - -BoardUc + +BoardUc BoardUc->BoardApiModule - - + + CardUc - -CardUc + +CardUc CardUc->BoardApiModule - - + + ColumnUc - -ColumnUc + +ColumnUc ColumnUc->BoardApiModule - - + + ElementUc - -ElementUc + +ElementUc ElementUc->BoardApiModule - - + + SubmissionItemUc - -SubmissionItemUc + +SubmissionItemUc SubmissionItemUc->BoardApiModule - - + + diff --git a/modules/BoardModule.html b/modules/BoardModule.html index ac16a769e39..90c7e8337b7 100644 --- a/modules/BoardModule.html +++ b/modules/BoardModule.html @@ -66,347 +66,347 @@ cluster_BoardModule + +cluster_BoardModule_providers + + cluster_BoardModule_imports - + cluster_BoardModule_exports - - - -cluster_BoardModule_providers - + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule BoardModule - -BoardModule + +BoardModule ConsoleWriterModule->BoardModule - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ContextExternalToolModule->BoardModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->BoardModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->BoardModule - - + + UserModule - -UserModule + +UserModule UserModule->BoardModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardModule->BoardDoAuthorizableService - - + + CardService - -CardService + +CardService BoardModule->CardService - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService BoardModule->ColumnBoardCopyService - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService BoardModule->ColumnBoardService - - + + ColumnService - -ColumnService + +ColumnService BoardModule->ColumnService - - + + ContentElementService - -ContentElementService + +ContentElementService BoardModule->ContentElementService - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService BoardModule->SubmissionItemService - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardDoAuthorizableService->BoardModule - - + + BoardDoCopyService - -BoardDoCopyService + +BoardDoCopyService BoardDoCopyService->BoardModule - - + + BoardDoRepo - -BoardDoRepo + +BoardDoRepo BoardDoRepo->BoardModule - - + + BoardDoService - -BoardDoService + +BoardDoService BoardDoService->BoardModule - - + + BoardNodeRepo - -BoardNodeRepo + +BoardNodeRepo BoardNodeRepo->BoardModule - - + + CardService - -CardService + +CardService CardService->BoardModule - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService ColumnBoardCopyService->BoardModule - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService ColumnBoardService->BoardModule - - + + ColumnService - -ColumnService + +ColumnService ColumnService->BoardModule - - + + ContentElementFactory - -ContentElementFactory + +ContentElementFactory ContentElementFactory->BoardModule - - + + ContentElementService - -ContentElementService + +ContentElementService ContentElementService->BoardModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->BoardModule - - + + RecursiveDeleteVisitor - -RecursiveDeleteVisitor + +RecursiveDeleteVisitor RecursiveDeleteVisitor->BoardModule - - + + SchoolSpecificFileCopyServiceFactory - -SchoolSpecificFileCopyServiceFactory + +SchoolSpecificFileCopyServiceFactory SchoolSpecificFileCopyServiceFactory->BoardModule - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService SubmissionItemService->BoardModule - - + + diff --git a/modules/BoardModule/dependencies.svg b/modules/BoardModule/dependencies.svg index ef95b9dbfa9..aa7818b4b30 100644 --- a/modules/BoardModule/dependencies.svg +++ b/modules/BoardModule/dependencies.svg @@ -24,347 +24,347 @@ cluster_BoardModule + +cluster_BoardModule_providers + + cluster_BoardModule_imports - + cluster_BoardModule_exports - - - -cluster_BoardModule_providers - + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule BoardModule - -BoardModule + +BoardModule ConsoleWriterModule->BoardModule - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ContextExternalToolModule->BoardModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->BoardModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->BoardModule - - + + UserModule - -UserModule + +UserModule UserModule->BoardModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardModule->BoardDoAuthorizableService - - + + CardService - -CardService + +CardService BoardModule->CardService - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService BoardModule->ColumnBoardCopyService - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService BoardModule->ColumnBoardService - - + + ColumnService - -ColumnService + +ColumnService BoardModule->ColumnService - - + + ContentElementService - -ContentElementService + +ContentElementService BoardModule->ContentElementService - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService BoardModule->SubmissionItemService - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardDoAuthorizableService->BoardModule - - + + BoardDoCopyService - -BoardDoCopyService + +BoardDoCopyService BoardDoCopyService->BoardModule - - + + BoardDoRepo - -BoardDoRepo + +BoardDoRepo BoardDoRepo->BoardModule - - + + BoardDoService - -BoardDoService + +BoardDoService BoardDoService->BoardModule - - + + BoardNodeRepo - -BoardNodeRepo + +BoardNodeRepo BoardNodeRepo->BoardModule - - + + CardService - -CardService + +CardService CardService->BoardModule - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService ColumnBoardCopyService->BoardModule - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService ColumnBoardService->BoardModule - - + + ColumnService - -ColumnService + +ColumnService ColumnService->BoardModule - - + + ContentElementFactory - -ContentElementFactory + +ContentElementFactory ContentElementFactory->BoardModule - - + + ContentElementService - -ContentElementService + +ContentElementService ContentElementService->BoardModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->BoardModule - - + + RecursiveDeleteVisitor - -RecursiveDeleteVisitor + +RecursiveDeleteVisitor RecursiveDeleteVisitor->BoardModule - - + + SchoolSpecificFileCopyServiceFactory - -SchoolSpecificFileCopyServiceFactory + +SchoolSpecificFileCopyServiceFactory SchoolSpecificFileCopyServiceFactory->BoardModule - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService SubmissionItemService->BoardModule - - + + diff --git a/modules/ClassModule.html b/modules/ClassModule.html index 5897d7fd7bd..0e8ee9724d7 100644 --- a/modules/ClassModule.html +++ b/modules/ClassModule.html @@ -66,14 +66,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 807671c5d38..8a6b54ed2e8 100644 --- a/modules/CollaborativeStorageAdapterModule.html +++ b/modules/CollaborativeStorageAdapterModule.html @@ -66,143 +66,143 @@ cluster_CollaborativeStorageAdapterModule - -cluster_CollaborativeStorageAdapterModule_imports - - cluster_CollaborativeStorageAdapterModule_exports - + cluster_CollaborativeStorageAdapterModule_providers - + + + +cluster_CollaborativeStorageAdapterModule_imports + LoggerModule - -LoggerModule + +LoggerModule CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule LoggerModule->CollaborativeStorageAdapterModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->CollaborativeStorageAdapterModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->CollaborativeStorageAdapterModule - - + + UserModule - -UserModule + +UserModule UserModule->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapterModule->CollaborativeStorageAdapter - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapter->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapterMapper - -CollaborativeStorageAdapterMapper + +CollaborativeStorageAdapterMapper CollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->CollaborativeStorageAdapterModule - - + + NextcloudClient - -NextcloudClient + +NextcloudClient NextcloudClient->CollaborativeStorageAdapterModule - - + + NextcloudStrategy - -NextcloudStrategy + +NextcloudStrategy NextcloudStrategy->CollaborativeStorageAdapterModule - - + + diff --git a/modules/CollaborativeStorageAdapterModule/dependencies.svg b/modules/CollaborativeStorageAdapterModule/dependencies.svg index a723a3ccbfd..1bab514d699 100644 --- a/modules/CollaborativeStorageAdapterModule/dependencies.svg +++ b/modules/CollaborativeStorageAdapterModule/dependencies.svg @@ -24,143 +24,143 @@ cluster_CollaborativeStorageAdapterModule - -cluster_CollaborativeStorageAdapterModule_imports - - cluster_CollaborativeStorageAdapterModule_exports - + cluster_CollaborativeStorageAdapterModule_providers - + + + +cluster_CollaborativeStorageAdapterModule_imports + LoggerModule - -LoggerModule + +LoggerModule CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule LoggerModule->CollaborativeStorageAdapterModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->CollaborativeStorageAdapterModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->CollaborativeStorageAdapterModule - - + + UserModule - -UserModule + +UserModule UserModule->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapterModule->CollaborativeStorageAdapter - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapter->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapterMapper - -CollaborativeStorageAdapterMapper + +CollaborativeStorageAdapterMapper CollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->CollaborativeStorageAdapterModule - - + + NextcloudClient - -NextcloudClient + +NextcloudClient NextcloudClient->CollaborativeStorageAdapterModule - - + + NextcloudStrategy - -NextcloudStrategy + +NextcloudStrategy NextcloudStrategy->CollaborativeStorageAdapterModule - - + + diff --git a/modules/CollaborativeStorageModule.html b/modules/CollaborativeStorageModule.html index 48506451b22..a54bb9298a6 100644 --- a/modules/CollaborativeStorageModule.html +++ b/modules/CollaborativeStorageModule.html @@ -66,6 +66,10 @@ cluster_CollaborativeStorageModule + +cluster_CollaborativeStorageModule_exports + + cluster_CollaborativeStorageModule_imports @@ -74,10 +78,6 @@ cluster_CollaborativeStorageModule_providers - -cluster_CollaborativeStorageModule_exports - - AuthorizationModule diff --git a/modules/CollaborativeStorageModule/dependencies.svg b/modules/CollaborativeStorageModule/dependencies.svg index 6c847f2ab0e..6b0ffe0aa0d 100644 --- a/modules/CollaborativeStorageModule/dependencies.svg +++ b/modules/CollaborativeStorageModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_CollaborativeStorageModule + +cluster_CollaborativeStorageModule_exports + + cluster_CollaborativeStorageModule_imports @@ -32,10 +36,6 @@ cluster_CollaborativeStorageModule_providers - -cluster_CollaborativeStorageModule_exports - - AuthorizationModule diff --git a/modules/CommonToolModule.html b/modules/CommonToolModule.html index 77942a3749f..fa04b5d6c08 100644 --- a/modules/CommonToolModule.html +++ b/modules/CommonToolModule.html @@ -66,6 +66,10 @@ cluster_CommonToolModule + +cluster_CommonToolModule_exports + + cluster_CommonToolModule_imports @@ -74,10 +78,6 @@ cluster_CommonToolModule_providers - -cluster_CommonToolModule_exports - - LegacySchoolModule diff --git a/modules/CommonToolModule/dependencies.svg b/modules/CommonToolModule/dependencies.svg index 9517fed7aaa..2e1e98d3d0d 100644 --- a/modules/CommonToolModule/dependencies.svg +++ b/modules/CommonToolModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_CommonToolModule + +cluster_CommonToolModule_exports + + cluster_CommonToolModule_imports @@ -32,10 +36,6 @@ cluster_CommonToolModule_providers - -cluster_CommonToolModule_exports - - LegacySchoolModule diff --git a/modules/ContextExternalToolModule.html b/modules/ContextExternalToolModule.html index 5ba2a126e9a..2bf3924a6df 100644 --- a/modules/ContextExternalToolModule.html +++ b/modules/ContextExternalToolModule.html @@ -66,167 +66,167 @@ cluster_ContextExternalToolModule - -cluster_ContextExternalToolModule_exports - + +cluster_ContextExternalToolModule_providers + cluster_ContextExternalToolModule_imports - + - -cluster_ContextExternalToolModule_providers - + +cluster_ContextExternalToolModule_exports + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + diff --git a/modules/ContextExternalToolModule/dependencies.svg b/modules/ContextExternalToolModule/dependencies.svg index ee4e2a1c67a..3d280707a59 100644 --- a/modules/ContextExternalToolModule/dependencies.svg +++ b/modules/ContextExternalToolModule/dependencies.svg @@ -24,167 +24,167 @@ cluster_ContextExternalToolModule - -cluster_ContextExternalToolModule_exports - + +cluster_ContextExternalToolModule_providers + cluster_ContextExternalToolModule_imports - + - -cluster_ContextExternalToolModule_providers - + +cluster_ContextExternalToolModule_exports + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + diff --git a/modules/CopyHelperModule.html b/modules/CopyHelperModule.html index e0d3379806e..49e13634ee7 100644 --- a/modules/CopyHelperModule.html +++ b/modules/CopyHelperModule.html @@ -66,14 +66,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 92d1c8f42d7..3b42cab53d5 100644 --- a/modules/CoreModule.html +++ b/modules/CoreModule.html @@ -66,14 +66,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/FeathersModule.html b/modules/FeathersModule.html index 60d7e8dfbf3..d1bd9d884ba 100644 --- a/modules/FeathersModule.html +++ b/modules/FeathersModule.html @@ -66,14 +66,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/FilesStorageAMQPModule.html b/modules/FilesStorageAMQPModule.html index 89115ba7f36..744289f96bb 100644 --- a/modules/FilesStorageAMQPModule.html +++ b/modules/FilesStorageAMQPModule.html @@ -66,67 +66,67 @@ cluster_FilesStorageAMQPModule - -cluster_FilesStorageAMQPModule_imports - - cluster_FilesStorageAMQPModule_providers - + + + +cluster_FilesStorageAMQPModule_imports + CoreModule - -CoreModule + +CoreModule FilesStorageAMQPModule - -FilesStorageAMQPModule + +FilesStorageAMQPModule CoreModule->FilesStorageAMQPModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageAMQPModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FilesStorageAMQPModule - - + + FilesStorageConsumer - -FilesStorageConsumer + +FilesStorageConsumer FilesStorageConsumer->FilesStorageAMQPModule - - + + diff --git a/modules/FilesStorageAMQPModule/dependencies.svg b/modules/FilesStorageAMQPModule/dependencies.svg index cc63bbcabc6..5191a52e2b7 100644 --- a/modules/FilesStorageAMQPModule/dependencies.svg +++ b/modules/FilesStorageAMQPModule/dependencies.svg @@ -24,67 +24,67 @@ cluster_FilesStorageAMQPModule - -cluster_FilesStorageAMQPModule_imports - - cluster_FilesStorageAMQPModule_providers - + + + +cluster_FilesStorageAMQPModule_imports + CoreModule - -CoreModule + +CoreModule FilesStorageAMQPModule - -FilesStorageAMQPModule + +FilesStorageAMQPModule CoreModule->FilesStorageAMQPModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageAMQPModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FilesStorageAMQPModule - - + + FilesStorageConsumer - -FilesStorageConsumer + +FilesStorageConsumer FilesStorageConsumer->FilesStorageAMQPModule - - + + diff --git a/modules/FilesStorageClientModule.html b/modules/FilesStorageClientModule.html index 513e2be1125..5128323232e 100644 --- a/modules/FilesStorageClientModule.html +++ b/modules/FilesStorageClientModule.html @@ -66,107 +66,107 @@ cluster_FilesStorageClientModule - -cluster_FilesStorageClientModule_imports - - cluster_FilesStorageClientModule_providers - + + + +cluster_FilesStorageClientModule_imports + cluster_FilesStorageClientModule_exports - + CopyHelperModule - -CopyHelperModule + +CopyHelperModule FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule CopyHelperModule->FilesStorageClientModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FilesStorageClientModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService FilesStorageClientModule->CopyFilesService - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientModule->FilesStorageClientAdapterService - - + + CopyFilesService - -CopyFilesService + +CopyFilesService CopyFilesService->FilesStorageClientModule - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientAdapterService->FilesStorageClientModule - - + + FilesStorageProducer - -FilesStorageProducer + +FilesStorageProducer FilesStorageProducer->FilesStorageClientModule - - + + diff --git a/modules/FilesStorageClientModule/dependencies.svg b/modules/FilesStorageClientModule/dependencies.svg index 8fc9cf8a552..2054c77506e 100644 --- a/modules/FilesStorageClientModule/dependencies.svg +++ b/modules/FilesStorageClientModule/dependencies.svg @@ -24,107 +24,107 @@ cluster_FilesStorageClientModule - -cluster_FilesStorageClientModule_imports - - cluster_FilesStorageClientModule_providers - + + + +cluster_FilesStorageClientModule_imports + cluster_FilesStorageClientModule_exports - + CopyHelperModule - -CopyHelperModule + +CopyHelperModule FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule CopyHelperModule->FilesStorageClientModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FilesStorageClientModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService FilesStorageClientModule->CopyFilesService - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientModule->FilesStorageClientAdapterService - - + + CopyFilesService - -CopyFilesService + +CopyFilesService CopyFilesService->FilesStorageClientModule - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientAdapterService->FilesStorageClientModule - - + + FilesStorageProducer - -FilesStorageProducer + +FilesStorageProducer FilesStorageProducer->FilesStorageClientModule - - + + diff --git a/modules/FilesStorageModule.html b/modules/FilesStorageModule.html index 17891fceb15..326f589daf9 100644 --- a/modules/FilesStorageModule.html +++ b/modules/FilesStorageModule.html @@ -66,14 +66,14 @@ cluster_FilesStorageModule - -cluster_FilesStorageModule_providers - - cluster_FilesStorageModule_exports + +cluster_FilesStorageModule_providers + + cluster_FilesStorageModule_imports diff --git a/modules/FilesStorageModule/dependencies.svg b/modules/FilesStorageModule/dependencies.svg index ac40887cb63..c08171012d8 100644 --- a/modules/FilesStorageModule/dependencies.svg +++ b/modules/FilesStorageModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_FilesStorageModule - -cluster_FilesStorageModule_providers - - cluster_FilesStorageModule_exports + +cluster_FilesStorageModule_providers + + cluster_FilesStorageModule_imports diff --git a/modules/FwuLearningContentsTestModule.html b/modules/FwuLearningContentsTestModule.html index a4cca93194f..cbbee128023 100644 --- a/modules/FwuLearningContentsTestModule.html +++ b/modules/FwuLearningContentsTestModule.html @@ -66,115 +66,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 fe40f4c1a29..e5b34fc29ca 100644 --- a/modules/GroupApiModule.html +++ b/modules/GroupApiModule.html @@ -66,115 +66,115 @@ cluster_GroupApiModule - -cluster_GroupApiModule_imports - - cluster_GroupApiModule_providers - + + + +cluster_GroupApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule GroupApiModule - -GroupApiModule + +GroupApiModule AuthorizationModule->GroupApiModule - - + + ClassModule - -ClassModule + +ClassModule ClassModule->GroupApiModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->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 a05e9a49342..1d379111c49 100644 --- a/modules/GroupApiModule/dependencies.svg +++ b/modules/GroupApiModule/dependencies.svg @@ -24,115 +24,115 @@ cluster_GroupApiModule - -cluster_GroupApiModule_imports - - cluster_GroupApiModule_providers - + + + +cluster_GroupApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule GroupApiModule - -GroupApiModule + +GroupApiModule AuthorizationModule->GroupApiModule - - + + ClassModule - -ClassModule + +ClassModule ClassModule->GroupApiModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->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 b42cc5cedcb..6c8b6a8280e 100644 --- a/modules/H5PEditorModule.html +++ b/modules/H5PEditorModule.html @@ -66,187 +66,187 @@ cluster_H5PEditorModule - -cluster_H5PEditorModule_providers - - cluster_H5PEditorModule_imports - + + + +cluster_H5PEditorModule_providers + 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 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 e0688d11a87..06cece6c2fd 100644 --- a/modules/H5PEditorModule/dependencies.svg +++ b/modules/H5PEditorModule/dependencies.svg @@ -24,187 +24,187 @@ cluster_H5PEditorModule - -cluster_H5PEditorModule_providers - - cluster_H5PEditorModule_imports - + + + +cluster_H5PEditorModule_providers + 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 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/KeycloakConfigurationModule.html b/modules/KeycloakConfigurationModule.html index fec358f4aa5..f2ed15e8fc9 100644 --- a/modules/KeycloakConfigurationModule.html +++ b/modules/KeycloakConfigurationModule.html @@ -66,167 +66,167 @@ cluster_KeycloakConfigurationModule - -cluster_KeycloakConfigurationModule_providers - + +cluster_KeycloakConfigurationModule_exports + cluster_KeycloakConfigurationModule_imports - + - -cluster_KeycloakConfigurationModule_exports - + +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 276f318db12..e6ff611e3ea 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_exports - + +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/LearnroomApiModule.html b/modules/LearnroomApiModule.html index 4ad755b71ee..c840f159ad0 100644 --- a/modules/LearnroomApiModule.html +++ b/modules/LearnroomApiModule.html @@ -66,247 +66,247 @@ cluster_LearnroomApiModule - -cluster_LearnroomApiModule_providers - - cluster_LearnroomApiModule_imports - + + + +cluster_LearnroomApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LearnroomApiModule - -LearnroomApiModule + +LearnroomApiModule AuthorizationModule->LearnroomApiModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->LearnroomApiModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->LearnroomApiModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->LearnroomApiModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LearnroomApiModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomApiModule - - + + CourseCopyUC - -CourseCopyUC + +CourseCopyUC CourseCopyUC->LearnroomApiModule - - + + CourseExportUc - -CourseExportUc + +CourseExportUc CourseExportUc->LearnroomApiModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->LearnroomApiModule - - + + CourseUc - -CourseUc + +CourseUc CourseUc->LearnroomApiModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomApiModule - - + + DashboardUc - -DashboardUc + +DashboardUc DashboardUc->LearnroomApiModule - - + + LessonCopyUC - -LessonCopyUC + +LessonCopyUC LessonCopyUC->LearnroomApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->LearnroomApiModule - - + + RoomBoardDTOFactory - -RoomBoardDTOFactory + +RoomBoardDTOFactory RoomBoardDTOFactory->LearnroomApiModule - - + + RoomBoardResponseMapper - -RoomBoardResponseMapper + +RoomBoardResponseMapper RoomBoardResponseMapper->LearnroomApiModule - - + + RoomsAuthorisationService - -RoomsAuthorisationService + +RoomsAuthorisationService RoomsAuthorisationService->LearnroomApiModule - - + + RoomsUc - -RoomsUc + +RoomsUc RoomsUc->LearnroomApiModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->LearnroomApiModule - - + + diff --git a/modules/LearnroomApiModule/dependencies.svg b/modules/LearnroomApiModule/dependencies.svg index 49bbe60f7e1..112326cd691 100644 --- a/modules/LearnroomApiModule/dependencies.svg +++ b/modules/LearnroomApiModule/dependencies.svg @@ -24,247 +24,247 @@ cluster_LearnroomApiModule - -cluster_LearnroomApiModule_providers - - cluster_LearnroomApiModule_imports - + + + +cluster_LearnroomApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LearnroomApiModule - -LearnroomApiModule + +LearnroomApiModule AuthorizationModule->LearnroomApiModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->LearnroomApiModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->LearnroomApiModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->LearnroomApiModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LearnroomApiModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomApiModule - - + + CourseCopyUC - -CourseCopyUC + +CourseCopyUC CourseCopyUC->LearnroomApiModule - - + + CourseExportUc - -CourseExportUc + +CourseExportUc CourseExportUc->LearnroomApiModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->LearnroomApiModule - - + + CourseUc - -CourseUc + +CourseUc CourseUc->LearnroomApiModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomApiModule - - + + DashboardUc - -DashboardUc + +DashboardUc DashboardUc->LearnroomApiModule - - + + LessonCopyUC - -LessonCopyUC + +LessonCopyUC LessonCopyUC->LearnroomApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->LearnroomApiModule - - + + RoomBoardDTOFactory - -RoomBoardDTOFactory + +RoomBoardDTOFactory RoomBoardDTOFactory->LearnroomApiModule - - + + RoomBoardResponseMapper - -RoomBoardResponseMapper + +RoomBoardResponseMapper RoomBoardResponseMapper->LearnroomApiModule - - + + RoomsAuthorisationService - -RoomsAuthorisationService + +RoomsAuthorisationService RoomsAuthorisationService->LearnroomApiModule - - + + RoomsUc - -RoomsUc + +RoomsUc RoomsUc->LearnroomApiModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->LearnroomApiModule - - + + diff --git a/modules/LearnroomModule.html b/modules/LearnroomModule.html index dfc0da25552..a617d49ee65 100644 --- a/modules/LearnroomModule.html +++ b/modules/LearnroomModule.html @@ -70,14 +70,14 @@ cluster_LearnroomModule_providers - -cluster_LearnroomModule_exports - - cluster_LearnroomModule_imports + +cluster_LearnroomModule_exports + + BoardModule diff --git a/modules/LearnroomModule/dependencies.svg b/modules/LearnroomModule/dependencies.svg index 9d35ca31983..31eb40ea5ff 100644 --- a/modules/LearnroomModule/dependencies.svg +++ b/modules/LearnroomModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_LearnroomModule_providers - -cluster_LearnroomModule_exports - - cluster_LearnroomModule_imports + +cluster_LearnroomModule_exports + + BoardModule diff --git a/modules/LegacySchoolApiModule.html b/modules/LegacySchoolApiModule.html index 1c2106010c3..ad8ead6e4e6 100644 --- a/modules/LegacySchoolApiModule.html +++ b/modules/LegacySchoolApiModule.html @@ -68,91 +68,91 @@ cluster_LegacySchoolApiModule - -cluster_LegacySchoolApiModule_imports - - cluster_LegacySchoolApiModule_providers - + + + +cluster_LegacySchoolApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule AuthorizationModule->LegacySchoolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->LegacySchoolApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LegacySchoolApiModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->LegacySchoolApiModule - - + + LegacySchoolUc - -LegacySchoolUc + +LegacySchoolUc LegacySchoolUc->LegacySchoolApiModule - - + + MigrationMapper - -MigrationMapper + +MigrationMapper MigrationMapper->LegacySchoolApiModule - - + + diff --git a/modules/LegacySchoolApiModule/dependencies.svg b/modules/LegacySchoolApiModule/dependencies.svg index ef173e46813..b9501923e85 100644 --- a/modules/LegacySchoolApiModule/dependencies.svg +++ b/modules/LegacySchoolApiModule/dependencies.svg @@ -24,91 +24,91 @@ cluster_LegacySchoolApiModule - -cluster_LegacySchoolApiModule_imports - - cluster_LegacySchoolApiModule_providers - + + + +cluster_LegacySchoolApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule AuthorizationModule->LegacySchoolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->LegacySchoolApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LegacySchoolApiModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->LegacySchoolApiModule - - + + LegacySchoolUc - -LegacySchoolUc + +LegacySchoolUc LegacySchoolUc->LegacySchoolApiModule - - + + MigrationMapper - -MigrationMapper + +MigrationMapper MigrationMapper->LegacySchoolApiModule - - + + diff --git a/modules/LegacySchoolModule.html b/modules/LegacySchoolModule.html index 4c114d96dbd..ca3165481f8 100644 --- a/modules/LegacySchoolModule.html +++ b/modules/LegacySchoolModule.html @@ -68,14 +68,14 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_exports - - cluster_LegacySchoolModule_imports + +cluster_LegacySchoolModule_exports + + cluster_LegacySchoolModule_providers diff --git a/modules/LegacySchoolModule/dependencies.svg b/modules/LegacySchoolModule/dependencies.svg index 082abdbe280..f12d58cf804 100644 --- a/modules/LegacySchoolModule/dependencies.svg +++ b/modules/LegacySchoolModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_exports - - cluster_LegacySchoolModule_imports + +cluster_LegacySchoolModule_exports + + cluster_LegacySchoolModule_providers diff --git a/modules/LessonApiModule.html b/modules/LessonApiModule.html index 87fcf0d7c08..110a255f11b 100644 --- a/modules/LessonApiModule.html +++ b/modules/LessonApiModule.html @@ -66,55 +66,55 @@ cluster_LessonApiModule - -cluster_LessonApiModule_imports - - cluster_LessonApiModule_providers - + + + +cluster_LessonApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LessonApiModule - -LessonApiModule + +LessonApiModule AuthorizationModule->LessonApiModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LessonApiModule - - + + LessonUC - -LessonUC + +LessonUC LessonUC->LessonApiModule - - + + diff --git a/modules/LessonApiModule/dependencies.svg b/modules/LessonApiModule/dependencies.svg index a1983dd0952..e3951bb1b0d 100644 --- a/modules/LessonApiModule/dependencies.svg +++ b/modules/LessonApiModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_LessonApiModule - -cluster_LessonApiModule_imports - - cluster_LessonApiModule_providers - + + + +cluster_LessonApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LessonApiModule - -LessonApiModule + +LessonApiModule AuthorizationModule->LessonApiModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LessonApiModule - - + + LessonUC - -LessonUC + +LessonUC LessonUC->LessonApiModule - - + + diff --git a/modules/LessonModule.html b/modules/LessonModule.html index e5a0891a4bd..c66ca815ad2 100644 --- a/modules/LessonModule.html +++ b/modules/LessonModule.html @@ -66,167 +66,167 @@ cluster_LessonModule - -cluster_LessonModule_exports - + +cluster_LessonModule_providers + cluster_LessonModule_imports - + - -cluster_LessonModule_providers - + +cluster_LessonModule_exports + CopyHelperModule - -CopyHelperModule + +CopyHelperModule LessonModule - -LessonModule + +LessonModule CopyHelperModule->LessonModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->LessonModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LessonModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonModule->LessonCopyService - - + + LessonService - -LessonService + +LessonService LessonModule->LessonService - - + + EtherpadService - -EtherpadService + +EtherpadService EtherpadService->LessonModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersServiceProvider->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonCopyService->LessonModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->LessonModule - - + + LessonService - -LessonService + +LessonService LessonService->LessonModule - - + + NexboardService - -NexboardService + +NexboardService NexboardService->LessonModule - - + + diff --git a/modules/LessonModule/dependencies.svg b/modules/LessonModule/dependencies.svg index c364e68ab88..15081e35f04 100644 --- a/modules/LessonModule/dependencies.svg +++ b/modules/LessonModule/dependencies.svg @@ -24,167 +24,167 @@ cluster_LessonModule - -cluster_LessonModule_exports - + +cluster_LessonModule_providers + cluster_LessonModule_imports - + - -cluster_LessonModule_providers - + +cluster_LessonModule_exports + CopyHelperModule - -CopyHelperModule + +CopyHelperModule LessonModule - -LessonModule + +LessonModule CopyHelperModule->LessonModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->LessonModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LessonModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonModule->LessonCopyService - - + + LessonService - -LessonService + +LessonService LessonModule->LessonService - - + + EtherpadService - -EtherpadService + +EtherpadService EtherpadService->LessonModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersServiceProvider->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonCopyService->LessonModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->LessonModule - - + + LessonService - -LessonService + +LessonService LessonService->LessonModule - - + + NexboardService - -NexboardService + +NexboardService NexboardService->LessonModule - - + + diff --git a/modules/LoggerModule.html b/modules/LoggerModule.html index 7703601b952..523e89f4a9e 100644 --- a/modules/LoggerModule.html +++ b/modules/LoggerModule.html @@ -66,14 +66,14 @@ cluster_LoggerModule - -cluster_LoggerModule_exports - - cluster_LoggerModule_providers + +cluster_LoggerModule_exports + + ErrorLogger diff --git a/modules/LoggerModule/dependencies.svg b/modules/LoggerModule/dependencies.svg index 15fdf003557..19f1467382c 100644 --- a/modules/LoggerModule/dependencies.svg +++ b/modules/LoggerModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LoggerModule - -cluster_LoggerModule_exports - - cluster_LoggerModule_providers + +cluster_LoggerModule_exports + + ErrorLogger diff --git a/modules/LtiToolModule.html b/modules/LtiToolModule.html index 9c9b88bfe67..ed37e69b728 100644 --- a/modules/LtiToolModule.html +++ b/modules/LtiToolModule.html @@ -66,14 +66,14 @@ cluster_LtiToolModule - -cluster_LtiToolModule_exports - - cluster_LtiToolModule_providers + +cluster_LtiToolModule_exports + + LtiToolService diff --git a/modules/LtiToolModule/dependencies.svg b/modules/LtiToolModule/dependencies.svg index cb6c096489d..a04811113b8 100644 --- a/modules/LtiToolModule/dependencies.svg +++ b/modules/LtiToolModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LtiToolModule - -cluster_LtiToolModule_exports - - cluster_LtiToolModule_providers + +cluster_LtiToolModule_exports + + LtiToolService diff --git a/modules/MetaTagExtractorApiModule.html b/modules/MetaTagExtractorApiModule.html index 2f1bb943ce0..4d326a5f614 100644 --- a/modules/MetaTagExtractorApiModule.html +++ b/modules/MetaTagExtractorApiModule.html @@ -66,55 +66,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 12fc5a0d16d..08a9a64bda2 100644 --- a/modules/MetaTagExtractorModule.html +++ b/modules/MetaTagExtractorModule.html @@ -68,93 +68,93 @@ cluster_MetaTagExtractorModule_exports - - - -cluster_MetaTagExtractorModule_imports - + cluster_MetaTagExtractorModule_providers - + + + +cluster_MetaTagExtractorModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + diff --git a/modules/MetaTagExtractorModule/dependencies.svg b/modules/MetaTagExtractorModule/dependencies.svg index e335046d4a3..0e80d3093dd 100644 --- a/modules/MetaTagExtractorModule/dependencies.svg +++ b/modules/MetaTagExtractorModule/dependencies.svg @@ -26,93 +26,93 @@ cluster_MetaTagExtractorModule_exports - - - -cluster_MetaTagExtractorModule_imports - + cluster_MetaTagExtractorModule_providers - + + + +cluster_MetaTagExtractorModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + diff --git a/modules/OauthModule.html b/modules/OauthModule.html index 1db2718bf3a..6b2761611ac 100644 --- a/modules/OauthModule.html +++ b/modules/OauthModule.html @@ -66,203 +66,203 @@ cluster_OauthModule - -cluster_OauthModule_providers - - cluster_OauthModule_imports - + + + +cluster_OauthModule_providers + cluster_OauthModule_exports - + AuthorizationModule - -AuthorizationModule + +AuthorizationModule OauthModule - -OauthModule + +OauthModule AuthorizationModule->OauthModule - - + + CacheWrapperModule - -CacheWrapperModule + +CacheWrapperModule CacheWrapperModule->OauthModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->OauthModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->OauthModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->OauthModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule ProvisioningModule->OauthModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->OauthModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->OauthModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService OauthModule->HydraSsoService - - + + OAuthService - -OAuthService + +OAuthService OauthModule->OAuthService - - + + HydraSsoService - -HydraSsoService + +HydraSsoService HydraSsoService->OauthModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->OauthModule - - + + OAuthService - -OAuthService + +OAuthService OAuthService->OauthModule - - + + OauthAdapterService - -OauthAdapterService + +OauthAdapterService OauthAdapterService->OauthModule - - + + diff --git a/modules/OauthModule/dependencies.svg b/modules/OauthModule/dependencies.svg index 64730eb6bba..d21eeeb26b2 100644 --- a/modules/OauthModule/dependencies.svg +++ b/modules/OauthModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_OauthModule - -cluster_OauthModule_providers - - cluster_OauthModule_imports - + + + +cluster_OauthModule_providers + cluster_OauthModule_exports - + AuthorizationModule - -AuthorizationModule + +AuthorizationModule OauthModule - -OauthModule + +OauthModule AuthorizationModule->OauthModule - - + + CacheWrapperModule - -CacheWrapperModule + +CacheWrapperModule CacheWrapperModule->OauthModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->OauthModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->OauthModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->OauthModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule ProvisioningModule->OauthModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->OauthModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->OauthModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService OauthModule->HydraSsoService - - + + OAuthService - -OAuthService + +OAuthService OauthModule->OAuthService - - + + HydraSsoService - -HydraSsoService + +HydraSsoService HydraSsoService->OauthModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->OauthModule - - + + OAuthService - -OAuthService + +OAuthService OAuthService->OauthModule - - + + OauthAdapterService - -OauthAdapterService + +OauthAdapterService OauthAdapterService->OauthModule - - + + diff --git a/modules/OauthProviderApiModule.html b/modules/OauthProviderApiModule.html index 1992f72020b..52d394e3762 100644 --- a/modules/OauthProviderApiModule.html +++ b/modules/OauthProviderApiModule.html @@ -66,163 +66,163 @@ cluster_OauthProviderApiModule - -cluster_OauthProviderApiModule_providers - - cluster_OauthProviderApiModule_imports - + + + +cluster_OauthProviderApiModule_providers + 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 fda46c76f6f..5625bcf56ad 100644 --- a/modules/OauthProviderApiModule/dependencies.svg +++ b/modules/OauthProviderApiModule/dependencies.svg @@ -24,163 +24,163 @@ cluster_OauthProviderApiModule - -cluster_OauthProviderApiModule_providers - - cluster_OauthProviderApiModule_imports - + + + +cluster_OauthProviderApiModule_providers + 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 9ff726a486a..4cb7960bf47 100644 --- a/modules/OauthProviderModule.html +++ b/modules/OauthProviderModule.html @@ -70,14 +70,14 @@ cluster_OauthProviderModule_imports - -cluster_OauthProviderModule_providers - - cluster_OauthProviderModule_exports + +cluster_OauthProviderModule_providers + + LoggerModule diff --git a/modules/OauthProviderModule/dependencies.svg b/modules/OauthProviderModule/dependencies.svg index 3048ec52e38..03a026fbb88 100644 --- a/modules/OauthProviderModule/dependencies.svg +++ b/modules/OauthProviderModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_OauthProviderModule_imports - -cluster_OauthProviderModule_providers - - cluster_OauthProviderModule_exports + +cluster_OauthProviderModule_providers + + LoggerModule diff --git a/modules/PreviewGeneratorProducerModule.html b/modules/PreviewGeneratorProducerModule.html index f31b62f53dd..dc04be91cfc 100644 --- a/modules/PreviewGeneratorProducerModule.html +++ b/modules/PreviewGeneratorProducerModule.html @@ -66,71 +66,71 @@ cluster_PreviewGeneratorProducerModule - -cluster_PreviewGeneratorProducerModule_imports - + +cluster_PreviewGeneratorProducerModule_providers + cluster_PreviewGeneratorProducerModule_exports - + - -cluster_PreviewGeneratorProducerModule_providers - + +cluster_PreviewGeneratorProducerModule_imports + LoggerModule - -LoggerModule + +LoggerModule PreviewGeneratorProducerModule - -PreviewGeneratorProducerModule + +PreviewGeneratorProducerModule LoggerModule->PreviewGeneratorProducerModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->PreviewGeneratorProducerModule - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewGeneratorProducerModule->PreviewProducer - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewProducer->PreviewGeneratorProducerModule - - + + diff --git a/modules/PreviewGeneratorProducerModule/dependencies.svg b/modules/PreviewGeneratorProducerModule/dependencies.svg index eddfc8e09f1..ceb02a3bf2b 100644 --- a/modules/PreviewGeneratorProducerModule/dependencies.svg +++ b/modules/PreviewGeneratorProducerModule/dependencies.svg @@ -24,71 +24,71 @@ cluster_PreviewGeneratorProducerModule - -cluster_PreviewGeneratorProducerModule_imports - + +cluster_PreviewGeneratorProducerModule_providers + cluster_PreviewGeneratorProducerModule_exports - + - -cluster_PreviewGeneratorProducerModule_providers - + +cluster_PreviewGeneratorProducerModule_imports + LoggerModule - -LoggerModule + +LoggerModule PreviewGeneratorProducerModule - -PreviewGeneratorProducerModule + +PreviewGeneratorProducerModule LoggerModule->PreviewGeneratorProducerModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->PreviewGeneratorProducerModule - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewGeneratorProducerModule->PreviewProducer - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewProducer->PreviewGeneratorProducerModule - - + + diff --git a/modules/ProvisioningModule.html b/modules/ProvisioningModule.html index 1fb7000cfd1..9bdfb6f1a9e 100644 --- a/modules/ProvisioningModule.html +++ b/modules/ProvisioningModule.html @@ -66,6 +66,10 @@ cluster_ProvisioningModule + +cluster_ProvisioningModule_exports + + cluster_ProvisioningModule_providers @@ -74,10 +78,6 @@ cluster_ProvisioningModule_imports - -cluster_ProvisioningModule_exports - - AccountModule diff --git a/modules/ProvisioningModule/dependencies.svg b/modules/ProvisioningModule/dependencies.svg index 47217dffc62..00d904c379e 100644 --- a/modules/ProvisioningModule/dependencies.svg +++ b/modules/ProvisioningModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_ProvisioningModule + +cluster_ProvisioningModule_exports + + cluster_ProvisioningModule_providers @@ -32,10 +36,6 @@ cluster_ProvisioningModule_imports - -cluster_ProvisioningModule_exports - - AccountModule diff --git a/modules/RocketChatUserModule.html b/modules/RocketChatUserModule.html new file mode 100644 index 00000000000..39c3e3a7906 --- /dev/null +++ b/modules/RocketChatUserModule.html @@ -0,0 +1,282 @@ + + + + + + schulcloud-server documentation + + + + + + + + + + + + + +
                  +
                  + + +
                  +
                  + + + + + +
                  +
                  + + + + + + +dependencies + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports + +cluster_RocketChatUserModule + + + +cluster_RocketChatUserModule_providers + + + +cluster_RocketChatUserModule_exports + + + + +RocketChatService + +RocketChatService + + + +RocketChatUserModule + +RocketChatUserModule + + + +RocketChatUserModule->RocketChatService + + + + + +RocketChatUserRepo + +RocketChatUserRepo + + + +RocketChatUserRepo->RocketChatUserModule + + + + + +RocketChatUserService + +RocketChatUserService + + + +RocketChatUserService->RocketChatUserModule + + + + + + +
                  + +
                  + + + +
                  +
                  + + + + + +
                  +
                  + +

                  +

                  File

                  +

                  +

                  + apps/server/src/modules/rocketchat-user/rocketchat-user.module.ts +

                  + + + + + +
                  +
                  +
                  +

                  Providers

                  + +
                  +
                  +

                  Exports

                  + +
                  +
                  +
                  + + +
                  + + +
                  +
                  import { Module } from '@nestjs/common';
                  +import { RocketChatUserRepo } from './repo';
                  +import { RocketChatUserService } from './service/rocket-chat-user.service';
                  +import { RocketChatService } from '../rocketchat/rocket-chat.service';
                  +
                  +@Module({
                  +	providers: [RocketChatUserService, RocketChatUserRepo],
                  +	exports: [RocketChatService],
                  +})
                  +export class RocketChatUserModule {}
                  +
                  +
                  +
                  + + + + + + + + + + + + + + + + + +
                  +
                  +

                  results matching ""

                  +
                    +
                    +
                    +

                    No results matching ""

                    +
                    +
                    +
                    + +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/RocketChatUserModule/dependencies.svg b/modules/RocketChatUserModule/dependencies.svg new file mode 100644 index 00000000000..96b994123bc --- /dev/null +++ b/modules/RocketChatUserModule/dependencies.svg @@ -0,0 +1,78 @@ + + + + + + +dependencies + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports + +cluster_RocketChatUserModule + + + +cluster_RocketChatUserModule_providers + + + +cluster_RocketChatUserModule_exports + + + + +RocketChatService + +RocketChatService + + + +RocketChatUserModule + +RocketChatUserModule + + + +RocketChatUserModule->RocketChatService + + + + + +RocketChatUserRepo + +RocketChatUserRepo + + + +RocketChatUserRepo->RocketChatUserModule + + + + + +RocketChatUserService + +RocketChatUserService + + + +RocketChatUserService->RocketChatUserModule + + + + + diff --git a/modules/SchoolExternalToolModule.html b/modules/SchoolExternalToolModule.html index 78f979bd8db..67596567769 100644 --- a/modules/SchoolExternalToolModule.html +++ b/modules/SchoolExternalToolModule.html @@ -66,6 +66,10 @@ cluster_SchoolExternalToolModule
                    + +cluster_SchoolExternalToolModule_exports + + cluster_SchoolExternalToolModule_providers @@ -74,10 +78,6 @@ cluster_SchoolExternalToolModule_imports - -cluster_SchoolExternalToolModule_exports - - CommonToolModule diff --git a/modules/SchoolExternalToolModule/dependencies.svg b/modules/SchoolExternalToolModule/dependencies.svg index 85a8b2c42b2..19de6951858 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 8ea96115e8f..799d0f01d80 100644 --- a/modules/SharingModule.html +++ b/modules/SharingModule.html @@ -66,143 +66,143 @@ cluster_SharingModule - -cluster_SharingModule_imports - - cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + cluster_SharingModule_exports - + 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 155625cc40a..2d3c0d21f3e 100644 --- a/modules/SharingModule/dependencies.svg +++ b/modules/SharingModule/dependencies.svg @@ -24,143 +24,143 @@ cluster_SharingModule - -cluster_SharingModule_imports - - cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + cluster_SharingModule_exports - + 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/SystemApiModule.html b/modules/SystemApiModule.html index 18a3d36526e..06d1cd9f203 100644 --- a/modules/SystemApiModule.html +++ b/modules/SystemApiModule.html @@ -66,19 +66,19 @@ cluster_SystemApiModule - -cluster_SystemApiModule_providers - - cluster_SystemApiModule_imports - + + + +cluster_SystemApiModule_providers + SystemModule - -SystemModule + +SystemModule @@ -89,20 +89,20 @@ SystemModule->SystemApiModule - - + + SystemUc - -SystemUc + +SystemUc SystemUc->SystemApiModule - - + + diff --git a/modules/SystemApiModule/dependencies.svg b/modules/SystemApiModule/dependencies.svg index 7ccd51b557b..e9af13ac165 100644 --- a/modules/SystemApiModule/dependencies.svg +++ b/modules/SystemApiModule/dependencies.svg @@ -24,19 +24,19 @@ cluster_SystemApiModule - -cluster_SystemApiModule_providers - - cluster_SystemApiModule_imports - + + + +cluster_SystemApiModule_providers + SystemModule - -SystemModule + +SystemModule @@ -47,20 +47,20 @@ SystemModule->SystemApiModule - - + + SystemUc - -SystemUc + +SystemUc SystemUc->SystemApiModule - - + + diff --git a/modules/SystemModule.html b/modules/SystemModule.html index 61207b52e01..f01de6cad26 100644 --- a/modules/SystemModule.html +++ b/modules/SystemModule.html @@ -66,6 +66,10 @@ cluster_SystemModule + +cluster_SystemModule_exports + + cluster_SystemModule_providers @@ -74,10 +78,6 @@ cluster_SystemModule_imports - -cluster_SystemModule_exports - - IdentityManagementModule diff --git a/modules/SystemModule/dependencies.svg b/modules/SystemModule/dependencies.svg index 1ddf5927778..471b81aae65 100644 --- a/modules/SystemModule/dependencies.svg +++ b/modules/SystemModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_SystemModule + +cluster_SystemModule_exports + + cluster_SystemModule_providers @@ -32,10 +36,6 @@ cluster_SystemModule_imports - -cluster_SystemModule_exports - - IdentityManagementModule diff --git a/modules/TaskApiModule.html b/modules/TaskApiModule.html index d66a44b3e7e..79256e401e5 100644 --- a/modules/TaskApiModule.html +++ b/modules/TaskApiModule.html @@ -66,127 +66,127 @@ cluster_TaskApiModule - -cluster_TaskApiModule_imports - - cluster_TaskApiModule_providers - + + + +cluster_TaskApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule TaskApiModule - -TaskApiModule + +TaskApiModule AuthorizationModule->TaskApiModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->TaskApiModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->TaskApiModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->TaskApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->TaskApiModule - - + + SubmissionUc - -SubmissionUc + +SubmissionUc SubmissionUc->TaskApiModule - - + + TaskCopyUC - -TaskCopyUC + +TaskCopyUC TaskCopyUC->TaskApiModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->TaskApiModule - - + + TaskUC - -TaskUC + +TaskUC TaskUC->TaskApiModule - - + + diff --git a/modules/TaskApiModule/dependencies.svg b/modules/TaskApiModule/dependencies.svg index 1267d0776ce..0143161999c 100644 --- a/modules/TaskApiModule/dependencies.svg +++ b/modules/TaskApiModule/dependencies.svg @@ -24,127 +24,127 @@ cluster_TaskApiModule - -cluster_TaskApiModule_imports - - cluster_TaskApiModule_providers - + + + +cluster_TaskApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule TaskApiModule - -TaskApiModule + +TaskApiModule AuthorizationModule->TaskApiModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->TaskApiModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->TaskApiModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->TaskApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->TaskApiModule - - + + SubmissionUc - -SubmissionUc + +SubmissionUc SubmissionUc->TaskApiModule - - + + TaskCopyUC - -TaskCopyUC + +TaskCopyUC TaskCopyUC->TaskApiModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->TaskApiModule - - + + TaskUC - -TaskUC + +TaskUC TaskUC->TaskApiModule - - + + diff --git a/modules/TaskModule.html b/modules/TaskModule.html index 9d104b01ee5..fe84dfa67ac 100644 --- a/modules/TaskModule.html +++ b/modules/TaskModule.html @@ -66,167 +66,167 @@ cluster_TaskModule + +cluster_TaskModule_providers + + cluster_TaskModule_exports - + cluster_TaskModule_imports - - - -cluster_TaskModule_providers - + CopyHelperModule - -CopyHelperModule + +CopyHelperModule TaskModule - -TaskModule + +TaskModule CopyHelperModule->TaskModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->TaskModule - - + + SubmissionService - -SubmissionService + +SubmissionService TaskModule->SubmissionService - - + + TaskCopyService - -TaskCopyService + +TaskCopyService TaskModule->TaskCopyService - - + + TaskService - -TaskService + +TaskService TaskModule->TaskService - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->TaskModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->TaskModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->TaskModule - - + + SubmissionService - -SubmissionService + +SubmissionService SubmissionService->TaskModule - - + + TaskCopyService - -TaskCopyService + +TaskCopyService TaskCopyService->TaskModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->TaskModule - - + + TaskService - -TaskService + +TaskService TaskService->TaskModule - - + + diff --git a/modules/TaskModule/dependencies.svg b/modules/TaskModule/dependencies.svg index 1517dddee27..237e03053b9 100644 --- a/modules/TaskModule/dependencies.svg +++ b/modules/TaskModule/dependencies.svg @@ -24,167 +24,167 @@ cluster_TaskModule + +cluster_TaskModule_providers + + cluster_TaskModule_exports - + cluster_TaskModule_imports - - - -cluster_TaskModule_providers - + CopyHelperModule - -CopyHelperModule + +CopyHelperModule TaskModule - -TaskModule + +TaskModule CopyHelperModule->TaskModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule FilesStorageClientModule->TaskModule - - + + SubmissionService - -SubmissionService + +SubmissionService TaskModule->SubmissionService - - + + TaskCopyService - -TaskCopyService + +TaskCopyService TaskModule->TaskCopyService - - + + TaskService - -TaskService + +TaskService TaskModule->TaskService - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->TaskModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->TaskModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->TaskModule - - + + SubmissionService - -SubmissionService + +SubmissionService SubmissionService->TaskModule - - + + TaskCopyService - -TaskCopyService + +TaskCopyService TaskCopyService->TaskModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->TaskModule - - + + TaskService - -TaskService + +TaskService TaskService->TaskModule - - + + diff --git a/modules/ToolApiModule.html b/modules/ToolApiModule.html index 87a1d084f55..eff049e506c 100644 --- a/modules/ToolApiModule.html +++ b/modules/ToolApiModule.html @@ -66,283 +66,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/ToolLaunchModule.html b/modules/ToolLaunchModule.html index 7e4b41b6579..d6f21a749a9 100644 --- a/modules/ToolLaunchModule.html +++ b/modules/ToolLaunchModule.html @@ -66,6 +66,10 @@ cluster_ToolLaunchModule + +cluster_ToolLaunchModule_exports + + cluster_ToolLaunchModule_providers @@ -74,10 +78,6 @@ cluster_ToolLaunchModule_imports - -cluster_ToolLaunchModule_exports - - BoardModule diff --git a/modules/ToolLaunchModule/dependencies.svg b/modules/ToolLaunchModule/dependencies.svg index eb609f50fc9..88b2a74b7aa 100644 --- a/modules/ToolLaunchModule/dependencies.svg +++ b/modules/ToolLaunchModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_ToolLaunchModule + +cluster_ToolLaunchModule_exports + + cluster_ToolLaunchModule_providers @@ -32,10 +36,6 @@ cluster_ToolLaunchModule_imports - -cluster_ToolLaunchModule_exports - - BoardModule diff --git a/modules/ToolModule.html b/modules/ToolModule.html index 7a8d15ecc13..8efe1f7804d 100644 --- a/modules/ToolModule.html +++ b/modules/ToolModule.html @@ -68,153 +68,153 @@ cluster_ToolModule_exports - - - -cluster_ToolModule_imports - + cluster_ToolModule_providers - + + + +cluster_ToolModule_imports + 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 b57793fe849..7fcb336870d 100644 --- a/modules/ToolModule/dependencies.svg +++ b/modules/ToolModule/dependencies.svg @@ -26,153 +26,153 @@ cluster_ToolModule_exports - - - -cluster_ToolModule_imports - + cluster_ToolModule_providers - + + + +cluster_ToolModule_imports + 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/UserLoginMigrationApiModule.html b/modules/UserLoginMigrationApiModule.html index 287fa9900f6..2b3b7da189f 100644 --- a/modules/UserLoginMigrationApiModule.html +++ b/modules/UserLoginMigrationApiModule.html @@ -66,175 +66,175 @@ cluster_UserLoginMigrationApiModule - -cluster_UserLoginMigrationApiModule_providers - - cluster_UserLoginMigrationApiModule_imports - + + + +cluster_UserLoginMigrationApiModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule UserLoginMigrationApiModule - -UserLoginMigrationApiModule + +UserLoginMigrationApiModule AuthenticationModule->UserLoginMigrationApiModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->UserLoginMigrationApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserLoginMigrationApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserLoginMigrationApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->UserLoginMigrationApiModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule ProvisioningModule->UserLoginMigrationApiModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->UserLoginMigrationApiModule - - + + CloseUserLoginMigrationUc - -CloseUserLoginMigrationUc + +CloseUserLoginMigrationUc CloseUserLoginMigrationUc->UserLoginMigrationApiModule - - + + PageContentMapper - -PageContentMapper + +PageContentMapper PageContentMapper->UserLoginMigrationApiModule - - + + RestartUserLoginMigrationUc - -RestartUserLoginMigrationUc + +RestartUserLoginMigrationUc RestartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + StartUserLoginMigrationUc - -StartUserLoginMigrationUc + +StartUserLoginMigrationUc StartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + ToggleUserLoginMigrationUc - -ToggleUserLoginMigrationUc + +ToggleUserLoginMigrationUc ToggleUserLoginMigrationUc->UserLoginMigrationApiModule - - + + UserLoginMigrationUc - -UserLoginMigrationUc + +UserLoginMigrationUc UserLoginMigrationUc->UserLoginMigrationApiModule - - + + diff --git a/modules/UserLoginMigrationApiModule/dependencies.svg b/modules/UserLoginMigrationApiModule/dependencies.svg index 71d8658e2d2..8ec06bebd6b 100644 --- a/modules/UserLoginMigrationApiModule/dependencies.svg +++ b/modules/UserLoginMigrationApiModule/dependencies.svg @@ -24,175 +24,175 @@ cluster_UserLoginMigrationApiModule - -cluster_UserLoginMigrationApiModule_providers - - cluster_UserLoginMigrationApiModule_imports - + + + +cluster_UserLoginMigrationApiModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule UserLoginMigrationApiModule - -UserLoginMigrationApiModule + +UserLoginMigrationApiModule AuthenticationModule->UserLoginMigrationApiModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->UserLoginMigrationApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserLoginMigrationApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserLoginMigrationApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->UserLoginMigrationApiModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule ProvisioningModule->UserLoginMigrationApiModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule UserLoginMigrationModule->UserLoginMigrationApiModule - - + + CloseUserLoginMigrationUc - -CloseUserLoginMigrationUc + +CloseUserLoginMigrationUc CloseUserLoginMigrationUc->UserLoginMigrationApiModule - - + + PageContentMapper - -PageContentMapper + +PageContentMapper PageContentMapper->UserLoginMigrationApiModule - - + + RestartUserLoginMigrationUc - -RestartUserLoginMigrationUc + +RestartUserLoginMigrationUc RestartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + StartUserLoginMigrationUc - -StartUserLoginMigrationUc + +StartUserLoginMigrationUc StartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + ToggleUserLoginMigrationUc - -ToggleUserLoginMigrationUc + +ToggleUserLoginMigrationUc ToggleUserLoginMigrationUc->UserLoginMigrationApiModule - - + + UserLoginMigrationUc - -UserLoginMigrationUc + +UserLoginMigrationUc UserLoginMigrationUc->UserLoginMigrationApiModule - - + + diff --git a/modules/UserLoginMigrationModule.html b/modules/UserLoginMigrationModule.html index fa322613d13..80318b3b98e 100644 --- a/modules/UserLoginMigrationModule.html +++ b/modules/UserLoginMigrationModule.html @@ -66,215 +66,215 @@ cluster_UserLoginMigrationModule - -cluster_UserLoginMigrationModule_imports - - cluster_UserLoginMigrationModule_providers - + + + +cluster_UserLoginMigrationModule_imports + cluster_UserLoginMigrationModule_exports - + AccountModule - -AccountModule + +AccountModule UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule AccountModule->UserLoginMigrationModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserLoginMigrationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserLoginMigrationModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->UserLoginMigrationModule - - + + UserModule - -UserModule + +UserModule UserModule->UserLoginMigrationModule - - + + MigrationCheckService - -MigrationCheckService + +MigrationCheckService UserLoginMigrationModule->MigrationCheckService - - + + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService UserLoginMigrationModule->SchoolMigrationService - - + + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService UserLoginMigrationModule->UserLoginMigrationRevertService - - + + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService UserLoginMigrationModule->UserLoginMigrationService - - + + UserMigrationService - -UserMigrationService + +UserMigrationService UserLoginMigrationModule->UserMigrationService - - + + MigrationCheckService - -MigrationCheckService + +MigrationCheckService MigrationCheckService->UserLoginMigrationModule - - + + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService SchoolMigrationService->UserLoginMigrationModule - - + + UserLoginMigrationRepo - -UserLoginMigrationRepo + +UserLoginMigrationRepo UserLoginMigrationRepo->UserLoginMigrationModule - - + + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService UserLoginMigrationRevertService->UserLoginMigrationModule - - + + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService UserLoginMigrationService->UserLoginMigrationModule - - + + UserMigrationService - -UserMigrationService + +UserMigrationService UserMigrationService->UserLoginMigrationModule - - + + diff --git a/modules/UserLoginMigrationModule/dependencies.svg b/modules/UserLoginMigrationModule/dependencies.svg index 42888d55251..3b9af6ad517 100644 --- a/modules/UserLoginMigrationModule/dependencies.svg +++ b/modules/UserLoginMigrationModule/dependencies.svg @@ -24,215 +24,215 @@ cluster_UserLoginMigrationModule - -cluster_UserLoginMigrationModule_imports - - cluster_UserLoginMigrationModule_providers - + + + +cluster_UserLoginMigrationModule_imports + cluster_UserLoginMigrationModule_exports - + AccountModule - -AccountModule + +AccountModule UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule AccountModule->UserLoginMigrationModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserLoginMigrationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserLoginMigrationModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->UserLoginMigrationModule - - + + UserModule - -UserModule + +UserModule UserModule->UserLoginMigrationModule - - + + MigrationCheckService - -MigrationCheckService + +MigrationCheckService UserLoginMigrationModule->MigrationCheckService - - + + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService UserLoginMigrationModule->SchoolMigrationService - - + + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService UserLoginMigrationModule->UserLoginMigrationRevertService - - + + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService UserLoginMigrationModule->UserLoginMigrationService - - + + UserMigrationService - -UserMigrationService + +UserMigrationService UserLoginMigrationModule->UserMigrationService - - + + MigrationCheckService - -MigrationCheckService + +MigrationCheckService MigrationCheckService->UserLoginMigrationModule - - + + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService SchoolMigrationService->UserLoginMigrationModule - - + + UserLoginMigrationRepo - -UserLoginMigrationRepo + +UserLoginMigrationRepo UserLoginMigrationRepo->UserLoginMigrationModule - - + + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService UserLoginMigrationRevertService->UserLoginMigrationModule - - + + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService UserLoginMigrationService->UserLoginMigrationModule - - + + UserMigrationService - -UserMigrationService + +UserMigrationService UserMigrationService->UserLoginMigrationModule - - + + diff --git a/modules/UserModule.html b/modules/UserModule.html index 63f86ae500d..71cd23b441c 100644 --- a/modules/UserModule.html +++ b/modules/UserModule.html @@ -66,131 +66,131 @@ cluster_UserModule - -cluster_UserModule_providers - + +cluster_UserModule_exports + cluster_UserModule_imports - + - -cluster_UserModule_exports - + +cluster_UserModule_providers + AccountModule - -AccountModule + +AccountModule UserModule - -UserModule + +UserModule AccountModule->UserModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->UserModule - - + + UserRepo - -UserRepo + +UserRepo UserModule->UserRepo - - + + UserService - -UserService + +UserService UserModule->UserService - - + + UserDORepo - -UserDORepo + +UserDORepo UserDORepo->UserModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->UserModule - - + + UserService - -UserService + +UserService UserService->UserModule - - + + diff --git a/modules/UserModule/dependencies.svg b/modules/UserModule/dependencies.svg index 665fe20a58c..ced98a49ec7 100644 --- a/modules/UserModule/dependencies.svg +++ b/modules/UserModule/dependencies.svg @@ -24,131 +24,131 @@ cluster_UserModule - -cluster_UserModule_providers - + +cluster_UserModule_exports + cluster_UserModule_imports - + - -cluster_UserModule_exports - + +cluster_UserModule_providers + AccountModule - -AccountModule + +AccountModule UserModule - -UserModule + +UserModule AccountModule->UserModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->UserModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->UserModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->UserModule - - + + UserRepo - -UserRepo + +UserRepo UserModule->UserRepo - - + + UserService - -UserService + +UserService UserModule->UserService - - + + UserDORepo - -UserDORepo + +UserDORepo UserDORepo->UserModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->UserModule - - + + UserService - -UserService + +UserService UserService->UserModule - - + + diff --git a/modules/VideoConferenceApiModule.html b/modules/VideoConferenceApiModule.html index fa3af765bc0..3a23b7bfac5 100644 --- a/modules/VideoConferenceApiModule.html +++ b/modules/VideoConferenceApiModule.html @@ -66,103 +66,103 @@ cluster_VideoConferenceApiModule - -cluster_VideoConferenceApiModule_imports - - cluster_VideoConferenceApiModule_providers - + + + +cluster_VideoConferenceApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule VideoConferenceApiModule - -VideoConferenceApiModule + +VideoConferenceApiModule AuthorizationModule->VideoConferenceApiModule - - + + UserModule - -UserModule + +UserModule UserModule->VideoConferenceApiModule - - + + VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule VideoConferenceModule->VideoConferenceApiModule - - + + VideoConferenceCreateUc - -VideoConferenceCreateUc + +VideoConferenceCreateUc VideoConferenceCreateUc->VideoConferenceApiModule - - + + VideoConferenceEndUc - -VideoConferenceEndUc + +VideoConferenceEndUc VideoConferenceEndUc->VideoConferenceApiModule - - + + VideoConferenceInfoUc - -VideoConferenceInfoUc + +VideoConferenceInfoUc VideoConferenceInfoUc->VideoConferenceApiModule - - + + VideoConferenceJoinUc - -VideoConferenceJoinUc + +VideoConferenceJoinUc VideoConferenceJoinUc->VideoConferenceApiModule - - + + diff --git a/modules/VideoConferenceApiModule/dependencies.svg b/modules/VideoConferenceApiModule/dependencies.svg index aa8fdfdf469..d8b713584ad 100644 --- a/modules/VideoConferenceApiModule/dependencies.svg +++ b/modules/VideoConferenceApiModule/dependencies.svg @@ -24,103 +24,103 @@ cluster_VideoConferenceApiModule - -cluster_VideoConferenceApiModule_imports - - cluster_VideoConferenceApiModule_providers - + + + +cluster_VideoConferenceApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule VideoConferenceApiModule - -VideoConferenceApiModule + +VideoConferenceApiModule AuthorizationModule->VideoConferenceApiModule - - + + UserModule - -UserModule + +UserModule UserModule->VideoConferenceApiModule - - + + VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule VideoConferenceModule->VideoConferenceApiModule - - + + VideoConferenceCreateUc - -VideoConferenceCreateUc + +VideoConferenceCreateUc VideoConferenceCreateUc->VideoConferenceApiModule - - + + VideoConferenceEndUc - -VideoConferenceEndUc + +VideoConferenceEndUc VideoConferenceEndUc->VideoConferenceApiModule - - + + VideoConferenceInfoUc - -VideoConferenceInfoUc + +VideoConferenceInfoUc VideoConferenceInfoUc->VideoConferenceApiModule - - + + VideoConferenceJoinUc - -VideoConferenceJoinUc + +VideoConferenceJoinUc VideoConferenceJoinUc->VideoConferenceApiModule - - + + diff --git a/modules/VideoConferenceModule.html b/modules/VideoConferenceModule.html index 5378165a152..b676f86216c 100644 --- a/modules/VideoConferenceModule.html +++ b/modules/VideoConferenceModule.html @@ -66,209 +66,209 @@ cluster_VideoConferenceModule - -cluster_VideoConferenceModule_imports - - cluster_VideoConferenceModule_exports - + cluster_VideoConferenceModule_providers - + + + +cluster_VideoConferenceModule_imports + 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 27eb2993763..83cfbc7a4f9 100644 --- a/modules/VideoConferenceModule/dependencies.svg +++ b/modules/VideoConferenceModule/dependencies.svg @@ -24,209 +24,209 @@ cluster_VideoConferenceModule - -cluster_VideoConferenceModule_imports - - cluster_VideoConferenceModule_exports - + cluster_VideoConferenceModule_providers - + + + +cluster_VideoConferenceModule_imports + 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/overview.html b/overview.html index fa100bb8728..3558e9293c4 100644 --- a/overview.html +++ b/overview.html @@ -44,8205 +44,8259 @@ - - + + dependencies - -Legend - -  Declarations - -  Module - -  Bootstrap - -  Providers - -  Exports + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports cluster_AccountApiModule - + cluster_AccountApiModule_imports - + cluster_AccountApiModule_providers - + cluster_AccountModule - + cluster_AccountModule_imports - + cluster_AccountModule_exports - + cluster_AccountModule_providers - + cluster_AuthenticationApiModule - + cluster_AuthenticationApiModule_imports - + cluster_AuthenticationApiModule_providers - + cluster_AuthenticationModule - + cluster_AuthenticationModule_imports - + cluster_AuthenticationModule_exports - + cluster_AuthenticationModule_providers - + cluster_AuthorizationModule - + cluster_AuthorizationModule_imports - + cluster_AuthorizationModule_exports - + cluster_AuthorizationModule_providers - + cluster_AuthorizationReferenceModule - + cluster_AuthorizationReferenceModule_exports - + cluster_AuthorizationReferenceModule_providers - + cluster_BoardApiModule - + cluster_BoardApiModule_imports - + cluster_BoardApiModule_providers - + cluster_BoardModule - + cluster_BoardModule_imports - + cluster_BoardModule_exports - + cluster_BoardModule_providers - + cluster_CacheWrapperModule - + cluster_CacheWrapperModule_exports - + cluster_CacheWrapperModule_providers - + cluster_CalendarModule - + cluster_CalendarModule_exports - + cluster_CalendarModule_providers - + cluster_ClassModule - + cluster_ClassModule_exports - + cluster_ClassModule_providers - + cluster_CollaborativeStorageAdapterModule - + cluster_CollaborativeStorageAdapterModule_imports - + cluster_CollaborativeStorageAdapterModule_exports - + cluster_CollaborativeStorageAdapterModule_providers - + cluster_CollaborativeStorageModule - + cluster_CollaborativeStorageModule_exports - + cluster_CollaborativeStorageModule_providers - + cluster_CommonToolModule - + cluster_CommonToolModule_imports - + cluster_CommonToolModule_exports - + cluster_CommonToolModule_providers - + cluster_ConsoleWriterModule - + cluster_ConsoleWriterModule_exports - + cluster_ConsoleWriterModule_providers - + cluster_ContextExternalToolModule - + cluster_ContextExternalToolModule_imports - + cluster_ContextExternalToolModule_exports - + cluster_ContextExternalToolModule_providers - + cluster_CopyHelperModule - + cluster_CopyHelperModule_exports - + cluster_CopyHelperModule_providers - + cluster_CoreModule - + cluster_CoreModule_imports - + cluster_CoreModule_exports - + cluster_DatabaseManagementModule - + cluster_DatabaseManagementModule_exports - + cluster_DatabaseManagementModule_providers - + cluster_DeletionModule - + cluster_DeletionModule_exports - + cluster_DeletionModule_providers - + cluster_EncryptionModule - + cluster_ExternalToolModule - + cluster_ExternalToolModule_imports - + cluster_ExternalToolModule_exports - + cluster_ExternalToolModule_providers - + cluster_FeathersModule - + cluster_FeathersModule_exports - + cluster_FeathersModule_providers - + cluster_FilesModule - + cluster_FilesModule_providers - + cluster_FilesStorageAMQPModule - + cluster_FilesStorageAMQPModule_imports - + cluster_FilesStorageAMQPModule_providers - + cluster_FilesStorageApiModule - + cluster_FilesStorageApiModule_providers - + cluster_FilesStorageClientModule - + cluster_FilesStorageClientModule_exports - + cluster_FilesStorageClientModule_providers - + cluster_FilesStorageModule - + cluster_FilesStorageModule_imports - + cluster_FilesStorageModule_exports - + cluster_FilesStorageModule_providers - + cluster_FilesStorageTestModule - + cluster_FilesStorageTestModule_imports - + cluster_FileSystemModule - + cluster_FileSystemModule_exports - + cluster_FileSystemModule_providers - + cluster_FwuLearningContentsModule - + cluster_FwuLearningContentsModule_imports - + cluster_FwuLearningContentsModule_providers - + cluster_FwuLearningContentsTestModule - + cluster_GroupApiModule - + cluster_GroupApiModule_imports - + cluster_GroupApiModule_providers - + cluster_GroupModule - + cluster_GroupModule_exports - + cluster_GroupModule_providers - + cluster_H5PEditorModule - + cluster_H5PEditorModule_providers - + cluster_H5PEditorTestModule - + cluster_IdentityManagementModule - + cluster_IdentityManagementModule_imports - + cluster_IdentityManagementModule_exports - + cluster_ImportUserModule - + cluster_ImportUserModule_providers - + cluster_KeycloakAdministrationModule - + cluster_KeycloakAdministrationModule_exports - + cluster_KeycloakAdministrationModule_providers - + cluster_KeycloakConfigurationModule - + cluster_KeycloakConfigurationModule_exports - + cluster_KeycloakConfigurationModule_providers - + cluster_KeycloakModule - + cluster_KeycloakModule_exports - + cluster_KeycloakModule_providers - + cluster_LearnroomApiModule - + cluster_LearnroomApiModule_imports - + cluster_LearnroomApiModule_providers - + cluster_LearnroomModule - + cluster_LearnroomModule_imports - + cluster_LearnroomModule_exports - + cluster_LearnroomModule_providers - + cluster_LegacySchoolApiModule - + cluster_LegacySchoolApiModule_imports - + cluster_LegacySchoolApiModule_providers - + cluster_LegacySchoolModule - + cluster_LegacySchoolModule_exports - + cluster_LegacySchoolModule_providers - + cluster_LessonApiModule - + cluster_LessonApiModule_providers - + cluster_LessonModule - + cluster_LessonModule_exports - + cluster_LessonModule_providers - + cluster_LoggerModule - + cluster_LoggerModule_exports - + cluster_LoggerModule_providers - + cluster_LtiToolModule - + cluster_LtiToolModule_exports - + cluster_LtiToolModule_providers - + cluster_ManagementModule - + cluster_ManagementModule_providers - + cluster_ManagementServerModule - + cluster_ManagementServerTestModule - + cluster_MetaTagExtractorApiModule - + cluster_MetaTagExtractorApiModule_imports - + cluster_MetaTagExtractorApiModule_providers - + cluster_MetaTagExtractorModule - + cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_providers - + cluster_NewsModule - + cluster_NewsModule_exports - + cluster_NewsModule_providers - + cluster_OauthApiModule - + cluster_OauthApiModule_imports - + cluster_OauthApiModule_providers - + cluster_OauthModule - + cluster_OauthModule_exports - + cluster_OauthModule_providers - + cluster_OauthProviderApiModule - + cluster_OauthProviderApiModule_imports - + cluster_OauthProviderApiModule_providers - + cluster_OauthProviderModule - + cluster_OauthProviderModule_exports - + cluster_OauthProviderModule_providers - + cluster_OauthProviderServiceModule - + cluster_OauthProviderServiceModule_exports - + cluster_PreviewGeneratorAMQPModule - + cluster_PreviewGeneratorAMQPModule_imports - + cluster_PreviewGeneratorProducerModule - + cluster_PreviewGeneratorProducerModule_exports - + cluster_PreviewGeneratorProducerModule_providers - + cluster_ProvisioningModule - + cluster_ProvisioningModule_exports - + cluster_ProvisioningModule_providers - + cluster_PseudonymApiModule - + cluster_PseudonymApiModule_providers - + cluster_PseudonymModule - + cluster_PseudonymModule_exports - + cluster_PseudonymModule_providers - + cluster_RedisModule - + -cluster_RoleModule - +cluster_RocketChatUserModule + -cluster_RoleModule_exports - +cluster_RocketChatUserModule_exports + +cluster_RocketChatUserModule_providers + + + +cluster_RoleModule + + + +cluster_RoleModule_exports + + + cluster_RoleModule_providers - + - + cluster_SchoolExternalToolModule - + - + cluster_SchoolExternalToolModule_exports - + - + cluster_SchoolExternalToolModule_providers - + - + cluster_ServerConsoleModule - + - + cluster_ServerModule - + - + cluster_ServerModule_imports - + - + cluster_ServerTestModule - + - + cluster_SharingApiModule - + - + cluster_SharingApiModule_imports - + - + cluster_SharingApiModule_providers - + - + cluster_SharingModule - + - + cluster_SharingModule_exports - + - + cluster_SharingModule_providers - + - + cluster_SystemApiModule - + - + cluster_SystemApiModule_providers - + - + cluster_SystemModule - + - + cluster_SystemModule_exports - + - + cluster_SystemModule_providers - + - + cluster_TaskApiModule - + - + cluster_TaskApiModule_providers - + - + cluster_TaskModule - + - + cluster_TaskModule_exports - + - + cluster_TaskModule_providers - + - + cluster_TeamsApiModule - + - + cluster_TeamsApiModule_imports - + - + cluster_TeamsModule - + - + cluster_TeamsModule_exports - + - + cluster_TeamsModule_providers - + - + cluster_ToolApiModule - + - + cluster_ToolApiModule_providers - + - + cluster_ToolLaunchModule - + - + cluster_ToolLaunchModule_exports - + - + cluster_ToolLaunchModule_providers - + - + cluster_ToolModule - + - + cluster_ToolModule_exports - + - + cluster_UserApiModule - + - + cluster_UserApiModule_providers - + - + cluster_UserLoginMigrationApiModule - + - + cluster_UserLoginMigrationApiModule_providers - + - + cluster_UserLoginMigrationModule - + - + cluster_UserLoginMigrationModule_exports - + - + cluster_UserLoginMigrationModule_providers - + - + cluster_UserModule - + - + cluster_UserModule_exports - + - + cluster_UserModule_providers - + - + cluster_VideoConferenceApiModule - + - + cluster_VideoConferenceApiModule_imports - + - + cluster_VideoConferenceApiModule_providers - + - + cluster_VideoConferenceModule - + - + cluster_VideoConferenceModule_exports - + - + cluster_VideoConferenceModule_providers - + AccountModule - -AccountModule + +AccountModule AccountApiModule - -AccountApiModule + +AccountApiModule AccountModule->AccountApiModule - - + + AccountService - -AccountService + +AccountService AccountModule->AccountService - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountModule->AccountValidationService - - + + AuthenticationModule - -AuthenticationModule + +AuthenticationModule AccountModule->AuthenticationModule - - + + UserModule - -UserModule + +UserModule - + AccountModule->UserModule - - + + ImportUserModule - -ImportUserModule + +ImportUserModule AccountModule->ImportUserModule - - + + KeycloakConfigurationModule - -KeycloakConfigurationModule + +KeycloakConfigurationModule AccountModule->KeycloakConfigurationModule - - + + UserLoginMigrationModule - -UserLoginMigrationModule + +UserLoginMigrationModule - + AccountModule->UserLoginMigrationModule - - + + ProvisioningModule - -ProvisioningModule + +ProvisioningModule AccountModule->ProvisioningModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->AccountModule - - + + LoggerModule->AccountApiModule - - + + LoggerModule->AuthenticationModule - - + + OauthModule - -OauthModule + +OauthModule LoggerModule->OauthModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule LoggerModule->AuthorizationModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule LoggerModule->AuthorizationReferenceModule - - + + BoardModule - -BoardModule + +BoardModule LoggerModule->BoardModule - - + + BoardApiModule - -BoardApiModule + +BoardApiModule LoggerModule->BoardApiModule - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule LoggerModule->ContextExternalToolModule - - + + FilesStorageClientModule - -FilesStorageClientModule + +FilesStorageClientModule LoggerModule->FilesStorageClientModule - - + + - + LoggerModule->UserModule - - + + CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule LoggerModule->CollaborativeStorageAdapterModule - - + + CollaborativeStorageModule - -CollaborativeStorageModule + +CollaborativeStorageModule LoggerModule->CollaborativeStorageModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + CommonToolModule - -CommonToolModule + +CommonToolModule LoggerModule->CommonToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule LoggerModule->ExternalToolModule - - + + ErrorModule - -ErrorModule + +ErrorModule LoggerModule->ErrorModule - - + + CoreModule - -CoreModule + +CoreModule LoggerModule->CoreModule - - + + DeletionModule - -DeletionModule + +DeletionModule LoggerModule->DeletionModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule LoggerModule->EncryptionModule - - + + FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesStorageAMQPModule - -FilesStorageAMQPModule + +FilesStorageAMQPModule LoggerModule->FilesStorageAMQPModule - - + + FilesStorageTestModule - -FilesStorageTestModule + +FilesStorageTestModule LoggerModule->FilesStorageTestModule - - + + FwuLearningContentsModule - -FwuLearningContentsModule + +FwuLearningContentsModule LoggerModule->FwuLearningContentsModule - - + + FwuLearningContentsTestModule - -FwuLearningContentsTestModule + +FwuLearningContentsTestModule LoggerModule->FwuLearningContentsTestModule - - + + H5PEditorTestModule - -H5PEditorTestModule + +H5PEditorTestModule LoggerModule->H5PEditorTestModule - - + + KeycloakModule - -KeycloakModule + +KeycloakModule LoggerModule->KeycloakModule - - + + LoggerModule->ImportUserModule - - + + LoggerModule->KeycloakConfigurationModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LoggerModule->LearnroomModule - - + + LessonModule - -LessonModule + +LessonModule LoggerModule->LessonModule - - + + - + LoggerModule->UserLoginMigrationModule - - + + LegacySchoolApiModule - -LegacySchoolApiModule + +LegacySchoolApiModule LoggerModule->LegacySchoolApiModule - - + + ErrorLogger - -ErrorLogger + +ErrorLogger LoggerModule->ErrorLogger - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LoggerModule->LegacyLogger - - + + Logger - -Logger + +Logger LoggerModule->Logger - - + + MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule LoggerModule->MetaTagExtractorModule - - + + MetaTagExtractorApiModule - -MetaTagExtractorApiModule + +MetaTagExtractorApiModule LoggerModule->MetaTagExtractorApiModule - - + + NewsModule - -NewsModule + +NewsModule LoggerModule->NewsModule - - + + LoggerModule->ProvisioningModule - - + + OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthProviderModule - -OauthProviderModule + +OauthProviderModule LoggerModule->OauthProviderModule - - + + OauthProviderApiModule - -OauthProviderApiModule + +OauthProviderApiModule LoggerModule->OauthProviderApiModule - - + + PreviewGeneratorProducerModule - -PreviewGeneratorProducerModule + +PreviewGeneratorProducerModule LoggerModule->PreviewGeneratorProducerModule - - + + RedisModule - -RedisModule + +RedisModule LoggerModule->RedisModule - - + + - + SharingApiModule - -SharingApiModule + +SharingApiModule - + LoggerModule->SharingApiModule - - + + - + ToolApiModule - -ToolApiModule + +ToolApiModule - + LoggerModule->ToolApiModule - - + + - + UserLoginMigrationApiModule - -UserLoginMigrationApiModule + +UserLoginMigrationApiModule - + LoggerModule->UserLoginMigrationApiModule - - + + - + ServerModule - -ServerModule + +ServerModule - + LoggerModule->ServerModule - - + + - + ServerTestModule - -ServerTestModule + +ServerTestModule - + LoggerModule->ServerTestModule - - + + - + SharingModule - -SharingModule + +SharingModule - + LoggerModule->SharingModule - - + + - + VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule - + LoggerModule->VideoConferenceModule - - + + - + AccountApiModule->ServerModule - - + + - + AccountApiModule->ServerTestModule - - + + AccountUc - -AccountUc + +AccountUc AccountUc->AccountApiModule - - + + PermissionService - -PermissionService + +PermissionService PermissionService->AccountModule - - + + PermissionService->AccountApiModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->AccountModule - - + + UserRepo->AccountApiModule - - + + UserRepo->AuthenticationModule - - + + UserRepo->AuthorizationModule - - + + UserRepo->AuthorizationReferenceModule - - + + - + UserRepo->UserModule - - + + UserRepo->ImportUserModule - - + + UserRepo->LearnroomModule - - + + LearnroomApiModule - -LearnroomApiModule + +LearnroomApiModule UserRepo->LearnroomApiModule - - + + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule IdentityManagementModule->AccountModule - - + + IdentityManagementModule->AuthenticationModule - - + + SystemModule - -SystemModule + +SystemModule - + IdentityManagementModule->SystemModule - - + + IdentityManagementOauthService - -IdentityManagementOauthService + +IdentityManagementOauthService IdentityManagementModule->IdentityManagementOauthService - - + + IdentityManagementService - -IdentityManagementService + +IdentityManagementService IdentityManagementModule->IdentityManagementService - - + + AccountLookupService - -AccountLookupService + +AccountLookupService AccountLookupService->AccountModule - - + + AccountRepo - -AccountRepo + +AccountRepo AccountRepo->AccountModule - - + + AccountService - -AccountService + +AccountService AccountService->AccountModule - - + + AccountServiceDb - -AccountServiceDb + +AccountServiceDb AccountServiceDb->AccountModule - - + + AccountServiceIdm - -AccountServiceIdm + +AccountServiceIdm AccountServiceIdm->AccountModule - - + + AccountValidationService - -AccountValidationService + +AccountValidationService AccountValidationService->AccountModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->AccountModule - - + + SystemRepo->AuthenticationModule - - + + - + SystemRepo->SystemModule - - + + SystemRepo->ImportUserModule - - + + AuthenticationApiModule - -AuthenticationApiModule + +AuthenticationApiModule AuthenticationModule->AuthenticationApiModule - - + + AuthenticationService - -AuthenticationService + +AuthenticationService AuthenticationModule->AuthenticationService - - + + FilesStorageApiModule - -FilesStorageApiModule + +FilesStorageApiModule AuthenticationModule->FilesStorageApiModule - - + + AuthenticationModule->FilesStorageTestModule - - + + AuthenticationModule->FwuLearningContentsModule - - + + AuthenticationModule->FwuLearningContentsTestModule - - + + H5PEditorModule - -H5PEditorModule + +H5PEditorModule AuthenticationModule->H5PEditorModule - - + + AuthenticationModule->H5PEditorTestModule - - + + AuthenticationModule->MetaTagExtractorModule - - + + AuthenticationModule->OauthApiModule - - + + - + AuthenticationModule->UserLoginMigrationApiModule - - + + AuthenticationApiModule->H5PEditorTestModule - - + + - + AuthenticationApiModule->ServerModule - - + + - + AuthenticationApiModule->ServerTestModule - - + + LoginUc - -LoginUc + +LoginUc LoginUc->AuthenticationApiModule - - + + CacheWrapperModule - -CacheWrapperModule + +CacheWrapperModule CacheWrapperModule->AuthenticationModule - - + + CacheWrapperModule->OauthModule - - + + CacheService - -CacheService + +CacheService CacheWrapperModule->CacheService - - + + OauthModule->AuthenticationModule - - + + OauthModule->OauthApiModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService OauthModule->HydraSsoService - - + + OAuthService - -OAuthService + +OAuthService OauthModule->OAuthService - - + + - + OauthModule->UserLoginMigrationApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->AuthenticationModule - - + + - + RoleModule->UserModule - - + + RoleModule->CollaborativeStorageModule - - + + GroupApiModule - -GroupApiModule + +GroupApiModule RoleModule->GroupApiModule - - + + RoleModule->ProvisioningModule - - + + - + RoleRepo - -RoleRepo + +RoleRepo - + RoleModule->RoleRepo - - + + - + RoleService - -RoleService + +RoleService - + RoleModule->RoleService - - + + - + RoleUc - -RoleUc + +RoleUc - + RoleModule->RoleUc - - + + SystemModule->AuthenticationModule - - + + SystemModule->OauthModule - - + + SystemModule->GroupApiModule - - + + SystemModule->KeycloakConfigurationModule - - + + - + SystemModule->UserLoginMigrationModule - - + + SystemModule->ProvisioningModule - - + + SystemModule->OauthApiModule - - + + - + SystemApiModule - -SystemApiModule + +SystemApiModule - + SystemModule->SystemApiModule - - + + - + SystemOidcService - -SystemOidcService + +SystemOidcService - + SystemModule->SystemOidcService - - + + - + SystemService - -SystemService + +SystemService - + SystemModule->SystemService - - + + AuthenticationService - -AuthenticationService + +AuthenticationService AuthenticationService->AuthenticationModule - - + + JwtStrategy - -JwtStrategy + +JwtStrategy JwtStrategy->AuthenticationModule - - + + JwtValidationAdapter - -JwtValidationAdapter + +JwtValidationAdapter JwtValidationAdapter->AuthenticationModule - - + + LdapService - -LdapService + +LdapService LdapService->AuthenticationModule - - + + LdapStrategy - -LdapStrategy + +LdapStrategy LdapStrategy->AuthenticationModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->AuthenticationModule - - + + LegacySchoolRepo->AuthorizationReferenceModule - - + + LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolRepo->ImportUserModule - - + + LocalStrategy - -LocalStrategy + +LocalStrategy LocalStrategy->AuthenticationModule - - + + Oauth2Strategy - -Oauth2Strategy + +Oauth2Strategy Oauth2Strategy->AuthenticationModule - - + + FeathersModule - -FeathersModule + +FeathersModule FeathersModule->AuthorizationModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersModule->FeathersServiceProvider - - + + AuthorizationModule->OauthModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationModule->AuthorizationService - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService AuthorizationModule->FeathersAuthorizationService - - + + AuthorizationModule->AuthorizationReferenceModule - - + + AuthorizationModule->CollaborativeStorageModule - - + + AuthorizationModule->FilesStorageTestModule - - + + AuthorizationModule->FwuLearningContentsModule - - + + AuthorizationModule->FwuLearningContentsTestModule - - + + AuthorizationModule->GroupApiModule - - + + AuthorizationModule->ImportUserModule - - + + AuthorizationModule->LearnroomApiModule - - + + AuthorizationModule->LegacySchoolApiModule - - + + LessonApiModule - -LessonApiModule + +LessonApiModule AuthorizationModule->LessonApiModule - - + + AuthorizationModule->NewsModule - - + + AuthorizationModule->OauthApiModule - - + + AuthorizationModule->OauthProviderApiModule - - + + PseudonymApiModule - -PseudonymApiModule + +PseudonymApiModule AuthorizationModule->PseudonymApiModule - - + + - + AuthorizationModule->SharingApiModule - - + + - + TaskApiModule - -TaskApiModule + +TaskApiModule - + AuthorizationModule->TaskApiModule - - + + - + AuthorizationModule->ToolApiModule - - + + - + AuthorizationModule->UserLoginMigrationApiModule - - + + - + VideoConferenceApiModule - -VideoConferenceApiModule + +VideoConferenceApiModule - + AuthorizationModule->VideoConferenceApiModule - - + + - + AuthorizationModule->SharingModule - - + + - + AuthorizationModule->VideoConferenceModule - - + + AuthorizationHelper - -AuthorizationHelper + +AuthorizationHelper AuthorizationHelper->AuthorizationModule - - + + AuthorizationHelper->AuthorizationReferenceModule - - + + AuthorizationService - -AuthorizationService + +AuthorizationService AuthorizationService->AuthorizationModule - - + + BoardDoRule - -BoardDoRule + +BoardDoRule BoardDoRule->AuthorizationModule - - + + ContextExternalToolRule - -ContextExternalToolRule + +ContextExternalToolRule ContextExternalToolRule->AuthorizationModule - - + + CourseGroupRule - -CourseGroupRule + +CourseGroupRule CourseGroupRule->AuthorizationModule - - + + CourseRule - -CourseRule + +CourseRule CourseRule->AuthorizationModule - - + + FeathersAuthProvider - -FeathersAuthProvider + +FeathersAuthProvider FeathersAuthProvider->AuthorizationModule - - + + FeathersAuthorizationService - -FeathersAuthorizationService + +FeathersAuthorizationService FeathersAuthorizationService->AuthorizationModule - - + + GroupRule - -GroupRule + +GroupRule GroupRule->AuthorizationModule - - + + LegacySchoolRule - -LegacySchoolRule + +LegacySchoolRule LegacySchoolRule->AuthorizationModule - - + + LessonRule - -LessonRule + +LessonRule LessonRule->AuthorizationModule - - + + RuleManager - -RuleManager + +RuleManager RuleManager->AuthorizationModule - - + + SchoolExternalToolRule - -SchoolExternalToolRule + +SchoolExternalToolRule SchoolExternalToolRule->AuthorizationModule - - + + SubmissionRule - -SubmissionRule + +SubmissionRule SubmissionRule->AuthorizationModule - - + + TaskRule - -TaskRule + +TaskRule TaskRule->AuthorizationModule - - + + TeamRule - -TeamRule + +TeamRule TeamRule->AuthorizationModule - - + + UserLoginMigrationRule - -UserLoginMigrationRule + +UserLoginMigrationRule UserLoginMigrationRule->AuthorizationModule - - + + UserRule - -UserRule + +UserRule UserRule->AuthorizationModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceModule->AuthorizationReferenceService - - + + AuthorizationReferenceModule->FilesStorageApiModule - - + + AuthorizationReferenceModule->H5PEditorModule - - + + AuthorizationReferenceModule->H5PEditorTestModule - - + + AuthorizationReferenceModule->LearnroomApiModule - - + + - + AuthorizationReferenceModule->SharingApiModule - - + + - + AuthorizationReferenceModule->SharingModule - - + + - + AuthorizationReferenceModule->VideoConferenceModule - - + + AuthorizationReferenceService - -AuthorizationReferenceService + +AuthorizationReferenceService AuthorizationReferenceService->AuthorizationReferenceModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->AuthorizationReferenceModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->AuthorizationReferenceModule - - + + CourseRepo->BoardModule - - + + CourseRepo->LearnroomModule - - + + CourseRepo->LearnroomApiModule - - + + TaskModule - -TaskModule + +TaskModule - + CourseRepo->TaskModule - - + + - + CourseRepo->TaskApiModule - - + + LessonRepo - -LessonRepo + +LessonRepo LessonRepo->AuthorizationReferenceModule - - + + LessonRepo->LearnroomModule - - + + LessonRepo->LessonModule - - + + LessonRepo->LearnroomApiModule - - + + - + LessonRepo->TaskModule - - + + - + LessonRepo->TaskApiModule - - + + ReferenceLoader - -ReferenceLoader + +ReferenceLoader ReferenceLoader->AuthorizationReferenceModule - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo SchoolExternalToolRepo->AuthorizationReferenceModule - - + + SchoolExternalToolRepo->CommonToolModule - - + + SubmissionRepo - -SubmissionRepo + +SubmissionRepo SubmissionRepo->AuthorizationReferenceModule - - + + - + SubmissionRepo->TaskModule - - + + TaskRepo - -TaskRepo + +TaskRepo TaskRepo->AuthorizationReferenceModule - - + + - + TaskRepo->TaskModule - - + + - + TaskRepo->TaskApiModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->AuthorizationReferenceModule - - + + TeamsRepo->CollaborativeStorageModule - - + + TeamsRepo->OauthProviderModule - - + + - + TeamsModule - -TeamsModule + +TeamsModule - + TeamsRepo->TeamsModule - - + + - + TeamsRepo->VideoConferenceModule - - + + BoardModule->BoardApiModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardModule->BoardDoAuthorizableService - - + + CardService - -CardService + +CardService BoardModule->CardService - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService BoardModule->ColumnBoardCopyService - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService BoardModule->ColumnBoardService - - + + ColumnService - -ColumnService + +ColumnService BoardModule->ColumnService - - + + ContentElementService - -ContentElementService + +ContentElementService BoardModule->ContentElementService - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService BoardModule->SubmissionItemService - - + + BoardModule->LearnroomModule - - + + - + BoardModule->ToolApiModule - - + + - + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule - + BoardModule->ToolLaunchModule - - + + - + BoardApiModule->ServerModule - - + + - + BoardApiModule->ServerTestModule - - + + BoardUc - -BoardUc + +BoardUc BoardUc->BoardApiModule - - + + CardUc - -CardUc + +CardUc CardUc->BoardApiModule - - + + ColumnUc - -ColumnUc + +ColumnUc ColumnUc->BoardApiModule - - + + ElementUc - -ElementUc + +ElementUc ElementUc->BoardApiModule - - + + SubmissionItemUc - -SubmissionItemUc + +SubmissionItemUc SubmissionItemUc->BoardApiModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->BoardModule - - + + ConsoleWriterService - -ConsoleWriterService + +ConsoleWriterService ConsoleWriterModule->ConsoleWriterService - - + + ConsoleWriterModule->KeycloakConfigurationModule - - + + ConsoleWriterModule->MetaTagExtractorModule - - + + - + ServerConsoleModule - -ServerConsoleModule + +ServerConsoleModule - + ConsoleWriterModule->ServerConsoleModule - - + + ContextExternalToolModule->BoardModule - - + + ToolModule - -ToolModule + +ToolModule - + ContextExternalToolModule->ToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + - + ContextExternalToolModule->ToolLaunchModule - - + + FilesStorageClientModule->BoardModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService FilesStorageClientModule->CopyFilesService - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientModule->FilesStorageClientAdapterService - - + + FilesStorageClientModule->LessonModule - - + + - + FilesStorageClientModule->TaskModule - - + + - + FilesStorageClientModule->ServerModule - - + + - + FilesStorageClientModule->ServerTestModule - - + + UserModule->OauthModule - - + + UserModule->BoardModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule UserModule->PseudonymModule - - + + UserModule->CollaborativeStorageAdapterModule - - + + UserModule->GroupApiModule - - + + UserModule->H5PEditorModule - - + + UserModule->H5PEditorTestModule - - + + - + UserModule->UserLoginMigrationModule - - + + UserModule->MetaTagExtractorModule - - + + UserModule->ProvisioningModule - - + + UserModule->OauthApiModule - - + + UserModule->OauthProviderModule - - + + UserModule->OauthProviderApiModule - - + + - + UserModule->ToolApiModule - - + + - + UserApiModule - -UserApiModule + +UserApiModule - + UserModule->UserApiModule - - + + - + UserModule->VideoConferenceApiModule - - + + - + UserModule->ToolLaunchModule - - + + - + UserRepo - -UserRepo + +UserRepo - + UserModule->UserRepo - - + + - + UserService - -UserService + +UserService - + UserModule->UserService - - + + - + UserModule->VideoConferenceModule - - + + - + UserModule->VideoConferenceModule - - + + BoardDoAuthorizableService - -BoardDoAuthorizableService + +BoardDoAuthorizableService BoardDoAuthorizableService->BoardModule - - + + BoardDoCopyService - -BoardDoCopyService + +BoardDoCopyService BoardDoCopyService->BoardModule - - + + BoardDoRepo - -BoardDoRepo + +BoardDoRepo BoardDoRepo->BoardModule - - + + BoardDoService - -BoardDoService + +BoardDoService BoardDoService->BoardModule - - + + BoardNodeRepo - -BoardNodeRepo + +BoardNodeRepo BoardNodeRepo->BoardModule - - + + CardService - -CardService + +CardService CardService->BoardModule - - + + ColumnBoardCopyService - -ColumnBoardCopyService + +ColumnBoardCopyService ColumnBoardCopyService->BoardModule - - + + ColumnBoardService - -ColumnBoardService + +ColumnBoardService ColumnBoardService->BoardModule - - + + ColumnService - -ColumnService + +ColumnService ColumnService->BoardModule - - + + ContentElementFactory - -ContentElementFactory + +ContentElementFactory ContentElementFactory->BoardModule - - + + ContentElementService - -ContentElementService + +ContentElementService ContentElementService->BoardModule - - + + RecursiveDeleteVisitor - -RecursiveDeleteVisitor + +RecursiveDeleteVisitor RecursiveDeleteVisitor->BoardModule - - + + SchoolSpecificFileCopyServiceFactory - -SchoolSpecificFileCopyServiceFactory + +SchoolSpecificFileCopyServiceFactory SchoolSpecificFileCopyServiceFactory->BoardModule - - + + SubmissionItemService - -SubmissionItemService + +SubmissionItemService SubmissionItemService->BoardModule - - + + CacheService - -CacheService + +CacheService CacheService->CacheWrapperModule - - + + CalendarService - -CalendarService + +CalendarService CalendarModule - -CalendarModule + +CalendarModule CalendarModule->CalendarService - - + + - + CalendarModule->VideoConferenceModule - - + + CalendarMapper - -CalendarMapper + +CalendarMapper CalendarMapper->CalendarModule - - + + CalendarService - -CalendarService + +CalendarService CalendarService->CalendarModule - - + + ClassService - -ClassService + +ClassService ClassModule - -ClassModule + +ClassModule ClassModule->ClassService - - + + ClassModule->GroupApiModule - - + + ClassService - -ClassService + +ClassService ClassService->ClassModule - - + + ClassesRepo - -ClassesRepo + +ClassesRepo ClassesRepo->ClassModule - - + + PseudonymModule->CollaborativeStorageAdapterModule - - + + PseudonymModule->OauthProviderModule - - + + PseudonymModule->OauthProviderApiModule - - + + PseudonymModule->PseudonymApiModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ToolModule->CollaborativeStorageAdapterModule - - + + CommonToolService - -CommonToolService + +CommonToolService - + ToolModule->CommonToolService - - + + ToolModule->OauthProviderModule - - + + - + ToolModule->ToolApiModule - - + + - + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule - + ToolModule->ContextExternalToolModule - - + + - + ExternalToolModule - -ExternalToolModule + +ExternalToolModule - + ToolModule->ExternalToolModule - - + + - + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule - + ToolModule->SchoolExternalToolModule - - + + - + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule - + ToolModule->ToolLaunchModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapterModule->CollaborativeStorageAdapter - - + + CollaborativeStorageAdapterModule->CollaborativeStorageModule - - + + CollaborativeStorageAdapter - -CollaborativeStorageAdapter + +CollaborativeStorageAdapter CollaborativeStorageAdapter->CollaborativeStorageAdapterModule - - + + CollaborativeStorageAdapterMapper - -CollaborativeStorageAdapterMapper + +CollaborativeStorageAdapterMapper CollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->OauthModule - - + + LtiToolRepo->CollaborativeStorageAdapterModule - - + + LtiToolModule - -LtiToolModule + +LtiToolModule LtiToolRepo->LtiToolModule - - + + - + LtiToolRepo->ToolApiModule - - + + NextcloudClient - -NextcloudClient + +NextcloudClient NextcloudClient->CollaborativeStorageAdapterModule - - + + NextcloudStrategy - -NextcloudStrategy + +NextcloudStrategy NextcloudStrategy->CollaborativeStorageAdapterModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageModule->CollaborativeStorageUc - - + + - + CollaborativeStorageModule->ServerModule - - + + - + CollaborativeStorageModule->ServerTestModule - - + + CollaborativeStorageService - -CollaborativeStorageService + +CollaborativeStorageService CollaborativeStorageService->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageUc->CollaborativeStorageModule - - + + TeamMapper - -TeamMapper + +TeamMapper TeamMapper->CollaborativeStorageModule - - + + TeamPermissionsMapper - -TeamPermissionsMapper + +TeamPermissionsMapper TeamPermissionsMapper->CollaborativeStorageModule - - + + LegacySchoolModule->OauthModule - - + + - + LegacySchoolModule->UserModule - - + + LegacySchoolModule->CommonToolModule - - + + LegacySchoolModule->GroupApiModule - - + + LegacySchoolModule->ImportUserModule - - + + - + LegacySchoolModule->UserLoginMigrationModule - - + + LegacySchoolModule->LegacySchoolApiModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + LegacySchoolModule->ProvisioningModule - - + + LegacySchoolModule->OauthApiModule - - + + LegacySchoolModule->PseudonymApiModule - - + + - + LegacySchoolModule->ToolApiModule - - + + - + LegacySchoolModule->UserLoginMigrationApiModule - - + + - + LegacySchoolModule->ToolLaunchModule - - + + - + LegacySchoolModule->VideoConferenceModule - - + + CommonToolModule->ContextExternalToolModule - - + + CommonToolModule->CommonToolService - - + + CommonToolValidationService - -CommonToolValidationService + +CommonToolValidationService CommonToolModule->CommonToolValidationService - - + + ContextExternalToolRepo - -ContextExternalToolRepo + +ContextExternalToolRepo CommonToolModule->ContextExternalToolRepo - - + + SchoolExternalToolRepo - -SchoolExternalToolRepo + +SchoolExternalToolRepo CommonToolModule->SchoolExternalToolRepo - - + + CommonToolModule->ExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule - + CommonToolModule->SchoolExternalToolModule - - + + - + CommonToolModule->ToolApiModule - - + + - + CommonToolModule->ToolLaunchModule - - + + CommonToolService - -CommonToolService + +CommonToolService - + CommonToolService->ToolModule - - + + CommonToolService->CommonToolModule - - + + CommonToolValidationService - -CommonToolValidationService + +CommonToolValidationService CommonToolValidationService->CommonToolModule - - + + ContextExternalToolRepo - -ContextExternalToolRepo + +ContextExternalToolRepo ContextExternalToolRepo->CommonToolModule - - + + ConsoleWriterService - -ConsoleWriterService + +ConsoleWriterService ConsoleWriterService->ConsoleWriterModule - - + + ManagementModule - -ManagementModule + +ManagementModule ConsoleWriterService->ManagementModule - - + + ExternalToolModule->ContextExternalToolModule - - + + - + ExternalToolModule->ToolModule - - + + - + ExternalToolModule->SchoolExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionService - -ExternalToolVersionService + +ExternalToolVersionService ExternalToolModule->ExternalToolVersionService - - + + - + ExternalToolModule->ToolLaunchModule - - + + SchoolExternalToolModule->ContextExternalToolModule - - + + - + SchoolExternalToolModule->ToolModule - - + + - + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService - + SchoolExternalToolModule->SchoolExternalToolService - - + + - + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService - + SchoolExternalToolModule->SchoolExternalToolValidationService - - + + - + SchoolExternalToolModule->ToolLaunchModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + CopyHelperService - -CopyHelperService + +CopyHelperService CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->FilesStorageClientModule - - + + CopyHelperModule->CopyHelperService - - + + CopyHelperModule->LearnroomModule - - + + CopyHelperModule->LessonModule - - + + CopyHelperModule->LearnroomApiModule - - + + - + CopyHelperModule->TaskModule - - + + - + CopyHelperModule->TaskApiModule - - + + CopyHelperService - -CopyHelperService + +CopyHelperService CopyHelperService->CopyHelperModule - - + + ErrorModule->CoreModule - - + + InterceptorModule - -InterceptorModule + +InterceptorModule InterceptorModule->CoreModule - - + + ValidationModule - -ValidationModule + +ValidationModule ValidationModule->CoreModule - - + + LoggerModule - -LoggerModule + +LoggerModule CoreModule->LoggerModule - - + + CoreModule->FilesStorageAMQPModule - - + + CoreModule->FilesStorageApiModule - - + + CoreModule->FilesStorageTestModule - - + + CoreModule->FwuLearningContentsModule - - + + CoreModule->FwuLearningContentsTestModule - - + + CoreModule->H5PEditorModule - - + + CoreModule->H5PEditorTestModule - - + + - + CoreModule->ServerModule - - + + - + CoreModule->ServerTestModule - - + + DatabaseManagementService - -DatabaseManagementService + +DatabaseManagementService DatabaseManagementModule - -DatabaseManagementModule + +DatabaseManagementModule DatabaseManagementModule->DatabaseManagementService - - + + DatabaseManagementService - -DatabaseManagementService + +DatabaseManagementService DatabaseManagementService->DatabaseManagementModule - - + + DatabaseManagementService->ManagementModule - - + + DeletionRequestService - -DeletionRequestService + +DeletionRequestService DeletionModule->DeletionRequestService - - + + DeletionRequestRepo - -DeletionRequestRepo + +DeletionRequestRepo DeletionRequestRepo->DeletionModule - - + + DeletionRequestService - -DeletionRequestService + +DeletionRequestService DeletionRequestService->DeletionModule - - + + EncryptionModule->IdentityManagementModule - - + + EncryptionModule->OauthModule - - + + EncryptionModule->ExternalToolModule - - + + EncryptionModule->KeycloakModule - - + + EncryptionModule->KeycloakConfigurationModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + OauthProviderServiceModule->OauthProviderModule - - + + OauthProviderServiceModule->OauthProviderApiModule - - + + OauthProviderService - -OauthProviderService + +OauthProviderService OauthProviderServiceModule->OauthProviderService - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule - + ToolConfigModule->ToolModule - - + + ToolConfigModule->ExternalToolModule - - + + ToolConfigModule->OauthProviderModule - - + + - + ToolConfigModule->ToolApiModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + - + ExternalToolConfigurationService->ToolApiModule - - + + 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 - - + + ExternalToolVersionService - -ExternalToolVersionService + +ExternalToolVersionService ExternalToolVersionService->ExternalToolModule - - + + FeathersServiceProvider - -FeathersServiceProvider + +FeathersServiceProvider FeathersServiceProvider->FeathersModule - - + + FeathersServiceProvider->LessonModule - - + + - + FilesModule->ServerConsoleModule - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageAMQPModule - - + + FilesStorageModule->FilesStorageApiModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageModule->FilesStorageService - - + + PreviewService - -PreviewService + +PreviewService FilesStorageModule->PreviewService - - + + FilesStorageConsumer - -FilesStorageConsumer + +FilesStorageConsumer FilesStorageConsumer->FilesStorageAMQPModule - - + + FilesStorageApiModule->FilesStorageTestModule - - + + FilesStorageUC - -FilesStorageUC + +FilesStorageUC FilesStorageUC->FilesStorageApiModule - - + + CopyFilesService - -CopyFilesService + +CopyFilesService CopyFilesService->FilesStorageClientModule - - + + FilesStorageClientAdapterService - -FilesStorageClientAdapterService + +FilesStorageClientAdapterService FilesStorageClientAdapterService->FilesStorageClientModule - - + + FilesStorageProducer - -FilesStorageProducer + +FilesStorageProducer FilesStorageProducer->FilesStorageClientModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->FilesStorageModule - - + + RabbitMQWrapperModule->FwuLearningContentsModule - - + + RabbitMQWrapperModule->H5PEditorModule - - + + RabbitMQWrapperModule->PreviewGeneratorProducerModule - - + + - + RabbitMQWrapperModule->ServerModule - - + + FileRecordRepo - -FileRecordRepo + +FileRecordRepo FileRecordRepo->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageService->FilesStorageModule - - + + PreviewService - -PreviewService + +PreviewService PreviewService->FilesStorageModule - - + + MongoMemoryDatabaseModule - -MongoMemoryDatabaseModule + +MongoMemoryDatabaseModule MongoMemoryDatabaseModule->FilesStorageTestModule - - + + MongoMemoryDatabaseModule->FwuLearningContentsTestModule - - + + MongoMemoryDatabaseModule->H5PEditorTestModule - - + + ManagementServerTestModule - -ManagementServerTestModule + +ManagementServerTestModule MongoMemoryDatabaseModule->ManagementServerTestModule - - + + - + MongoMemoryDatabaseModule->ServerTestModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->FilesStorageTestModule - - + + RabbitMQWrapperTestModule->FwuLearningContentsTestModule - - + + RabbitMQWrapperTestModule->H5PEditorTestModule - - + + - + RabbitMQWrapperTestModule->ServerTestModule - - + + FileSystemAdapter - -FileSystemAdapter + +FileSystemAdapter FileSystemModule - -FileSystemModule + +FileSystemModule FileSystemModule->FileSystemAdapter - - + + FileSystemAdapter - -FileSystemAdapter + +FileSystemAdapter FileSystemAdapter->FileSystemModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->FwuLearningContentsModule - - + + S3ClientModule->FwuLearningContentsTestModule - - + + S3ClientModule->H5PEditorModule - - + + S3ClientModule->H5PEditorTestModule - - + + FwuLearningContentsUc - -FwuLearningContentsUc + +FwuLearningContentsUc FwuLearningContentsUc->FwuLearningContentsModule - - + + FwuLearningContentsUc->FwuLearningContentsTestModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + GroupService - -GroupService + +GroupService GroupModule->GroupService - - + + GroupModule->ProvisioningModule - - + + - + GroupApiModule->ServerModule - - + + - + GroupApiModule->ServerTestModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + GroupRepo - -GroupRepo + +GroupRepo GroupRepo->GroupModule - - + + GroupService - -GroupService + +GroupService GroupService->GroupModule - - + + H5PEditorModule->H5PEditorTestModule - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + ContentStorage->H5PEditorTestModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PContentRepo->H5PEditorTestModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + H5PEditorUc->H5PEditorTestModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryRepo->H5PEditorTestModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + LibraryStorage->H5PEditorTestModule - - + + Logger - -Logger + +Logger Logger->LoggerModule - - + + Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileRepo->H5PEditorTestModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + TemporaryFileStorage->H5PEditorTestModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->IdentityManagementModule - - + + KeycloakAdministrationModule->KeycloakModule - - + + KeycloakAdministrationService - -KeycloakAdministrationService + +KeycloakAdministrationService KeycloakAdministrationModule->KeycloakAdministrationService - - + + KeycloakAdministrationModule->KeycloakConfigurationModule - - + + KeycloakModule->IdentityManagementModule - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakModule->KeycloakIdentityManagementOauthService - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakModule->KeycloakIdentityManagementService - - + + - + ImportUserModule->ServerModule - - + + - + ImportUserModule->ServerTestModule - - + + ImportUserRepo - -ImportUserRepo + +ImportUserRepo ImportUserRepo->ImportUserModule - - + + UserImportUc - -UserImportUc + +UserImportUc UserImportUc->ImportUserModule - - + + KeycloakAdministrationService - -KeycloakAdministrationService + +KeycloakAdministrationService KeycloakAdministrationService->KeycloakAdministrationModule - - + + 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 - - + + KeycloakIdentityManagementOauthService - -KeycloakIdentityManagementOauthService + +KeycloakIdentityManagementOauthService KeycloakIdentityManagementOauthService->KeycloakModule - - + + KeycloakIdentityManagementService - -KeycloakIdentityManagementService + +KeycloakIdentityManagementService KeycloakIdentityManagementService->KeycloakModule - - + + LearnroomModule->PseudonymModule - - + + LearnroomModule->LearnroomApiModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService LearnroomModule->CommonCartridgeExportService - - + + CourseCopyService - -CourseCopyService + +CourseCopyService LearnroomModule->CourseCopyService - - + + CourseService - -CourseService + +CourseService LearnroomModule->CourseService - - + + RoomsService - -RoomsService + +RoomsService LearnroomModule->RoomsService - - + + - + LearnroomModule->SharingApiModule - - + + - + LearnroomModule->ToolApiModule - - + + - + LearnroomModule->SharingModule - - + + - + LearnroomModule->ToolLaunchModule - - + + - + LearnroomModule->VideoConferenceModule - - + + LessonModule->LearnroomModule - - + + LessonModule->LearnroomApiModule - - + + LessonModule->LessonApiModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonModule->LessonCopyService - - + + LessonService - -LessonService + +LessonService LessonModule->LessonService - - + + - + LessonModule->SharingApiModule - - + + - + LessonModule->SharingModule - - + + - + LearnroomApiModule->ServerModule - - + + - + LearnroomApiModule->ServerTestModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomModule - - + + BoardRepo->LearnroomApiModule - - + + CourseCopyUC - -CourseCopyUC + +CourseCopyUC CourseCopyUC->LearnroomApiModule - - + + CourseExportUc - -CourseExportUc + +CourseExportUc CourseExportUc->LearnroomApiModule - - + + CourseUc - -CourseUc + +CourseUc CourseUc->LearnroomApiModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomModule - - + + DashboardModelMapper->LearnroomApiModule - - + + DashboardUc - -DashboardUc + +DashboardUc DashboardUc->LearnroomApiModule - - + + LessonCopyUC - -LessonCopyUC + +LessonCopyUC LessonCopyUC->LearnroomApiModule - - + + RoomBoardDTOFactory - -RoomBoardDTOFactory + +RoomBoardDTOFactory RoomBoardDTOFactory->LearnroomApiModule - - + + RoomBoardResponseMapper - -RoomBoardResponseMapper + +RoomBoardResponseMapper RoomBoardResponseMapper->LearnroomApiModule - - + + RoomsAuthorisationService - -RoomsAuthorisationService + +RoomsAuthorisationService RoomsAuthorisationService->LearnroomApiModule - - + + RoomsUc - -RoomsUc + +RoomsUc RoomsUc->LearnroomApiModule - - + + TaskModule->LearnroomModule - - + + TaskModule->LessonModule - - + + - + TaskModule->SharingApiModule - - + + - + TaskModule->TaskApiModule - - + + - + TaskModule->SharingModule - - + + - + SubmissionService - -SubmissionService + +SubmissionService - + TaskModule->SubmissionService - - + + - + TaskCopyService - -TaskCopyService + +TaskCopyService - + TaskModule->TaskCopyService - - + + - + TaskService - -TaskService + +TaskService - + TaskModule->TaskService - - + + BoardCopyService - -BoardCopyService + +BoardCopyService BoardCopyService->LearnroomModule - - + + ColumnBoardTargetService - -ColumnBoardTargetService + +ColumnBoardTargetService ColumnBoardTargetService->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService CommonCartridgeExportService->LearnroomModule - - + + CourseCopyService - -CourseCopyService + +CourseCopyService CourseCopyService->LearnroomModule - - + + CourseService - -CourseService + +CourseService CourseService->LearnroomModule - - + + RoomsService - -RoomsService + +RoomsService RoomsService->LearnroomModule - - + + UserLoginMigrationModule->OauthModule - - + + UserLoginMigrationModule->LegacySchoolApiModule - - + + UserLoginMigrationModule->OauthApiModule - + - + UserLoginMigrationModule->UserLoginMigrationApiModule - - + + - + MigrationCheckService - -MigrationCheckService + +MigrationCheckService - + UserLoginMigrationModule->MigrationCheckService - - + + - + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService - + UserLoginMigrationModule->SchoolMigrationService - - + + - + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService - + UserLoginMigrationModule->UserLoginMigrationRevertService - - + + - + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService - + UserLoginMigrationModule->UserLoginMigrationService - - + + - + UserMigrationService - -UserMigrationService + +UserMigrationService - + UserLoginMigrationModule->UserMigrationService - - + + - + LegacySchoolApiModule->ServerModule - - + + - + LegacySchoolApiModule->ServerTestModule - - + + LegacySchoolUc - -LegacySchoolUc + +LegacySchoolUc LegacySchoolUc->LegacySchoolApiModule - - + + MigrationMapper - -MigrationMapper + +MigrationMapper MigrationMapper->LegacySchoolApiModule - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + - + LessonApiModule->ServerModule - - + + - + LessonApiModule->ServerTestModule - - + + LessonUC - -LessonUC + +LessonUC LessonUC->LessonApiModule - - + + EtherpadService - -EtherpadService + +EtherpadService EtherpadService->LessonModule - - + + LessonCopyService - -LessonCopyService + +LessonCopyService LessonCopyService->LessonModule - - + + LessonService - -LessonService + +LessonService LessonService->LessonModule - - + + NexboardService - -NexboardService + +NexboardService NexboardService->LessonModule - - + + ErrorLogger - -ErrorLogger + +ErrorLogger ErrorLogger->LoggerModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->LoggerModule - - + + LegacyLogger->PseudonymModule - - + + LegacyLogger->LtiToolModule - - + + LtiToolService - -LtiToolService + +LtiToolService LtiToolModule->LtiToolService - - + + LtiToolModule->OauthProviderModule - - + + LtiToolService - -LtiToolService + +LtiToolService LtiToolService->LtiToolModule - - + + BoardManagementUc - -BoardManagementUc + +BoardManagementUc BoardManagementUc->ManagementModule - - + + BsonConverter - -BsonConverter + +BsonConverter BsonConverter->ManagementModule - - + + DatabaseManagementUc - -DatabaseManagementUc + +DatabaseManagementUc DatabaseManagementUc->ManagementModule - - + + ManagementServerModule - -ManagementServerModule + +ManagementServerModule ManagementModule->ManagementServerModule - - + + ManagementModule->ManagementServerTestModule - - + + - + ManagementModule->ServerConsoleModule - - + + MetaTagExtractorModule->MetaTagExtractorApiModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + - + MetaTagExtractorModule->ServerModule - - + + - + MetaTagExtractorModule->ServerTestModule - - + + - + MetaTagExtractorApiModule->ServerModule - - + + - + MetaTagExtractorApiModule->ServerTestModule - - + + MetaTagExtractorUc - -MetaTagExtractorUc + +MetaTagExtractorUc MetaTagExtractorUc->MetaTagExtractorApiModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + NewsUc - -NewsUc + +NewsUc NewsModule->NewsUc - - + + - + NewsModule->ServerModule - - + + - + NewsModule->ServerTestModule - - + + NewsRepo - -NewsRepo + +NewsRepo NewsRepo->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsUc->NewsModule - - + + ProvisioningModule->OauthModule - - + + ProvisioningModule->OauthApiModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningModule->ProvisioningService - - + + - + ProvisioningModule->UserLoginMigrationApiModule - - + + - + OauthApiModule->ServerModule - - + + - + OauthApiModule->ServerTestModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + OauthUc - -OauthUc + +OauthUc OauthUc->OauthApiModule - - + + HydraSsoService - -HydraSsoService + +HydraSsoService HydraSsoService->OauthModule - - + + OAuthService - -OAuthService + +OAuthService OAuthService->OauthModule - - + + OauthAdapterService - -OauthAdapterService + +OauthAdapterService OauthAdapterService->OauthModule - - + + OauthProviderModule->OauthProviderApiModule - - + + IdTokenService - -IdTokenService + +IdTokenService OauthProviderModule->IdTokenService - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderModule->OauthProviderLoginFlowService - - + + - + OauthProviderApiModule->ServerModule - - + + - + OauthProviderApiModule->ServerTestModule - - + + 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 - - + + IdTokenService - -IdTokenService + +IdTokenService IdTokenService->OauthProviderModule - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderLoginFlowService->OauthProviderModule - - + + PreviewGeneratorConsumerModule - -PreviewGeneratorConsumerModule + +PreviewGeneratorConsumerModule PreviewGeneratorAMQPModule - -PreviewGeneratorAMQPModule + +PreviewGeneratorAMQPModule PreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewGeneratorProducerModule->PreviewProducer - - + + PreviewProducer - -PreviewProducer + +PreviewProducer PreviewProducer->PreviewGeneratorProducerModule - - + + IservProvisioningStrategy - -IservProvisioningStrategy + +IservProvisioningStrategy IservProvisioningStrategy->ProvisioningModule - - + + OidcMockProvisioningStrategy - -OidcMockProvisioningStrategy + +OidcMockProvisioningStrategy OidcMockProvisioningStrategy->ProvisioningModule - - + + OidcProvisioningService - -OidcProvisioningService + +OidcProvisioningService OidcProvisioningService->ProvisioningModule - - + + ProvisioningService - -ProvisioningService + +ProvisioningService ProvisioningService->ProvisioningModule - - + + SanisProvisioningStrategy - -SanisProvisioningStrategy + +SanisProvisioningStrategy SanisProvisioningStrategy->ProvisioningModule - - + + SanisResponseMapper - -SanisResponseMapper + +SanisResponseMapper SanisResponseMapper->ProvisioningModule - - + + - + PseudonymApiModule->ServerModule - - + + - + PseudonymApiModule->ServerTestModule - - + + PseudonymUc - -PseudonymUc + +PseudonymUc PseudonymUc->PseudonymApiModule - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + - + RedisModule->ServerModule - - + + - + RedisModule->ServerTestModule - - + + - + + +RocketChatService + +RocketChatService + + + +RocketChatUserModule + +RocketChatUserModule + + + +RocketChatUserModule->RocketChatService + + + + + +RocketChatUserRepo + +RocketChatUserRepo + + + +RocketChatUserRepo->RocketChatUserModule + + + + +RocketChatUserService + +RocketChatUserService + + + +RocketChatUserService->RocketChatUserModule + + + + + RoleRepo - -RoleRepo + +RoleRepo - + RoleRepo->RoleModule - - + + - + RoleService - -RoleService + +RoleService - + RoleService->RoleModule - - + + - + RoleUc - -RoleUc + +RoleUc - + RoleUc->RoleModule - - + + - + SchoolExternalToolService - -SchoolExternalToolService + +SchoolExternalToolService - + SchoolExternalToolService->SchoolExternalToolModule - - + + - + SchoolExternalToolValidationService - -SchoolExternalToolValidationService + +SchoolExternalToolValidationService - + SchoolExternalToolValidationService->SchoolExternalToolModule - - + + - + SharingApiModule->ServerModule - - + + - + SharingApiModule->ServerTestModule - - + + - + SystemApiModule->ServerModule - - + + - + SystemApiModule->ServerTestModule - - + + - + TaskApiModule->ServerModule - - + + - + TaskApiModule->ServerTestModule - - + + - + TeamsApiModule - -TeamsApiModule + +TeamsApiModule - + TeamsApiModule->ServerModule - - + + - + TeamsApiModule->ServerTestModule - - + + - + ToolApiModule->ServerModule - - + + - + ToolApiModule->ServerTestModule - - + + - + UserApiModule->ServerModule - - + + - + UserApiModule->ServerTestModule - - + + - + UserLoginMigrationApiModule->ServerModule - - + + - + UserLoginMigrationApiModule->ServerTestModule - - + + - + VideoConferenceApiModule->ServerModule - - + + - + VideoConferenceApiModule->ServerTestModule - - + + - + SharingModule->SharingApiModule - - + + - + ShareTokenService - -ShareTokenService + +ShareTokenService - + SharingModule->ShareTokenService - - + + - + ShareTokenUC - -ShareTokenUC + +ShareTokenUC - + ShareTokenUC->SharingApiModule - - + + - + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo - + ShareTokenRepo->SharingModule - - + + - + ShareTokenService - -ShareTokenService + +ShareTokenService - + ShareTokenService->SharingModule - - + + - + TokenGenerator - -TokenGenerator + +TokenGenerator - + TokenGenerator->SharingModule - - + + - + SystemUc - -SystemUc + +SystemUc - + SystemUc->SystemApiModule - - + + - + SystemOidcService - -SystemOidcService + +SystemOidcService - + SystemOidcService->SystemModule - - + + - + SystemService - -SystemService + +SystemService - + SystemService->SystemModule - - + + - + SubmissionUc - -SubmissionUc + +SubmissionUc - + SubmissionUc->TaskApiModule - - + + - + TaskCopyUC - -TaskCopyUC + +TaskCopyUC - + TaskCopyUC->TaskApiModule - - + + - + TaskUC - -TaskUC + +TaskUC - + TaskUC->TaskApiModule - - + + - + SubmissionService - -SubmissionService + +SubmissionService - + SubmissionService->TaskModule - - + + - + TaskCopyService - -TaskCopyService + +TaskCopyService - + TaskCopyService->TaskModule - - + + - + TaskService - -TaskService + +TaskService - + TaskService->TaskModule - - + + - + TeamsModule->TeamsApiModule - - + + - + TeamService - -TeamService + +TeamService - + TeamsModule->TeamService - - + + - + TeamService - -TeamService + +TeamService - + TeamService->TeamsModule - - + + - + ContextExternalToolUc - -ContextExternalToolUc + +ContextExternalToolUc - + ContextExternalToolUc->ToolApiModule - - + + - + ExternalToolConfigurationUc - -ExternalToolConfigurationUc + +ExternalToolConfigurationUc - + ExternalToolConfigurationUc->ToolApiModule - - + + - + ExternalToolRequestMapper - -ExternalToolRequestMapper + +ExternalToolRequestMapper - + ExternalToolRequestMapper->ToolApiModule - - + + - + ExternalToolResponseMapper - -ExternalToolResponseMapper + +ExternalToolResponseMapper - + ExternalToolResponseMapper->ToolApiModule - - + + - + ExternalToolUc - -ExternalToolUc + +ExternalToolUc - + ExternalToolUc->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 - - + + - + ToolLaunchModule->ToolModule - - + + - + ToolLaunchService - -ToolLaunchService + +ToolLaunchService - + ToolLaunchModule->ToolLaunchService - - + + - + AutoContextIdStrategy - -AutoContextIdStrategy + +AutoContextIdStrategy - + AutoContextIdStrategy->ToolLaunchModule - - + + - + AutoContextNameStrategy - -AutoContextNameStrategy + +AutoContextNameStrategy - + AutoContextNameStrategy->ToolLaunchModule - - + + - + AutoSchoolIdStrategy - -AutoSchoolIdStrategy + +AutoSchoolIdStrategy - + AutoSchoolIdStrategy->ToolLaunchModule - - + + - + AutoSchoolNumberStrategy - -AutoSchoolNumberStrategy + +AutoSchoolNumberStrategy - + AutoSchoolNumberStrategy->ToolLaunchModule - - + + - + BasicToolLaunchStrategy - -BasicToolLaunchStrategy + +BasicToolLaunchStrategy - + BasicToolLaunchStrategy->ToolLaunchModule - - + + - + Lti11EncryptionService - -Lti11EncryptionService + +Lti11EncryptionService - + Lti11EncryptionService->ToolLaunchModule - - + + - + Lti11ToolLaunchStrategy - -Lti11ToolLaunchStrategy + +Lti11ToolLaunchStrategy - + Lti11ToolLaunchStrategy->ToolLaunchModule - - + + - + OAuth2ToolLaunchStrategy - -OAuth2ToolLaunchStrategy + +OAuth2ToolLaunchStrategy - + OAuth2ToolLaunchStrategy->ToolLaunchModule - - + + - + ToolLaunchService - -ToolLaunchService + +ToolLaunchService - + ToolLaunchService->ToolLaunchModule - - + + - + UserUc - -UserUc + +UserUc - + UserUc->UserApiModule - - + + - + CloseUserLoginMigrationUc - -CloseUserLoginMigrationUc + +CloseUserLoginMigrationUc - + CloseUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + PageContentMapper - -PageContentMapper + +PageContentMapper - + PageContentMapper->UserLoginMigrationApiModule - - + + - + RestartUserLoginMigrationUc - -RestartUserLoginMigrationUc + +RestartUserLoginMigrationUc - + RestartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + StartUserLoginMigrationUc - -StartUserLoginMigrationUc + +StartUserLoginMigrationUc - + StartUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + ToggleUserLoginMigrationUc - -ToggleUserLoginMigrationUc + +ToggleUserLoginMigrationUc - + ToggleUserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + UserLoginMigrationUc - -UserLoginMigrationUc + +UserLoginMigrationUc - + UserLoginMigrationUc->UserLoginMigrationApiModule - - + + - + MigrationCheckService - -MigrationCheckService + +MigrationCheckService - + MigrationCheckService->UserLoginMigrationModule - - + + - + SchoolMigrationService - -SchoolMigrationService + +SchoolMigrationService - + SchoolMigrationService->UserLoginMigrationModule - - + + - + UserLoginMigrationRepo - -UserLoginMigrationRepo + +UserLoginMigrationRepo - + UserLoginMigrationRepo->UserLoginMigrationModule - - + + - + UserLoginMigrationRevertService - -UserLoginMigrationRevertService + +UserLoginMigrationRevertService - + UserLoginMigrationRevertService->UserLoginMigrationModule - - + + - + UserLoginMigrationService - -UserLoginMigrationService + +UserLoginMigrationService - + UserLoginMigrationService->UserLoginMigrationModule - - + + - + UserMigrationService - -UserMigrationService + +UserMigrationService - + UserMigrationService->UserLoginMigrationModule - - + + - + UserDORepo - -UserDORepo + +UserDORepo - + UserDORepo->UserModule - - + + - + UserService - -UserService + +UserService - + UserService->UserModule - - + + - + VideoConferenceModule->VideoConferenceApiModule - - + + - + BBBService - -BBBService + +BBBService - + VideoConferenceModule->BBBService - - + + - + VideoConferenceService - -VideoConferenceService + +VideoConferenceService - + VideoConferenceModule->VideoConferenceService - - + + - + VideoConferenceCreateUc - -VideoConferenceCreateUc + +VideoConferenceCreateUc - + VideoConferenceCreateUc->VideoConferenceApiModule - - + + - + VideoConferenceEndUc - -VideoConferenceEndUc + +VideoConferenceEndUc - + VideoConferenceEndUc->VideoConferenceApiModule - - + + - + VideoConferenceInfoUc - -VideoConferenceInfoUc + +VideoConferenceInfoUc - + VideoConferenceInfoUc->VideoConferenceApiModule - - + + - + VideoConferenceJoinUc - -VideoConferenceJoinUc + +VideoConferenceJoinUc - + VideoConferenceJoinUc->VideoConferenceApiModule - - + + - + BBBService - -BBBService + +BBBService - + BBBService->VideoConferenceModule - - + + - + ConverterUtil - -ConverterUtil + +ConverterUtil - + ConverterUtil->VideoConferenceModule - - + + - + VideoConferenceDeprecatedUc - -VideoConferenceDeprecatedUc + +VideoConferenceDeprecatedUc - + VideoConferenceDeprecatedUc->VideoConferenceModule - - + + - + VideoConferenceRepo - -VideoConferenceRepo + +VideoConferenceRepo - + VideoConferenceRepo->VideoConferenceModule - - + + - + VideoConferenceService - -VideoConferenceService + +VideoConferenceService - + VideoConferenceService->VideoConferenceModule - - + + @@ -8263,7 +8317,7 @@
                    @@ -8280,7 +8334,7 @@

                    -

                    56 Entities

                    +

                    57 Entities

                    @@ -8288,7 +8342,7 @@

                    -

                    286 Injectables

                    +

                    288 Injectables

                    @@ -8296,7 +8350,7 @@

                    -

                    652 Classes

                    +

                    655 Classes

                    @@ -8304,7 +8358,7 @@

                    -

                    261 Interfaces

                    +

                    263 Interfaces